数据库应用电子商务-教学课件-作者-王光明-第三章.ppt

上传人(卖家):晟晟文业 文档编号:4614282 上传时间:2022-12-25 格式:PPT 页数:44 大小:434KB
下载 相关 举报
数据库应用电子商务-教学课件-作者-王光明-第三章.ppt_第1页
第1页 / 共44页
数据库应用电子商务-教学课件-作者-王光明-第三章.ppt_第2页
第2页 / 共44页
数据库应用电子商务-教学课件-作者-王光明-第三章.ppt_第3页
第3页 / 共44页
数据库应用电子商务-教学课件-作者-王光明-第三章.ppt_第4页
第4页 / 共44页
数据库应用电子商务-教学课件-作者-王光明-第三章.ppt_第5页
第5页 / 共44页
点击查看更多>>
资源描述

1、2022年12月25日数据库应用电子商务1在线教务辅导网:在线教务辅导网:http:/教材其余课件及动画素材请查阅在线教务辅导网教材其余课件及动画素材请查阅在线教务辅导网QQ:349134187 或者直接输入下面地址:或者直接输入下面地址:http:/数据库应用电子商务第三章第三章 关系数据库理论关系数据库理论u 第一节第一节 关系数据库基本概关系数据库基本概念念u 第二节第二节 关系模型概述关系模型概述u 第三节第三节 数据库逻辑设计实数据库逻辑设计实例例2022年12月25日数据库应用电子商务3 第一节第一节 关系数据库基本概念关系数据库基本概念w 第一节第一节 关系数据库基本概念关系数据

2、库基本概念一、数据库系统的三级模式结构 视图层视图层概念层概念层物理层物理层视图视图1视图视图2视图视图32022年12月25日数据库应用电子商务4 数据视图可分为三个层次:数据视图可分为三个层次:w 外部层(视图层):数据的局部逻辑视图,是针对局部用户描述的数据库的部分内容,是用户看到的和直接操作的数据视图,也称用户个人视图。w 概念层:数据的全局逻辑视图,也称全体用户视图。w 内部层:是数据的物理存储层,是数据库的整体内部视图。也称内视图。第一节第一节 关系数据库基本概念关系数据库基本概念2022年12月25日数据库应用电子商务5w 物理数据物理数据是指存储在计算机存储设备上的数据,对它的

3、描述是指在存储设备上的存储方式。通常用(操作系统)文件结构、文件类型、(文件)记录来描述。w 逻辑数据逻辑数据是用户或应用程序中操作的数据形式,是数据的抽象的逻辑结构和联系。通常用(逻辑)数据结构、表等描述。第一节第一节 关系数据库基本概念关系数据库基本概念2022年12月25日数据库应用电子商务6w 与三层数据视图相对应,数据模式数据模式也分为三个层次:外部层外部层、概念层概念层和内部层内部层。对应的三种模式为外外(子子)模式模式、概念模式概念模式和内内(物理物理)模式模式。第一节第一节 关系数据库基本概念关系数据库基本概念2022年12月25日数据库应用电子商务7w 外模式外模式:对数据库

4、局部逻辑结构的描述。每个应用程序或用户对应不同的外模式。外模式是用户与数据库系统的接口,用户使用数据操纵语言DML语句对数据库进行操作,实际上是对外模式描述的数据进行操作。外模式是概念模式的子集。第一节第一节 关系数据库基本概念关系数据库基本概念2022年12月25日数据库应用电子商务8w 概念模式概念模式:对数据库全局逻辑结构的描述,也称为逻辑模式。概念模式包括概念实体的类型、实体之间的联系、数据完整性约束等。概念模式独立于数据的物理存储结构,是所有用户共同的逻辑数据视图。概念模式是现实世界和数据存储之间的纽带。w 内模式内模式:对数据库数据物理存储结构内容的描述。它定义所有的数据存储和访问

5、控制方面的细节,包括记录类型、文件组织方式、索引组织方式等,由DBMS完成概念模式和内模式之间的映射关系。第一节第一节 关系数据库基本概念关系数据库基本概念2022年12月25日数据库应用电子商务9w 数据模式的三个层次数据模式的三个层次:外部层、概念层和内部层,构成数据库系统的三级模式结构,如图3-2所示。第一节第一节 关系数据库基本概念关系数据库基本概念用用 户户外模式外模式外模式外模式外部层外部层概念模式概念模式内模式内模式映射映射1映射映射2内部层内部层概念层概念层2022年12月25日数据库应用电子商务10w 二、数据库系统的两层映射二、数据库系统的两层映射w 数据库管理系统提供的两

6、层映射功能,即外模式和概念模式的映射,概念模式和内部模式的映射。第一节第一节 关系数据库基本概念关系数据库基本概念2022年12月25日数据库应用电子商务11w 外模式和概念模式的映射外模式和概念模式的映射,定义了外模式和概念模式之间的对应关系,通常在外模式中给出描述。这层映射的作用是实现逻辑数据的独立性。w 概念模式和内部模式的映射概念模式和内部模式的映射,存在于概念层。这层映射的作用是实现物理数据的独立性。第一节第一节 关系数据库基本概念关系数据库基本概念2022年12月25日数据库应用电子商务12w 数据库的三层模式结构的好处在于:数据库的三层模式结构的好处在于:w 保证了数据的独立性:

7、概念模式和内模式分开,保证数据的物理独立性,把外模式和概念模式分开,保证数据逻辑的独立性w 简化用户接口:用户只要按照外模式编写应用程序就可以访问数据库。w 有利于数据共享:所有用户使用统一概念模式导出的不同外模式,减少数据冗余,有利于多种应用程序间共享数据。w 有利于数据安全保密:每个用户只能操作属于自己的外模式数据视图,不能对数据库其他部分进行修改,保证了数据安全性。第一节第一节 关系数据库基本概念关系数据库基本概念2022年12月25日数据库应用电子商务13w 一、关系数据库的相关术语一、关系数据库的相关术语(一)(一)关系模式的形式化定义 w 对某一类数据的结构、属性、联系和约束的描述

8、称为数据模式数据模式。w 关系模式关系模式(Relation Schema)是对一个关系的描述。关系模式的形式化表示为关系模式的形式化表示为:w R(U,F)或R(U)。其中:R:关系名;U:关系R的属性名集合,每个属性值来自于相应的属性域D。F:属性集合U上的一组数据依赖集合。w 当且仅当U上的一个关系r,满足数据依赖关系F时,r称为关系模式R(U,F)的一个关系。w 关系模式R对应的当前值r是元组的集合,r称为关系或关系实例。r通过增删等操作在不断的变化,而关系模式R是相对稳定的。第二节第二节 关系模型概述关系模型概述2022年12月25日数据库应用电子商务14w(二)(二)数据依赖。数据

9、依赖。w 数据依赖数据依赖是指一个关系中属性值的相等与否体现出来的数据间的相互关系。它是现实世界中属性间相互关联的抽象,是数据内在的性质,是语义的体现。w 最重要的是函数依赖函数依赖(Functional Dependency,简称FD)和多值依赖多值依赖(Multivalued Dependency,简称MVD)。第二节第二节 关系模型概述关系模型概述2022年12月25日数据库应用电子商务15w(三)(三)函数依赖函数依赖w 所谓函数依赖函数依赖是指一个或一组属性的值可以决定其它属性的值。例如,一个学生的学号可以决定一个学生的姓名;一个学生的学号和他所选课程的课程号可以决定他这门课的成绩。

10、w 一个函数依赖要能成立,不但要求关系的当前值都能满足函数依赖条件,而且要求关系的任一可能值都能满足函数依赖条件。w 函数依赖存在与否,完全取决于数据的语义。第二节第二节 关系模型概述关系模型概述2022年12月25日数据库应用电子商务16w 二、关系数据库完整性二、关系数据库完整性w 关系模型的完整性规则是对关系的某种约束条件。关系模型中可以有四类完整性约束:w 实体完整性w 域完整性w 引用完整性w 用户自定义完整性。第二节第二节 关系模型概述关系模型概述2022年12月25日数据库应用电子商务17w(一)(一)实体完整性实体完整性w 实体完整性是指表中行的完整性。要求表中的所有行都有唯一

11、的标识符,称为主关键字主关键字。w 实体完整性规则规定:基本关系的所有主关键字对应的主属性都不能取空值。对于实体完整性,有如下规则:w 实体完整性规则针对基本关系。一个基本关系表通常对应一个实体集。例如,学生关系对应学生集合。w 现实世界中的实体是可以区分的,它们具有一种唯一性质的标识。例如,学生的学号,教师的职工号等。w 在关系模型中,主关键字作为唯一的标识,且不能为空 第二节第二节 关系模型概述关系模型概述2022年12月25日数据库应用电子商务18w(二二)域完整性域完整性w 域完整性指列的值域的完整性。如数据类型、格式、值域范围、是否允许空值等。w 域完整性限制了某些属性中出现的值,把

12、属性限制在一个有限的集合中。例如,如果属性类型是整数,那么它就不能是101.5或任何非整数。第二节第二节 关系模型概述关系模型概述2022年12月25日数据库应用电子商务19w(三)引用完整性(三)引用完整性w 引用完整性指被引用表中的主关键字和引用表中的外部主关键字之间的关系。如被引用行是否可以被删除等。w 外关键字的定义:设FK是基本关系R的一个或一组属性,但不一定是关系R的主关键字。如果FK与基本关系S的主关键字相对应,则称FK是基本关系R的外关键字,并称基本关系R为引用关系,基本关系S为被引用关系。w 引用完整性就是定义外关键字与主关键字之间的引用规则。如果要删除被引用的对象,那么也要

13、删除引用它的所有对象,或者把引用值设置为空(如果允许的话)。第二节第二节 关系模型概述关系模型概述2022年12月25日数据库应用电子商务20w(四)(四)用户定义完整性用户定义完整性w 关系数据库系统根据应用环境不同,往往需要一些特殊约束条件,用户定义的完整性是针对某一具体应用领域,对关系数据库提出的约束条件,反映了某一具体应用涉及的数据必须满足的语义要求。第二节第二节 关系模型概述关系模型概述2022年12月25日数据库应用电子商务21w(五)实现数据完整性的方法(五)实现数据完整性的方法w 实现数据完整性的方法有如下几种:在关系模式定义描述中定义数据完整性检查条件;使用触发器、存储过程实

14、现数据完整性检查;用其它编程工具编写程序实现数据完整性检查。第二节第二节 关系模型概述关系模型概述2022年12月25日数据库应用电子商务22w 一、第一范式(一、第一范式(1NF1NF)w 第一范式规定关系的每一个分量必须是一个不可分的数据项。第二节第二节 关系模型概述关系模型概述2022年12月25日数据库应用电子商务23w 例如:设有一关系模式R(S#,C#,G,TN,D),其中(S#)为学号,C#为课程号,G为成绩,TN为任课教师姓名,D为教师所在系名,这些数据具有下列语义:w 1)学号是一个学生的标识,课程号是一门课程的标识。w 2)一位学生所修的每门课程都有一个成绩。w 3)每门课

15、程只有一位任课教师,但一位教师可以教多门课。w 4)教师中没有重名,每位教师只属于一个系。第二节第二节 关系模型概述关系模型概述2022年12月25日数据库应用电子商务24w 下面是一个具体关系实例的数据,如表3-3:w 表3-3 关系实例1 第二节第二节 关系模型概述关系模型概述学号学号S#S#课程号课程号C#C#成绩成绩G G教师教师TNTN系名系名D D s1s1c1c1g1g1t1t1 d1 d1s1s1c2c2g2g2t2t2d2d2s2s2 c1 c1g3g3t1t1 d1 d1s2s2s2s2s2s2s2s2s2s2s3s3s3s3s3s3s3s3s3s3s3s3s3s3s3s3

16、s3s3s3s32022年12月25日数据库应用电子商务25w 该模式在使用过程中有以下几个问题:该模式在使用过程中有以下几个问题:w 1)数据冗余。例如,教师所在系名对选该教师所开课的所有学生都重复输入一次。w 2)插入异常。由于关系的主键S#,C#不能为空值,如果一个教师不教课,则这位教师的姓名及所属的系名就不能插入表中。w 3)删除异常。如果所有学生都退选某一门课,则有关该门课的其它数据(任课教师名及所在系名)也将被删除。w 4)修改异常。如果改变一门课的任课教师,则需要修改表中选修该门课程的多行记录,如果部分修改,部分不修改,则会导致数据的不一致。第二节第二节 关系模型概述关系模型概述

17、2022年12月25日数据库应用电子商务26w 上述关系模式之所以是一个不好的关系模式,是因为模式中存在部分函数依赖和传递函数依赖。消除这些部分函数依赖和传递函数依赖,就可以得到一个比较好的关系模式。w 根据上述示例说明的语义,找出有下面的函数依赖集合F:w F S#,C#G,C#TN,TN D w 针对函数依赖集合,运用关系数据库设计理论,可以对上述关系进行分解,得到3个关系模式如下:w SCG(S#,C#,G)w CTN(C#,TN)w TND(TN,D)第二节第二节 关系模型概述关系模型概述2022年12月25日数据库应用电子商务27w 上述3个关系可以消除数据冗余,插入异常,删除异常和

18、修改异常等现象。是一个比较好的关系模式。把原来一个关系表的数据分解为三个关系表存放。w 具体的关系实例的数据如表3-4,表3-5,表3-6 第二节第二节 关系模型概述关系模型概述2022年12月25日数据库应用电子商务28w 表3-4 关系实例2 第二节第二节 关系模型概述关系模型概述S#C#Gs1s1s2s2s3s3c1c2c1c2c2c3g1g2g3g4g5g62022年12月25日数据库应用电子商务29w 表3-5 关系实例3 第二节第二节 关系模型概述关系模型概述C#TNc1c2c3t1t2t22022年12月25日数据库应用电子商务30w 表3-6 关系实例4 第二节第二节 关系模型

19、概述关系模型概述TND t1t2d1d22022年12月25日数据库应用电子商务31w 二、二、第二范式(第二范式(2NF2NF)w 如果关系模式R满足第一范式,且它的任何一个非主属性都完全函数依赖于任一个候选码,则R满足第二范式(简记为2NF)。第二节第二节 关系模型概述关系模型概述2022年12月25日数据库应用电子商务32w 例31:是1NF但不是2NF的关系模式。设有关系模式如下:w REPORT(S#,C#,TITLE,LNAME,ROOM#,MARKS),其中S#是学号,C#是课程号,TITLE为课程名,LNAME是教师名,ROOM#是教室号,MARKS是分数。w 关系中的一个元组

20、表示学生s在课程c中的得分为m,课程名为t,由教师 l 讲授,其教室编号为r。w 若每门课只由一位教师讲授,每位教师可讲授多门课程,但只有一个教室,即只在一个教室中讲课,则REPORT的函数依赖如下:w(S#,C#)MARKSw C#TITLEw C#LNAMEw LNAMEROOM#第二节第二节 关系模型概述关系模型概述2022年12月25日数据库应用电子商务33w 关系模式REPROT(S#,C#,TITLE,LNAME,ROOM#,MARKS)的码是(S#,C#),非主属性TITLE,LNAME 和 ROOM#对码是部分函数依赖,并存在传递函数依赖C#LNAME,LNAMEROOM#。R

21、EPORT属于1NF,不属于2NF。w 为了消除部分函数依赖,将REPORT关系模式分解为REPORT1和COURSE这二个关系模式:w REPORT1(S#,C#,MARKS)函数依赖是(S#,C#)MARKSw COURSE(C#,TITLE,LNAME,ROOM#)函数依赖是C#TITLE,C#LNAME,LNAMEROOM#。第二节第二节 关系模型概述关系模型概述2022年12月25日数据库应用电子商务34w REPORT1和COURSE都消除了对码的部分函数依赖,因此都属于2NF。一个关系模式仅仅满足2NF仍是不够的,如在关系模式COURSE(C#,TITLE,LNAME,ROOM#

22、)中,仍存在着插入,删除和修改异常问题:w 新来的教师,还没有分配授课之前,教师的姓名及教室编号都不能加到关系中;w 如果要修改某个教师的教室编号,必须修改与教师授课相对应的各元组中的教室编号,因为一位教师可能会教多门课。w 存在上述这些问题的原因是关系模式COURSE中存在传递函数依赖,所以要把关系模式COURSE向第三范式转化,除去非主属性对码的传递函数依赖。第二节第二节 关系模型概述关系模型概述2022年12月25日数据库应用电子商务35w 三、第三范式三、第三范式w 如果关系模式R满足 2NF,并且它的任何一个非主属性都不传递依赖于任何候选码,则称R是第三范式(3NF),记作R3NF。

23、w 在上面的例3.1中,关系模式:w COURSE(C#,TITLE,LNAME,ROOM#)其中存在非主属性ROOM#对码的传递依赖,即:C#LNAME,LNAMEROOM#,因此COURSE不属于3NF。w 将COURSE分解为:COURSE1(C#,TITLE,LNAME)和 LECTURE(LNAME,ROOM#),则关系模式COURSE1和LECTURE中都没有传递函数依赖,因此 COURSE1 和 LECTURE 都属于3NF。w 关系模式REPORT分解为下列3个属于3NF的一组关系模式:w REPORT1(S#,C#,MARKS)w COURSE1(C#,TITLE,LNAME

24、)w LECTURE(LNAME,ROOM#)第二节第二节 关系模型概述关系模型概述2022年12月25日数据库应用电子商务36w 从数据库应用系统设计和开发的全过程来考虑,将数据库及其应用软件系统的生命周期的三个时期又可以细分为七个阶段:w 规划w 需求分析w 概念结构设计w 逻辑结构设计w 物理结构设计w 实施及运行维护。第三节第三节 数据库逻辑设计实例数据库逻辑设计实例2022年12月25日数据库应用电子商务37数据库设计的不同阶段形成数据库的各级不同模式数据库设计的不同阶段形成数据库的各级不同模式:w 需求分析阶段,综合各个用户的应用需求w 在概念设计阶段形成独立于具体机器,独立于各个

25、DBMS产品的概念模式,就是E-R模型图w 在逻辑设计阶段将E-R模型图转换成具体的数据库产品支持的数据模型,如关系模型,形成数据库逻辑模式w 然后根据用户处理的要求、安全性的考虑,在基本表的基础上再建立必要的视图(View),形成数据库的外模式w 在物理设计阶段,根据DBMS特点和处理的需要,进行物理存储安排,建立索引,形成数据库内模式数据库设计的基本过程如图3-3所示。第三节第三节 数据库逻辑设计实例数据库逻辑设计实例2022年12月25日数据库应用电子商务38第三节第三节 数据库逻辑设计实例数据库逻辑设计实例应用4应用3应用2应用要求应用要求应用要求应用要求应用1外模式外模式外模式外模式

26、应用1应用2应用3应用4概念模式逻辑模式内模式综合映象转换映象图3-3 数据库设计基本过程2022年12月25日数据库应用电子商务39w 以学生宿舍水电费管理系统数据库设计为例,讲解数据库逻辑设计过程。w 一、一、系统需求系统需求w 1、有关部门可以输入水电表原始数据并由计算机自动计算结果、查看和打印每一个班各宿舍水电使用量和应交水电费。w 2、水电定额使用,超用量要付费,节约用量可返还水电费。w 3、每学期抄宿舍水电表一次,期末结算一次。每一宿舍按水电交费单查询水电使用量并交费。w 水电交费通知单如图3-4所示:第三节第三节 数据库逻辑设计实例数据库逻辑设计实例2022年12月25日数据库应

27、用电子商务40交水电费通知单班级:日期:第三节第三节 数据库逻辑设计实例数据库逻辑设计实例房号人数用水量用水定额节水量用电量用电定额节电量实交水电费注:每人用水定额 吨/月,用电定额 度/月合计图3-4 交水电费通知单2022年12月25日数据库应用电子商务41w 二、绘制实体二、绘制实体-联系图(联系图(E-R图)图)第三节第三节 数据库逻辑设计实例数据库逻辑设计实例nm1nn111宿舍班级人数房号水电表上月读数本月读数水 电 费 交费通知单收费规则水定额电定额水单价电单价计算通知归属日期抄表图3-5 宿舍水电费管理系统的E-R图2022年12月25日数据库应用电子商务42w 三、三、将将E

28、-R图转换为关系模型图转换为关系模型w 1)从收集到的“交水电费通知单”中可直接得出有关数据项:w 班级、日期、房号、人数、用水量、用水定额、超水量、用电量、用电定额、超电量、实交水电费、每人用水定额、水价、电价费、每人用电定额、合计。w 共16项。w 2)把以上的16个数据项(或称为属性)细分为最小的数据项(即最小的信息单位),并用表3-7表示。第三节第三节 数据库逻辑设计实例数据库逻辑设计实例2022年12月25日数据库应用电子商务43w 4)列出不包含推导或计算结果的最小信息单位(即属性):w 班级、日期、房号、人数、本次水表、上次水表、本次电表、上次电表、水定额、电定额、水价、电价共1

29、2个。w 5)找出它们的完全函数依赖关系:w 房号(班级,人数)。w(房号+日期)(本次水表,上次水表,本次电表,上次电表,收费编号)。w 收费编号(水定额,电定额,水价,电价)w 6)优化设计w 对以上的关系进行优化,使它们满足3NF,即每一个关系既是完全函数依赖关系,关系中又不存在传递函数依赖关系。w 住宿表(房号,班级,人数)。主键:房号。w 水电费表(房号,日期,本次水表,上次水表,本次电表,上次电表,收费编号)。主键:房号+日期。w 水电定额及单价表(收费编号,水定额,电定额,水价,电价)。主键:收费编号。第三节第三节 数据库逻辑设计实例数据库逻辑设计实例2022年12月25日数据库

30、应用电子商务44本本 章章 小小 结结v数据库管理系统从外到内依次分为外模式、概念模式和内模式。v为了实现三个抽象级别的联系和转换,数据库管理系统在三层结构之间提供了两层映象:外模式/模式映象和模式/内模式映象。v作为关系数据库设计的指导理论,E.F.Codd于1971年提出规范化理论。他定义了五种规范化模式(Normal Form,NF),简称范式。v范式表示的是关系模式的规范化程度,也即满足某种约束条件的关系模式,根据满足的约束条件的不同来确定范式。如满足最低要求,则为第一范式(First Normal Form,简称1NF)。符合1NF而又进一步满足一些约束条件的成为第二范式(2NF)等

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(数据库应用电子商务-教学课件-作者-王光明-第三章.ppt)为本站会员(晟晟文业)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|