【教学课件】第4章数据库技术及应用.ppt
《【教学课件】第4章数据库技术及应用.ppt》由会员分享,可在线阅读,更多相关《【教学课件】第4章数据库技术及应用.ppt(131页珍藏版)》请在三一办公上搜索。
1、第4章 数据库技术及应用,计算机教学实验中心2006,软件开发技术基础,第2/共67页,问题的提出,什么是数据库?DBMS?数据库技术的发展及未来?有哪些常用的数据库系统平台?数据库中数据如何存放?怎样组织?什么是数据模型?数据之间的联系?什么是数据规范化?如何规范化?,第3/共67页,第一部分:数据库技术基础,数据模型规范化理论关系数据库标准语言SQL,第4/共67页,一、数据模型,数字化过程的三个世界概念模型数据模型,第5/共67页,数字化过程的三个世界,从现实生活中的客观事物到存放于计算机中的数据,这样一个加工过程可划分为三个世界:现实世界:事物的客观存在,由事物及其性质反映。信息世界:
2、是对现实世界的抽象,事物在信息世界中称为实体。反映事物及其之间联系的模型称为(实体)概念模型。数据世界:信息的数据化。用记录和数据项分别描述信息世界中的实体及属性。实体模型数据化后称为数据模型。,第6/共67页,概念模型,概念模型是逻辑模型,是求解问题数字化的前期处理过程的产物。它是设计人员对求解问题研究和抽象的结果,也是设计人员和用户之间交流的工具。,第7/共67页,基本概念,实体(Entity)客观存在并可互相区别的事物称为实体。属性(Attribute)实体具有的特性称为属性。属性组合起来表征了一个学生。主键(Key)唯一标识实体的属性或属性组。域(Domain)属性的取值范围。实体类型
3、(Entity Type)具有相同属性的实体所具有的共同特征和性质。用实体名及属性名集合来抽象。例如,学生(学号、姓名、性别、出生年月、系、班级)。实体集(Entity Set)同种实体的集合。全体学生就是一个实体集。,第8/共67页,举例,第9/共67页,联系(Relationship),实体之间存在着三类联系:一对一联系(1:1):实体集A中的每一个实体最多与实体集B中的一个实体,反之亦然。一对多联系(1:n):实体集A中的每一个实体与实体集B中的n个实体(n=0)联系,而实体集B中的每一个实体与实体集A最多只有一个实体联系。如班级集和学生集是一对多联系。多对多联系(m:n):实体集A中的
4、每一个实体与实体集B中的n个实体(n=0)联系,而实体集B中的每一个实体与实体集A中的m个(m=0)实体联系。如课程和学生之间的联系。,第10/共67页,一对一联系举例(学校:校长),第11/共67页,一对多联系举例(学校:学生),第12/共67页,多对多联系举例(课程:学生),第13/共67页,举例,如学生课程、学生与课程之间的多对多联系:学生(学号、姓名、性别、年龄)课程(课程号,课程名,学分)选课(学号,课程号,成绩)特点:(1)建立在严格的数学基础上。(2)简单:结构简单、清晰易用。(3)存取路径透明。缺点:查询效率不高。,第14/共67页,概念模型的表示方法,实体-联系(E-R En
5、tity-Relation)图是由美籍华人Peter Chen在1976年提出的。在E-R图中:,学生,学号,选课,实体:用矩形表示 属性:用椭圆表示联系:用菱形表示,第15/共67页,举例,第16/共67页,实体模型举例,以教学管理为例:教学由学生、课程、教师、学习、任课等实体组成。学生属性:学号、姓名、性别、年龄、班级课程属性:课程号、课程名称教师属性:姓名、课程号、课时学习属性:学号、课程号、分数任课属性:教师名、课程号、教室,第17/共67页,教学实体模型示意图,第18/共67页,数据模型,关系模型:用关系(表)来描述实体及实体之间的联系。关系:表元组:表中的一行属性:表的一列主码:唯
6、一确定元组的属性或属性组。关系的描述方式:关系名(属性1,属性2,属性n)学生(学号、姓名、性别、出生年月、系、班级),第19/共67页,数据模型,从现实生活中的客观事物到存放于计算机中的数据,这样一个加工过程可划分为三个世界:现实世界、观念世界和数据世界在现实世界中,分析客观事物,找出要求解的对象集合,研究这些对象、认识它们的本质及其规律。在概念世界中,将求解的事物映射为实体,找出实体之间的各种联系,用E-R图来描述。在数据世界中,将实体模型转换为能够在计算机中处理的数据模型。,第20/共67页,现实世界,现实世界 是存在于人脑之外的客观世界,事物及其相互联系就存在于这个世界中。事物可用“对
7、象”和“性质”来描述又有“共同事物”和“特殊事物”两个不同级别。,第21/共67页,观念世界,观念世界 是现实世界在人脑中的反映,客观事物在概念世界中称为“实体”。反映事物联系的是实体模型。实体用“对象”和“属性”来描述又分为“个体实体”和“总体实体”两个级别。,第22/共67页,数据世界,数据世界 是数据在观念世界中信息的数据化,现实世界中的事物及联系在这个世界中用数据模型来描述。数据模型反映的是数据间的联系。数据用“数据记录”和“数据项”来描述;又分为“数据类型”和“数据值”两个不同级别。,第23/共67页,数据加工三个阶段的关系,数据,数据分级,记录项项值,数据模型,实体模型,事物及联系
8、,实体分级,实体,对象属性总体个体,事物,事物分级,对象性质共同特殊,抽象过程,数据世界,观念世界,现实世界,客观世界是信息之源,是设计DB的出发点。实体模型和数据模型是对客观事物的两级抽象描述。数据库的核心问题是数据模型。,结论:要得到正确的数据模型,必须首先充分了解客观事物。,第24/共67页,数据模型(DB)的设计,命名数据模型(数据库名称)以示区别不同的模型,例如:成绩库.MDB命名记录类型(数据库结构)定义数据库记录结构,例如:成绩库记录 学号、课程号、分数命名每个记录中的数据项(字段)XH(学号)、CNO(课程号)、SCORE(分数)说明各个记录类型之间的联系指出各数据项的数据特征
9、 数据类型、长度、值域等。例如,XH,字符型,长度为7,第25/共67页,三种数据模型,数据模型的好坏直接影响到DB的性能。当前较流行的设计方法有三种:关系、层次和网络方法;对应的模型为:关系模型、层次模型、网络模型。,第26/共67页,层次模型,描述层次(树形)结构的模型。特点:每个模型中只有一个称为根的最高结点其它结点都只能和一个父结点相连接(1:M)查询、访问都必须从根结点开始最有影响的层次模型的DBS是60年代末,IBM公司推出的IMS层次模型数据库系统。,第27/共67页,层次模型示意图,第28/共67页,网络模型,图结构模型,其特点:可有0个或多个结点无双亲允许结点有多个双亲允许结
10、点间有2种以上的关系存取、访问必须按事先定义好的路径进行(从指定出发点)最有影响的网络模型是美国数据系统语言协会推出的DBTG系统,也称CODASYL(Conference On DAta SYstem Language),第29/共67页,关系模型,关系模型是由IBM公司的于1970年首次提出的.其组织形式是一张二维表,一个表即一个关系;其特点:一个关系一张表数据独立性高操作简单一行是一个记录一列是一个数据项(字段),第30/共67页,数据操纵,指查询操作和更新操作:查询操作有选择、投影、连接、并、交、差等;更新操作有插入、删除和修改。关系操作的特点是集合操作方式,即操作对象和结果都是集合,
11、而不是单记录的操作方式。,第31/共67页,完整性约束,实体完整性约束 关系中元组关键字不能为空且取值惟一。参照完整性约束 在关系数据库中,关系与关系之间的联系是通过公共属性实现的。这个公共属性是一个关系的关键字,在另一个关系中称为外部关键字(外键)。,系和学生表之间的联系是通过系名实现的,系名是系信息表的关键字,是学生信息表的外键。系名的取值必须符合实体完整性规则。系信息表称为参照关系,学生信息表称为依赖关系。,第32/共67页,二、关系的规范化概念,如何评价关系模型的好坏,这关系到如何设计关系模型(关系框架)的问题。以SCT关系为例说明存在的问题:SCT关系是由S#(学号)、C#(课程号)
12、,GRADE(成绩)、TNAME(教师姓名)、TAGE(教师年龄)、OFFICE(办公室)属性组成。,第33/共67页,关系模式的存储异常问题,在上述SCT关系中,至少存在下列问题:数据冗余 更新异常插入异常删除异常,第34/共67页,如果某门课程有100个学生选修,就要出现100个元组(记录),相应的教这门功课的教师的姓名、年龄、办公室也要出现100次。,第35/共67页,对SCT关系中的元组进行修改,可能导致出现存储数据不一致的情况。例如,要修改第一元组中的OFFICE值时,将301改为303,会出现周老师的办公室号码不一致,除非修改所有周老师元组(记录)中的办公室号码。,第36/共67页
13、,如果某课程决定由张老师担任,但在还不知道哪些学生选修前,无法将张老师的记录插入关系中。因为,在SCT关系中(S#,C#)是主关键字,在C#不确定的情况下,根据关系模型的实体完整性规则,不允许主关键字中出现空值。因此,在C#不确定的情况下,不能插入该记录。,第37/共67页,如果要删除某门课程的所有成绩,则会将教这门功课的教师信息也删除掉。例如,若要删除C4的元组,结果会丢失王老师的有关信息。显然,这是不希望发生的事情。,第38/共67页,关系的规范化举例,显然,SCT关系的性能是很差的。如果将SCT关系分解为两个子关系SC和CT,即SC(S#,C#,GRADE)、CT(C#,TNAME,TA
14、GE,OFFICE)上述存储异常问题将消失。,第39/共67页,产生储异常问题的原因,为什么会产生存储异常的问题呢?这与每个关系模式中各属性值之间的联系有关。在SCT关系中,(S#,C#)是主关键字,它们的值唯一决定其它所有属性的值,形成一种依赖关系。TANME、TAGE、OFFICE的属性值由课程号C#决定,与学号S#无直接联系。把无直接联系的教师属性和学生学号放在一起,就产生了存储异常的问题。因此,模式设计时强调“独立的联系,独立表达”。这是一条设计原则。将SCT分解为SC、CT,就符合这条设计原则。通常,将结构较简单的关系取代结构较复杂关系(简单和复杂是指数据相关性而言)的过程称为关系的
15、规范化。,第40/共67页,数据依赖,描述同一关系内各属性之间的相互关系被称为数据依赖。数据依赖有许多种类型,这里只介绍函数依赖、完全函数依赖和传递依赖的概念。关系BORROW,第41/共67页,关系BORROW,第42/共67页,函数依赖,定义:在关系R中,如果每个属性(或属性组)A的值只有一个属性B的值与之对应,就称属性B函数依赖于属性(或属性组)A,记为:A B 读作:“A函数决定B”或“B函数依赖于A”。举例,在关系BORROW中,各属性之间的函数依赖可描述为:借书证号 姓名 借书证号 单位 借书证号 住址 书号 书名(借书证号,书号)日期,知道了“借书证号”,就知道了“姓名”、“单位
16、”和“住址”,即“借书证号”决定了“姓名”、“单位”和“住址”。,第43/共67页,主属性、非主属性,定义:如果关系模式R中的某属性A是候选关键字的一部分,则称A是关系模式R中的主属性,反之则为非主属性。例如,关系BORROW中,候选关键字只有一个(借书证号,书号),所以,“借书证号”和“书号”组是主属性,其它属性都是非主属性。,第44/共67页,完全函数依赖,定义:如果非主属性B函数依赖于构成某个候选关键字的一组主属性A,而不函数依赖于A的任何一个真子集,则称B完全函数依赖于A;反之,则称B部分函数依赖于A。记为:,第45/共67页,完全函数依赖举例,举例:在关系BORROW中,只有属性“日
17、期”完全函数依赖于关键字(借书证号,书号),其它非主属性都是部分函数依赖于关键字。这里,借书证号,书号是主属性,“日期”是非主属性,“借书证号“和“书号”都是借书证号,书号的真子集,因有借书证号,书号日期,而 借书证号 日期,书号 日期(不函数依赖),所以,,第46/共67页,部分函数依赖,部分函数依赖:在SC关系中,“GRADE”函数依赖于主关键字S#、C#,但决定“GRADE”的只是“C#”,与“S#”无关。所以,“GRADE”部分函数依赖于“C#”。,第47/共67页,关系BICYCLE,第48/共67页,传递函数依赖,定义:设R是一个关系模式,X、Y和Z是的子集,若XY,YZ,且X不函
18、数依赖于Y,称Z传递函数依赖于X。记为:举例,关系BICYCLE中的“厂长”和“产地”,传递函数依赖于“品名”。因为,品名 厂家,厂家 厂长 品名 厂家,厂家 产地 所以,厂长、产地传递函数依赖于品名。,第49/共67页,传递函数依赖举例,传递依赖的关系:学生住宿的“楼号”依赖于“学号”,学生应交的住宿费是由“楼号”决定的,即“收费”依赖于“楼号”,“楼号”依赖于“学号”、而“收费”又依赖于“楼号”,学号 楼号,楼号 收费,所以,,进行分解,可以消除传递依赖,第50/共67页,关系规范化范式,关系规范化有不同的标准,将规范标准称之为范式。可以把范式看成是用范式定义消除数据冗余的程度。范式分为:
19、第一范式1NF第二范式2NF第三范式3NFBoyce-Codd范式BCNF第四范式4NF第五范式5NF 它们满足下列关系:5NF 4NF BCNF 3NF 2NF 1NF,第51/共67页,非规范化关系,表中具有复合数据项和多值数据项的都不是规范化的表。,职工号,姓 名,工 资,基本工资,职务工资,工龄工资,职工号,姓 名,学历,系办公地址,毕业年份,系名,职称,001,002,张强,李刚,教授,讲师,计算机,1-205,大学研究生,19631982,电信,2-204,大学,1989,复合数据项,多值数据项,第52/共67页,转化非规范化关系举例,表中具有复合数据项和多值数据项的都不是规范化的
20、表。,职工号,姓 名,基本工资,职务工资,工龄工资,职工号,姓 名,学历,系办公地址,毕业年份,系名,职称,001,002,张强,李刚,教授,讲师,计算机,1-205,大学,1963,电信,2-204,大学,1989,消除复合数据项,消除多值数据项,研究生,1982,001,张强,教授,计算机,1-205,第53/共67页,第一范式1NF,定义:所有符合关系定义(二维表格)的关系被称为规范关系,或称为第一范式,记为1NF。或曰:每个属性都必须是原子值,即仅仅是一个简单值而不含内部结构。如果关系模式R的每个关系的各个属性值都是基本数据项,则称R为第一范式。,第54/共67页,第一范式的讨论,关系
21、BORROW虽然满足了1NF,但还存在不规范的问题。数据冗余 一个学生要借10本书,他的有关信息要重复存放10次;插入问题 若某学生没借过书,则有关信息无法插入;因为,作为主关键字(借书证号,书号)的“书号”无值;删除问题 若某学生归还了借阅的全部图书,则有关他的信息将全被删除(丢失)。结论:作为关系模式来说,在某些应用中,只满足1NF还不够,还要进一步规范化。,第55/共67页,第二范式2NF,如果R是1NF,并且每个非主属性都完全函数依赖于关键字,则称R为第二范式,记为2NF。关系BORROW不是第二范式,因为其属性“姓名”、“单位”、“住址”、“书名”都不完全函数依赖于唯一的候选关键字
22、借书证号,书号。作下列投影运算,就可将其分解为2NF的关系:READER=借书证号、姓名、单位、住址(BORROW)BOOK=书号、书名(BORROW)BORROW=借书证号、书号、日期(BORROW),第56/共67页,2NF的关系(a)READER关系,2NF的关系BOOK,第57/共67页,2NF的关系(c)关系BORROW,第58/共67页,关系BICYCLE,第59/共67页,第三范式3NF,如果关系模式R满足2NF,且它的任何一个非主属性都不传递依赖于任何候选关键字,则称R为第三范式,记为3NF。例关系BICYCLE满足第二范式,但不满足第三范式,因为:,去掉其中的传递依赖关系,即
23、可得到满足第三范式的关系。例如,新关系BICYCLE和(c)新关系BICYCLE_PLANT。,第60/共67页,第三范式3NF 举例,(a)关系BICYCLE,第61/共67页,第三范式3NF 举例,经投影操作:BICYCLE=品名、厂家、年产量、单价(BICYCLE)得:,品 名 厂 家 年产量 单 价,黄山牌26男车 黄山自行车厂 20000 336.00黄山牌26坤车 黄山自行车厂 23000 326.00红旗牌24坤车 海河自行车厂 76000 310.00大象牌28男车 生发自行车厂 10000 310.00大象牌28加重 生发自行车厂 50000 340.00大象牌28跑车 生发
24、自行车厂 10000 371.00大象牌26男车 生发自行车厂 30000 320.00大象牌26坤车 生发自行车厂 50000 320.00大象牌24坤车 生发自行车厂 10000 305.00,(b)新关系BICYCLE,第62/共67页,第三范式3NF 举例,经投影操作:BICYCLE_PLANT=厂家,厂长,产地(BICYCLE),得,新关系(b)BICYCLE和(c)BICYCLE_PLANT满足第三范式的关系。,第63/共67页,综合举例-SCT关系,SCT关系是由S#(学号)、C#(课程号),GRADE(成绩)、TNAME(教师姓名)、TAGE(教师年龄)、OFFICE(办公室)
25、属性组成。,SCT是1NF,而不是2NF。因为(S#,C#)是SCT的候选关键字,TNAME是非主属性,C#是(S#,C#)的一个真子集,C#TNAME。,第64/共67页,SCT从1NF分解为2NF,将SCT关系分解为两个子关系SC和CT,即SC(S#,C#,GRADE)、CT(C#,TNAME,TAGE,OFFICE),即得到两个2NF关系。,S#C#GRADE S1 C1 90 S1 C2 91 S1 C3 85 S1 C4 87 S2 C1 92 S3 C1 75 S3 C2 56,SC关系,C#TNAME TAGE OFFICE C1 周 45 301 C2 刘 39 302 C3
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 教学课件 教学 课件 数据库技术 应用
链接地址:https://www.31ppt.com/p-5658817.html