《大学计算机(第二版)-水电大基2版第8章-数据库应用基础课件.ppt》由会员分享,可在线阅读,更多相关《大学计算机(第二版)-水电大基2版第8章-数据库应用基础课件.ppt(84页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、在线教务辅导网:http:/教材其余课件及动画素材请查阅在线教务辅导网QQ:349134187 或者直接输入下面地址:http:/1第8 章 数据库应用基础本章目标理解数据库和数据库管理系统的概念了解数据库系统的体系结构掌握关系模型的概念和特点掌握关系数据库中的键和完整性约束规则掌握创建数据库和表的方法掌握建立表间关系和设置参照完整性掌握各种不同条件查询的创建方法28.1 数据管理技术的发展1 手工管理阶段 特点(1)数据不保存-不能实现数据共享。(2)数据与程序不可分割。(3)各程序的数据彼此独立-数据冗余。适应场合 数据量较小32.文件系统阶段优点:(1)程序和数据分开,有一定的独立性。(
2、2)数据以文件形式保存,由操作系统按名存取。(3)实现一定程度的数据共享。缺点:(1)数据冗余(2)数据不一致性43.数据库阶段(1)数据和程序之间彼此独立,实现共享(2)数据以数据库形式保存,最大限度减少冗余(3)专门的数据库管理软件-DBMS应用程序1DBMS应用程序2数据库应用程序358.2 数据库系统的组成结构8.2.1 数据库中常用的概念1 数据库(Database)指按特定的组织形式将数据保存在存储介质上特点:(1)数据通过一定的模型进行组织;(2)各个应用程序对数据可以共享;(3)对数据的各种操作都由数据库管理系统统一进行。62 数据库管理系统(DBMS)对数据库进行管理的软件,
3、以统一方式管理和维护数据库,提供数据库接口供用户访问数据库(1)定义功能:定义数据库结构、完整性和约束条件(2)操纵功能:实现数据插入、修改、删除和查询(3)控制功能:实现安全控制、完整性控制和并发控制(4)维护功能,数据装载、转储和恢复,性能分析和监测(5)数据字典,存放数据库各级模式结构的描述73 应用程序应用程序是系统开发人员利用数据库系统资源开发的、应用于某一个实际问题的应用软件。84 数据库管理员(DBA)数据库管理员主要完成的任务(1)负责管理数据库资源;(2)确定用户需求,设计、实现数据库;(3)负责维护和管理数据库。95 数据库系统数据库系统(DBS:DataBase Syst
4、em)的组成:硬件、数据库、数据库管理系统、操作系统、应用程序、数据库管理员108.2.2 数据库系统的体系结构1 三级模式(1)模式(逻辑模式或概念模式)是对数据库中的全部数据的逻辑结构和特征的描述。(2)外模式(用户模式或子模式)该模式面向用户,是数据库用户看到的局部数据结构和特征的描述,是数据的局部逻辑结构。(3)内模式(存储模式)描述数据的物理结构、在存储介质上的存储方法和存取策略。112 二级映射用于三级模式之间的转换(1)外模式/模式映射 定义外模式和概念模式之间的对应,这一映射使得概念模式的改变不影响外模式和应用程序,达到数据的逻辑独立性。(2)模式/内模式映射 定义概念模式和内
5、模式之间的对应,当存储结构改变即修改内模式时,只要相应改变模式/内模式映象,而模式尽量保存不变,达到数据的物理独立性12体系结构138.2.3 数据模型1 层次模型1)用树形表示数据之间的多级层次结构2)结构特点(1)只有一个最高结点即根结点(2)其余结点有而且仅有一个父结点(3)上下层结点之间表示一对多的联系3)应用行政组织机构、家族辈份关系等142 网状模型1)用图表示数据之间的关系2)允许结点有多于一个的父结点3)可以有一个以上的结点没有父结点。4)特点:表示结点之间多对多的联系。3 关系模型1)用二维表格来表示实体及实体之间的联系2)实际应用中,每一个二维表代表了一个关系。3)特点:结
6、构简单,容易实现158.3 关系模型和关系数据库8.3.1 关系模型的组成和特点用二维表的形式表示数据161 关系模型中常用的术语(1)元组在二维表中,从第二行起的每一行称为一个元组,对应文件中的一条具体记录。(2)属性在一个二维表中,垂直方向的每一列称为一个属性,在数据库文件中则称为一个字段。(3)属性值行和列的交叉位置表示某条记录的某个属性的值17(4)域表示各个属性的取值范围,例如,“年龄”字段的取值范围对于学生表可以是1822。(5)表结构表中的第一行是组成该表的各个字段的名称,在具体的文件中,还应包括各字段的取值类型、宽度等各个具体内容,这些组成了表的结构。(6)关系模式关系模式是指
7、对关系结构的描述,格式:关系名(属性1,属性2,属性3,属性n)18(7)候选键在一个关系中可以用来惟一地标识或区分一个元组的属性或属性的组合,称为候选键。【例8.1】确定关系score(学号,课程号,成绩)中的候选键。学号 课程号 成绩 99001 C01 90 99001 C02 89 99002 C02 70 该关系中的候选键是学号和课程号两个属性的组合。19(8)主键主键是指从若干个候选键中指定一个用来标识元组。(9)外部关键字如果表中的一个字段不是本表的主关键字或候选关键字,而是另外一个表的主关键字或候选关键字,该字段(属性)称为外部关键字,简称外键。(10)主表和从表主表和从表是指
8、通过外键相联系的两个表,其中以外键作为主键的表称为主表,外键所在的表称为从表。202.关系模型的特点(1)关系中的每一列不可再分;(2)同一个关系中不允许有相同的字段名;(3)关系中不允许有完全相同的记录;(4)关系中任意交换两行位置不影响数据的实际含义;(5)关系中任意交换两列位置不影响数据的实际含义。218.3.2 关系的基本运算(1)选择从指定的关系中选择满足给定条件的元组组成新的关系示例从关系student1 中选择年龄大于20 的元组组成新的关系S1 22(2)投影从指定关系的属性集合中选取若干个属性组成新的关系。示例从关系student1 中选择“学号”、“姓名”、“年龄”组成新的
9、关系S2。23(3)联接 联接是将两个关系中的元组按指定条件进行组合,形成新的关系。示例:将关系student1 和student2 按相同学号的元组合并组成新的关系S3。248.3.3 关系的完整性约束规则1.实体完整性实体完整性要求关系(表)中的记录在组成的主键上既不能有空值,也不能有重复2.用户定义的完整性用户定义的完整性是针对某个字段设置的约束条件例如,可以将学生的“年龄”字段值定义为1822 之间3.参照完整性参照完整性是相关联的两个表之间的约束,就是从表中每一条记录外键的值必须是主表中存在的,258.3.4 结构化查询语言SQL 简介SQL(Structured Query Lan
10、guage):关系数据库的标准语言1 SQL 的特点(1)SQL 是一种一体化的语言,包括了数据定义、数据查询、数据操纵和数据控制等方面的功能。(2)SQL 语言是高度非过程化的语言。(3)SQL 非常简洁,用为数不多的几条命令实现强大的功能。(4)SQL 既可以直接以命令方法交互使用,也可以嵌入程序设计语言中以程序方式使用。262 SQL 的命令分类(1)数据定义:CREATE、DROP、ALTER(2)数据修改:INSERT、UPDATE、DELETE(3)数据查询:SELECT(4)数据控制:GRANT、REVOKE273 SQL 的查询命令SELECT主要的组成部分通常是3 块,常用格
11、式:SELECT FROM WHERE SELECT 用来指出查询的输出字段FROM 指出查询的数据来源WHERE 用来指出查询的条件。28SQL 查询示例:完成不同的查询,数据来源是“学生”表,包含学号、姓名、性别和年龄4 个字段。(1)显示“学生”表中的所有记录。SELECT 学号,姓名,性别,年龄 FROM 学生或 SELECT*FROM 学生(2)显示“学生”表中年龄为20 的女生的记录SELECT*FROM 学生 WHERE 年龄=20 AND 性别=女 29SQL 查询示例(3)显示“学生”表中所有男生的姓名、年龄。SELECT 姓名,年龄 FROM 学生 WHERE 性别=男(4
12、)按年龄降序显示“学生”表的所有记录 SELECT*FROM 学生 ORDER BY 年龄 DESC(5)显示年龄在1920 之间的所有记录 SELECT*FROM 学生 WHERE 年龄=19 AND 年龄=20 或 SELECT*FROM 学生 WHERE 年龄 BETWEEN 19 AND 20308.4 Access2003 简介Access 数据库的组成1)Access 的文档文件,扩展名为MDB2)由表、查询、窗体、报表、宏和模块等对象组成。3)所有对象都保存在的同一个数据库文件中。31(1)表1)以二维表格保存基本信息,是数据库的核心2)为其它对象提供数据3)对具有复杂结构的数据
13、,分别使用多张数据表,这些表之间可以通过相关字段建立联系32(2)查询1)从一个或多个表中查找某些特定的记录2)查询的运行结果以二维表的形式显示3)在数据库中只记录了查询的方式即规则4)查询可作为窗体、报表等其它组件的数据源33(3)窗体1)提供交互界面,更方便地进行数据的输入、输出2)窗体的数据源,可以是一个或多个数据表,也可以是查询。34(4)报表1)将数据按指定的格式进行显示或打印2)数据源可以是一张或多张数据表、查询3)建立报表时还可以进行计算,如求和、平均等35(5)页通过Web 页将数据存储到指定的文件夹,或将其复制到Web 服务器上,以便在网上发布信息。页是独立的网页文件,在Ac
14、cess 的数据库中保存的是与该网页的链接。36(6)宏宏是由具有宏名的一系列命令组成,用来简化一些需要重复的操作。建好的宏,可以单独使用,或与窗体配合使用。37(7)模块 用Access 提供的VBA 语言编写的程序模块通常与窗体、报表结合起来完成完整的应用功能模块、窗体和宏等共同完成了Access 的开发功能38例:建立“学生成绩管理”数据库(1)单击“新建文件”按钮,打开“新建文件”任务窗格。(2)单击“空数据库”,打开“文件新建数据库”对话框。(3)在对话框中选择数据库所在的位置,输入数据库名,然后单击“创建”398.5 数据表的建立和使用数据表的组成(1)表结构:表格的组成框架,由若
15、干个字段及其属性构成(2)记录:表中的具体数据,每个字段的值建立表就是分别设计表结构和输入记录的过程408.5.1 数据表结构(1)字段名(2)字段类型(10 种)1)文本型:默认类型,最长为255 字符;2)备注型:也称为长文本型,存放说明性文字,最长65536 字符;3)数字型:用于进行数值计算,如图书数量、职工成绩、年龄等;4)日期/时间型:可以参与日期计算;41字段类型5)是/否型:记录逻辑型数据,例如是否归还、是否有过某种奖励,使用Yes/No、True/False、On/Off 等值;6)OLE 对象:链接或嵌入OLE 对象,如图像、声音等;7)自动编号型:在增加记录时,其值依次自
16、动加1;8)货币型:用于货币值的计算;9)超级链接:用来保存超级链接的字段;10)查阅向导:这是与使用向导有关的字段。42数据表结构(3)字段属性1)字段大小 2)格式 3)小数位数 4)标题 5)有效性规则(4)设置主关键字作用:1)使数据表中的每条记录唯一识别2)加快记录进行查询、检索的速度 3)在表间建立关系438.5.2 建立数据表(1)数据表视图直接输入记录建立表,适合表中只有文本型和数字型字段的情况(2)设计视图先建立表结构,再切换到数据表视图下输入记录44(3)表向导从样式表中选择与要创建的表相近的,再从中选择所需字段形成自己的表(4)导入表利用其他软件建立的数据建立表,例如从E
17、xcel 工作表导入数据(5)链接表新表和其他数据源之间建立链接,其他数据源的数据作为表的数据,改变表中数据时,数据源的数据也随之改变,反之亦然451.在数据表视图下建立表【例8.7】在数据表视图下,在“学生成绩管理.mdb”数据库中建立数据表“选修成绩”(1)打开“学生成绩管理.mdb”数据库。(2)选择“表”对象,然后单击“新建”命令按钮,打开“新建表”对话框。(3)在对话框中单击“数据表视图”,然后单击“确定”按钮,这时打开名为“表1”的数据表视图窗口46(4)输入字段名“学号”、“课程名称”、“成绩”。(5)输入记录(6)执行“文件”“保存”命令,打开“另存为”对话框。(7)输入数据表
18、名称“选修成绩”后,单击“确定”按钮,屏幕出现对话框,提示没有定义主键。(8)本表不需要定义主键,单击“否”按钮。472.在设计视图下建立表【例8.8】在“学生成绩管理.mdb”中建立“学生情况”表(1)在“新建表”对话框中单击“设计视图”,单击“确定”按钮,打开设计视图窗口。(2)输入4 个字段“学号”、“姓名”、“性别”和“年龄”。(3)单击“学号”字段名称左边的方框选择此字段,此方框内出现“”,单击工具栏上的“主关键字”,将此字段定义为主关键字段。(4)命名表及保存(5)切换到“数据表视图”继续输入各条记录 48【例8.9】通过主键验证实体完整性在“学生情况”表中,已定义了主键“学号”,
19、对该表进行下面的操作:(1)在数据表视图中打开“学生情况”表。(2)在数据表视图中,输入一条新记录,输入时不输入学号,只输入其它字段的值。(3)单击新记录之后的下一条记录位置,这时出现对话框,提示设置主键后,该表中无法输入学号为空的记录。(4)向该条新记录输入与前面记录相同的学号“20110006”,单击新记录之后的下一条记录位置,这时出现对话框,提示设置主键后,表中不允许出现学号相同的两条记录。498.5.3 编辑数据表 1 修改表结构(1)重命名字段(2)插入字段(3)删除字段(4)修改字段属性50【例8.10】修改“学生情况”表的结构并验证自定义完整性修改结构的要求:将“年龄”字段的值设
20、置在1723 之间;将“性别”字段的有效性规则设置为“男 or 女”,即取值只能是 男 或 女 之一。51操作过程(1)在设计视图窗口中打开“学生情况”表。(2)选中“年龄”字段。(3)在“有效性规则”框内输入“=17 and=23”。(4)在“有效性文本”框内输入“年龄字段取值范围为1723 之间”(5)选中“性别”字段。(6)在“有效性规则”框内输入“男 or 女”,然后单击“保存”按钮。(7)切换到数据表视图,输入一条新的记录,其中年龄字段输入25,单击新记录之后的下一条记录位置,这时出现对话框,表明该记录无法输入。522.编辑记录(1)定位记录在记录编号框中直接输入记录号,然后按回车键
21、 53(2)选择记录某条记录:单击记录选定区连续若干条记录:在记录选定区拖动鼠标所有记录:单击全选按钮(3)选择字段选择某个字段的所有数据:单击字段名选择相邻连续字段的所有数据:拖动字段名54(4)添加记录Access 中,只能在表的末尾添加记录操作方法:在数据表视图中打开该表单击记录选定器上的“新记录”按钮,光标将停在新记录上;输入新记录各字段的数据55(5)删除记录 在数据表视图窗口中打开表 选择要删除的记录 执行“编辑”|“删除记录”命令 在确认删除记录的对话框中,单击“是”按钮56(6)修改数据修改数据是指修改某条记录的某个字段的值,鼠标定位到要修改的位置,直接进行修改。57(7)复制
22、数据复制数据是指将选定的数据复制到指定的位置方法:选择要复制的数据 单击“复制”按钮 单击要复制的位置 单击“粘贴”按钮588.5.4 表间关系(1)建立表间关系的目的编辑记录时保持同步,即对一个表进行的操作要影响到另一个表(2)建立方法通过两个表的公共字段,字段可以同名也可以不同名,数据类型必须相同59(3)对用于建立表间关系的字段要求:主表中:必须是主键或者设置为无重复索引从表中:如果是主键或设置无重复索引,建立一对一关系 如果不是主键或有重复索引,建立一对多关系(4)建立关联的场合表和表之间、查询和查询之间、表和查询之间 60建立表间关系(1)执行“工具”|“关系”命令,打开“关系”窗口
23、(2)编辑关系删除:单击关系连线,然后按Del 键修改:双击关系连线,屏幕出现“编辑关系”对话框,在此对话框中重新设置复选框61【例8.12】建立表间关系在“学生情况”表和“选修成绩”表间通过“学号”字段建立关系,“学生情况”表为主表,“选修成绩”表为从表。1 执行“工具”|“关系”命令,打开显示表对话框 2 选择建立表间关系的表或查询62建立表间关系的过程(3)将“学生情况”表中的“学号”字段拖到“选修成绩”表的“学号”字段,松开鼠标后,显示“编辑关系”对话框。63(4)在对话框中:选中三个复选框,这是为实现参照完整性进行的设置。(5)单击“创建”按钮,返回到“关系”窗口,关闭该窗口,至此,
24、两个表之间的关系建立完毕。642.参照完整性的验证(1)向从表输入新的记录通过选项“实施参照完整性”实现,使得对从表进行输入记录时要检查外健的值在主表中是否存在;(2)修改主表中主键的值选项“级联更新相关字段”使得主关键字段的值和关联表中的相关字段的值保持同步的更变;(3)删除主表中的记录“级联删除相关记录”使得主表中记录被删除时,会自动删除从表中对应的记录65【例8.13】向从表中输入新的记录(1)在数据表视图中打开“选修成绩”表。(2)输入一条新的记录,该记录各字段的值分别是“20119999”,“C#程序设计”,“80”,注意,学号“20119999”在“学生情况”表中是不存在的(3)单
25、击新记录之后的下一条记录位置,出现对话框,表明输入新记录操作无法执行结论:从表中不能引用主表中不存在的实体66【例8.14】修改主表中主键的值(1)在数据表视图中打开主表“学生情况”表。(2)将第一条记录的“学号”字段值由“20110001”改为“20119999”,然后单击“保存”按钮。(3)在数据表视图中打开从表“选修成绩”表,此表中原来学号为“20110001”的记录,其学号的值已自动被改变为“20119999”。结论“级联更新相关字段”使主关键字段和关联表中的相关字段的值保持同步改变。67【例8.15】删除主表中的记录(1)在数据表视图中打开主表“学生情况”表。(2)将第一条“学号”字
26、段值为“20119999”的记录删除,这时出现对话框,这时单击“是”按钮,然后单击工具栏的“保存”按钮。(3)在数据表视图中打开从表“选修成绩”,此表中原来学号为“20110001”的记录也被同步删除。结论:“级联删除相关字段”表明在主表中删除某个记录时,从表中与主表相关联的记录会自动地删除。688.5.5 数据表的使用1 记录排序(1)在数据表视图下显示数据表。(2)选择排序关键字。(3)单击工具栏上的“升序”按钮或“降序”按钮2.筛选记录 筛选记录是指在屏幕上仅显示满足条件的记录,而暂时不显示不满足条件的记录,常用的有按选定内容筛选或内容排除筛选。698.6 创建查询8.6.1 创建查询的
27、方法701 设计视图在一个或多个基本表中,按照指定的条件进行查找,并指定显示的字段2 简单查询向导按系统的提示设计查询的结果3 交叉表查询用两个或多个分组字段对数据进行分类汇总714 重复项查询在数据表中查找具有相同字段值的重复记录5 不匹配查询在数据表中查找与指定条件不匹配的记录728.6.2“设计视图”窗口的组成上部分:显示查询所使用的数据源,包括表或已创建的查询 下部分:用于设计查询的各个条件 731)字段:查询结果中显示的字段2)表:该字段所在的表或查询3)排序:指定是否按此字段排序4)显示:确定该字段是否在结果中显示5)条件:指定对该字段的查询条件6)或:指定其它查询条件748.6.
28、3 创建不同条件的查询【例7.10】创建单表的条件查询在设计视图窗口建立查询,要求如下:数据来源:“学生情况”表结果显示:表中所有字段查询条件:年龄小于20 的男生查询名称:年龄小于20 的男生75创建过程(1)打开“新建查询”对话框。(2)选择“设计视图”后,单击“确定”按钮。(3)选择“学生情况”表,选择后单击“关闭”(4)将四个字段分别从表中拖动到字段区(5)在“性别”字段和条件交叉处输入条件“男”。(6)在“年龄”字段和条件交叉处输入条件“20”。(7)单击工具栏上的“执行”按钮可显示查询的结果。(8)单击保存按钮,在打开的对话框中输入查询名称“年龄小于20 的男生”,然后单击“确定”
29、按钮。76【例8.17】创建双表查询要求如下:数据来源:“学生情况”表、“选修成绩”表结果显示:“学号”,“姓名”,“课程名称”和“成绩”查询条件:成绩=90 查询名称:90 分以上的成绩77【例8.18】创建分类汇总查询要求如下:数据来源:“学生情况”表、“选修成绩”表结果显示:“学号”、“姓名”、“选修门数”查询条件:统计每位同学选修的课程门数查询名称:每个同学选修门数、其中“选修门数”是在查询时产生的新字段。78【例8.19】创建单参数查询按输入的不同学号进行查询,要求如下:数据来源:“学生情况”表结果显示:表中所有字段查询条件:学号在运行查询时输入 查询名称:按学号查询 798.6.4 在SQL 窗口中建立SQL 查询切换到SQL 视图时,可以输入SQL 语句创建查询。808.7 创建窗体创建窗体的7 种方法 1.设计视图由用户自行设计窗体布局和控件属性2.窗体向导3.自动窗体:纵栏表4.自动窗体:表格5.自动窗体:数据表6.图表向导:7.数据透视表向导:81【例8.20】利用“窗体向导”创建窗体 数据源是“学生情况”表(1)选择“窗体向导”,在下拉列表框中选中数据源“学生情况”表,然后,单击“确定”,打开“窗体向导”对话框(2)选择窗体中包含的字段82(3)选择窗体布局(4)选窗体样式(5)输入窗体标题83创建好的窗体 84
限制150内