《ASP动态网站制作教程》第七章ASP与数据库.ppt
《《ASP动态网站制作教程》第七章ASP与数据库.ppt》由会员分享,可在线阅读,更多相关《《ASP动态网站制作教程》第七章ASP与数据库.ppt(60页珍藏版)》请在三一办公上搜索。
1、第7章 ASP与数据库,本章主要内容,7.1 数据库的基本概念 7.2 Access数据库简介 7.3 SQL语言简介 7.4 微软数据库访问技术简介 7.5 Connection对象,7.1.1 计算机数据管理技术的发展史,从计算机诞生至今,数据管理技术的发展大致经历了3个阶段,即人工管理阶段、文件系统阶段和数据库系统阶段。1人工管理阶段 在这一阶段,数据很随意的存放在计算机中,并不遵守一定的格式和要求,需要的时候人工进行查找。由于一组数据常常只对应于一种应用程序,因此很难实现多个不同应用程序间的数据资源共享。存在着大量重复数据,信息资源浪费严重。2.文件系统阶段 在这一阶段,信息以文件为单
2、位存储,并且由操作系统统一管理。这样逻辑结构和物理结构分离,数据与程序有了一定的独立性,实现了以文件为单位的共享。3.数据库系统阶段 在这一阶段,用户把数据集中存放在一个或多个数据库中,然后通过数据库管理系统(Data Base Management System,DBMS)来使用数据库中的数据。它和文件系统阶段的主要区别是:用户不必关心数据的具体存放位置和格式,也不必开发专门的程序来管理数据,这些都是由数据库管理系统来完成的。,7.1 数据库的基本概念,7.1.2 数据库的基本术语,所谓数据库按照一定的规则组织和存储在一起,相互关联的数据集合。即把各种各样的数据按照一定的规则组合在一起构成的
3、”数据”的集合。数据库中数据的组织形式一般分为层次型、网状型和关系型三种。其中关系型最为常见,目前使用的数据库基本上都是关系型的。关系型数据库可以看成是由我们日常使用的若干二维表格组成的集合。,7.1 数据库的基本概念,数据库中常用的一些术语:字段:表中纵的一列称作一个字段。记录:表中横的一行称作一条记录。条记录是由若干字段组成的。值:表中纵横交叉位置的数据成为值。表:具有相同字段的一批记录称做一个表。表中每一列代表一个字段,每一行代表一条记录。一个数据库可以包含多个表,但每个表不能同名。这些表可以相互关联,也可以彼此独立。主键:能惟一标识表中每一条记录的字段或字段集称为主键,也称主关键字。如
4、学生基本情况表中的”学号”字段就是主键,因为每名学生都与一个学号相对应,而”姓名”字段由于有可能出现重名的情况,所以不适合做主键。,学生基本情况表,7.1.3 数据库管理系统和数据库应用系统,数据库管理系统是建立、管理、维护和控制数据库,位于用户与操作系统之间的一组计算机软件。数据库管理系统使用户能方便的定义数据和操纵数据,并能够保证数据的安全性、完整性以及发生故障后的系统恢复。基于关系型数据库的数据库管理系统称为关系型数据库管理系统。现在比较流行的大中型关系型数据库管理系统有Oracle、IBM DB2、SQL Server等,它们也被称为服务器数据库。常用的小型关系型数据库管理系统有Acc
5、ess、Visual FoxPro(VFP)等。在ASP中一般使用微软的SQL Server或Access。SQL Server效率较高,但配置起来较为麻烦,移植也比较困难,适合大型网站使用;Access配置简单,移植方便,但效率较低,适合小型网站使用。在本书中以Access为主。数据库应用系统是基于数据库技术开发的面向某一类实际问题的应用软件。,7.1 数据库的基本概念,7.2.1 规划数据库,要开发数据库应用系统,首先要规划自己的数据库,要使数据库设计的比较合理。既包括必要的信息,又能节省数据的存储空间。假设要建立一个学生选课系统,就需要建立一个学生选课数据库,其中可能需要3张表:第1张表
6、(学生表)记录学生的基本信息,包括学号、姓名、性别、出生、班级等字段;第2张表(课程表)记录课程信息,包括课号、课名、学分、任课教师等字段;第3张表(选课表)记录选课信息,包括学号、课号、成绩等字段。第3张表通过学号和课号分别与前两张表建立关系。,7.2 Access数据库简介,7.2.2 使用Access 2003创建数据库,(1)依次选择【开始】|【程序(P)】|【Microsoft Office】|【Microsoft Office Access 2003】命令就可以启动Access 2003。首先出现的是Access 2003的主窗口,如下图所示。,7.2 Access数据库简介,【新
7、建】按钮,(2)在Access 2003主窗口中单击【新建】按钮,【任务窗格】会切换到【新建文件】任务窗格,如下左图所示。(3)在【新建文件】任务窗格中单击【空数据库】命令,打开【文件新建数据库】对话框,如下右图所示。,(4)在【文件新建数据库】对话框中,指定数据库文件的存储位置,并在文件名一栏中输入数据库文件的文件名,这里输入”学生选课系统”,然后单击【创建】按钮。这样Access 2003便在指定的位置创建了一个名为”学生选课系统”的空数据库文件。(5)数据库创建成功后,Access 2003会自动打开该数据库的【数据库】窗口,如下图所示。接下来就可以使用这个【数据库】窗口向该数据库中添加
8、表、查询等数据库对象了。,7.2.3 新建和维护表,(1)新建表新建表的方法有很多种,最简单的方法是双击【使用设计器创建表】选项,就可以打开如下图所示的设计视图。,7.2 Access数据库简介,说明:上一页图中的一行对应一个字段,也就是表中的一列,依次输入字段的名称、字段的数据类型,字段的说明可以省略。字段的名称可以用中文,也可以用字母、数字和下划线,命名规则与变量类似。字段的数据类型有十种,如下表所示。当选中一个数据类型时,还可以在下方进行更复杂的设置,例如文本长度、数字类型、时间显示格式、默认值、必填字段、是否允许空字符串等。对于初学者,一般不必设置。设置主键的方法:在需要设置主键的字段
9、上单击鼠标右键,在弹出的快捷菜单中选择【主键】命令。,(2)保存表 正确输入所有字段后,单击Access 2003主窗口中的【保存】按钮,就会弹出如下图所示的【另存为】对话框。在其中输入表的名称”学生表”,然后单击【确定】按钮。(3)在表中输入数据 成功新建一个表后,就会在如图7.5所示的主窗口中出现该表的名称,双击它就可以打开如下图所示的数据表视图,在其中就可以为该表输入数据了。,说明:对于日期型数据,输入时可以用 1989-12-1或12/1/1989 格式,输完后会自动显示为如上页图所示的格式。(4)修改数据表的结构 如果觉得数据表的结构设计的不够合理或者不合要求,可以在图7.5中选中该
10、数据表,然后单击【设计(D)】按钮,就可以重新打开设计视图,进行必要的修改了。用同样的方法分别建立课程表和选课表。,7.2.4 新建和维护查询,查询是数据库系统应用中的一项非常重要的功能。简单地讲,一个查询就是对数据库中表或其它查询结果的一组相关操作,比如在一张表中筛选出符合某种条件的记录或把某两张表中的部分字段和记录组合在一起建立起来的一张新表,但这张新表不会被存储,它只不过是在执行查询操作时,即时生成的虚拟表。现在就来针对前面介绍的”学生表”建立一个简单查询,要求只显示姓名和班级两个字段的内容。(1)新建查询 在Access 2003主窗口的左侧选择【查询】按钮,就会显示如下图所示的对话框
11、。,7.2 Access数据库简介,双击【在设计视图中创建查询】选项,就会打开如右图所示的【显示表】对话框。【显示表】对话框用来选择数据源,因为要从学生表中选择显示两个字段,所以这里选择学生表。选中后单击【添加】按钮,然后单击【关闭】按钮,就会出现如下图所示的查询窗口。,(2)显示查询内容 成功建立一个查询后,在主窗口中出现该查询的名称,双击该名称就可打开如下图所示的查询结果。(3)利用SQL语言建立查询 在上面建立简单查询时,不必自己添加表,直接单击【关闭】按钮,然后在主窗口依次选择【视图】|【SQL视图】菜单命令,就会出现如下图所示的SQL视图窗口。在图中所示的窗口中输入SQL语句”sel
12、ect 姓名,班级 from 学生表”,然后单击【保存】按钮即可,这里命名为”查询2”。单击【运行】按钮立即显示查询结果。,SQL是英文(Structured Query Language)的缩写,意思为结构化查询语言。SQL语言的主要功能就是同各种数据库建立联系,进行沟通。按照ANSI(美国国家标准协会)的规定,SQL被作为关系型数据库管理系统的标准语言。由于SQL语言结构简洁,功能强大,简单易学,所以自从IBM公司1981年推出以来,SQL语言得到了广泛的应用。目前,绝大多数流行的关系型数据库管理系统,如Oracle,IBM DB2,SQL Server,Access等都采用了SQL语言标
13、准。在ASP中,无论何时要访问一个数据库,都要使用到SQL语言。因此,学习好SQL语言对ASP编程是非常重要的。但是,SQL语言又是一门比较复杂的语言,要想很好的掌握它,必须要参考专门的SQL语言书籍。,7.3 SQL语言简介,7.3.1 SQL语言的特点,用SQL语言编写的程序必须应用在数据库管理系统中,它本身并不能独立执行,而且其为”非过程性”(non-procedural)语言,与人们一般所熟悉的C、PASCAL和BASIC等程序设计语言相比,有很大不同。一般的程序语言要存取数据库时,必须先了解数据库的存放结构,而且每个存取动作都要写得清清楚楚,程序显得相当繁杂。但使用SQL语言,只要告
14、诉数据库管理系统:”我现在需要这些数据,请将结果给我”,其余就全部交由数据库管理系统自行处理了。例如,要从学生表中找出所有的男生,用SQL语言来写,只要下面一行就可以了。Select*From 学生表Where 性别=男 这里,我们只需指出自己所要的数据、地点和条件,根本不必知道数据库是怎么找到或整理数据的。,7.3 SQL语言简介,7.3.2 常用SQL命令,在进行数据库操作时,无非就是查(查询)、增(增加)、删(删除)、改(修改)。SQL语言功能极强,但由于设计巧妙,语言十分简捷,完成以上核心功能只用了4个动词,如下表所示。,7.3 SQL语言简介,一Select语句 SQL语言的核心功能
15、之一就是实现数据库的查询。可以使用Select语句获取满足特定条件的记录集,也就是说可以从数据库中查询有关记录。基本语法格式一:Select 字段名列表 From 数据表名 这是最常用的格式,这种格式的变化在于”字段名列表”参数,其规则如下:(1)凡是数据表里的字段都可以成为”字段名列表”的一员。(2)字段名称的顺序可以自定,不必与数据表里的字段名称顺序相同。(3)字段名称若含有空格时,需要以中括号括起来。(4)如果”字段名列表”涵盖数据表的所有字段,则可以用*代表所有字段,例如:Select*From 学生表(5)”字段名列表”除了有”字段名1,字段名2,”的写法外,还有以下写法:字段名1
16、As 别名1,字段名2 As 别名2,。意思是选取”字段名1,字段名2,”,但表头分别以”别名1、别名2、”来显示。例如,我们想选取”姓名”和”班级”两个字段,并且想把这两个字段的表头分别显示为”学生姓名”和”所在班级”,则Select语句需写成:Select 姓名 As 学生姓名,班级 As 所在班级 From 学生表,基本语法格式二:Select 字段名列表 From 数据表名 Where 查询条件 Where关键字是设置查询记录条件,用以取得所有符合设置条件内容的记录。在条件设置中可以使用、=等比较符号,而对于多项条件的判断也可以利用AND,OR等逻辑操作数来连接。例如,选取1990年1
17、月1日之前出生的男生。Select*From 学生表 Where 出生#1/1/1990#and 性别=男 注意:使用日期型常量时一定要加上#号,使用字符串常量时一定要加上引号,并且所有标点符号都要在英文状态下输入。有时候查询条件可能不需要太精确,例如,要查询所有姓”李”的学生。就需要用到 Like 连接符。Select语句为:Select*From 学生表 Where 姓名 Like“李*”注意:这里的”*”和另外一个”?”称为Access SQL通配符,其中,”*”表示零到多个任意字符,而”?”则表示一个任意字符。与Access SQL通配符不同,ADO(ActiveX Data Obje
18、ct,ActiveX数据对象)SQL通配符分别是”%”和”_”(下划线),其中,”%”表示零到多个任意字符,而”_”则表示一个任意字符。,基本语法格式三:Select 字段名列表 From 数据表名 Where 查询条件 Order By字段名列表 当我们希望被选取的记录按照某一或某几个字段来排序时,只要把这些字段按顺序放在Order By关键字的后面,然后写在“Select 字段名列表 From 数据表名 Where 查询条件”后面即可,例如:Select*From 学生表 Where 性别=男 Order By 出生,学号结果如下图所示。,Order By默认的排序方式是Asc(升序),但
19、如果需要某个字段按Desc(降序)排列,则只需在该字段的后面加上Desc关键字即可,例如:Select*From 学生表 Where 性别=男 Order By 出生 Desc,学号结果如下图所示。,二Insert语句 在数据库应用中,经常需要向数据库中插入数据,例如向学生表中增加新的学生时,就需要将新学生的数据插入到学生表中。此时,可以用SQL语言中的Insert语句来实现这个功能。语法格式:Insert Into 数据表名(字段名1,字段名2,)Values(字段1的值,字段2的值,)说明:(1)利用该语句可以给数据表中全部或部分字段赋值。Values括号中字段值的顺序必须与前面括号中的字
20、段名一一对应。各个字段名之间、字段值之间用逗号隔开。,(2)若某字段值要用数据表的默认值时,则在该字段值处填写Default;如果想输入的字段值是空值(设计表时该字段被设定为不是”必填字段”)时,则在字段值处填写Null。(3)如果某个字段没有设定默认值,又是”必填字段”(既不允许Null值),而在Insert语句中又没给该字段赋值,系统就会报错。(4)如果某字段被设定为”主键”,则该字段必须被赋值。【例7.1】为学生表增加一条新纪录,只要求为”学号”、”姓名”、”性别”和”出生”字段赋值。Insert Into 学生表(学号,姓名,性别,出生)Values(0743101,李娜,女,#199
21、1-3-13#),三Delete语句 在SQL语言中,可以使用Delete语句来删除表中无用的记录。语法格式:Delete From 数据表名 Where 删除条件 说明:(1)Where关键字的用法和Select语句中的用法一样,即凡是符合条件的记录都会被删除。如果没有符合条件的记录则不删除。(2)如果省略Where,将删除数据表中的全部记录,需格外小心。【例7.2】删除学生表中”李娜”同学的记录。Delete From 学生表 where 姓名=李娜,四Update语句 现实生活中,数据信息是在不断变化的,例如学生表中,某位同学因病休学一年后返校,其”班级”信息必然会发生改变。可以用Upd
22、ate语句来实现该生”班级”信息的改变。语法格式:Update 数据表名 Set 字段名1=字段新值1,字段名2=字段新值2,Where 更新条件 说明:(1)该语句可以用来更新数据表中的部分或全部记录。Where关键字用来指定更新的范围,其用法和Select语句中的用法一样,即凡是符合条件的记录都会被更新。如果没有符合条件的记录则不更新。(2)如果省略Where,将更新数据表中的全部记录,需格外小心。【例7.3】将学生表中”王五”同学的”班级”信息改为”通信081”。Update 学生表 Set 班级=通信081 Where 姓名=王五,7.3.3 聚合函数,在访问数据库时,经常需要对数据表
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ASP动态网站制作教程 ASP 动态 网站 制作 教程 第七 数据库

链接地址:https://www.31ppt.com/p-6071843.html