《数据库数据模型.ppt》由会员分享,可在线阅读,更多相关《数据库数据模型.ppt(55页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第二章第二章第二章第二章 数据模型数据模型数据模型数据模型数据模型数据模型回顾回顾n在数据库中用数据模型这个工具来抽象、表示和处理在数据库中用数据模型这个工具来抽象、表示和处理现实世界中的数据和信息。数据模型是现实世界数据现实世界中的数据和信息。数据模型是现实世界数据特征的抽象特征的抽象n数据模型数据模型(广义广义)是数据库研究的一个核心问题是数据库研究的一个核心问题为便于设计数据模型,常先将现实世界抽象为一种为便于设计数据模型,常先将现实世界抽象为一种概念模型概念模型,然后再将概念模型转换为特定的数据模,然后再将概念模型转换为特定的数据模型型每个每个DBMS都是基于某种都是基于某种数据模型数
2、据模型(狭义狭义)的。的。传统的数据模型传统的数据模型:层次模型、网状模型和关系模层次模型、网状模型和关系模型型 2023/4/172数据模型数据模型回顾回顾n数据模型是现实世界数据特征的抽象根据模型应用的数据模型是现实世界数据特征的抽象根据模型应用的不同目的,数据模型不同目的,数据模型分分为两类为两类(1)概念模型概念模型 也称信息模型,它是按用户的观点来也称信息模型,它是按用户的观点来对数据和信息建模。对数据和信息建模。主要用于数据库设计主要用于数据库设计(2)数据模型数据模型逻辑数据模型主要包括网状模型、层次模型、关逻辑数据模型主要包括网状模型、层次模型、关系模型、面向对象模型、对象关系
3、模型等,系模型、面向对象模型、对象关系模型等,物理数据模型是对数据最低层次的抽象,它描述物理数据模型是对数据最低层次的抽象,它描述数据在系统内部的表示方式和存取方法,在磁盘数据在系统内部的表示方式和存取方法,在磁盘或磁带上的存储方式和存取方法。或磁带上的存储方式和存取方法。它是按计算机系统的它是按计算机系统的观点对数据建模,主观点对数据建模,主要用于要用于DBMS的实现的实现物理模型的实现是物理模型的实现是DBMS的任务,数据库设计人员的任务,数据库设计人员要了解和选择物理模型要了解和选择物理模型2023/4/173数据模型数据模型回顾回顾n数据模型通常由数据结构、数据操作和完整性约束三数据模
4、型通常由数据结构、数据操作和完整性约束三个要素组成。个要素组成。n一、数据结构一、数据结构描述数据库的组成对象以及对象之间的联系描述数据库的组成对象以及对象之间的联系组成对象组成对象:与数据类型、内容、性质有关的对象与数据类型、内容、性质有关的对象与数据之间联系有关的对象与数据之间联系有关的对象数数据据结结构构是是刻刻画画一一个个数数据据模模型型性性质质最最重重要要的的方方面面,因此通常按照数据结构的类型命名数据模型因此通常按照数据结构的类型命名数据模型层层次次结结构构、网网状状结结构构和和关关系系结结构构的的数数据据模模型型分分别别命名为层次模型、网状模型和关系模型。命名为层次模型、网状模型
5、和关系模型。描述系统静态特性描述系统静态特性2023/4/174数据模型数据模型回顾回顾n二、数据操作二、数据操作对数据库中各种对象的实例允许执行的操作的集合对数据库中各种对象的实例允许执行的操作的集合,包括操作及有关的操作规则。包括操作及有关的操作规则。如数据的检索、插入、删除和修改等。如数据的检索、插入、删除和修改等。数据模型必须定义这些操作的确切含义、操作符数据模型必须定义这些操作的确切含义、操作符号、操作规则以及实现操作的语言。号、操作规则以及实现操作的语言。数据操作用于描述系统的动态特性。数据操作用于描述系统的动态特性。2023/4/175数据模型数据模型回顾回顾n三、数据的完整性约
6、束条件三、数据的完整性约束条件数据的完整性约束条件是一组完整性规则的集合。数据的完整性约束条件是一组完整性规则的集合。完整性规则是给定的数据模型中数据及其联系所具有完整性规则是给定的数据模型中数据及其联系所具有的制约和依存规则,用以限定符合数据模型的数据库的制约和依存规则,用以限定符合数据模型的数据库状态以及状态的变化,状态以及状态的变化,保证数据的正确、有效、相容保证数据的正确、有效、相容例如在关系模型中任何关系必须满足实体完整性例如在关系模型中任何关系必须满足实体完整性与参照完整性原则与参照完整性原则数据模型应提供定义完整性约束条件的机制数据模型应提供定义完整性约束条件的机制2023/4/
7、176第第2章章 数据模型数据模型n2.1 E-R概念模型概念模型n2.2 层次数据模型层次数据模型n2.3 网状数据模型网状数据模型n2.4 关系数据模型关系数据模型n2.5 面向对象数据模型面向对象数据模型n2.6 小结小结2023/4/1772.1 E-R概念模型概念模型n概念模型的用途概念模型的用途用于信息世界的建模用于信息世界的建模是现实世界到机器世界的一个中间层次是现实世界到机器世界的一个中间层次是数据库设计的有力工具是数据库设计的有力工具数据库设计人员和用户之间进行交流的语言数据库设计人员和用户之间进行交流的语言n对概念模型的基本要求对概念模型的基本要求较较强强的的语语义义表表达
8、达能能力力,能能够够方方便便、直直接接地地表表达达应应用用中的各种语义知识中的各种语义知识简单、清晰、易于用户理解。简单、清晰、易于用户理解。2023/4/1782.1.1 E-R数据模型中的基本概数据模型中的基本概念念n1.实体(实体(Entity)客观存在并可相互区别的事物称为实体。客观存在并可相互区别的事物称为实体。可以是具体的对象,如一个学生可以是具体的对象,如一个学生,一本书一本书,一辆汽车;一辆汽车;也可以是抽象的概念或联系,如一堂课也可以是抽象的概念或联系,如一堂课,一次比赛等一次比赛等n2.2.属性(属性(AttributeAttribute)实体所具有的某一特征称为属性。实体
9、所具有的某一特征称为属性。一个实体可以由若干个属性来刻画,如学生实体有一个实体可以由若干个属性来刻画,如学生实体有学号、姓名、年龄、性别、系等方面的属性学号、姓名、年龄、性别、系等方面的属性属性有属性有“类型类型”和和“值值”之分,之分,“类型类型”即为属性名,如姓名、年龄、性别是属性即为属性名,如姓名、年龄、性别是属性的型;的型;“值值”即为属性的具体内容,即为属性的具体内容,如如(990001,张立,张立,20,男,计算机,男,计算机)这些属性值的这些属性值的集合表示了一个学生实体。集合表示了一个学生实体。2023/4/1792.1.1 E-R数据模型中的基本概数据模型中的基本概念念n3.
10、联系(联系(RelationshipRelationship)在现实世界中,事物内部以及事物之间是有联系的在现实世界中,事物内部以及事物之间是有联系的在信息世界中将被抽象为实体内部的联系和实体之在信息世界中将被抽象为实体内部的联系和实体之间的联系。间的联系。实体内部的联系实体内部的联系通常是指组成实体的各属性之间通常是指组成实体的各属性之间的联系;的联系;实体之间的联系实体之间的联系通常是指不同实体集之间的联系通常是指不同实体集之间的联系2023/4/17103.联系联系n两个实体集之间的联系有三种:两个实体集之间的联系有三种:实体实体集集1联系名联系名实体实体集集2111:1联系联系实体集实
11、体集1联系名联系名实体集实体集2mnm:n联系联系实体集实体集1联系名联系名实体集实体集21n1:n联系联系2023/4/1711两个实体集之间的联系两个实体集之间的联系n一对一联系(一对一联系(1:1)实体集实体集A中的一个实体至多与实体集中的一个实体至多与实体集B中的一个实体中的一个实体相对应,反之亦然,则称实体集相对应,反之亦然,则称实体集A与实体集与实体集B为一对为一对一的联系。记作一的联系。记作1:1。实例实例:班级与班长之间的联系班级与班长之间的联系一个班级只有一个正班长一个班级只有一个正班长一个班长只在一个班中任职一个班长只在一个班中任职2023/4/1712两个实体集之间的联系
12、两个实体集之间的联系n一对多联系(一对多联系(1:n)实体集实体集A中的一个实体与实体集中的一个实体与实体集B中的多个实体相对中的多个实体相对应,反之,实体集应,反之,实体集B中的一个实体至多与实体集中的一个实体至多与实体集A中中的一个实体相对应。记作的一个实体相对应。记作1:n。实例实例:班级与学生之间的联系班级与学生之间的联系一个班级中有若干名学生,一个班级中有若干名学生,每个学生只在一个班级中学习每个学生只在一个班级中学习2023/4/1713两个实体集之间的联系两个实体集之间的联系n多对多联系(多对多联系(m:n)实体集实体集A中的一个实体与实体集中的一个实体与实体集B中的多个实体相对
13、中的多个实体相对应,反之,实体集应,反之,实体集B中的一个实体与实体集中的一个实体与实体集A中的多中的多个实体相对应。记作(个实体相对应。记作(m:n)。)。实例实例:课程与学生之间的联系课程与学生之间的联系一门课程同时有若干个学生选修一门课程同时有若干个学生选修一个学生可以同时选修多门课程一个学生可以同时选修多门课程2023/4/1714两个以上的实体集之间的联系两个以上的实体集之间的联系n多个实体集之间也可以存在有联系,称多元联系多个实体集之间也可以存在有联系,称多元联系 若规定:若规定:一个供应商可供应多种零件给多个工程,一个供应商可供应多种零件给多个工程,一个工程可由多个供应商供应多种
14、零件,一个工程可由多个供应商供应多种零件,一种零件可由多个供应商供应给多个工程,一种零件可由多个供应商供应给多个工程,供应商、零件和工程间存在着多对多的联系,表示供应商、零件和工程间存在着多对多的联系,表示为为m:n:p knm供应商供应商工程工程零件零件供应供应2023/4/1715两个以上的实体集之间的联系两个以上的实体集之间的联系n区别多个实体间的联系和多个实体两两间的联系区别多个实体间的联系和多个实体两两间的联系下图表示表示的是三个实体间的供应关系,下图表示表示的是三个实体间的供应关系,某个供应商供应某种零件给某个工程某个供应商供应某种零件给某个工程“供应商供应商S1供应零件供应零件P
15、2给工程给工程J1”n三个实体两两之间的多对多三个实体两两之间的多对多联系与联系与三个实体的多对多三个实体的多对多联联系的语义不同系的语义不同三个实体的多对多三个实体的多对多仅能表示一个工程需要哪些零件仅能表示一个工程需要哪些零件,这些零件可以由哪些供应商供应,这些零件可以由哪些供应商供应,无法表示一个工程所用的零件具体由哪个供应商供无法表示一个工程所用的零件具体由哪个供应商供应应反映不出一个供应商具体供应哪种零件给哪个工程反映不出一个供应商具体供应哪种零件给哪个工程knm供应商供应商工程工程零件零件供应供应2023/4/1716实体集内部不同实体间的联系实体集内部不同实体间的联系n同一实体集
16、内一对多联系同一实体集内一对多联系实例实例 职工实体集内部具有领导与被领导的联系职工实体集内部具有领导与被领导的联系某一职工(干部)某一职工(干部)“领导领导”若干名职工若干名职工一个职工仅被另外一个职工直接领导一个职工仅被另外一个职工直接领导这是一对多的联系这是一对多的联系n同一实体集内一对一联系同一实体集内一对一联系n同一实体集内多对多联系同一实体集内多对多联系职工职工领导领导1n同一实体型内部的同一实体型内部的1:n联系联系2023/4/17172.1.2 E-R数据模型数据模型 n概念模型的表示方法很多,最著名的是概念模型的表示方法很多,最著名的是E-R模型模型n实体实体-联系方法联系
17、方法(Entity-Relationship Approach)用用E-R图来描述现实世界的概念模型图来描述现实世界的概念模型,E-R方法也称方法也称为为E-R模型模型nE-R图三个基本成分:实体、属性和联系的方法图三个基本成分:实体、属性和联系的方法(1)实体)实体:用矩形表示,矩形框内写明实体名。用矩形表示,矩形框内写明实体名。(2)属性)属性:用椭圆形表示,并用无向边将其与相应用椭圆形表示,并用无向边将其与相应的实体连接起来的实体连接起来学生学生教师教师学生学生学号学号年龄年龄性别性别姓名姓名2023/4/17182.1.2 E-R数据模型数据模型(3)联系)联系实体之间的联系用菱形框表
18、示,菱形框内标明联实体之间的联系用菱形框表示,菱形框内标明联系名,并分别用连线将关联的实体连接起来,在系名,并分别用连线将关联的实体连接起来,在连线旁标明实体间联系的类型连线旁标明实体间联系的类型 选课联系用属性成绩来表示某个学生选修某门课选课联系用属性成绩来表示某个学生选修某门课的成绩,属性成绩不能放在学生或课程实体中,的成绩,属性成绩不能放在学生或课程实体中,该属性是描述选课联系的。该属性是描述选课联系的。课程课程选修选修学生学生mn成绩成绩n学时数学时数课程课程课程号课程号课程名课程名m选课选课姓名姓名性别性别年龄年龄成绩成绩学生学生学号学号2023/4/1719例:学生选修课程例:学生
19、选修课程学生学生课程课程选修选修姓名姓名学号学号系别系别课程号课程号课程名课程名学分学分成绩成绩用矩形表用矩形表示实体示实体用椭圆表示实用椭圆表示实体的属性体的属性用无向边把实用无向边把实体与其属性连体与其属性连接起来接起来用菱形表示实用菱形表示实体间的联系体间的联系实体与联系用实体与联系用线段连接并注线段连接并注明类型明类型mmn n2023/4/1720(3)联系)联系nE-R模型中实体间的联系提供了较多的语义模型中实体间的联系提供了较多的语义基数比约束基数比约束如在二元联系中有如在二元联系中有1:1,1:n,m:n的联系的联系 参与约束参与约束 根据实体集中的实体是否全部参与联系来描述根
20、据实体集中的实体是否全部参与联系来描述实体参与联系的约束实体参与联系的约束 一个实体集中的所有实体都参与联系称为一个实体集中的所有实体都参与联系称为完全完全参与参与,否则,称为,否则,称为部分参与部分参与。如在教师与课程联系中,一门课至少要有一如在教师与课程联系中,一门课至少要有一位教师讲授位教师讲授;而有教师不担任授课任务,则在而有教师不担任授课任务,则在这一联系中,课程实体为完全参与,教师实这一联系中,课程实体为完全参与,教师实体为部分参与体为部分参与 2023/4/1721(3)联系)联系实体的参与度实体的参与度实体参与联系的最小和最大次数,称实体的参与实体参与联系的最小和最大次数,称实
21、体的参与度度例如,学生选课中,例如,学生选课中,如果规定一个学生最少选修如果规定一个学生最少选修2门课,最多选修门课,最多选修5门课,则学生在选课联系中的参与度是门课,则学生在选课联系中的参与度是(2,5)规定一门课至少要有规定一门课至少要有10个学生选修,至多有个学生选修,至多有60个学生选修,则课程在选课联系中的参与度是个学生选修,则课程在选课联系中的参与度是(10,60)(2,5)学生学生(10,60)课程课程选修选修成绩成绩2023/4/17221学生学生1家长家长所属所属2.1.2 E-R数据模型数据模型n(4)弱实体弱实体E-R模型中有一类特殊的实体,这种实体的存在是模型中有一类特
22、殊的实体,这种实体的存在是依赖于其他实体而存在的,称这类实体为弱实体依赖于其他实体而存在的,称这类实体为弱实体相对于弱实体,它所依赖的实体称为强实体相对于弱实体,它所依赖的实体称为强实体 弱实体在弱实体在E-R模型中用双框矩形表示,为了表示全模型中用双框矩形表示,为了表示全部参与,与菱形框间用双线连接。部参与,与菱形框间用双线连接。如在学生管理信息中,学生实体与家长实体之间存如在学生管理信息中,学生实体与家长实体之间存在着在着“所属所属”关系,家长实体是不能脱离学生实体关系,家长实体是不能脱离学生实体而独立存在的,为弱实体而独立存在的,为弱实体 2023/4/17232.1.2 E-R数据模型
23、数据模型n(5)子类实体)子类实体 在扩展在扩展E-R数据模型中增加了子类和超类的概念,数据模型中增加了子类和超类的概念,使使E-R数据模型具有了更多的语义数据模型具有了更多的语义在基本在基本E-R模型中,一个实体集是具有共同特性的模型中,一个实体集是具有共同特性的一类实体的集合,但有时需要将实体集根据个体的一类实体的集合,但有时需要将实体集根据个体的不同特性分为多个子集不同特性分为多个子集 如学校里一个系的职工,按照他们不同的工作特点如学校里一个系的职工,按照他们不同的工作特点可分为教师、实验人员和机关工作人员等。他们除可分为教师、实验人员和机关工作人员等。他们除具有共同的特性如姓名、年龄、
24、性别外,还有各自具有共同的特性如姓名、年龄、性别外,还有各自不同的特性不同的特性 o o o职工职工教教 师师实验员实验员机关工作人员机关工作人员2023/4/1724n物资管理需求物资管理需求仓库仓库、零件、供应商、项目、职工、零件、供应商、项目、职工2023/4/1725n物资管理需求物资管理需求仓库仓库、零件、供应商、项目、职工、零件、供应商、项目、职工2023/4/17262023/4/17272023/4/1728n一个学院有若干名职工,一个职工仅在一个学院工作,学院与职工间是一个学院有若干名职工,一个职工仅在一个学院工作,学院与职工间是1:m的联系的联系n一个学院有若干名学生,一名
25、学生仅在一个学院学习,学院与学生间是一个学院有若干名学生,一名学生仅在一个学院学习,学院与学生间是1:m的联系的联系 n一个学生可以选修多门课,一门课可供若干学生选修,学生与课程间是一个学生可以选修多门课,一门课可供若干学生选修,学生与课程间是m:n的联系的联系 n一个学生有一位家长联系,一位家长对应一个学生,学生与家长间是一个学生有一位家长联系,一位家长对应一个学生,学生与家长间是1:1的联系;的联系;n教师、课程、教科书之间存在着教师、课程、教科书之间存在着p:m:n的联系。的联系。一个教师可以讲多门课;一个教师可以讲多门课;一门课可以有多个授课教师,一门课可以有多个授课教师,一种教材可用
26、于多门课且被不同的教师选用。一种教材可用于多门课且被不同的教师选用。不同教师可以用不同的教材;不同教师可以用不同的教材;2023/4/17292023/4/17302.1 E-R概念模型概念模型nE-R模型被广泛地用于数据库概念模型的设计。模型被广泛地用于数据库概念模型的设计。在在E-R图中仅表示现实世界中的信息结构及信息之图中仅表示现实世界中的信息结构及信息之间的关系,不涉及任何信息在计算机中的表示。间的关系,不涉及任何信息在计算机中的表示。只要用户的需求不变,只要用户的需求不变,E-R模型是稳定的。模型是稳定的。运用运用E-R模型,可以很方便地将其转换为具体的模型,可以很方便地将其转换为具
27、体的DBMS所支持的数据模型所支持的数据模型 2023/4/1731第第2章章 数据模型数据模型n2.1 E-R概念模型概念模型n2.2 层次数据模型层次数据模型n2.3 网状数据模型网状数据模型n2.4 关系数据模型关系数据模型n2.5 面向对象数据模型面向对象数据模型n2.6 小结小结2023/4/17322.2 层次模型层次模型n层次模型是数据库系统中最早出现的数据模型,典型层次模型是数据库系统中最早出现的数据模型,典型代表是代表是IBM公司的公司的IMS(Information Management System)数据库管理系统,)数据库管理系统,1968年推出年推出n层次数据模型层次
28、数据模型用树型结构表示各类实体以及实体间的用树型结构表示各类实体以及实体间的联系联系。现实世界中,许多实体之间的联系都表现出一。现实世界中,许多实体之间的联系都表现出一种很自然的层次关系,如家族关系,行政机构等。种很自然的层次关系,如家族关系,行政机构等。n满足下面两个条件的基本层次联系的集合为层次模型满足下面两个条件的基本层次联系的集合为层次模型有且只有一个结点没有双亲结点,这个结点称为根有且只有一个结点没有双亲结点,这个结点称为根节点节点根以外的其它结点有且只有一个双亲结点根以外的其它结点有且只有一个双亲结点2023/4/1733一、层次数据模型的数据结构一、层次数据模型的数据结构 n在层
29、次模型中,根结点处在最上层,其它结点都有上在层次模型中,根结点处在最上层,其它结点都有上一级结点作为其双亲结点,这些结点称为其双亲结点一级结点作为其双亲结点,这些结点称为其双亲结点的子女结点,同一双亲结点的子女结点称为兄弟结点。的子女结点,同一双亲结点的子女结点称为兄弟结点。没有子女的结点称为叶结点没有子女的结点称为叶结点 1 根结点根结点 2 兄弟结点兄弟结点 3 叶结点叶结点 4 兄弟结点兄弟结点 5 叶结点叶结点 叶结点叶结点n双亲结点到子女结点间表示了记双亲结点到子女结点间表示了记录间的一对多的联系录间的一对多的联系 学院学院班级班级教研室教研室学生学生教师教师2023/4/1734层
30、次模型的优点层次模型的优点(1)数据结构比较简单,清晰。)数据结构比较简单,清晰。(2)层次数据库的查询效率高。)层次数据库的查询效率高。(3)它提供了良好的数据完整性支持。)它提供了良好的数据完整性支持。2023/4/1735层次模型的优缺点层次模型的优缺点n缺点:缺点:(1)不能直接表示两个以上的实体型间的复杂的)不能直接表示两个以上的实体型间的复杂的联系和实体型间的多对多联系,只能通过引入冗余联系和实体型间的多对多联系,只能通过引入冗余数据或创建虚拟结点的方法来解决,易产生不一致数据或创建虚拟结点的方法来解决,易产生不一致性性(2)对数据的插入和删除的操作限制太多。)对数据的插入和删除的
31、操作限制太多。(3)查询子女结点必须通过双亲结点。)查询子女结点必须通过双亲结点。(4)由于结构严密,层次命令趋于程序化)由于结构严密,层次命令趋于程序化2023/4/1736第第2章章 数据模型数据模型n2.1 E-R概念模型概念模型n2.2 层次数据模型层次数据模型n2.3 网状数据模型网状数据模型n2.4 关系数据模型关系数据模型n2.5 面向对象数据模型面向对象数据模型n2.6 小结小结2023/4/17372.3 网状模型网状模型n现实世界中事物之间的联系更多的是非层次关系的,现实世界中事物之间的联系更多的是非层次关系的,用层次模型表示这种关系很不直观,网状模型克服了用层次模型表示这
32、种关系很不直观,网状模型克服了这一弊病,可以清晰的表示这种非层次关系。这一弊病,可以清晰的表示这种非层次关系。n满足下面两个条件的基本层次联系的集合为网状模型满足下面两个条件的基本层次联系的集合为网状模型允许一个以上的结点无双亲允许一个以上的结点无双亲一个结点可以有多于一个的双亲一个结点可以有多于一个的双亲社团社团班级班级学生学生学生学生课程课程2023/4/1738网状数据模型的数据结构网状数据模型的数据结构n两个或两个以上的结点都可以有多个双亲结点,则此两个或两个以上的结点都可以有多个双亲结点,则此时有向树变成了有向图时有向树变成了有向图n网状模型可以更直接的描述现实世界,层次模型实际网状
33、模型可以更直接的描述现实世界,层次模型实际上是网状模型的特例上是网状模型的特例班级班级-学生学生社团社团-学生学生学院学院-班级班级学院学院学院学院-教师教师班级班级教师教师社团社团学生学生班班级级-学学生生班班 级级-学学生生诗社诗社社团社团-学生学生学院学院-班级班级计算机学院计算机学院981981班班王明王明范颖范颖吴浩吴浩严伟严伟林利林利合唱团合唱团学院学院-教师教师社团社团-学生学生992992班班张一凡张一凡赵文庭赵文庭2023/4/1739网状模型的优缺点网状模型的优缺点n优点优点能够更为直接地描述现实世界,如一个结点可以由多能够更为直接地描述现实世界,如一个结点可以由多个双亲;
34、个双亲;具有良好的性能,存取效率较高;具有良好的性能,存取效率较高;n缺点缺点结构比较复杂,而且随着应用环境的扩大,数据库的结构比较复杂,而且随着应用环境的扩大,数据库的结构就变的越来越复杂,不利于最终用户掌握;结构就变的越来越复杂,不利于最终用户掌握;其其DDL、DML语言复杂,用户不容易使用;访问数语言复杂,用户不容易使用;访问数据时必须自行选择存取路径,增加了程序编写的负担。据时必须自行选择存取路径,增加了程序编写的负担。2023/4/1740第第2章章 数据模型数据模型n2.1 E-R概念模型概念模型n2.2 层次数据模型层次数据模型n2.3 网状数据模型网状数据模型n2.4 关系数据
35、模型关系数据模型n2.5 面向对象数据模型面向对象数据模型n2.6 小结小结2023/4/17412.4 关系模型关系模型n关系模型是最重要的一种数据模型。也是目前主要采关系模型是最重要的一种数据模型。也是目前主要采用的数据模型,本课程的重点用的数据模型,本课程的重点n系统而严格地提出关系模型的是美国系统而严格地提出关系模型的是美国IBM公司的公司的1970年提出关系数据模型年提出关系数据模型 ,“A Relational Model of Data for Large Shared Data Banks”,Communication of the ACM,1970之后,提出了关系代数和关系演
36、算的概念之后,提出了关系代数和关系演算的概念1972年提出了关系的第一、第二、第三范式年提出了关系的第一、第二、第三范式1974年提出了关系的年提出了关系的BC范式范式从而开创了数据库的关系方法和数据规范化理论的从而开创了数据库的关系方法和数据规范化理论的研究,他为此获得了研究,他为此获得了1981年的图灵奖。年的图灵奖。2023/4/17422.4 关系模型关系模型n1977年年IBM公司研制的关系数据库的代表公司研制的关系数据库的代表System R开开始运行,其后又进行了不断的改进和扩充,出现了基始运行,其后又进行了不断的改进和扩充,出现了基于于System R的数据库系统的数据库系统S
37、QL/DB。n20世世纪纪80年年代代以以来来,计计算算机机厂厂商商新新推推出出的的数数据据库库管管理理系系统统几几乎乎都都支支持持关关系系模模型型,非非关关系系系系统统的的产产品品也也都都加加上了关系接口。上了关系接口。n数据库领域当前的研究工作也都是以关系方法为基础数据库领域当前的研究工作也都是以关系方法为基础n关系数据库已成为目前应用最广泛的数据库系统,关系数据库已成为目前应用最广泛的数据库系统,典型实验系统典型实验系统:System R、University INGRES典型商用系统典型商用系统:ORACLE、SQL Server、SYBASE、INFORMIX、DB2FoxPro、M
38、ySQL、Access2023/4/17432.4.1 关系模型的基本概念和结构关系模型的基本概念和结构 n在在关关系系模模型型中中,基基本本数数据据结结构构被被限限制制为为二二维维表表,一一张张二维表称为一个关系二维表称为一个关系 n1.关系关系关系是数学上集合论中的一个概念,关系模型是以关系是数学上集合论中的一个概念,关系模型是以关系为基础发展起来的关系为基础发展起来的(1)关系(关系(relation)关系是一张二维表,是由多个行和列组成的。一关系是一张二维表,是由多个行和列组成的。一个关系可用来描述一个实体集个关系可用来描述一个实体集 学学 号号姓姓 名名出生年月出生年月性性 别别入学
39、年份入学年份班班 级级2006901张张 伟伟1988.01男男20062006022007912王王 刚刚1989.03男男2007200705.2023/4/17441.关系关系n(2)属性(属性(attribute)一个关系有多个列,每一列为关系的一个属性一个关系有多个列,每一列为关系的一个属性 如学生关系中,有属性名学号、姓名、出生年月如学生关系中,有属性名学号、姓名、出生年月 n(3)域(域(domain)一个属性对应一个值的集合。域是属性的取值范围一个属性对应一个值的集合。域是属性的取值范围如学号的域是如学号的域是7位字符数字的集合,学生姓名是位字符数字的集合,学生姓名是汉字字符串
40、的集合等汉字字符串的集合等 2023/4/1745分量分量1.关系关系学学 号号姓姓 名名出生年月出生年月性性 别别入学年份入学年份班班 级级2006901张张 伟伟1988.01男男20062006022007912王王 刚刚1989.03男男2007200705.属性属性元组元组n(4)元组(元组(tuple)关系是元组的集合,一个元组对应实体集中的一个关系是元组的集合,一个元组对应实体集中的一个个体。个体。一个元组由若干个分量组成。一个分量对应一个属一个元组由若干个分量组成。一个分量对应一个属性值。性值。2023/4/17461.关系关系n(5)键(键(key)键键是是一一个个或或多多个
41、个属属性性组组成成的的,能能够够唯唯一一标标识识一一个个元元组。组。一一个个关关系系中中可可能能有有多多组组属属性性都都能能够够起起到到标标识识元元组组的的作用。因而,一个关系中可能有多个键作用。因而,一个关系中可能有多个键 选择其中的一个作为主键,其余为候选键。选择其中的一个作为主键,其余为候选键。2023/4/17472.4.1 关系模型的基本概念和结构关系模型的基本概念和结构n2.关系模式关系模式对关系结构的描述称为关系模式对关系结构的描述称为关系模式(relation schema)。关系模式可用如下形式表示:关系模式可用如下形式表示:关系名(属性名关系名(属性名1,属性名,属性名2,
42、属性名,属性名n)。)。如学生关系可表示为:如学生关系可表示为:学生(学号学生(学号,姓名姓名,出生年月出生年月,性别性别,入学年份入学年份,班级)班级)关系数据库模式关系数据库模式是一组关系模式的集合,这组关系是一组关系模式的集合,这组关系模式对应的关系的集合称为关系数据库模式对应的关系的集合称为关系数据库 2023/4/17482.4.1 关系模型的基本概念和结构关系模型的基本概念和结构n关系模型中基本的数据结构是单一的关系关系模型中基本的数据结构是单一的关系n现实世界中实体及实体间的联系都用关系表示现实世界中实体及实体间的联系都用关系表示 学学 号号姓姓 名名出生年月出生年月性性 别别入
43、学年份入学年份班班 级级2006901张张 伟伟1988.01男男20062006022007912王王 刚刚1989.03男男2007200705.学学 号号课课 程程 名名系系 别别任任课课教教师师2006901数数 据据 库库计计算机算机严严明亮明亮2007912数据数据结结构构计计算机算机刘西学刘西学.2023/4/17492.4.1 关系模型的基本概念和结构关系模型的基本概念和结构n关系必须是规范化的,满足一定的规范条件关系必须是规范化的,满足一定的规范条件n最最基基本本的的规规范范条条件件:关关系系的的每每一一个个分分量量必必须须是是一一个个不可分的数据项。不可分的数据项。n下表不
44、符合关系模型要求下表不符合关系模型要求2023/4/17502.4 关系数据模型关系数据模型n2.4.2 关系模型的数据完整性约束关系模型的数据完整性约束为了维护数据库中的数据与现实世界的一致性,需为了维护数据库中的数据与现实世界的一致性,需要对数据施加一定的约束条件要对数据施加一定的约束条件 实体完整性、参照完整性、用户自定义完整性实体完整性、参照完整性、用户自定义完整性n2.4.3 关系模型的数据操纵关系模型的数据操纵 关系模型中,对关系中的数据可进行查询、插入、关系模型中,对关系中的数据可进行查询、插入、删除和修改操作删除和修改操作 在关系数据库系统中,对数据的全部操作都可以归在关系数据
45、库系统中,对数据的全部操作都可以归结为对关系的运算。结为对关系的运算。对关系可以进行多种运算对关系可以进行多种运算运算结果形成一个新关系运算结果形成一个新关系 关系运算分为:关系代数和关系演算关系运算分为:关系代数和关系演算 2023/4/17512.4.4 关系模型优点关系模型优点n(1)数据结构简单数据结构简单n(2)一体化的数据子语言一体化的数据子语言n(3)数据独立性高数据独立性高n(4)面向集合的存取方式面向集合的存取方式n(5)坚实的理论基础坚实的理论基础n(6)有利于开展其他应用有利于开展其他应用2023/4/17522.6 小结小结n介绍了两类数据模型:介绍了两类数据模型:概念
46、模型概念模型表示信息结构的模型表示信息结构的模型,不涉及信息在计算机中的表示不涉及信息在计算机中的表示常用的概念模型有实体常用的概念模型有实体-联系模型,即联系模型,即E-R模型。模型。E-R模型可用于数据库设计的概念建模模型可用于数据库设计的概念建模 数据库系统支持的数据模型数据库系统支持的数据模型 层次数据模型层次数据模型网状数据模型网状数据模型关系数据模型关系数据模型面向对象数据模型等面向对象数据模型等 2023/4/1753作作 业P34 2,3,4,5作业作业P34n2试分别举出事物间具有一对一、一对多、多对多联系的三个试分别举出事物间具有一对一、一对多、多对多联系的三个例子。例子。
47、n3试给出一个描述实际事物及事物间联系的试给出一个描述实际事物及事物间联系的E-R模型。要求模模型。要求模型中至少有五个实体,实体间有型中至少有五个实体,实体间有1:1、1:n和和m:n的联系,其中一的联系,其中一个联系涉及三个实体。个联系涉及三个实体。n4某商场对商品信息管理有如下数据。某商场对商品信息管理有如下数据。商品出售按照商品类分为食品、日用品、服装、鞋帽等,每商品出售按照商品类分为食品、日用品、服装、鞋帽等,每个销售组出售一类商品;一个组有一个组长,有若干售货员个销售组出售一类商品;一个组有一个组长,有若干售货员;商品按分类存放在不同仓库中;一种商品有多个供应商,商品按分类存放在不同仓库中;一种商品有多个供应商,一个供应商可供应多种商品。一个供应商可供应多种商品。试用试用E-R图给出概念模型。图给出概念模型。n5请你为下述两种情况分别建立银行请你为下述两种情况分别建立银行储户储户存款单之间的数存款单之间的数据模型。据模型。(1)一个储户只在固定的一个银行存款。一个储户只在固定的一个银行存款。(2)一个储户可以在多个银行存款。一个储户可以在多个银行存款。这两个模型有什么根本区别?这两个模型有什么根本区别?2023/4/1755