数据模型关系数据库系统_第1页
数据模型关系数据库系统_第2页
数据模型关系数据库系统_第3页
数据模型关系数据库系统_第4页
数据模型关系数据库系统_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数据模型关系数据库系统第一页,共四十一页,编辑于2023年,星期三一、数据库系统的特点

数据结构化:在描述数据时,不但要描述数据本身,还要描述数据之间的关系。数据独立性高:数据与程序独立,数据的存取由DBMS负责。

数据由DBMS统一管理和控制:DBMS提供安全控制,完整性检查,并发控制,数据库恢复等。第二页,共四十一页,编辑于2023年,星期三二、数据模型模型的作用:反映现实世界数据特征、DBMS实现的依据。现实世界认识抽象概念模型

数据模型(机器世界)数据模型的要求:可以比较真实地模拟现实;易于被人理解;便于实现。数据模型的组成:数据结构+数据操作+约束常用的数据模型:层次模型,网状模型,关系模型。

面向对象模型是目前发展的方向之一第三页,共四十一页,编辑于2023年,星期三数据库设计过程需求分析概念数据库设计逻辑数据库设计确定存储哪些数据,建立哪些应用,常用的操作及对象有哪些等。对需求分析所得到数据的更高层的抽象描述。将概念模型所描述的数据映射为某个特定的DBMS模式数据。E-R模型ODL第四页,共四十一页,编辑于2023年,星期三1、概念模型的表示1976年,P.P.S.Chen提出E-R模型(Entity-RelationshipModel),用E-R图来描述概念模型。观点:世界是由一组称作实体的基本对象和这些对象之间的联系构成的。第五页,共四十一页,编辑于2023年,星期三实体(Entity):客观存在并可相互区分的事物叫实体。如学生张三、工人李四、计算机系、数据库概论。属性(Attribute):实体所具有的某一特性。一个实体可以由若干个属性来刻画。例如,学生可由学号、姓名、年龄、系、年级等组成。域(Domain):属性的取值范围。例如,性别的域为(男、女),月份的域为1到12的整数。第六页,共四十一页,编辑于2023年,星期三实体型(EntityType):实体名与其属性名集合共同构成实体型。例,学生(学号、姓名、年龄、性别、系、年级)。注意实体型与实体(值)之间的区别,后者是前者的一个特例。如(9808100,王平,21,男,计算机系,2)是一个实体。实体集(EntitySet):同型实体的集合称为实体集。如全体学生。第七页,共四十一页,编辑于2023年,星期三联系(Relationship):实体之间的相互关联。如学生与老师间的授课关系,学生与学生间有班长关系。联系也可以有属性,如学生与课程之间有选课联系,每个选课联系都有一个成绩作为其属性。同类联系的集合称为联系集。元或度(Degree):参与联系的实体集的个数称为联系的元。如学生选修课程是二元联系,供应商向工程供应零件则是三元联系。第八页,共四十一页,编辑于2023年,星期三学生课程选修学号姓名系别课程名先修课主讲老师用矩形表示实体集,在框内写上实体名用椭圆表示实体的属性用无向边把实体与其属性连接起来用菱形表示实体间的联系将参与联系的实体用线段连接例:学生选修课程成绩第九页,共四十一页,编辑于2023年,星期三码(Key):能唯一标识实体的属性或属性组称作超码。其任意真子集都不能成为超码的最小超码称为候选码。从所有候选码中选定一个用来区别同一实体集中的不同实体,称作主码。一个实体集中任意两个实体在主码上的取值不能相同。如学号是学生实体的码。通讯录(姓名,邮编,地址,电话,Email,BP)第十页,共四十一页,编辑于2023年,星期三表示要点:实体集属性中作为主码的一部分的属性用下划线来标明。学生课程选修学号姓名系别课程名先修课主讲老师第十一页,共四十一页,编辑于2023年,星期三E-R模型设计举例职工电话姓名职工电话联系电话姓名号码地址适于一个员工只有一部电话的情况适于多个员工共有一部电话,一个员工多个电话,电话本身具有多个属性的情况。第十二页,共四十一页,编辑于2023年,星期三2、数据模型层次模型用树形结构(Tree)来表示各类实体及实体之间的关系。网状模型用图结构(Graph)来表示各类实体及实体之间的关系。举例:有一购销关系由三个实体组成,客户(张、王、李),付款方式(现金、支票、信用卡),购买商品(c1,c2,c3,c4,c5)第十三页,共四十一页,编辑于2023年,星期三c1c2c1c2c1c3c4c3c5c4c5李张王李王张现金支票信用卡第十四页,共四十一页,编辑于2023年,星期三c1c2c3c4c5李张王现金支票信用卡第十五页,共四十一页,编辑于2023年,星期三姓名C1C2C3C4C5李11220张11033王10202代码付款方式0未购1现金2支票3信用卡第十六页,共四十一页,编辑于2023年,星期三层次模型数据操作:查询、插入、删除和修改。特点:没有父结点时不能插入子结点;删除父结点时则相应删除子结点;修改时要考虑一致性问题。存储结构:邻接法,链接法。网状模型与层次模型基本相似。第十七页,共四十一页,编辑于2023年,星期三三、关系模型关系数据库理论建立在严格的数学理论基础之上。其理论奠基人为IBM的高级研究员E.F.Codd。现在流行的数据库产品大都是关系数据库产品。主要产品有Oracle、DB2、Sybase、Informix、SQLServer等。第十八页,共四十一页,编辑于2023年,星期三关系理论是建立在集合代数理论基础上的,有着坚实的数学基础。E.F.Codd于70年代初提出关系数据理论,他因此获得1981年的ACM图灵奖。早期代表系统SystemR:由IBM研制。INGRES:由加州Berkeley分校研制。第十九页,共四十一页,编辑于2023年,星期三

关系模型的组成:数据结构+关系操作+完整性约束表结构8个运算三类完整性关系代数语言关系演算语言SQL语言实体完整性参照完整性自定义完整性第二十页,共四十一页,编辑于2023年,星期三概念:关系(Relation),元组(Tuple),属性(Attribute),主码(Key同义词:唯一标识符),域(Domain属性的取值范围)关系的数据结构(数学定义):表(笛卡尔乘积的子集)。关系操作:选择Select、投影Project、连接Join、除Divide、并Union、交Intersection、差Difference表示方法:关系代数、关系演算、SQL第二十一页,共四十一页,编辑于2023年,星期三关系笛卡尔积D1×D2×…×Dn的子集叫做在域D1,D2,…,Dn上的关系,用R(D1,D2,…,Dn)表示。R是关系的名字,n是关系的度或目。关系是笛卡尔积中有意义的子集。关系也可以表示为二维表。关系TEACH(T,S,C)TSCt1s1c1t1s1c2t1s2c1t2s3c2元组属性第二十二页,共四十一页,编辑于2023年,星期三关系的性质列是同质的。即每一列中的分量来自同一域,是同一类型的数据。如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)。行列的顺序无关紧要。第二十三页,共四十一页,编辑于2023年,星期三任意两个元组不能完全相同。

●集合内不能有相同的两个元素。每一分量必须是不可再分的数据。

●满足这一条件的关系称作满足第一范式(1NF)的。第二十四页,共四十一页,编辑于2023年,星期三数据结构单一的数据结构——关系实体集、联系都表示成关系。学生课程选修属于系教师讲授工作DEPT(系编号,名称,主任)S(学号,姓名,性别,系编号)C(课程编号,名称,学分)SC(学号,课程编号,成绩)PROF(教师编号,姓名,系编号,职称)TEACH(教师编号,课程编号)第二十五页,共四十一页,编辑于2023年,星期三候选码(CandidateKey)关系中的一个属性组,其值能唯一标识一个元组。若从该属性组中去掉任何一个属性,它就不具有这一性质了,这样的属性组称作候选码。任何一个候选码中的属性称作主属性。如SC中的S#,C#。主码(PrimaryKey)进行数据库设计时,从一个关系的多个候选码中选定一个作为主码。第二十六页,共四十一页,编辑于2023年,星期三外部码(ForeignKey)关系R中的一个属性组,它不是R的码,但它与另一个关系S的码相对应,则称这个属性组为R的外部码。第二十七页,共四十一页,编辑于2023年,星期三编号姓名年龄职称医生记录病员记录编号姓名主治医生姓名外键唯一性约束第二十八页,共四十一页,编辑于2023年,星期三关系操作关系操作是集合操作,操作的对象及结果都是集合,是一次一集合(Set-at-a-time)的方式。而非关系型的数据操作方式是一次一记录(Record-at-a-time)。关系操作可以用关系代数和关系演算两种方式来表示,它们是相互等价的。如用关系代数来表示关系的操作,可以有选择、投影、连接、除、交、差、并等。第二十九页,共四十一页,编辑于2023年,星期三关系模式的完整性实体完整性关系的主码中的属性值不能为空值。参照完整性用户定义的完整性用户针对具体的应用环境定义的完整性约束条件。系统支持实体完整性和参照完整性由系统自动支持。系统应提供定义和检验用户定义的完整性的机制。第三十页,共四十一页,编辑于2023年,星期三抽象的查询语言关系代数:用对关系的运算来表达查询,需要指明所用操作。关系演算:用谓词来表达查询,只需描述所需信息的特性。元组关系演算:谓词变元的基本对象是元组变量。域关系演算:谓词变元的基本对象是域变量。第三十一页,共四十一页,编辑于2023年,星期三具体系统中的实际语言SQL:介于关系代数和关系演算之间,由IBM公司在研制SystemR时提出的。QUEL:基于Codd提出的元组关系演算语言ALPHA,在INGRES上实现。QBE:基于域关系演算,由IBM公司研制。第三十二页,共四十一页,编辑于2023年,星期三关系数据语言的特点一体化一般关系系统的数据语言都同时具有数据定义、数据操纵和数据控制语言,而不是分为几个语言。非过程化用户只需提出“做什么”,无须说明“怎么做”,存取路径的选择和操作过程由系统自动完成。面向集合的存取方式操作对象是一个或多个关系,结果是一个新的关系(一次一关系)。非关系系统是一次一记录的方式。第三十三页,共四十一页,编辑于2023年,星期三四、数据库系统的模式结构模式:数据库中全体数据的逻辑结构和特征的描述。数据库系统的三级模式数据内模式模式外模式第三十四页,共四十一页,编辑于2023年,星期三五、数据库系统组成硬件:网络平台+服务器软件:操作系统+DBMSDBA(数据库管理员)100MSwitch工作站Win98/me/2000/XP数据库服务器Win2000ServerOracle/SQLServer2000第三十五页,共四十一页,编辑于2023年,星期三完全关系系统的12条准则:

DBMS应该遵循Codd提出的十二条法则,才能被分类到完全关系系统。

1)信息法则。关系型DBMS的所有信息都应在逻辑一级上用一种方法即表中的值显式地表示。

2)授权存取法则。每一个数据项必须通过一个“表名+主键+列名”的组合形式访问。例如,如果你能用数组或指针访问一个列,就违反这条规则。第三十六页,共四十一页,编辑于2023年,星期三

3)必须以一致的方式使用空值。如果由于缺少数字值,空值(Nul1)被当作0来处理,或者由于缺少字符值而被当作一个空格处理,那么它就违反了这条规则。空值仅仅是指缺少数据而且没有任何数值。如果缺少的数据需要值,软件提供商通常提供使用缺省值的能力满足这一目的。

4)一个活跃的、在线数据字典应作为关系型表被存储,并且该字典应该可以通过常规的数据存取语言访问。如果数据字典的任何部分贮存在操作系统文件里,就违反了这条规则。第三十七页,共四十一页,编辑于2023年,星期三

5)除了可能的低级存取例程外,数据存取语言必须提供所有的存取方式,并且是存取的仅有方式。如果你能通过一个实用程序而不是一个SQL接口来存取支持一个表的文件,就有可能违反了本规则。参见规则12。

6)所有能被更新的视图应当是可更新的。例如,如果你能将三个表连结起来,作为

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论