收藏 分享(赏)

数据模型关系数据库系统.ppt

上传人:fmgc7290 文档编号:5164410 上传时间:2019-02-11 格式:PPT 页数:41 大小:194.50KB
下载 相关 举报
数据模型关系数据库系统.ppt_第1页
第1页 / 共41页
数据模型关系数据库系统.ppt_第2页
第2页 / 共41页
数据模型关系数据库系统.ppt_第3页
第3页 / 共41页
数据模型关系数据库系统.ppt_第4页
第4页 / 共41页
数据模型关系数据库系统.ppt_第5页
第5页 / 共41页
点击查看更多>>
资源描述

1、第 3 讲 数据模型,关系数据库系统,数据,DBMS,应用,请求,回答,数据库技术,一、数据库系统的特点数据结构化:在描述数据时,不但要描述数据本身,还要描述数据之间的关系。数据独立性高:数据与程序独立,数据的存取由DBMS负责。数据由DBMS统一管理和控制:DBMS提供安全控制,完整性检查,并发控制,数据库恢复等。,二、数据模型模型的作用: 反映现实世界数据特征、DBMS实现的依据。现实世界 认识抽象 概念模型 数据模型(机器世界)数据模型的要求:可以比较真实地模拟现实;易于被人理解;便于实现。数据模型的组成:数据结构+数据操作+约束常用的数据模型:层次模型,网状模型,关系模型。面向对象模型

2、是目前发展的方向之一,数据库设计过程,需求分析,概念数据库设计,逻辑数据库设计,确定存储哪些数据,建立哪些应用,常用的操作及对象有哪些等。,对需求分析所得到数据的更高层的抽象描述。,将概念模型所描述的数据映射为某个特定的DBMS模式数据。,E-R模型 ODL,1、概念模型的表示,1976年,P.P.S.Chen提出-模型(Entity-Relationship Model),用-图来描述概念模型。 观点:世界是由一组称作实体的基本对象和这些对象之间的联系构成的。,实体(Entity): 客观存在并可相互区分的事物叫实体。 如学生张三、工人李四、计算机系、数据库概论。 属性(Attribute)

3、: 实体所具有的某一特性。一个实体可以由若干个属性来刻画。 例如,学生可由学号、姓名、年龄、系、年级等组成。 域(Domain): 属性的取值范围。 例如,性别的域为(男、女),月份的域为到的整数。,实体型(Entity Type): 实体名与其属性名集合共同构成实体型。 例,学生(学号、姓名、年龄、性别、系、年级)。 注意实体型与实体(值)之间的区别,后者是前者的一个特例。 如(9808100,王平,21,男,计算机系,2)是一个实体。 实体集(Entity Set): 同型实体的集合称为实体集。 如全体学生。,联系(Relationship): 实体之间的相互关联。 如学生与老师间的授课关

4、系,学生与学生间有班长关系。 联系也可以有属性,如学生与课程之间有选课联系,每个选课联系都有一个成绩作为其属性。 同类联系的集合称为联系集。 元或度(Degree): 参与联系的实体集的个数称为联系的元。 如学生选修课程是二元联系,供应商向工程供应零件则是三元联系。,学生,课程,选修,学号,姓名,系别,课程名,先修课,主讲老师,用矩形表示实体集,在框内写上实体名,用椭圆表示实体的属性,用无向边把实体与其属性连接起来,用菱形表示实体间的联系,将参与联系的实体用线段连接,例:学生选修课程,成绩,码(Key): 能唯一标识实体的属性或属性组称作超码。 其任意真子集都不能成为超码的最小超码称为候选码。

5、 从所有候选码中选定一个用来区别同一实体集中的不同实体,称作主码。 一个实体集中任意两个实体在主码上的取值不能相同。 如学号是学生实体的码。 通讯录(姓名,邮编,地址,电话,Email,BP),表示要点: 实体集属性中作为主码的一部分的属性用下划线来标明。,学生,课程,选修,学号,姓名,系别,课程名,先修课,主讲老师,E-R模型设计举例,职工,电话,姓名,职工,电话,联系 电话,姓名,号码,地址,适于一个员工只有一部电话的情况,适于多个员工共有一部电话,一个员工多个电话,电话本身具有多个属性的情况。,2、数据模型层次模型用树形结构(Tree)来表示各类实体及实体之间的关系。网状模型用图结构(G

6、raph)来表示各类实体及实体之间的关系。举例:有一购销关系由三个实体组成,客户(张、王、李),付款方式(现金、支票、信用卡),购买商品(c1,c2,c3,c4,c5),c1 c2 c1 c2 c1 c3 c4 c3 c5 c4 c5,李,张,王,李,王,张,现金,支票,信用卡,c1 c2 c3 c4 c5,李 张 王,现金 支票 信用卡,层次模型数据操作:查询、插入、删除和修改。 特点:没有父结点时不能插入子结点;删除父结点时则相应删除子结点;修改时要考虑一致性问题。 存储结构:邻接法,链接法。网状模型与层次模型基本相似。,三、关系模型关系数据库理论建立在严格的数学理论基础之上。其理论奠基人

7、为IBM的高级研究员E.F.Codd。现在流行的数据库产品大都是关系数据库产品。主要产品有Oracle、DB2、Sybase、Informix、SQL Server等。,关系理论是建立在集合代数理论基础上的,有着坚实的数学基础。 E.F.Codd于70年代初提出关系数据理论,他因此获得1981年的ACM图灵奖。 早期代表系统 System:由IBM研制。 INGRES:由加州Berkeley分校研制。,关系模型的组成:数据结构+关系操作+完整性约束,表结构 8个运算 三类完整性,关系代数语言 关系演算语言 SQL语言,实体完整性 参照完整性 自定义完整性,概念:关系(Relation),元组(

8、Tuple),属性(Attribute),主码(Key 同义词:唯一标识符),域(Domain 属性的取值范围)关系的数据结构(数学定义):表(笛卡尔乘积的子集)。关系操作:选择Select、投影Project、连接Join、除Divide、并Union、交Intersection、差Difference表示方法:关系代数、关系演算、SQL,关系 笛卡尔积D1D2Dn的子集叫做在域D1 , D2 , Dn上的关系,用R(D1 , D2 , Dn )表示。 R是关系的名字,n是关系的度或目。 关系是笛卡尔积中有意义的子集。 关系也可以表示为二维表。 关系TEACH(T, S, C),元组,属性,

9、关系的性质 列是同质的。 即每一列中的分量来自同一域,是同一类型的数据。 如TEACH(T, S, C)=(t1 , s1 , c1), (t1 , t2 , c1)是错误的。 不同的列可来自同一域,每列必须有不同的属性名。 如P=t1,t2 , s1,s2 ,s3,C= c1,c2,则TEACH不能写成TEACH (P, P, C),还应写成TEACH(T, S, C)。 行列的顺序无关紧要。,任意两个元组不能完全相同。 集合内不能有相同的两个元素。 每一分量必须是不可再分的数据。 满足这一条件的关系称作满足第一范式(1NF)的。,数据结构 单一的数据结构关系实体集、联系都表示成关系。,学生

10、,课程,选修,属于,系,教师,讲授,工作,DEPT(系编号 , 名称 , 主任) S(学号, 姓名, 性别, 系编号 ) C(课程编号 , 名称 , 学分) SC(学号 ,课程编号 , 成绩) PROF(教师编号 , 姓名,系编号 , 职称) TEACH(教师编号, 课程编号 ),候选码(Candidate Key) 关系中的一个属性组,其值能唯一标识一个元组。若从该属性组中去掉任何一个属性,它就不具有这一性质了,这样的属性组称作候选码。 任何一个候选码中的属性称作主属性。如SC中的S#,C#。 主码(Primary Key) 进行数据库设计时,从一个关系的多个候选码中选定一个作为主码。,外部

11、码(Foreign Key) 关系R中的一个属性组,它不是R的码,但它与另一个关系S的码相对应,则称这个属性组为R的外部码。,编号 姓名 年龄 职称,医生记录,病员记录,编号 姓名 主治医生姓名,外键,唯一性约束,关系操作 关系操作是集合操作,操作的对象及结果都是集合,是一次一集合(Set-at-a-time)的方式。而非关系型的数据操作方式是一次一记录(Record-at-a-time)。 关系操作可以用关系代数和关系演算两种方式来表示,它们是相互等价的。如用关系代数来表示关系的操作,可以有选择、投影、连接、除、交、差、并等。,关系模式的完整性 实体完整性 关系的主码中的属性值不能为空值。

12、参照完整性 用户定义的完整性 用户针对具体的应用环境定义的完整性约束条件。 系统支持 实体完整性和参照完整性由系统自动支持。 系统应提供定义和检验用户定义的完整性的机制。,抽象的查询语言 关系代数:用对关系的运算来表达查询,需要指明所用操作。 关系演算:用谓词来表达查询,只需描述所需信息的特性。 元组关系演算:谓词变元的基本对象是元组变量。 域关系演算:谓词变元的基本对象是域变量。,具体系统中的实际语言 SQL:介于关系代数和关系演算之间,由IBM公司在研制System R时提出的。 QUEL:基于Codd提出的元组关系演算语言ALPHA,在INGRES上实现。 QBE:基于域关系演算,由IB

13、M公司研制。,关系数据语言的特点 一体化一般关系系统的数据语言都同时具有数据定义、数据操纵和数据控制语言,而不是分为几个语言。 非过程化用户只需提出“做什么”,无须说明“怎么做”,存取路径的选择和操作过程由系统自动完成。 面向集合的存取方式操作对象是一个或多个关系,结果是一个新的关系(一次一关系)。非关系系统是一次一记录的方式。,四、数据库系统的模式结构 模式:数据库中全体数据的逻辑结构和特征的描述。 数据库系统的三级模式,数据,内模式,模式,外模式,五、数据库系统组成硬件:网络平台+服务器软件:操作系统+DBMSDBA(数据库管理员),100M Switch,工作站 Win 98/me/20

14、00/XP,数据库服务器 Win 2000 Server Oracle/SQL Server 2000,完全关系系统的12条准则:DBMS应该遵循Codd提出的十二条法则,才能被分类到完全关系系统。1) 信息法则。关系型DBMS的所有信息都应在逻辑一级上用一种方法即表中的值显式地表示。2) 授权存取法则。每一个数据项必须通过一个 “表名+主键+列名” 的组合形式访问。例如,如果你能用数组或指针访问一个列,就违反这条规则。,3) 必须以一致的方式使用空值。如果由于缺少数字值,空值 (Nul1)被当作0来处理,或者由于缺少字符值而被当作一个空格处理,那么它就违反了这条规则。空值仅仅是指缺少数据而且

15、没有任何数值。如果缺少的数据需要值,软件提供商通常提供使用缺省值的能力满足这一目的。4) 一个活跃的、在线数据字典应作为关系型表被存储,并且该字典应该可以通过常规的数据存取语言访问。如果数据字典的任何部分贮存在操作系统文件里,就违反了这条规则。,5) 除了可能的低级存取例程外,数据存取语言必须提供所有的存取方式,并且是存取的仅有方式。如果你能通过一个实用程序而不是一个SQL接口来存取支持一个表的文件,就有可能违反了本规则。参见规则12。6) 所有能被更新的视图应当是可更新的。例如,如果你能将三个表连结起来,作为一个视图的基础,但却不能更新这个视图,则违反本规则。,7) 必须有集合级的插入、更新

16、和删除。目前,大多数RDBMS提供商都在某种程度上提供了这种能力。8) 物理数据的独立性。应用不能依赖于物理结构,如果一个支持某表的文件从一张盘移动到其他盘上或重新命名,不应该对应用产生影响。9) 逻辑数据的独立性。应用不应依赖于逻辑结构。如果一个表必须被分成两个部分,那么应该提供一个视图,以把两段连接在一起,以便不会对应用产生影响。,10) 完整性的独立性。完整性规则应该贮存在数据字典中。主键约束、外键约束、检查约束、触发器等等都应该贮存在数据字典中。11) 分布独立性。一个数据库即使被分布,也应该能继续工作。这是规则8的一个扩展,一个数据库不仅能在一个系统 (本地地)分布,也能在通过系统的网络 (远程地)分布。,12) 非破坏性法则。如果允许低级存取,一定不能绕过安全性或完整性规则,这些规则是常规的数据存取语言所遵守的,例如,一个备份或载入工具不能绕过验证、约束和锁来备份或载入数据。然而,软件供应商出于速度的原因,通常提供这些功能。那么,数据库系统管理员就有责任确保数据的安全性和完整性,如果瞬间出现问题,应该立即恢复。,

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

当前位置:首页 > 网络科技 > 数据库

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报