资源描述
,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,第六章:非关系数据模型简介,常用数据模型,层次数据模型,网状数据模型,关系数据模型,面向对象的数据模型,现实世界,信息世界,机器 世界,概念模型,数据模型,非关系数据模型,层次数据模型,在现实世界中,有很多事物是按层次组织起来的,层次数据模型的提出,首先是为了模拟这种案层次组织起来的事物,层次数据模型用树形结构来表示各类实体以及实体之间的联系,层次数据库采用层次数据模型作为数据的组织方式,基本概念,记录、记录型和字段(一定是简单数据类型),层次数据模型,双亲子女关系(,p,arent-,c,hild,r,elationship):,简称,PCR,代表两个记录型之间的一对多关系,系名 系号 系主任名 地点,系,记录型,计算机系 9 李 红 科技馆,记录,字段,系,班,1,n,PCR型,计算机系,901班,911班,931班,921班,一个实例,层次数据模型,层次数据模式:利用,PCR,可以构成层次数据模式,系,班,层次数据模式,教研组,学生,教师,例:某大学设有若干系,每个系由不同的教研组构成,每个教研组有多名教师;每个系设有多个班级,每个班级有若干学生,层次数据模式是一棵树,除根外,所有的记录型都应有唯一的双亲,但可以有多个子女,层次数据模式可以有多个实例,这些实例组成森林,层次数据模型,虚拟记录:表示非层次的事物,多对多关系,:,计算机系,901班,911班,931班,921班,软件教研组,软件教研组,王,张,李,赵,钱,孙,周,吴,郑,洪,陈,丁,.,.,.,.,.,.,层次数据模式的一个实例,层次数据模型,学生,课程,m,n,ER图,选修,学生,课程,PCR型,王一,人工智能,张三,课程,学生,或,PCR型,李四,人工智能,数据库,人工智能,数据库,实例,问题:大量冗余,层次数据模型,班,学生,PCR型,学生,和,PCR型,班,学生,运动队,运动队,901班,王,张,.,李,921班,钱,孙,.,田径队,钱,孙,李,问题:大量冗余,一个记录型是两个以上,PCR,子女,:,层次数据模型,供应,PCR型,零件,多元关系,:,供应商,项目,供应,m,p,零件,n,供应商,项目,问题:大量冗余,层次数据模型,用虚拟记录解决上述问题,:,学生,(课程),v,课程,(学生),v,班,学生,运动队,(学生),v,供应,零件,(供应商),v,(项目),v,供应商,项目,层次数据模型,层次数据模型的线性表示:,存储器是线性的,层次数据必须变换成线性才能存储,层次序列,(先序遍历),层次路径,例子,:层次序列表示为,层次数据模型,约束:,层次数据模型因,DBMS,而异,有些语义上的约束有应用程序来检查,与层次数据模型直接有关的约束有:,除了根记录以外,任何其他记录不能离开双亲记录而孤立存在(插入和删除),任何记录只允许有一个双亲记录,虚拟记录的指针必须指向一个实际存在的记录(删除),虚拟记录不得为根,层次数据模型,操作:以查找为例来说明层次数据模型的操作,Get Unique(GU):,按给定条件,沿,层次路径,查找所需记录(要查找一个记录,必须从根记录开始),查找计算机系911班的第一个学生,GU,系(系名=计算机系),班(班名=911班),学生;,Get Next Parent(GNP):,在当前双亲下,按,层次序列,查找下一个记录,GU,系(系名=计算机系),班(班名=911班),学生;,while not fail do GNP,学生;,层次数据模型的优缺点,p26,层次,DBMS,在,6070年代流行,例如,IBM,的,IMS,网状数据数据模型,基本概念和结构:,记录、记录型和数据项,数据项可以是,多值,和,复合,的数据项(例如地址),系(,set):,代表两个记录型之间的1:,n,联系,有系型和系值之分,班级,学生,1,n,有,班级,学生,系型,首记录型,属记录型,多属系:一个系可以有多种类型的属记录,账户,存款帐,提款帐,转帐,网状数据数据模型,一个记录型可以作为几个系的首记录,也可以作为几个系的属记录(无虚拟记录),一个记录型不能既作为一个系的首记录,又作为这个系的属记录,联系记录型,EMP,1,n,领导,EMP,LINK,系型,联系,记录型,E,4,S1,S2,L,1,E,7,E,9,L,2,L,3,E,3,E,5,E,1,E,6,S1,S1,S1,S2,S2,S2,网状数据数据模型,一个记录值不能出现在同一系型的多个系值中,系型,S,1,C,1,C,2,C,3,C,4,C,5,C,6,S,2,学生,课程,m,n,选修,学生,课程,正确:,学生,LINK,课程,SL,CL,系型,S,1,L,1,L,2,L,3,L,4,L,5,L,6,S,2,L,4,C,1,C,2,C,3,C,4,C,5,C,6,SL,SL,CL,CL,CL,CL,CL,CL,网状数据数据模型,三元联系的网状表示,系的典型实现方式:链式实现方式(,o:,首记录,s:,属记录),约束和操作,网状数据模型的优缺点,p30,供应商,项目,零件,LINK,S,1,S,1,S,1,S,1,前向指针,后向指针,首记录指针,
展开阅读全文