结构数据模型课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《结构数据模型课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 结构 数据模型 课件
- 资源描述:
-
1、本章学习要求:本章学习要求:1.1.层次数据模型、网状数据模型层次数据模型、网状数据模型 了解层次及了解层次及网状网状数据模型的基本概念和结构。数据模型的基本概念和结构。2.2.关系数据模型关系数据模型 掌握关系数据模型的基本概念以及关系代数操作。掌握关系数据模型的基本概念以及关系代数操作。了解层次、网状和关系模型之间的差别。了解层次、网状和关系模型之间的差别。3.3.对传统模型的评价对传统模型的评价 了解传统模型的不足之处。了解传统模型的不足之处。4 4E-RE-R数据模型数据模型 掌握掌握E-RE-R模型的概念和表示。模型的概念和表示。5.5.面向对象数据模型面向对象数据模型 了解面向对象
2、数据模型的基本概念。了解面向对象数据模型的基本概念。数据模型可分为两类数据模型可分为两类:1.1.独立于计算机系统的数据模型独立于计算机系统的数据模型,它完全不涉及信息它完全不涉及信息在计算机系统中的表示在计算机系统中的表示,只是用来描述某个特定组只是用来描述某个特定组织所关心的信息结构织所关心的信息结构,这类模型称为这类模型称为“概念数据模概念数据模型型”。概念模型用于建立信息世界的数据模型概念模型用于建立信息世界的数据模型,强调强调其语义表达能力其语义表达能力,概念应该简单概念应该简单,清晰清晰,易于用户理易于用户理解解,它是现实世界的第一层抽象它是现实世界的第一层抽象,是用户和数据库人是
3、用户和数据库人员之间进行交流的工具。最著名的是员之间进行交流的工具。最著名的是“实体联系模实体联系模型型”。2.2.直接面向数据库的逻辑结构的数据模型直接面向数据库的逻辑结构的数据模型,它是它是现实世界的第二层抽象。这类模型涉及到计算机现实世界的第二层抽象。这类模型涉及到计算机系统和数据库管理系统系统和数据库管理系统,又称为又称为“基本数据模型基本数据模型”或或“结构数据模型结构数据模型”。例如例如,层次、网状、关系、面向对象数据模层次、网状、关系、面向对象数据模型型”.这类模型有严格的形式化定义这类模型有严格的形式化定义,以便在计算以便在计算机系统中实现。机系统中实现。用树型(层次)结构表示
4、实体类型及用树型(层次)结构表示实体类型及实体间联系的数据模型称为实体间联系的数据模型称为层次数据模层次数据模型型(hierarchical data model)(hierarchical data model)。n基本概念和结构记录和字段记录和字段双亲子女关系双亲子女关系层次数据模式层次数据模式虚拟记录虚拟记录层次数据的线性表示层次数据的线性表示记录和字段记录和字段 记录是用来描述某个事物或事物间关系的命名的记录是用来描述某个事物或事物间关系的命名的数据单位,也是存储的数据单位。一个记录包含若干数据单位,也是存储的数据单位。一个记录包含若干字段。字段。每个字段也是命名的,字段只能是简单数据
5、类型每个字段也是命名的,字段只能是简单数据类型(整数、实数、字符串等)。(整数、实数、字符串等)。系系系名系名系号系号 系主任名系主任名 地点地点记录的型记录的型计算机系计算机系9 9李西远李西远 科技馆科技馆记录的一个实例记录的一个实例双亲子女关系(双亲子女关系(Parent-Child RelationshipParent-Child Relationship,PCRPCR)反映两个记录型之间的一对多(反映两个记录型之间的一对多(1 1:N N)关系)关系系系班班计算机系计算机系901901班班911911班班921921班班931931班班1 1N NPCRPCR型型PCRPCR实例实例
6、层次数据模式层次数据模式 层次数据模式由层次数据模式由PCRPCR构成构成层次数据模式层次数据模式系系班班学生学生教研组教研组教师教师计算机系计算机系901901班班911911班班921921班班931931班班硬件教研组硬件教研组软件教研组软件教研组王一王一张三张三 李四李四 赵立赵立 钱英钱英 孙玉孙玉 周新周新 吴坚吴坚郑山郑山洪流洪流陈芝陈芝丁伟丁伟层次数据模式实例层次数据模式实例 在层次数据模式中,除根以外,所有的记在层次数据模式中,除根以外,所有的记录型都应该有唯一的双亲,但可以有多个子女,录型都应该有唯一的双亲,但可以有多个子女,子女按从左到右的次序排序。子女按从左到右的次序排
7、序。虚拟记录虚拟记录 非层次关系表示问题非层次关系表示问题(1 1)M M:N N 王一王一张三张三李四李四人工智能人工智能数据库数据库学生:学生:课程:课程:不允许一个记录有多个双亲,需要复制记录,不允许一个记录有多个双亲,需要复制记录,导致冗余。如下图:导致冗余。如下图:型型实例实例学生学生课程课程王一王一人工智能人工智能张三张三人工智能人工智能数据库数据库李四李四人工智能人工智能 数据库数据库(2 2)一个记录是两个以上)一个记录是两个以上PCRPCR的子女的子女学生学生班班运动队运动队只能表示成下图,存在冗余。只能表示成下图,存在冗余。学生学生班班学生学生运动队运动队(3 3)多元关系
8、)多元关系供应商供应商零件零件工程项目工程项目供应关系供应关系可以用可以用PCRPCR表示为:表示为:供应商零件工程项目零件供应商工程项目供应商工程项目零件 注意:书上图注意:书上图2-122-12不能表示三元关系,因为供不能表示三元关系,因为供应关系与供应商,供应关系与工程项目这两个应关系与供应商,供应关系与工程项目这两个PCRPCR的一个双亲实例,其子女集合是并关系,而不是的一个双亲实例,其子女集合是并关系,而不是迪卡尔积关系。迪卡尔积关系。供应商供应商零件零件工程项目工程项目供应关系供应关系n主要问题:数据冗余,为避免这一情况,只存主要问题:数据冗余,为避免这一情况,只存一份记录,其它引
9、用该记录的地方用指针代替一份记录,其它引用该记录的地方用指针代替 这种用指针代替的记录称为这种用指针代替的记录称为虚拟记录虚拟记录。n用下标用下标v v表示,指针用虚线箭头表示。表示,指针用虚线箭头表示。(学生)(学生)v v课程课程学生学生(课程)(课程)v v学生学生(学生)(学生)v v班班运动队运动队层次数据的线性表示层次数据的线性表示 由于存储器是线性的,层次数据必须变换成线由于存储器是线性的,层次数据必须变换成线性形式才能存储,层次数据模式的实例对应一棵层性形式才能存储,层次数据模式的实例对应一棵层次树(或森林),对层次树(或森林)按先序遍历次树(或森林),对层次树(或森林)按先序
10、遍历生成的序列称为层次序列(生成的序列称为层次序列(hierarchical hierarchical sequencesequence),规定以此作为存储次序。),规定以此作为存储次序。计计算算机机系系901901班班王王一一张张三三911911班班931931班班吴吴坚坚硬硬件件教教研研组组郑郑山山洪洪流流软软件件教教研研组组丁丁伟伟n层次数据模型的约束层次数据模型的约束(1 1)除了根记录外,任何其它记录不能离开其)除了根记录外,任何其它记录不能离开其双亲记录而孤立存在;双亲记录而孤立存在;(2 2)任何记录,不管虚实,只允许有一个双亲)任何记录,不管虚实,只允许有一个双亲记录(保证层次
11、数据模式及其实例是树形);记录(保证层次数据模式及其实例是树形);(3 3)虚拟记录的指针必须指向一个实际存在的)虚拟记录的指针必须指向一个实际存在的记录,有虚拟记录指向的记录不得删除;记录,有虚拟记录指向的记录不得删除;(4 4)虚拟记录不得为根记录。)虚拟记录不得为根记录。特点特点:层次结构是树结构,树的结点是记录层次结构是树结构,树的结点是记录类型,非根结点有且只有一个父结点。上一层记类型,非根结点有且只有一个父结点。上一层记录类型和下一层记录类型是录类型和下一层记录类型是1:N联系联系。(因此不能因此不能表示表示M:N)层次模型的优点:层次模型的优点:记录之间的联系通过指针来实现,查询
12、效率记录之间的联系通过指针来实现,查询效率较高(针对层次结构)。较高(针对层次结构)。层次模型的缺点:层次模型的缺点:1 1、只能表示、只能表示1 1:N N联系,虽然可以采用虚拟记录联系,虽然可以采用虚拟记录描述非层次数据关系,但较复杂,用户不易掌握,描述非层次数据关系,但较复杂,用户不易掌握,并且非层次结构的查询效率比较低;并且非层次结构的查询效率比较低;2 2、由于层次顺序的严格和复杂,引起数据的查询、由于层次顺序的严格和复杂,引起数据的查询和更新很复杂,因此应用程序的编写也比较复杂;和更新很复杂,因此应用程序的编写也比较复杂;3 3、模式描述语言较复杂,数据独立性差。、模式描述语言较复
13、杂,数据独立性差。用有向图(网络结构)表示实体及实体之间用有向图(网络结构)表示实体及实体之间联系的数据模型称为联系的数据模型称为网状数据模型(网状数据模型(network network data modeldata model)。)。有向图中的结点是记录类型,有向图中的结点是记录类型,箭头表示从箭尾的记录类型到箭头的记录类型箭头表示从箭尾的记录类型到箭头的记录类型间联系。间联系。基本概念和结构基本概念和结构 记录和数据项记录和数据项 数据项相当于字段,记录是数据项的有序结合。数据项相当于字段,记录是数据项的有序结合。系系 系表示两个记录型间的系表示两个记录型间的1:N1:N关系;对应关系;
14、对应“1”1”的的为首记录,对应为首记录,对应“N”N”的为属记录。系是命名的,的为属记录。系是命名的,有型值之分,例如:图有型值之分,例如:图2-172-17就是系的型和值。就是系的型和值。班级班级学生学生一班一班王一王一李红李红丁杰丁杰型型值值图图2-17 2-17 班级班级学生系学生系具有多种类型属记录的系称为具有多种类型属记录的系称为“多属系多属系”(multimember setmultimember set)多属系多属系系值:系值:3 3个成员的并,而非个成员的并,而非“X”X”账户账户存款帐存款帐提款帐提款帐转账转账网状模型的特点:网状模型的特点:与层次模型不同,网状模型中,一个
15、记录型可与层次模型不同,网状模型中,一个记录型可以成为多个首记录型的属记录以成为多个首记录型的属记录突破层次的限制;突破层次的限制;一个记录型不能既作为一个系的首记录又作为一个记录型不能既作为一个系的首记录又作为同一个系的属记录。同一个系的属记录。EMPEMP领导领导引入联系记录引入联系记录 EMPEMPLINKLINK1:11:11:N1:N1:11:1表示一人担任一个领导岗位,系值见下一页图。表示一人担任一个领导岗位,系值见下一页图。E E4 4L L1 1S S1 1E E7 7L L2 2S S1 1E E9 9L L3 3S S1 1E E3 3E E5 5E E1 1E E6 6S
16、 S2 2S S2 2S S2 2一个记录值不能出现在同一系型的多个系值中,否一个记录值不能出现在同一系型的多个系值中,否则不是则不是1:N1:N关系关系 例如,学生例如,学生(S)(S)和课程和课程(C)(C)关系关系S S1 1C C1 1C C2 2C C3 3C C4 4S S1 1C C5 5C C6 6解决解决M:NM:N问题的方法问题的方法联系记录联系记录S SLINKLINK1 1C CSLSLM M1 1CLCLN N型型S S1 1L L1 1SLSLL L2 2L L3 3L L4 4L L5 5L L6 6L L7 7S S2 2SLSLC C1 1C C2 2C C3
17、 3C C4 4C C5 5C C6 6CLCLCLCLCLCLCLCLCLCLCLCL值值 LINK LINK表示多元关系表示多元关系零件零件LINKLINK1 1工程项目工程项目M M1 1N N供应商供应商1 1P Pn无首系,首记录可以看成无首系,首记录可以看成“系统系统”,例如一个,例如一个单位的所有部门组成一个无首系。单位的所有部门组成一个无首系。n无首系只有一个实例,也称单值系。无首系只有一个实例,也称单值系。n系的实现方法系的实现方法O OS S1 1S S2 2S S3 3前向指针前向指针后向指针后向指针首记录指针首记录指针系的链式实现方式系的链式实现方式n约束约束(1 1)
18、一个记录型不能兼任同一系的首记录和属记录;)一个记录型不能兼任同一系的首记录和属记录;(2 2)一个记录不能出现在同一系型的多个系值中;)一个记录不能出现在同一系型的多个系值中;(3 3)插入一个新记录时,若它的记录型是某个系的属记)插入一个新记录时,若它的记录型是某个系的属记录,必须考虑系籍问题(两种系籍约束):录,必须考虑系籍问题(两种系籍约束):AUTOMATIC(AUTOMATIC(自动的自动的):新的属记录插入时自动加入相应的系新的属记录插入时自动加入相应的系值;值;MANUAL(MANUAL(人工的人工的):新的属记录插入时不自动加入相应的系值;:新的属记录插入时不自动加入相应的系
19、值;(4 4)对已插入的属记录的系籍问题;)对已插入的属记录的系籍问题;网状数据模型提供三种留置系籍约束:网状数据模型提供三种留置系籍约束:OPTIMAL(OPTIMAL(随意的随意的):对属记录的系籍处理比较随意,属记录可:对属记录的系籍处理比较随意,属记录可以脱离某个系值独立存在,例如,以脱离某个系值独立存在,例如,“系系学生学生”系;系;MANDATORY(MANDATORY(强制的强制的):属记录不能游离于系值之外,但可以转:属记录不能游离于系值之外,但可以转系值。例如,系值。例如,“部门部门职工职工”系;系;FIXED(FIXED(固定的固定的):不能游离,不能转系值,例如,:不能游
20、离,不能转系值,例如,“职工职工家属家属”系。系。上述系籍约束都是语义约束。上述系籍约束都是语义约束。(5 5)删除记录时,删除首记录,没有系籍问题;删除属)删除记录时,删除首记录,没有系籍问题;删除属记录要按照(记录要按照(4 4)进行处理。)进行处理。OPTIMALOPTIMAL 首记录可以删除,其属记录与系值脱离,仍保留首记录可以删除,其属记录与系值脱离,仍保留在数据库中;在数据库中;MANDATORYMANDATORY 首记录不能删除,因为其属记录不能游离于系值首记录不能删除,因为其属记录不能游离于系值之外;之外;FIXEDFIXED 可将首记录连同属记录一起删除。可将首记录连同属记录
展开阅读全文