《数据库关系模型.ppt》由会员分享,可在线阅读,更多相关《数据库关系模型.ppt(65页珍藏版)》请在优知文库上搜索。
1、数据库系统概论数据库系统概论 1.2.4 最常用的数据模型最常用的数据模型v非关系模型 层次模型层次模型(Hierarchical Model) 网状模型网状模型(Network Model)v关系模型(Relational Model) v面向对象模型(Object Oriented Model)v对象关系模型(Object Relational Model) 1.2 数据模型数据模型 1.2.1 两大类数据模型两大类数据模型 1.2.2 数据模型的组成要素数据模型的组成要素 1.2.3 概念模型概念模型 1.2.4 最常用的数据模型最常用的数据模型 1.2.5 层次模型层次模型 1.2.6
2、 网状模型网状模型 1.2.7 关系模型关系模型关系模型关系模型一、关系数据模型的数据结构一、关系数据模型的数据结构 v 在在用户观点用户观点下,关系模型中数据的逻辑结构是一张二维表,它由行和下,关系模型中数据的逻辑结构是一张二维表,它由行和列组成。列组成。学 号姓 名年 龄性 别系 名年 级2005004王小明19女社会学20052005006黄大鹏20男商品学20052005008张文斌18女法律2005学生登记表学生登记表属性属性元组元组关系数据模型的数据结构(续)关系数据模型的数据结构(续) 关系(关系(Relation)一个关系对应通常说的一张表 元组(元组(Tuple)表中的一行即
3、为一个元组 属性(属性(Attribute) 表中的一列即为一个属性,给每一个属性起一个名称即属性名关系数据模型的数据结构(续)关系数据模型的数据结构(续) 主码(主码(Key)表中的某个属性或属性组,它可以唯一确定一个元组。 域(域(Domain)属性的取值范围。 分量分量元组中的一个属性值。 关系模式关系模式对关系的描述关系名(属性1,属性2,属性n)学生(学号,姓名,年龄,性别,系,年级)关系数据模型的数据结构(续)关系数据模型的数据结构(续)v 关系必须是规范化的,满足一定的规范条件关系必须是规范化的,满足一定的规范条件最基本的规范条件:关系的每一个分量必须是一个不可分的数据项, 不允
4、许表中还有表 图图1.27中工资和扣除是可分的数据项中工资和扣除是可分的数据项 ,不符合关系模型要求不符合关系模型要求 职工号姓名职 称工 资扣 除实 发基 本津 贴职务房 租水 电86051陈 平讲 师13051200501601122283图图1.27 一个工资表一个工资表(表中有表表中有表)实例实例 二、关系数据模型的操纵与完整性约束二、关系数据模型的操纵与完整性约束v 数据操作是集合操作,操作对象和操作结果都是关系数据操作是集合操作,操作对象和操作结果都是关系 查询 插入 删除 更新v 数据操作是集合操作,操作对象和操作结果都是关系,即若干元组的数据操作是集合操作,操作对象和操作结果都
5、是关系,即若干元组的集合集合v 存取路径对用户隐蔽,用户只要指出存取路径对用户隐蔽,用户只要指出“干什么干什么”,不必详细说明,不必详细说明“怎怎么干么干”关系数据模型的操纵与完整性约束(续)关系数据模型的操纵与完整性约束(续)v关系的完整性约束条件 实体完整性 参照完整性 用户定义的完整性关系数据模型的优缺点关系数据模型的优缺点v优点优点 建立在严格的数学概念的基础上建立在严格的数学概念的基础上 概念单一概念单一 实体和各类联系都用关系来表示 对数据的检索结果也是关系 关系模型的存取路径对用户透明关系模型的存取路径对用户透明 具有更高的数据独立性,更好的安全保密性 简化了程序员的工作和数据库
6、开发建立的工作关系数据模型的优缺点(续)关系数据模型的优缺点(续)v缺点缺点 存取路径对用户透明导致查询效率往往不如非 关系数据模型 为提高性能,必须对用户的查询请求进行优化 增加了开发DBMS的难度E-R模型向关系模型的转换 v 一个实体转换为一个关系模式。实体的属性就是关系的属性,实体的标识符就是关系的码。v 对于实体间的联系有以下不同的情况: 1:1联系和1:n联系一般不转换成关系模式。 一个m:n联系转换为一个关系模式。 1:1转换示例转换示例v部门表部门表(部门号,部门名,经理号)v经理表经理表(经理号,经理名,电话)或者:或者:v部门表部门表(部门号,部门名)v经理表经理表(经理号
7、,部门号,经理名,电话)11经理经理部门部门管理管理部门名部门名部门号部门号经理号经理号经理名经理名电话电话1:n转换示例转换示例v部门表部门表(部门号,部门名)v职工表职工表(职工号,部门号,职工名,工资) n1职工职工部门部门工工作作部门名部门名部门号部门号职工号职工号职工名职工名工资工资m:n转换示例转换示例v教师表教师表(教师号,教师名,职称)v课程表课程表(课程号,课程名,学分)v授课表授课表(教师号,课程号,授课时数)nm课程课程教师教师授课授课教师名教师名教师号教师号课程号课程号课程名课程名学分学分职称职称授课时数授课时数例题例题v 一个图书借阅数据库系统要求提供下述服务:可随时
8、查询书库中现有书籍的名称、品种、数量与存放位置,所有各类书籍均可由书号唯一标识;可随时查询书籍借还情况。包括借书人单位、姓名、借书证号、借书日期和还书日期。约定:任何人可借多种书,任何一种书可为多个人所借,借书证号具有唯一性;当需要时,可通过数据库中保存的出版社电报编号、电话、邮编及地址等信息向有关书籍的出版社增购有关书籍。约定:一个出版社可出版多种书籍,同一本书仅为一个出版社出版,出版社名具有唯一性。v 1、根据上述语义画出ER图,要求在图中画出属性并注明联系的类型。v 2、将ER模型转换成关系模型,并指出每个关系模式的主键和外键第一章第一章 绪论绪论1.1 数据库系统概述数据库系统概述1.
9、2 数据模型数据模型1.3 数据库系统结构数据库系统结构1.4 数据库系统的组成数据库系统的组成1.5 小结小结1.3 数据库系统结构数据库系统结构v从数据库管理系统角度看,数据库系统通常采用三级模式结构,是数据库系统内部的系统结构 v从数据库最终用户角度看(数据库系统外部的体系结构) ,数据库系统的结构分为: 单用户结构 主从式结构 分布式结构 客户服务器 浏览器应用服务器数据库服务器多层结构等数据库系统结构数据库系统结构(续)(续)1.3.1 数据库系统模式的概念数据库系统模式的概念 1.3.2 数据库系统的三级模式结构数据库系统的三级模式结构 1.3.3 数据库的二级映像功能与数据独立性
10、数据库的二级映像功能与数据独立性 1.3.1 数据库系统模式的概念数据库系统模式的概念v“型” 和“值” 的概念 型(Type)对某一类数据的结构和属性的说明 值(Value)是型的一个具体赋值例如学生记录型: (学号,姓名,性别,系别,年龄,籍贯)一个记录值: (900201,李明,男,计算机,22,江苏)数据库系统模式的概念(续)数据库系统模式的概念(续)v模式(模式(Schema) 数据库逻辑结构和特征的描述数据库逻辑结构和特征的描述 是型的描述是型的描述 反映的是数据的结构及其联系反映的是数据的结构及其联系 模式是相对稳定的模式是相对稳定的v实例(实例(Instance) 模式的一个具
11、体值模式的一个具体值 反映数据库某一时刻的状态反映数据库某一时刻的状态 同一个模式可以有很多实例同一个模式可以有很多实例 实例随数据库中的数据的更新而变动实例随数据库中的数据的更新而变动数据库系统模式的概念数据库系统模式的概念 (续)(续)例如:在学生选课数据库模式中,包含学生记录、课程记录和学生选课记录 2003年的一个学生数据库实例,包含:2003年学校中所有学生的记录学校开设的所有课程的记录所有学生选课的记录 2002年度学生数据库模式对应的实例与 2003年度学生数据库模式对应的实例是不同的 数据库系统结构数据库系统结构(续)(续)1.3.1 数据库系统模式的概念数据库系统模式的概念
12、1.3.2 数据库系统的三级模式结构数据库系统的三级模式结构 1.3.3 数据库的二级映像功能与数据独立性数据库的二级映像功能与数据独立性 1.3.2 数据库系统的三级模式结构数据库系统的三级模式结构v模式(Schema) v外模式(External Schema)v内模式(Internal Schema) 数据库系统的三级模式结构(续)数据库系统的三级模式结构(续)图1.28 数据库系统的三级模式结构 一、模式(一、模式(Schema)v模式(也称逻辑模式) 数据库中全体数据的逻辑结构和特征的描述数据库中全体数据的逻辑结构和特征的描述 所有用户的公共数据视图,综合了所有用户的需求所有用户的公
13、共数据视图,综合了所有用户的需求v一个数据库只有一个模式v模式的地位:是数据库系统模式结构的中间层 与数据的物理存储细节和硬件环境无关与数据的物理存储细节和硬件环境无关 与具体的应用程序、开发工具及高级程序设计语言无关与具体的应用程序、开发工具及高级程序设计语言无关模式(续)模式(续)v模式的定义 数据的逻辑结构(数据项的名字、类型、取值范围等)数据的逻辑结构(数据项的名字、类型、取值范围等) 数据之间的联系数据之间的联系 数据有关的安全性、完整性要求数据有关的安全性、完整性要求二、外模式(二、外模式(External Schema)v 外模式(也称子模式或用户模式) 数据库用户(包括应用程序
14、员和最终用户)使用的数据库用户(包括应用程序员和最终用户)使用的局部局部数据数据的逻辑结构和特征的描述的逻辑结构和特征的描述 数据库用户的数据视图,是与某一应用有关的数据的逻辑表数据库用户的数据视图,是与某一应用有关的数据的逻辑表示示外模式(续)外模式(续)v 外模式的地位:介于模式与应用之间 模式与外模式的关系:一对多 外模式通常是模式的子集外模式通常是模式的子集 一个数据库可以有多个外模式。反映了不同的用户的应用需求、看待一个数据库可以有多个外模式。反映了不同的用户的应用需求、看待数据的方式、对数据保密的要求数据的方式、对数据保密的要求 对模式中同一数据,在外模式中的结构、类型、长度、保密
15、级别等都对模式中同一数据,在外模式中的结构、类型、长度、保密级别等都可以不同可以不同 外模式与应用的关系:一对多 同一外模式也可以为某一用户的多个应用系统所使用同一外模式也可以为某一用户的多个应用系统所使用 但一个应用程序只能使用一个外模式但一个应用程序只能使用一个外模式外模式(续)外模式(续)v 外模式的用途n保证数据库安全性的一个有力措施保证数据库安全性的一个有力措施n每个用户只能看见和访问所对应的外模式中的数据每个用户只能看见和访问所对应的外模式中的数据三、内模式(三、内模式(Internal Schema)v 内模式(也称存储模式) 是数据物理结构和存储方式的描述是数据物理结构和存储方
16、式的描述 是数据在数据库内部的表示方式是数据在数据库内部的表示方式 记录的存储方式(顺序存储,按照记录的存储方式(顺序存储,按照B树结构存储,树结构存储, 按按hash方法存储)方法存储) 索引的组织方式索引的组织方式 数据是否压缩存储数据是否压缩存储 数据是否加密数据是否加密 数据存储记录结构的规定数据存储记录结构的规定v 一个数据库只有一个内模式内模式(续)内模式(续)v 例如学生记录,如果按堆堆存储,则插入一条新记录总是放在学生记录存储的最后最后,如右图所示内模式(续)内模式(续)v 如果按学号升序存储,则插入一条记录就要找到它应在的位置插入,如图1.29(b)所示v 如果按照学生年龄聚簇存放,假如新插入的S3是16岁,则应插入的位置如图1.29(c)所示 图1.29 记录不同的存储方式示意图数据库系统结构数据库系统结构(续)(续)1.3.1 数据库系统模式的概念数据库系统模式的概念 1.3.2 数据库系统的三级模式结构数据库系统的三级模式结构 1.3.3 数据库的二级映像功能与数据独立性数据库的二级映像功能与数据独立性 1.3.3 数据库的二级映像功能与数据独立性数据库的二级映