已阅读5页,还剩85页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数据库原理与应用教程,国家“十一五”规划教材,本章重点,掌握数据库系统的核心和基础数据模型,包括数据模型的三要素、概念模型,第2章 数据库系统结构,2.1 数据和数据模型 2.2 概念层数据模型 2.3 组织层数据模型 2.4 数据库系统的结构,2.1 数据和数据模型,1.数据 数据是人们从实际当中抽取感兴趣的事物特征或属性。 数据有一定的格式,例如,性别是一个汉字的字符。格式的规定是数据的语法,而数据的含义是数据的语义 数据是信息存在的一种形式,只有通过解释或处理才能成为有用的信息。 通过解释、推论、归纳、分析和综合等方法,从数据所获得的有意义的内容称为信息。,数据的三种范畴,现实,信息,电脑,2. 数据模型,模型是现实世界感兴趣的内容的抽象特征的模拟和抽象。(是理解系统的思维工具) 数据模型是用来抽象、表示和处理现实世界中的数据和信息的。(如:数据库、文件) 数据模型应满足三个条件: 能比较真实地模拟现实世界; 容易被人们理解; 便于在计算机上实现。,数据模型分类,不同的数据模型实际上是提供给我们模型化数据和信息的不同工具。 第一类是概念层模型:从数据的语义视角来抽取模型,此模型是按用户的观点来对数据和信息进行建模。 第二类是组织层模型:从数据的组织层次来描述数据,主要包括层次模型、网状模型、关系模型以及对象-关系模型。此模型是从计算机系统的观点对数据进行建模,主要用于DBMS的实现。,数据模型是数据库系统的核心和基础。 DBMS都基于某种数据模型。 为了把现实世界中的具体事物抽象、组织为某一具体DBMS支持的数据模型,通常首先将现实世界抽象为信息世界(概念层模型),然后再将信息世界转换为机器世界(组织层模型)。 概念层模型与DBMS无关,组织层模型与DBMS有关,现实世界客观事物的抽象过程,数据模型的组成要素,一般地讲,数据模型是严格定义的一组概念的集合。这些概念精确地描述了系统的静态特性、动态特性和完整性约束条件。因此数据模型通常由数据结构、数据操作和完整性约束三部分组成。( 数据模型三要素 ) 1、数据结构 描述数据的静态特征,包括对数据结构和数据间联系的描述。 通常按照数据结构的类型来命名数据模型: 层次结构层次模型 网状结构网状模型 关系结构关系模型,2、数据操作 描述数据的动态特征:一组定义在数据上的操作(包括操作的含义、操作符、运算规则及其语言等) 主要操作:检索与更新(插入、删除、修改) 3、数据的约束条件 完整性规则的集合,数据库中的数据必须满足这组规则。约束条件的主要目的是使数据库与它所描述的现实系统相符合。 设计时:数据模型正确、真实、有效地反映现实 运行时:保证数据库中的数据值真实地体现现实世界的状态,2.2 概念层数据模型,概念层次模型实际上是现实世界到机器世界的一个中间层次。 概念层次模型:抽象现实系统中有应用价值的元素及其关联,反映现实系统中有应用价值的信息结构,不依赖于数据的组织结构。 概念模型用于信息世界的建模,是现实世界到信息世界的第一层抽象。 是数据库设计人员和用户之间进行交流的工具 。 是面向用户、面向现实世界的数据模型,是与DBMS无关 。 常用的概念模型:实体-联系模型(E-R模型),实体-联系模型,实体 属性 联系,实体、实体型、实体集,实体(Entity) 具有公共性质的可相互区分的现实世界对象的集合。 可以是具体的事物,也可以是抽象的概念或联系 具体的事物:学生、课程、职工、正使用的计算机;一场足球赛 抽象的联系:学生选课,一次订货,老师与系的工作关系 (即某位老师在某系工作)等都是实体。 关键之处:一个实体能和别的实体区分开。,实体型(Entity Type) 用实体名及属性名集合来抽象刻画同类实体 例如:学生(学号,姓名,性别,出生年份,系,入学时间)就是一个实体型。 实体集(Entity Set) 同型的实体组成的集合。 例:全体学生就是一个实体集。,实体的表示方式,在E-R图中用矩形框表示实体,把实体名写在框内,比如学生实体可以表示为:,学生,属性,实体所具有的特征或性质。,身高 年龄 性别 体重 ,联系,联系是数据之间的关联集合,是客观存在的应用语义链 。 实体内部的联系:一个实体内属性之间的联系。 职工实体内部的职工号和此职工的部门经理号 实体之间的联系:不同实体之间的联系。 课程实体和学生实体之间存在选课联系。,联系的表示方式,实体之间的联系用菱形框表示,框内写上联系名,并用连线与有关的实体相连。,联系名,实体1,实体2,联系的种类,一对一联系(1:1) : 系系主任 一对多联系(1:n) :班级学生 多对多联系(m:n) :课程学生,一对一联系(实体内部的联系),如果实体A中的每个实例在实体B中至多有一个(也可以没有)实例与之关联,反之亦然,则称实体A与实体B具有一对一联系,记作:1 : 1。,一对一联系(1:1),一对一联系的例子,部门和正经理(假设一个部门只有一个正经理,一个人只当一个部门的经理)、系和正系主任(假设一个系只有一个正主任,一个人只当一个系的主任)都是一对一联系。,管理,经理,部门,1,1,一对多的联系,如果实体A与实体B之间存在联系,并且对于实体A中的一个实例,实体B中有多个实例与之对应;而对实体B中的任意一个实例,在实体A中都只有一个实例与之对应,则称实体A到实体B的联系是一对多的,记为1 : n 。,有部门和职工两个实体,并且有语义:一个部门可以有多名职工,但是一个职工只在一个部门工作。则部门和职工之间的联系是一对多的,我们把这种联系命名为工作。,一对多联系的例子,工作,部门,职工,1,n,多对多的联系,如果实体A与实体B之间存在联系,并且对于实体A中的一个实例,实体B中有多个实例与之对应;而对实体B中的一个实例,在实体A中也有多个实例与之对应,则称实体A到实体B的联系是多对多的,记为m : n 。,多对多联系的例子,有学生和课程两个实体,并且有语义:一个学生可以修多门课程,一门课程可以被多个学生修。那么学生和课程之间的联系就是多对多的,我们把这种联系命名为选课。,学生,课程,选课,m,n,关联多个实体的联系,顾客购买商品: 每个顾客可以从多个售货员那里购买商品,并且可以购买多种商品; 每个售货员可以向多名顾客销售商品,并且可以销售多种商品; 每种商品可由多个售货员销售,并且可以销售给多名顾客。,一个完整实体联系图,2.3 组织层数据模型,2.3.1 关系数据模型的数据结构 2.3.2 关系数据模型的数据操作 2.3.3 关系数据模型的数据完整性约束 2.3.4 关系代数 (补充),上节讨论的概念数据模型是“概念上”的,是抽象的,它与具体的数据库管理系统无关。这节要讨论的数据模型将与具体的DBMS有关,与DBMS支持的数据和联系的表示或存储有关。 前面提到过,数据库中不仅要存放数据本身,还要存放数据间的联系,可用不同的方法表示数据与数据之间的联系。 把表示数据与数据之间联系的方法称为逻辑(数据)模型。,补充: 层次数据模型的数据结构,层次模型 满足下面两个条件的基本层次联系的集合为层次模型 1. 有且只有一个结点没有双亲结点,这个结点称为根结点 2. 根以外的其它结点有且只有一个双亲结点 层次模型中的几个术语 根结点,双亲结点,兄弟结点,叶结点,补充: 网状数据模型的数据结构,网状模型 满足下面两个条件的基本层次联系的集合为网状模型。 1. 允许一个以上的结点无双亲; 2. 一个结点可以有多于一个的双亲。,关系数据模型的数据结构,把数据看成是二维表中的元素,而这个二维表就是关系 用关系(表格数据)表示实体和实体之间联系的模型称为关系数据模型 示例:学生基本信息表,一些基本术语,关系 :关系就是二维表。并满足如下性质: 关系表中的每一列都是不可再分的基本属性; 表中的行、列次序并不重要。 元组:表中的每一行称作是一个元组,它相当于一个记录值。 属性:表中的每一列是一个属性值的集合,列可以命名,称为属性名。,一些基本术语(续),主码:表中用于唯一地确定一个元组的一个属性或最小的属性组。 复合主码: 候选码: 域:属性的取值范围。如性别的域为: (男,女),主码示例,学生基本信息表: (学号,姓名,年龄,性别,所在系) 学生修课信息表: (学号,课程号,成绩),关系模型的数据操作,关系模型的操作对象是集合(也就是关系)。 非关系型数据库系统中典型的操作是一次一行或一次一个记录。 因此,集合处理能力是关系系统区别于其他系统的一个重要特征。 关系数据模型的数据操作主要包括四种:查询、插入、删除和修改数据。,关系模型的数据完整性约束,实体完整性 参照完整性 用户定义的完整性,实体完整性,实体完整性是保证关系中的每个元组都是可识别的和惟一的。 而且表中不允许存在如下的记录: 无主码值的记录 主码值相同的记录,参照完整性,用于描述实体之间的联系。 参照完整性一般是指多个实体(表)之间的关联关系。 一般用外码实现。 外码:取作本表(子表)属性之一的外表(父表,主表)主码。 主码值先在主表中生成,后在子表中引用,外码引用例1,学生,专业,属于,(学号, 姓名, 专业号, ),(专业号,专业名),外码引用例2,学生,课程,修课,(学号,姓名,),(课程号,课程名, ),(学号, 课程号, 成绩, ),参照完整性规则,参照完整性规则就是定义外码与主码之间的引用规则。 对于外码,一般应符合如下要求: 或者值为空; 或者等于其所应用的关系中的某个元组的主码值。 外码可以重复,用户定义的完整性,用户定义完整性也称为域完整性或语义完整性。实际上就是指名关系中域的取值范围。 按应用语义,属性数据有: 类型与长度限制:方便计算机操作 取值范围限制:防止属性值与应用语义矛盾,语义许可取值范围约束例:,成绩取 0 100, 优、良、中、及格、不及格,一、关系代数的运算的分类 1. 传统的集合运算 2. 专门的关系运算,关系代数的运算对象是关系.运算结果亦为关系。 二、关系代数用到的运算符 (1)集合运算符: (并),(差),(交) (2)算术比较符=,关 系 代 数(补充),(3)专门的关系运算符: (选择),(投影), (连接),(除) (广义笛卡尔积) (4)逻辑运算符: , , ,设关系R和关系S具有相同的目n,且相应的属性取自同一个域,则可以定义四种运算如下:,1. 并(Union) 关系R和关系S的并记为: RS t | t R t S. 结果仍为n目关系.由属于R或属于S的元组组成.,传统的集合运算,2. 差(Difference) 关系R和关系S的差记为:R-S=t|t R t S. 结果仍为n目关系.由属于R而不属于S的元组组成.,4. 广义笛卡尔积(Extended cartesian product) 两个分别为n、m目阿关系R和S的广义笛卡尔积RS是一个(n+m)元组的集合.元组的前n个分量是R的一个元组,后m个分量是S的一个元组.若R有k1个元组,S有k2个元组,则RS有k1k2个元组.,3. 交(Intersection) 关系R和关系S的交记为: R S =t | t R t S 结果仍为n目关系.由既属于R有属于S的元组组成. 关系的交可由关系的差表示,即RS=R-(R-S).,【例2-1】有在职职工和离退修职工两个表,若需要所有职工的表,可以利用并运算实现。,表2-3 在职职工表,表2-4 离退修职工表S,R,S,表2-4 新关系S,RS,【例2-2】某商店有本店商品表,接到不合格商品表后,需要将本店中的不合格商品去掉。可以利用差运算实现。,商品表,不合格商品表,新关系 ,新关系,【例2-3】在【例2-2】中,找出本店内不合格的商品,可以用交运算实现。,【例2-4】现有学生表、必修课程表,每个学生必须学习所有必修课程,要求形成选课表。可以利用关系乘运算实现。,学生表,必修课程表,新关系,1. 选择(Selection) 关系R的选择运算是从关系R中选择满足指定条件(用F表示)的元组构成的新关系。换言之,选择运算的结果是一个表的水平方向的子集。 关系R的选择运算记为:F(R)。其中,F是包括属性名的逻辑表达式,运算符有算术比较运算符:,和逻辑运算符:,(非、或、与)。,专门的关系运算,设有学生课程关系数据库,学生关系Student、课程关系Course和学生选课关系SC,分别如下图 (a ), ( b ), ( c )所示,Student,Course,SC,( a ),( b ),( c ),学生-课程数据库,例2-4. 查询信息系(IS系)的全体学生.,解: 在学生关系中找出Sdept为IS的学生. Sdept=IS(Student)或5=IS(Student),例2-5 查询年龄小于20岁的学生.,解: 在学生关系中找出Sage小于20的学生. 即: Sage20(Student)或420(Student),2. 投影(Projection) 关系R上的投影是从R中选择若干属性列组成新的关系.记作: A( R )=tA | t R A为R中的属性列.,例2-6. 求学生(Student)关系在学生姓名和所在系这两个属性上的投影.,解: Sname , Sdept( Student ) 或 2 , 5( Student ) 结果如:,3.连接(join) 关系R与关系S的连接运算是从两个关系的广义笛卡尔积中选取属性间满足一定条件的元组形成一个新关系。记作: 其中:A为包含R中的属性的表达式 B为包含S中属性的表达式 通常为关系比较符。 等值连接(equal join) 为“”的连接运算称为等值连接。关系R和S的等值连接是从R和S的广义笛卡尔积RS中选取A与B等值的那些元组,形成的关系。,自然连接(natural join) 关系R和S的自然连接是一种特殊的等值连接,它要求关系R和S中进行比较的分量必须是相同的属性组的一种连接,并且在结果中把重复的属性列去掉(只保留一个)。 自然连接记为: 一般的连接运算是从行的角度进行的。但自然连接还需要取消重复列,所以自然连接是同时从行和列的角度进行运算。 自然连接是构造新关系的有效方法,是关系代数中常用的一种运算,在关系数据库理论中起着重要作用。利用投影、选择和自然连接运算可以任意地分解和构造关系。 一般地,自然连接使用在R和S有公共属性的情况中。如果两个关系没有公共属性,那么它们的自然连接就转化为广义笛卡尔积。,【例2-7】设图 (a)和(b)分别为关系R和关系S,图2.6(c)为 的结果,图 (d)为等值连接 的结果,图 (e)为自然连接 的结果。,4. 除(Division)(略) 给定关系R(X,Y)与S(Y,Z), 其中X,Y,Z为属性列,R中的Y与S中的Y可以有不同的属性名,但必须出自相同的域集.定义除法: RS= trX | trRr(S) Yx) Yx为x在R中象集,x= trX . 除法结果是R中满足下列条件的元组在X属性列上的投影: 元组在X上分量值x的象集Yx包含S在Y上投影的集合.,例2-8 设关系R,S分别为下图中(a) 和(b), RS的结果如图(c),关于“象集”, 象集的定义 给定一个关系 R(X,Z), X 和 Z 为属性组,定义,当tX = x 时,x 在 R中的象集为: Zx = tZ| tR,tX=x 表示R中的属性组X上值为 x 的诸元组在 Z 分量上的集合。, 举例. 设有关系 R 如下: 设 X = A1,A2 , Z = A3,A4 . 当X的值 x = ( a ,3 ) 时,( a ,3 ) 在 R 中的象集 Zx 为: Zx = ( b ,4 ), ( b ,5 ) ,即,当X的值 x = ( b ,2 )时,( b ,2 )在 R 中的象集 Zx 为: Zx = ( a ,1 ), ( c ,2 ) ,即,在关系R中,A可以取四个值a1,a2,a3,a4 a1的象集为:(b1,c2),(b2,c3),(b2,c1) a2的象集为:(b3,c7),(b2,c3) a3的象集为:(b4,c6) a4的象集为:(b6,c6) S在(B,C)上的投影为(b1,c2), (b2,c1),(b2,c3),例7: 求至少选修1号课程和3号课程的学生的学号. 解: 设一个临时关系K:, Sno,Cno(SC)K=95001,例8: 查询选修了2号课程的学生的学号,Sno(Cno=2 (SC)=95001,95002,例9: 查询至少选修了一门其先行课为5号课程的学生姓名. Sname(Cpno=5 (Course) SC Sno, Sname(Student) ),例10: 查询选修了全部课程的学生的学号和姓名. Sno , Cno(SC) Cno (Course) Sno, Sname(Student),2.4 数据库系统的结构,2.4.1数据库模式概念 2.4. 三级模式结构 2.4. 二级映象功能 2.4. 数据库管理系统,数据库系统模式的概念,从数据库管理系统角度看,数据库系统通常采用三级模式结构;这是数据库管理系统内部的系统结构。 在数据模型中有“型“(Type)和“值“(Value)的概念。型是指对某一类数据的结构和属性的说明,值是型的一个具体赋值。例如:学生记录定义为 (学号,姓名,性别,系别,年龄,籍贯)这样的记录型,而 (900201,李明,男,计算机,22,江苏)则是该记录型的一个记录值。,模式 (Schema)是数据库中全体数据的逻辑结构和特征的描述,它仅仅涉及到型的描述,不涉及到具体的值。 型:是指对某一类数据的结构和属性的说明。 值:是型的一个具体赋值。 关系模式一般表示为: 关系名(属性1,属性2,属性3,. ,属性n) 模式的一个具体值称为模式的一个实例 (Instance)。同一个模式可以有很多实例。,模式是相对稳定的,而实例是相对变动的,因为数据库中的数据是在不断更新的。 模式反映的是数据的结构及其联系,而实例反映的是数据库某一时刻的状态。,(注:不能将模式与模型混为一谈,这两者的定义不同,请注意它们的差别。),三级模式结构,数据库系统的三级模式结构是指数据库系统是由外模式、模式和内模式三级构成,模式(Schema),模式也称为概念模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图 。 是数据库系统结构的中间层,既不涉及数据的物理存储细节和硬件环境,也与具体的应用程序,与所使用的应用开发工具及高级程序设计语言 (如C,COBOL,FORTRAN)无关。 。 DBMS提供模式描述语言(模式DDL)来严格地定义模式 。例,对关系数据库,定义:表头结构、属性取值范围、。,外模式(ExtemalSchema),也称为用户模式、子模式。 用户对现实系统中感兴趣整体的局部数据结构的描述。是数据库用户的数据视图 外模式通常是模式的子集。一个数据库可以有多个外模式 。 DBMS提供子模式描述语言(子模式DDL)来严格地定义子模式。 是保证数据库安全的一个措施。,举例: 民航售票系统包括处理航班程序和处理旅客程序。 程序的使用人员不必知道关于人事档案、丢失的行李、飞行员的航行分配等信息; 调度员可能需要知道关于航班、飞机和人事档案等信息(如那些飞行员有资格驾驶747),但不必知道雇员的工资、旅客等信息。 所以可以为订票部门建立一个数据库视图,为调度部门建立另一个完全不同的视图。,内
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年二级建造师考试试题一(原创题)附答案详解
- 2025年二级建造师考试试题一【必考】附答案详解
- 2025年安全员B证考试考试题库【必刷】附答案详解
- 小学三年级消防安全课件
- 电力公司消防安全课件
- 建设工程监理案例分析及答案解析
- 执业药师《中药综合》试题及答案(卷一)
- 执业药师继续教育考试题及答案
- 投行业务试题及答案
- 护士长考试试题及答案
- 中国马克思主义与当代2024版教材课后思考题答案
- 2025河南郑州巩义市金桥融资担保有限公司招聘3人考试笔试备考题库及答案解析
- 光伏储能可行性研究报告
- 教师与家长沟通技巧培训:做一名会说话的教师
- 儿童故事狼和小羊
- 2025年安徽省合肥市高一数学上册期中考试试卷及答案
- 六年级上语文期中考试检测试卷及参考答案
- 期货基础知识(期货入门)
- 房产公司施工图设计标准
- GB/T 615-2006化学试剂沸程测定通用方法
- 土的孔隙率试验检测报告
评论
0/150
提交评论