数据库逻辑模型设计ppt课件

上传人:29 文档编号:241028116 上传时间:2024-05-25 格式:PPT 页数:93 大小:708.05KB
返回 下载 相关 举报
数据库逻辑模型设计ppt课件_第1页
第1页 / 共93页
数据库逻辑模型设计ppt课件_第2页
第2页 / 共93页
数据库逻辑模型设计ppt课件_第3页
第3页 / 共93页
点击查看更多>>
资源描述
项目项目3 3 逻辑模型设计逻辑模型设计数据库设计的步骤:数据库设计的步骤:1.1.需求分析需求分析2.2.概念结构设计概念结构设计3.3.逻辑结构设计逻辑结构设计4.4.数据库的物理设计数据库的物理设计5.5.数据库实施数据库实施6.6.数据库运行与维护数据库运行与维护项目3 逻辑模型设计数据库设计的步骤:1数据库三级模式结构数据库三级模式结构各种人员的数据视图各种人员的数据视图 v不同的人员涉及不同的数据抽象级别,具有不同的数不同的人员涉及不同的数据抽象级别,具有不同的数据视图,如下图所示据视图,如下图所示数据库三级模式结构各种人员的数据视图 不同的人员涉及不同的数2 项目项目3 3 逻辑模型设计逻辑模型设计 学习目标:学习目标:1.了解关系模型的基本概念;2.理解关系数据库的概念;3.掌握函数依赖、范式的定义;4.理解关系模式规范化的意义;5.熟练掌握模式分解的方法;6.熟练掌握E-R图向关系数据模型转换的规则和方法。项目3 逻辑模型设计 学习目标:3 项目项目3 3 逻辑模型设计逻辑模型设计任务任务1 1 逻辑模型基础知识逻辑模型基础知识 任务任务2 2 关系数据库理论关系数据库理论 任务任务3 3 概念模型向关系模型的转概念模型向关系模型的转换换 任务任务4 4 数据库逻辑结构设计数据库逻辑结构设计实训实训4 4 逻辑模型设计逻辑模型设计 项目3 逻辑模型设计任务1 逻辑模型基础知识 4 任务任务1 1 逻辑模型基础知识逻辑模型基础知识1.1 1.1 关系模型概述关系模型概述1.2 1.2 关系数据库的基本概念关系数据库的基本概念 任务1 逻辑模型基础知识1.1 关系模型概述5 任务任务1 1 逻辑模型基础知识逻辑模型基础知识 E-R E-R图表示的概念模型是用户数据要求的形式化图表示的概念模型是用户数据要求的形式化。E-RE-R图独立于任何一种数据模型,它也不为任何图独立于任何一种数据模型,它也不为任何一个一个DBMSDBMS所支持。逻辑结构设计的任务就是把概念所支持。逻辑结构设计的任务就是把概念模型结构转换成某个具体的模型结构转换成某个具体的DBMSDBMS所支持的数据模型,所支持的数据模型,并将其性能进行优化。并将其性能进行优化。任务1 逻辑模型基础知识 E-R图表示的概念模型6任务任务1 1 逻辑模型基础知识逻辑模型基础知识 不同的数据模型具有不同的数据结不同的数据模型具有不同的数据结构形式。构形式。数据库系统中数据库系统中最常使用最常使用的数据的数据模型是层次模型、网状模型和关系模型。模型是层次模型、网状模型和关系模型。l非关系模型非关系模型层次模型(Hierarchical Model)网状模型(Network Model)任务1 逻辑模型基础知识 不同的数据模型7任务任务1 1 逻辑模型基础知识逻辑模型基础知识l关系模型关系模型(Relational Model)数据结构:表数据结构:表l面向对象模型面向对象模型(Object Oriented Model)数据结构:对象数据结构:对象任务1 逻辑模型基础知识关系模型(Relational Mo81.1 1.1 关系模型关系模型l最最重重要要的的一一种种数数据据模模型型。也也是是目目前前主主要要采采用用的的数数据据模模型型,关关系系数数据据库库系系统统采采用用关关系系模模型型作作为为数数据据的的组组织织方方式式,现现在在流流行行的的数数据据库库系系统统大大都都是关系数据库系统。是关系数据库系统。l1970年年由由美美国国IBM公公司司San Jose研研究究室室的的研研究究员员E.F.Codd提出提出l本课程的重点本课程的重点1.1 关系模型最重要的一种数据模型。也是目前主要采用的数据9一、关系数据模型的数据结构一、关系数据模型的数据结构 l在在用用户户观观点点下下,关关系系模模型型中中数数据据的的逻逻辑辑结结构构是是一一张张二二维表,它由行和列组成。维表,它由行和列组成。学学 号号姓姓 名名年年 龄龄性性 别别系系 名名年年 级级2005004王小明王小明19女女社会学社会学20052005006黄大鹏黄大鹏20男男商品学商品学20052005008张文斌张文斌18女女法律法律2005学生登记表学生登记表属性属性元组元组一、关系数据模型的数据结构 在用户观点下,关系模型中数据的逻10(1)关系模型的基本概念关系模型的基本概念关系(关系(RelationRelation)一个关系对应通常说的一张表。一个关系对应通常说的一张表。元组(元组(TupleTuple)表表中中的的一一行行即即为为一一个个元元组组。存存放放的的是是客客观观世世界界的的一一个个实实体体,如如表表StudentStudent关关系系中中的的一一行行,存存放放的的是一个学生的数据是一个学生的数据 。属性(属性(AttributeAttribute)表表中中的的一一列列即即为为一一个个属属性性,给给每每一一个个属属性性起起一一个名称即属性名。个名称即属性名。(1)关系模型的基本概念关系(Relation)11(1)关系模型的基本概念关系模型的基本概念主码(主码(Key)表中的某个属性组,它可以唯一确定一个元组。表中的某个属性组,它可以唯一确定一个元组。域(域(Domain)属性的取值范围。属性的取值范围。分量(分量(Element)元组中的一个属性值。元组中的一个属性值。关系模式(关系模式(Relation mode)对关系的描述对关系的描述关系名(属性关系名(属性1,属性,属性2,属性,属性n)学生(学号,姓名,年龄,性别,系,年级)学生(学号,姓名,年龄,性别,系,年级)(1)关系模型的基本概念主码(Key)12(1)关系模型的基本概念关系模型的基本概念关系术语关系术语一般表格的术语一般表格的术语关系名关系名表名表名关系模式关系模式表头(表格的描述)表头(表格的描述)关系关系(一张)二维表(一张)二维表元组元组记录或行记录或行属性属性列列属性名属性名列名列名属性值属性值列值列值分量分量一条记录中的一个列值一条记录中的一个列值非规范关系非规范关系表中有表(大表中嵌有小表)表中有表(大表中嵌有小表)表表1.2 术语对比术语对比(1)关系模型的基本概念关系术语一般表格的术语关系名表名关13v关系的等价术语之间的对应关系一般用户一般用户 关系模型关系模型 程序员程序员 表表(Table)关系关系(Relation)文件文件(File)行行(Row)实体实体(Entity)记录记录(Record)列列(Column)属性属性(Attribute)字段字段(Field)(1)(1)关系模型的基本概念关系模型的基本概念关系的等价术语之间的对应关系一般用户 关系模型 程序员 表(14(2)(2)关系模型中的数据全部用关系表关系模型中的数据全部用关系表示示 在关系模型中,实体集以及实体间的联系都在关系模型中,实体集以及实体间的联系都是用关系来表示。是用关系来表示。例如,关系模型中,学生、课程、学生与课程例如,关系模型中,学生、课程、学生与课程之间的联系表示为:之间的联系表示为:学生学生(学号,姓名,性别,年龄,所在系);(学号,姓名,性别,年龄,所在系);课程课程(课程号,课程名,先行课);(课程号,课程名,先行课);选修选修(学号,课程号,成绩)。(学号,课程号,成绩)。(2)关系模型中的数据全部用关系表示 在关系模型中,实体集152.2.关系操作和关系的完整性约束条件关系操作和关系的完整性约束条件 l数据操作由查询、插入、删除、更新数据操作由查询、插入、删除、更新l数数据据操操作作是是集集合合操操作作,操操作作对对象象和和操操作作结果都是关系,结果都是关系,即若干元组的集合。即若干元组的集合。l存存取取路路径径对对用用户户隐隐蔽蔽,用用户户只只要要指指出出“干什么干什么”,不必详细说明不必详细说明“怎么干怎么干”。2.关系操作和关系的完整性约束条件 数据操作由查询、插入、删162.2.关系操作和关系的完整性约束条件关系操作和关系的完整性约束条件关系模型的完整性约束关系模型的完整性约束l实体完整性实体完整性l参照完整性参照完整性l用户定义的完整性用户定义的完整性2.关系操作和关系的完整性约束条件关系模型的完整性约束173.3.关系模型的存储结构关系模型的存储结构 关系数据模型的存储结构关系数据模型的存储结构l表以文件形式存储表以文件形式存储l有有的的DBMS一一个个表表对对应应一一个个操操作作系系统统文文件件l有的有的DBMS自己设计文件结构自己设计文件结构3.关系模型的存储结构 关系数据模型的存储结构184.4.关系模型的优缺点关系模型的优缺点l优点优点建立在严格的数学概念的基础上;建立在严格的数学概念的基础上;概概念念单单一一;数数据据结结构构简简单单、清清晰晰,用用户户易易懂懂易用;易用;实体和各类联系都用关系来表示。对数据的检索结果也是关系。关系模型的存取路径对用户透明关系模型的存取路径对用户透明具有更高的数据独立性,更好的安全保密性简化了程序员的工作和数据库开发建立的工作4.关系模型的优缺点优点194.4.关系模型的优缺点关系模型的优缺点l缺点缺点存取路径对用户透明导致查询效率往往不如非关系数据模型为提高性能,必须对用户的查询请求进行优化查询请求进行优化增加了开发数据库管理系统的难度4.关系模型的优缺点缺点205.5.典型的关系数据库系统典型的关系数据库系统ORACLESYBASEINFORMIXDB/2COBASEPBASEEasyBaseDM/2OpenBase5.典型的关系数据库系统ORACLE21信息的三种世界术语的对应关系表信息的三种世界术语的对应关系表现实世界现实世界 信息世界信息世界 计算机世界计算机世界 实体实体 实例实例 记录记录 特征特征 属性属性 数据项数据项 实体集实体集 对象或实体型对象或实体型 数据或文件数据或文件 实体间的联系实体间的联系对象间的联系对象间的联系 数据间的联系数据间的联系 概念模型概念模型数据模型数据模型 信息的三种世界术语的对应关系表现实世界 信息世界 计算机世界221.2 1.2 关系数据库的基本概念关系数据库的基本概念1.1.关系数据结构关系数据结构2.2.关系操作概述关系操作概述 3.3.关系的完整性关系的完整性1.2 关系数据库的基本概念1.关系数据结构231.1.关系数据结构关系数据结构 在在关关系系模模型型中中,无无论论是是实实体体集集,还还是是实实体体集集之之间间的的联联系系均均由由单单一一的的关关系系表表示示。由由于于关关系系模模型型是是建建立立在在集集合合代代数数基基础础上上的的,因因而而一一般般从从集集合合论论角角度度对对关关系系数据结构进行定义。数据结构进行定义。1.关系数据结构 在关系模型中,无论是实24(1 1)域()域(DomainDomain)l域域是一组具有相同数据类型的值的集合。是一组具有相同数据类型的值的集合。例例整数整数实数实数介于某个取值范围的整数介于某个取值范围的整数长度指定长度的字符串集合长度指定长度的字符串集合男男,女女介于某个取值范围的日期介于某个取值范围的日期(1)域(Domain)域是一组具有相同数据类型的值的集合。25(2 2)笛卡尔积(笛卡尔积(Cartesian Cartesian ProductProduct)l1)1)笛卡尔积笛卡尔积给给定定一一组组域域D1,D2,Dn,这这些些域域中中可可以以有相同的。有相同的。D1,D2,Dn的的笛卡尔积笛卡尔积为:为:D1D2Dn(d1,d2,dn)di Di,i1,2,n所有域的所有取值的一个组合所有域的所有取值的一个组合不能重复不能重复(2)笛卡尔积(Cartesian Product)1)26(2 2)笛卡尔积(笛卡尔积(Cartesian Cartesian ProductProduct)例例2-1 给出三个域:给出三个域:D1=SUPERVISOR=张清玫,刘逸张清玫,刘逸 D2=SPECIALITY=计算机专业,信息专业计算机专业,信息专业 D3=POSTGRADUATE=李勇,刘晨,王敏李勇,刘晨,王敏则则D1,D2,D3的笛卡尔积为:的笛卡尔积为:D1D2D3(张张清清玫玫,计计算算机机专专业业,李李勇勇),(张张清清玫玫,计计算算机机专专业业,刘刘晨晨),(张清玫,计算机专业,王敏张清玫,计算机专业,王敏),(张清玫,信息专业,李勇张清玫,信息专业,李勇),(张清玫,信息专业,刘晨张清玫,信息专业,刘晨),(张清玫,信息专业,王敏张清玫,信息专业,王敏),(刘逸,计算机专业,李勇刘逸,计算机专业,李勇),(刘逸,计算机专业,刘晨刘逸,计算机专业,刘晨),(刘逸,计算机专业,王敏刘逸,计算机专业,王敏),(刘逸,信息专业,李勇刘逸,信息专业,李勇),(刘逸,信息专业,刘晨刘逸,信息专业,刘晨),(刘逸,信息专业,王敏刘逸,信息专业,王敏)(2)笛卡尔积(Cartesian Product)例2-27(2 2)笛卡尔积(笛卡尔积(Cartesian Cartesian ProductProduct)l2)元组元组(Tuple)笛笛卡卡尔尔积积中中每每一一个个元元素素(d1,d2,dn)叫叫作作一一个个n元组元组(n-tuple)或简称)或简称元组元组。例例l3)分量(分量(Component)笛卡尔积元素(笛卡尔积元素(d1,d2,dn)中的每一个值)中的每一个值di叫叫作一个作一个分量分量。(2)笛卡尔积(Cartesian Product)2)28(2 2)笛卡尔积(笛卡尔积(Cartesian Cartesian ProductProduct)l4)基数(基数(Cardinal number)若若Di(i1,2,n)为为有有限限集集,其其基基数数为为mi(i1,2,n),则则D1D2Dn的基数的基数M为:为:在上例中,基数:在上例中,基数:22312,即,即D1D2D3共共有有22312个元组个元组(2)笛卡尔积(Cartesian Product)4)29(2 2)笛卡尔积(笛卡尔积(Cartesian Cartesian ProductProduct)l5)笛卡尔积的表示方法笛卡尔积的表示方法笛笛卡卡尔尔积积可可表表示示为为一一个个二二维维表表。表表中中的的每每行行对应一个元组,表中的每列对应一个域。对应一个元组,表中的每列对应一个域。在上例中,在上例中,12个元组可列成一张二维表个元组可列成一张二维表 (2)笛卡尔积(Cartesian Product)5)笛30 31(3 3)关系(关系(RelationRelation)1)关系关系D1D2Dn的的子子集集叫叫作作在在域域D1,D2,Dn上的上的关系关系,表示为,表示为 R(D1,D2,Dn)R:关系名关系名 n:关系的关系的目目或或度度(Degree)(3)关系(Relation)1)关系32(3 3)关系(关系(RelationRelation)注意注意关关系系是是笛笛卡卡尔尔积积的的有有限限子子集集。无无限限关关系系在在数数据据库库系统中是无意义的。系统中是无意义的。由于由于笛卡尔积不满足交换律笛卡尔积不满足交换律,即,即 (d1 (d1,d2d2,dn)(d2dn)(d2,d1d1,dn)dn)但但关系满足交换律关系满足交换律,即,即(d(d1 1,d d2 2,d di i,d dj j,d dn n)=(d d1 1,d d2 2,djdj,didi ,d dn n)(i i,j j=1=1,2 2,n n)解解决决方方法法:为为关关系系的的每每个个列列附附加加一一个个属属性性名名以以取取消关系元组的有序性消关系元组的有序性(3)关系(Relation)注意33(3 3)关系(关系(RelationRelation)例如在表例如在表2.1 2.1 的笛卡尔积中取出有实际意义的元组的笛卡尔积中取出有实际意义的元组 来构造关系来构造关系关系:关系:SAP(SUPERVISORSAP(SUPERVISOR,SPECIALITYSPECIALITY,POSTGRADUATE)POSTGRADUATE)关系名,属性名关系名,属性名假假设设:导导师师与与专专业业:1:11:1(即即一一个个导导师师只只能能对对一一个个专专业业),导师与研究生:导师与研究生:1:n1:n(一个研究生只能遵从一个导师)(一个研究生只能遵从一个导师)于是:于是:SAPSAP关系可以包含三个元组关系可以包含三个元组 (张清玫,信息专业,李勇张清玫,信息专业,李勇),(张清玫,信息专业,刘晨张清玫,信息专业,刘晨),(刘逸,信息专业,王敏刘逸,信息专业,王敏)(3)关系(Relation)例如在表2.1 的笛卡尔积中34(3 3)关系(关系(RelationRelation)2)元组元组关系中的每个元素是关系中的元组,关系中的每个元素是关系中的元组,通常通常用用t表示表示。3)单元关系与二元关系单元关系与二元关系当当n=1时时,称称该该关关系系为为单单元元关关系系(Unary relation)。)。当当n=2时时,称称该该关关系系为为二二元元关关系系(Binary relation)。)。(3)关系(Relation)2)元组35(3 3)关系(关系(RelationRelation)4)关系的表示关系的表示 关关系系也也是是一一个个二二维维表表,表表的的每每行行对对应应一一个个元组元组,表的每,表的每列列对应一个对应一个域域。(3)关系(Relation)4)关系的表示36(3 3)关系(关系(RelationRelation)5)5)属性属性关关系系中中不不同同列列可可以以对对应应相相同同的的域域,为为了了加加以以区区分分,必必须须对对每每列列起起一一个个名名字字,称称为为属属性性(AttributeAttribute)。)。n n目关系必有目关系必有n n个属性。个属性。(3)关系(Relation)5)属性37(3 3)关系(关系(RelationRelation)6)6)码码候选码(候选码(Candidate keyCandidate key)若关系中的某一属性组的值能唯一地标识一个元组,若关系中的某一属性组的值能唯一地标识一个元组,则称该属性组为候选码,在有多个后选码时可以选则称该属性组为候选码,在有多个后选码时可以选一个作为一个作为主码主码。在最简单的情况下,候选码只包含一个属性。在最简单的情况下,候选码只包含一个属性。在最极端的情况下,关系模式的所有属性组在最极端的情况下,关系模式的所有属性组是这个关系模式的候选码,称为全码(是这个关系模式的候选码,称为全码(All-keyAll-key)(3)关系(Relation)6)码38(3 3)关系(关系(RelationRelation)码码(续续)主码主码若一个关系有多个候选码,则选定其中一个若一个关系有多个候选码,则选定其中一个为为主码主码(Primary key)主码的诸属性称为主码的诸属性称为主属性主属性(Prime attribute)。)。不包含在任何侯选码中的属性称为不包含在任何侯选码中的属性称为非主属性非主属性(Non-key attribute)(3)关系(Relation)码(续)39(3 3)关系(关系(RelationRelation)7)7)三类关系(或称三类表)三类关系(或称三类表)基本关系基本关系(基本表或基表)(基本表或基表)实际存在的表,是实际存储数据的逻辑表示实际存在的表,是实际存储数据的逻辑表示查询表查询表查询结果对应的表查询结果对应的表视图表视图表由基本表或其他视图表导出的表,是虚表,不对由基本表或其他视图表导出的表,是虚表,不对应实际存储的数据应实际存储的数据(3)关系(Relation)7)三类关系(或称三类表)40(4 4)数据库中基本关系的性质)数据库中基本关系的性质 列是同质的(列是同质的(HomogeneousHomogeneous)每一列中的分量是同一类型的数据,来自同每一列中的分量是同一类型的数据,来自同一个域一个域 不同的列可出自同一个域不同的列可出自同一个域其中的每一列称为一个属性其中的每一列称为一个属性不同的属性要给予不同的属性名不同的属性要给予不同的属性名(4)数据库中基本关系的性质 列是同质的(Homogene41(4 4)数据库中基本关系的性质)数据库中基本关系的性质 列的顺序无所谓列的顺序无所谓列的次序可以任意交换列的次序可以任意交换遵循这一性质的数据库产品遵循这一性质的数据库产品(如如ORACLE)ORACLE),增加新属性时,永远是插至最后一列增加新属性时,永远是插至最后一列但也有许多关系数据库产品没有遵循这一但也有许多关系数据库产品没有遵循这一性质,例如性质,例如FoxProFoxPro仍然区分了属性顺序仍然区分了属性顺序(4)数据库中基本关系的性质 列的顺序无所谓42(4 4)数据库中基本关系的性质)数据库中基本关系的性质 任意两个元组不能完全相同任意两个元组不能完全相同由笛卡尔积的性质决定由笛卡尔积的性质决定但许多关系数据库产品没有遵循这一性质。但许多关系数据库产品没有遵循这一性质。例如例如:OracleOracle,FoxProFoxPro等都允许关系表中存在两个完全相同等都允许关系表中存在两个完全相同的元组,除非用户特别定义了相应的约束条件。的元组,除非用户特别定义了相应的约束条件。(4)数据库中基本关系的性质 任意两个元组不能完全相同43(4 4)数据库中基本关系的性质)数据库中基本关系的性质 行的顺序无所谓行的顺序无所谓行的次序可以任意交换行的次序可以任意交换遵循这一性质的数据库产品遵循这一性质的数据库产品(如如ORACLE)ORACLE),插入一个元组时永远插至最后一行插入一个元组时永远插至最后一行但也有许多关系数据库产品没有遵循这一性但也有许多关系数据库产品没有遵循这一性质,例如质,例如FoxProFoxPro仍然区分了元组的顺序仍然区分了元组的顺序(4)数据库中基本关系的性质 行的顺序无所谓44(4 4)数据库中基本关系的性质)数据库中基本关系的性质 分量必须取原子值分量必须取原子值每一个分量都必须是不可分的数据项。每一个分量都必须是不可分的数据项。这是规范条件中最基本的一条这是规范条件中最基本的一条(4)数据库中基本关系的性质 分量必须取原子值45(5 5)关系模式()关系模式(Relation SchemaRelation Schema)的定义)的定义 关系的描述称为关系模式。关系的描述称为关系模式。关系模式可以形式化地表示关系模式可以形式化地表示为:为:R R(U U,D D,DomDom,F F)l其中:其中:R R为关系名,为关系名,它是关系的形式化表示;它是关系的形式化表示;U U为组成为组成该关系的属性集合该关系的属性集合;D D为属性组为属性组U U中属性所来自的域;中属性所来自的域;DomDom为属性向域的映像的集合;为属性向域的映像的集合;F F为属性间数据的依赖为属性间数据的依赖关系集合。关系集合。l关系模式是关系的形式化描述。关系模式是关系的形式化描述。(5)关系模式(Relation Schema)的定义 46(5 5)关系模式()关系模式(Relation SchemaRelation Schema)的定义)的定义 关系模式通常可以简单记为:关系模式通常可以简单记为:R(U)或或 R(A1,A2,An).l其中:其中:R为关系名,为关系名,A1,A2,An为为属性名,域名及属性向域的映像常常直属性名,域名及属性向域的映像常常直接说明为属性的类型、长度。接说明为属性的类型、长度。(5)关系模式(Relation Schema)的定义 关系47(5 5)关系模式()关系模式(Relation SchemaRelation Schema)的定义)的定义 关系模式是关系的框架或结构。关系是按关系模关系模式是关系的框架或结构。关系是按关系模式组织的表格,关系既包括结构也包括其数据(关系式组织的表格,关系既包括结构也包括其数据(关系的数据是元组,也称为关系的内容)。一般讲,关系的数据是元组,也称为关系的内容)。一般讲,关系模式是静态的,关系数据库一旦定义后其结构不能随模式是静态的,关系数据库一旦定义后其结构不能随意改动;而关系的数据是动态的,关系内容的更新属意改动;而关系的数据是动态的,关系内容的更新属于正常的数据操作,随时间的变化,关系数据库中的于正常的数据操作,随时间的变化,关系数据库中的数据需要不断增加、修改或删除。数据需要不断增加、修改或删除。(5)关系模式(Relation Schema)的定义 48(5 5)关系模式()关系模式(Relation SchemaRelation Schema)的定义)的定义 v关系模式即是一个表的表头描述关系模式即是一个表的表头描述。v表头也称为关系的结构、关系的型表头也称为关系的结构、关系的型等。等。v除除表表头头一一行行以以外外的的所所有有行行的的集集合合(即即表表内内容容),),称称为为关关系的值。系的值。v一一个个关关系系(表表),由由表表头头和和表表内内容容两两部部分分组组成成,表表头头是是相相对对不不变变的的,而而表表内内容容是是经经常常改改变变的的。如如StudentStudent表表中中,当当有有新新学学生生入入学学时时,就就增增加加若若干干行行,当当学学生生毕毕业业时时,就要删除若干行,所以表是动态的。就要删除若干行,所以表是动态的。(5)关系模式(Relation Schema)的定义 关系49(6 6)关系数据库()关系数据库(Relation Relation databasedatabase)v关系数据库是相互关联的表或者说关系的集合。关系数据库是相互关联的表或者说关系的集合。v因因为为一一个个表表存存放放的的是是某某一一应应用用领领域域的的一一个个实实体体或或实实体体间间的的联联系系,如如StudentStudent表表存存放放的的是是学学生生这这个个实实体体(集集),CourseCourse表表存存放放的的是是课课程程这这个个实实体体(集集),SCSC表表存存放放的的学学生生实实体体与与课课程程实实体体之之间间的的联联系系,这这里里为为选选课课联联系系。因因此此关关系系数数据据库库中中存存放放的的是是某某一一应应用用领领域域中中的的所所有有实实体和实体之间的联系。体和实体之间的联系。v一一个个关关系系用用一一个个关关系系模模式式表表示示,所所有有关关系系模模式式集集合合构构成数据库的模式,它是数据库整体逻辑结构的描述。成数据库的模式,它是数据库整体逻辑结构的描述。(6)关系数据库(Relation database)关系502.2.关系操作概述关系操作概述 关关系系模模型型与与其其他他数数据据模模型型相相比比,最最具具有有特特色色的的是是关关系系数数据据操操作作语语言言。关关系系操操作作语语言言灵灵活活方方便便,表表达达能能力力和和功功能能都都非常强大。非常强大。2.关系操作概述 关系模型与其他数据模型51(1 1)关系操作的基本内容)关系操作的基本内容 关关系系操操作作包包括括数数据据查查询询、数数据据维维护护和和数数据据控控制制三三大大功功能能。数数据据查查询询指指数数据据检检索索、统统计计、排排序序、分分组组以以及及用用户户对对信信息息的的需需求求等等功功能能;数数据据维维护护指指数数据据增增加加、删删除除、修修改改等等数数据据自自身身更更新新的的功功能能;数数据据控控制制是是为为了了保保证证数数据据的的安安全全性性和和完完整整性性而而采采用用的的数数据据存存取取控控制制及及并发控制等功能。并发控制等功能。(1)关系操作的基本内容 关系操作52(1 1)关系操作的基本内容)关系操作的基本内容 关关系系操操作作的的数数据据查查询询和和数数据据维维护护功功能能使使用用关关系系代代数数中中的的选选择择(SelectSelect)、投投影影(ProjectProject)、连连接接(JoinJoin)、除除(DivideDivide)、并并(UnionUnion)、交交(IntersectionIntersection)、差差(DifferenceDifference)和和广广义义笛笛卡卡儿儿积积(Extended Extended Cartesian Cartesian ProductProduct)8 8种种操操作作表表示示,其其中中前前4 4种种为为专专门门的的关关系系运运算算,而而后后4 4种种为为传传统统的的集集合合运算运算。(1)关系操作的基本内容 关系操作的53(2 2)关系操作的特点)关系操作的特点 关系操作具有以下关系操作具有以下3 3个明显的特点。个明显的特点。l1)1)关系操作语言操作一体化关系操作语言操作一体化 关系语言具有数据定义、查询、更新和控制一体化的关系语言具有数据定义、查询、更新和控制一体化的特点。特点。l2)2)关系操作的方式是一次一集合方式关系操作的方式是一次一集合方式 其他系统的操作是一次一记录(其他系统的操作是一次一记录(record-at-a-timerecord-at-a-time)方式,而关系操作的方式则是一次一集合(方式,而关系操作的方式则是一次一集合(set-at-set-at-a-timea-time)方式,即关系操作的初始数据、中间数据和)方式,即关系操作的初始数据、中间数据和结果数据都是集合。结果数据都是集合。l3)3)关系操作语言是高度非过程化的语言关系操作语言是高度非过程化的语言 关系操作语言具有强大的表达能力。关系操作语言具有强大的表达能力。(2)关系操作的特点 关系操作具有以下3个明显的特点。54(3 3)关系操作的种类)关系操作的种类 关系操作语言可以分为以下关系操作语言可以分为以下3 3类。类。l1)1)关系代数语言关系代数语言 关系代数语言是用对关系的运算来表达查询要求的语言。关系代数语言是用对关系的运算来表达查询要求的语言。ISBLISBL(Information System Base LanguageInformation System Base Language)为关系代)为关系代数语言的代表。数语言的代表。l2)2)关系演算语言关系演算语言 关系演算语言是用查询得到的元组应满足的谓词条件来关系演算语言是用查询得到的元组应满足的谓词条件来表达查询要求的语言。表达查询要求的语言。l3)3)基于映像的语言基于映像的语言 基于映像的语言是具有关系代数和关系演算双重特点的基于映像的语言是具有关系代数和关系演算双重特点的语言。语言。SQLSQL(Structure Query LanguageStructure Query Language)是基于映像)是基于映像的语言的语言。SQLSQL包括数据定义、数据操作和数据控制三种包括数据定义、数据操作和数据控制三种功能,具有语言简洁,易学易用的特点,它是关系数据功能,具有语言简洁,易学易用的特点,它是关系数据库的标准语言和主流语言。库的标准语言和主流语言。(3)关系操作的种类 关系操作语言可以分为以下3类。553.3.关系的完整性关系的完整性 关系模型的完整性规则是对关系的某种约束关系模型的完整性规则是对关系的某种约束条件。条件。关系模型中有三类完整性约束:关系模型中有三类完整性约束:实体完实体完整性、参照完整性和用户定义的完整性。整性、参照完整性和用户定义的完整性。其中其中实体完整性和参照完整性是关系模型必须满足实体完整性和参照完整性是关系模型必须满足的完整性约束条件,应该由关系系统自动支持。的完整性约束条件,应该由关系系统自动支持。3.关系的完整性 关系模型的完整性规则是对关系的56(1 1)实体完整性实体完整性(Entity Integrity)l关系的实体完整性规则为:关系的实体完整性规则为:若属性若属性A A是基本是基本关系关系R R的主属性,则属性的主属性,则属性A A的值不能为空值。的值不能为空值。l实体完整性规则规定基本关系的所有主属性实体完整性规则规定基本关系的所有主属性都不能取空值,而不仅是主码不能取空值。都不能取空值,而不仅是主码不能取空值。(1)实体完整性(Entity Integrity)关57(1 1)实体完整性实体完整性(Entity Integrity)对于实体完整性规则,说明如下:对于实体完整性规则,说明如下:l1)1)实体完整性能够保证实体的惟一性实体完整性能够保证实体的惟一性l2)2)实体完整性能够保证实体的可区分性实体完整性能够保证实体的可区分性(1)实体完整性(Entity Integrity)对58(2 2)参照完整性()参照完整性(Reference Reference IntegrityIntegrity)参照完整性又称为引用完整性,是保证参参照完整性又称为引用完整性,是保证参照表与被参照表中数据的一致性。照表与被参照表中数据的一致性。实体完整性是一个关系内的约束,而参照实体完整性是一个关系内的约束,而参照完整性则是在不同关系之间或同一关系的完整性则是在不同关系之间或同一关系的不同元组之间的约束。不同元组之间的约束。(2)参照完整性(Reference Integrity)591)1)关系间的引用关系间的引用 在在关关系系模模型型中中实实体体及及实实体体间间的的联联系系都都是是用用关关系系来来描描述述的的,因因此此可可能能存存在在着着关关系系与与关关系系间间的的引引用。用。例例 学学生生实实体体、专专业业实实体体以以及及专专业业与与学学生生 间的一对多联系间的一对多联系 学生(学生(学号学号,姓名,性别,姓名,性别,专业号专业号,年龄),年龄)专业(专业(专业号专业号,专业名),专业名)1)关系间的引用 在关系模型中实体及实体间的联系都是用关60学生(学生(学号学号,姓名,性别,专业号,年龄),姓名,性别,专业号,年龄)专业(专业(专业号专业号,专业名),专业名)学生(学号,姓名,性别,专业号,年龄)专业(611 1)关系间的引用)关系间的引用(续续)例例2 学学生生、课课程程、学学生生与与课课程程之之间间的的多多对对多联系多联系 学生(学生(学号学号,姓名,性别,专业号,年龄姓名,性别,专业号,年龄 课程(课程(课程号课程号,课程名,学分),课程名,学分)选修(选修(学号学号,课程号课程号,成绩),成绩)1)关系间的引用(续)例2 学生、课程、学生与课程之间的多对62 学生学生学生选课学生选课课程课程 学生学生选课课程631 1)关系间的引用)关系间的引用(续续)例例3 学生实体及其内部的领导联系学生实体及其内部的领导联系(一对多一对多)学生(学生(学号学号,姓名,性别,专业号,年龄,姓名,性别,专业号,年龄,班长班长)1)关系间的引用(续)例3 学生实体及其内部的领导联系(一642 2)外码()外码(Foreign KeyForeign Key)设设F F是是基基本本关关系系R R的的一一个个或或一一组组属属性性,但但不不是是关关系系R R的的码码。如如果果F F与与基基本本关关系系S S的的主主码码K Ks s相相对对应应,则则称称F F是是基基本本关关系系R R的的外外码码 基本关系基本关系R R称称为为参照关系参照关系(ReferencingReferencing Relation Relation)基本关系基本关系S S称称为为被参照关系被参照关系(ReferencedReferencedRelationRelation)或或 目目 标标 关关 系系(Target Target RelationRelation)。)。2)外码(Foreign Key)设F是基本关系R的一个或652 2)外码()外码(Foreign KeyForeign Key)说明说明l关系关系R R和和S S不一定是不同的关系。不一定是不同的关系。l目标关系目标关系S S的主码的主码K Ks s 和参照关系的外码和参照关系的外码F F必须定义在同一个(或一组)域上。必须定义在同一个(或一组)域上。l外码并不一定要与相应的主码同名;外码并不一定要与相应的主码同名;当外码与相应的主码属于不同关系时,当外码与相应的主码属于不同关系时,往往取相同的名字,以便于识别。往往取相同的名字,以便于识别。2)外码(Foreign Key)说明663 3)参照完整性规则参照完整性规则若属性(或属性组)若属性(或属性组)F是基本关系是基本关系R的外码的外码它与基本关系它与基本关系S的主码的主码Ks相对应(基本关相对应(基本关系系R和和S不一定是不同的关系),则对不一定是不同的关系),则对于于R中每个元组在中每个元组在F上的值必须为:上的值必须为:或者取空值(或者取空值(F的每个属性值均为空值)的每个属性值均为空值)或者等于或者等于S中某个元组的主码值。中某个元组的主码值。3)参照完整性规则若属性(或属性组)F是基本关系R的外码673 3)参照完整性规则参照完整性规则学生关系中每个元组的学生关系中每个元组的“专业号专业号”属性只属性只取下面两类值:取下面两类值:(1)空值空值,表示尚未给该学生分配专业,表示尚未给该学生分配专业(2)非非空空值值,这这时时该该值值必必须须是是专专业业关关系系中中某某个个元元组组的的“专专业业号号”值值,表表示示该该学学生生不可能分配到一个不存在的专业中不可能分配到一个不存在的专业中3)参照完整性规则683 3)参照完整性规则参照完整性规则 选修(选修(学号学号,课程号课程号,成绩),成绩)“学号学号”和和“课程号课程号”是选修关系中的主是选修关系中的主属性属性按照实体完整性和参照完整性规则,它们按照实体完整性和参照完整性规则,它们只能取相应被参照关系中已经存在的主码只能取相应被参照关系中已经存在的主码值值3)参照完整性规则 选修(学号,课程号,成绩)693 3)参照完整性规则参照完整性规则学生(学生(学号学号,姓名,性别,专业号,年龄,姓名,性别,专业号,年龄,班长班长)“班长班长”属性值可以取两类值:属性值可以取两类值:(1)空值,表示该学生所在班级尚未选出班长,)空值,表示该学生所在班级尚未选出班长,或该学生本人即是班长;或该学生本人即是班长;(2)非空值,这时该值必须是本关系中某个元)非空值,这时该值必须是本关系中某个元组的学号值组的学号值3)参照完整性规则学生(学号,姓名,性别,专业号,年龄,班703.3.用户定义的完整性(用户定义的完整性(User-Defined User-Defined IntegrityIntegrity)l任任何何关关系系数数据据库库系系统统都都应应当当具具备备实实体体完完整整性性和和参参照照完完整整性性。另另外外,由由于于不不同同的的关关系系数数据据库库系系统统有有着着不不同同的的应应用用环环境境,所所以以它它们们要要有有不不同同的的约束条件约束条件。l用用户户定定义义的的完完整整性性是是针针对对某某一一具具体体关关系系数数据据库库的的约约束束条条件件,反反映映某某一一具具体体应应用用所所涉涉及及的的数数据据必须满足的语义要求。必须满足的语义要求。3.用户定义的完整性(User-Defined Integ713.3.用户定义的完整性(用户定义的完整性(User-Defined User-Defined IntegrityIntegrity)l关关系系模模型型应应提提供供定定义义和和检检验验这这类类完完整整性性的的机机制制,以以便便用用统统一一的的系系统统的的方方法法处处理理它们,而不要由应用程序承担这一功能。它们,而不要由应用程序承担这一功能。l例例如如,学学生生考考试试的的成成绩绩必必须须在在0100之之间间,在在职职职职工工的的年年龄龄不不能能大大于于60岁岁等等,都是针对具体关系提出的完整性条件。都是针对具体关系提出的完整性条件。3.用户定义的完整性(User-Defined Integ723.3.用户定义的完整性用户定义的完整性(续续)例例:课程课程(课程号课程号,课程名,学分,课程名,学分)“课程名课程名”属性必须取唯一值属性必须取唯一值非主属性非主属性“课程名课程名”也不能取空值也不能取空值“学分学分”属性只能取值属性只能取值1,2,3,43.用户定义的完整性(续)例:731.数据库管理员数据库管理员(DBA)l决定数据库中的信息内容和结构决定数据库中的信息内容和结构l决定数据库的存储结构和存取策略决定数据库的存储结构和存取策略l定定义义数数据据的的安安全全性性要要求求和和完完整整性性约约束束条件条件1.数据库管理员(DBA)决定数据库中的信息内容和结构74数据库管理员数据库管理员(续续)l监控数据库的使用和运行监控数据库的使用和运行周期性转储数据库周期性转储数据库数据文件数据文件日志文件日志文件系统故障恢复系统故障恢复介质故障恢复介质故障恢复监视审计文件监视审计文件数据库管理员(续)监控数据库的使用和运行75数据库管理员数据库管理员(续续)l数据库的改进和重组数据库的改进和重组性能监控和调优性能监控和调优数据重组数据重组l数据库重构数据库重构数据库管理员(续)数据库的改进和重组762.系统分析员系统分析员l负责应用系统的需求分析和规范说明负责应用系统的需求分析和规范说明l与与用用户户及及DBA协协商商,确确定定系系统统的的硬硬软软件件配置配置l参与数据库系统的概要设计参与数据库系统的概要设计2.系统分析员负责应用系统的需求分析和规范说明773.数据库设计人员数据库设计人员l参加用户需求调查和系统分析参加用户需求调查和系统分析l确定数据库中的数据确定数据库中的数据l设计数据库各级模式设计数据库各级模式3.数据库设计人员参加用户需求调查和系统分析784.应用程序员应用程序员l设计和编写应用系统的程序模块设计和编写应用系统的程序模块l进行调试和安装进行调试和安装4.应用程序员设计和编写应用系统的程序模块795.用户用户l偶然用户偶然用户企业或组织机构的高中级管理人员企业或组织机构的高中级管理人员l简单用户简单用户银银行行的的职职员员、机机票票预预定定人人员员、旅旅馆馆总总台台服服务务员员5.用户偶然用户80用户(续)用户(续)l复杂用户复杂用户工程师、科学家、经济学家、科技工作者等工程师、科学家、经济学家、科技工作者等直直接接使使用用数数据据库库语语言言访访问问数数据据库库,甚甚至至能能够够基基于于数数据据库库管管理理系系统统的的API编编制制自自己己的的应应用用程序程序用户(续)复杂用户81习题课习题课:概念模型的应用概念模型的应用l例题一例题一 设设物物资资管管理理数数据据库库中中有有两两个个实实体体集集。一一是是“仓仓库库”实实体体,具具有有仓仓库库号号、地地址址、电电话话等等属属性性;另另一一个个是是“零零件件”实实体体集集,具具有有零零件件号号、零零件件名名称称、规规格格、单单价等属性。价等属性。如如果果规规定定:一一个个零零件件可可以以存存放放在在多多个个仓仓库库中中,一一个个仓仓库库中中可可以以存存放放多多种种零零件件。存存放放在在仓仓库库中中的的零零件件具具有属性日期和库存量。有属性日期和库存量。要求:画出要求:画出E/R图。图。习题课:概念模型的应用例题一82习题课习题课:概念模型的应用概念模型的应用l例题二例题二 设设某某商商业业集集团团数数据据库库中中有有三三个个实实体体集集。一一是是“商商店店”实实体体,具具有有编编号号、商商店店名名、地地址址、电电话话等等属属性性;二二个个是是“商商品品”实实体体集集,具具有有商商品品号号、商商品品名名、规规格格、单单价价等等,三三是是“职职工工”实实体体集集,属属性有职工编号、姓名、性别、业绩等。性有职工编号、姓名、性别、业绩等。商商店店与与商商品品之之间间存存在在“销销售售”联联系系,每每个个商商店店可可以以销销售售多多种种商商品品,每每种种商商品品可可以以在在多多个个商商店店销销售售,每每个个商商店店销销售售一一种种商商品品有有月月销销售售量量;商商店店与与职职工工之之间间存存在在“聘聘用用”联联系系,每每个个商商店店可可以以有有多多名名职职工工,每每个个职职工工只只能能在在一一个个商商店店工工作作,商商店店聘聘用用职职工工有有聘聘期期和月薪。和月薪。要求:画出要求:画出E/R图。图。习题课:概念模型的应用例题二83习题课习题课:概念模型的应用概念模型的应用l例题三例题三 设设有有一一个个图图书书管管理理数数据据库库,此此数数据据库库中中对对每每个个借借阅阅者者保保存存记记录录,包包括括:读读者者号号,姓姓名名,性性别别,地地址址,年年龄龄,单单位位。对对每每本本书书存存有有:书书号号,书书名名,出出版版社社。对对每每本本被被借借出出的的书书存存有有借借出出日日期期和和应应还日期。还日期。要求:画出要求:画出E/R图。图。习题课:概念模型的应用例题三84习题课习题课:概念模型的应用概念模型的应用l例题四例题四 设有一家百货商店,已知信息有:设有一家百货商店,已知信息有:(1)每个职工的数据:职工号,姓名,地址和它所在的商品部;)每个职工的数据:职工号,姓名,地址和它所在的商品部;(2)每一个商品部的信息有:编号,店名,经理和它经销的商品;)每一个商品部的信息有:编号,店名,经理和它经销的商品;(3)每每种种经经销销的的商商品品有有:商商品品名名,生生产产厂厂家家,价价格格,型型号号和和内内部部商商品代号;品代号;(4)关关于于每每个个生生产产厂厂家家的的数数据据有有:厂厂名名,地地址址,向向商商店店提提供供的的商商品品价格和数量。价格和数量。请请设设计计百百货货商商店店的的概概念念模模型型。注注意意某某些些信信息息可可用用属属性性表表示示,其其他他信信息可用联系表示息可用联系表示习题课:概念模型的应用例题四85习题课习题课:概念模型的应用概念模型的应用l例题五例题五 学学校校中中有有若若干干个个系系,每每个个系系有有若若干干个个班班级级和和教教研研室室,每每个个教教研研室室有有若若干干教教师师,其其中中一一些些教教授授和和副副教教授授每每人人各各带带若若干干研研究究生生。每每个个班班级级有有若若干干学学生生,每每个个学学生生选选修修若若干干课课程程,每每门门课课程程有有若干学生选修。若干学生选修。要求:用要求:用E/R图画出此学校的概念模型。图画出此学校的概念模型。习题课:概念模型的应用例题五86习题课习题课:概念模型的应用概念模型的应用例题六例题六 假如要为某基层单位建立一个假如要为某基层单位建立一个“基层单位基层单位”数据库。通过调查得出,数据库。通过调查得出,用户要求用户要求数据库中存储下列基本信息。数据库中存储下列基本信息。l 部门:部门号,名称,领导人编号;部门:部门号,名称,领导人编号;l 职工:职工号,姓名,性别,工资,职称,照片,简历;职工:职工号,姓名,性别,工资,职称,照片,简历;l 工程:工程号,工程名,参加人数,预算,负责人;工程:工程号,工程名,参加人数,预算,负责人;l 办公室:地点,编号,电话。办公室:地点,编号,电话。这些信息的关联的语义为:这些信息的关联的语义为:l 每个部门有多个职工,每个职工只能在一个部门工作;每个部门有多个职工,每个职工只能在一个部门工作;l 每个部门只有一个领导人,领导人不能兼职;每个部门只有一个领导人,领导人不能兼职;l 每个部门可以同时承担若干工程项目,数据库中应记录每个职工参加每个部门可以同时承担若干工程项目,数据库中应记录每个职工参加项目的日期;项目的日期;l 一个部门可有多个办公室;一个部门可有多个办公室;l 每个办公室只有一部电话;每个办公室只有一部电话;l 数据库中还应存放每个职工在所参加的工程项目中承担的具体职务。数据库中还应存放每个职工在所参加的工程项目中承担的具体职务。要求:设计基层单位数据库的概念模型要求:设计基层单位数据库的概念模型。习题课:概念模型的应用例题六87习题课习题课:概念模型的应用概念模型的应用领导部门职工n工作111办公办公室n1n工程承担1负责参加nmn1具体职务日期基层单位数据库的概念模型
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 教学培训


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!