1、第第 三章三章 数据管理中的数据模型数据管理中的数据模型3.1 3.1 数据模型的基本概念数据模型的基本概念3.2 3.2 数据模型的四个世界数据模型的四个世界3.3 3.3 概念世界与概念模型概念世界与概念模型3.4 3.4 信息世界与逻辑模型信息世界与逻辑模型3.5 3.5 计算机世界与物理模型计算机世界与物理模型v 本章小结本章小结3.1 数据模型的基本概念v数据模型是数据管理特征的抽象,是数据管数据模型是数据管理特征的抽象,是数据管理的核心;理的核心;v数据模型包括三部分内容数据模型包括三部分内容数据结构数据结构数据操纵数据操纵数据约束数据约束3.1 数据模型的基本概念v数据模型按不同
2、的应用层次分成三种类型:数据模型按不同的应用层次分成三种类型:概念数据模型(概念模型)概念数据模型(概念模型)逻辑数据模型(逻辑模型)逻辑数据模型(逻辑模型)物理数据模型(物理模型)物理数据模型(物理模型)3.2 3.2 数据模型的四个世界数据模型的四个世界现实世界现实世界概念化概念化形式化形式化计算机计算机概念世界概念世界信息世界信息世界计算机世计算机世界界物理化物理化图图3.1 四个世界的转化示意图四个世界的转化示意图用户用户现实世界:用户所关注的现实世界:用户所关注的世界,是客观世界中划定世界,是客观世界中划定边界的一个部分环境;边界的一个部分环境;概念世界:是对现实世界概念世界:是对现
3、实世界的抽象,从纷繁的现实世的抽象,从纷繁的现实世界中抽取出能反映现实本界中抽取出能反映现实本质的概念和基本关系,它质的概念和基本关系,它与具体的数据库和计算机与具体的数据库和计算机平台无关;平台无关;信息世界:将概念世界中信息世界:将概念世界中的概念和关系,以一定的的概念和关系,以一定的形式映射到计算机世界中形式映射到计算机世界中去;去;计算机世界:将信息世计算机世界:将信息世界中的模型在计算机物界中的模型在计算机物理结构上实现。理结构上实现。3.3 3.3 概念世界与概念模型概念世界与概念模型1 E-R模型模型又称实体又称实体-联联系模型,它系模型,它于于1976年由年由Peter Che
4、n提出。提出。3.3 3.3 概念世界与概念模型概念世界与概念模型(1)E-R模型的基本要素模型的基本要素实体实体客观存在并可相互区分的事物叫实体客观存在并可相互区分的事物叫实体如学生张三、工人李四、计算机系、数据库概论如学生张三、工人李四、计算机系、数据库概论属性属性实体所具有的某一特性实体所具有的某一特性一个实体可以由若干个属性来刻画一个实体可以由若干个属性来刻画例如,学生可由学号、姓名、年龄、系等组成例如,学生可由学号、姓名、年龄、系等组成联系联系实体之间的相互关联实体之间的相互关联联系也可以有属性,如学生与课程之间有选课联系,每个联系也可以有属性,如学生与课程之间有选课联系,每个选课联
5、系都有一个成绩作为其属性选课联系都有一个成绩作为其属性 3.3 3.3 概念世界与概念模型概念世界与概念模型(2)E-R模型中联系的分类模型中联系的分类两个实体集间的联系两个实体集间的联系多个实体集间的联系多个实体集间的联系一个实体集内部的联系一个实体集内部的联系 两个实体集之间的联系又可分为:两个实体集之间的联系又可分为:一对一的联系(一对一的联系(1:1)一对多或多对一的联系(一对多或多对一的联系(1:m或或m:1)多对多的联系(多对多的联系(m:n)3.3 3.3 概念世界与概念模型概念世界与概念模型(3)E-R图的表示方法图的表示方法实体集表示法实体集表示法属性表示法属性表示法联系表示
6、法联系表示法学生学生课程课程学号学号姓名姓名年龄年龄选修选修学生学生课程课程选修选修姓名姓名学号学号年龄年龄课程名课程名课程号课程号学分学分成绩成绩用无向边用无向边把实体与把实体与其属性连其属性连接起来接起来将参与联系的实将参与联系的实体用线段连接体用线段连接mn联系的联系的数量数量图图3.2 学生学修课程学生学修课程E-R图图3.3 3.3 概念世界与概念模型概念世界与概念模型v多个实体集之间的联系多个实体集之间的联系FPUFPU3.3 3.3 概念世界与概念模型概念世界与概念模型n 自反联系自反联系employeemanagen 实体集间多种联系实体集间多种联系teacherstudent
7、ef3.3 3.3 概念世界与概念模型概念世界与概念模型v例:在一个工厂物资管理系统中,有职工、例:在一个工厂物资管理系统中,有职工、仓库、项目、零件、供应商五个实体集以及仓库、项目、零件、供应商五个实体集以及供应、库存、领导、工作四个关系组成,试供应、库存、领导、工作四个关系组成,试画出画出E-R图。图。3.3 3.3 概念世界与概念模型概念世界与概念模型供应商供应商项目项目零件零件供应供应供应商号供应商号姓名姓名地址地址项目号项目号预算预算单价单价预算预算名称名称规格规格仓库仓库职工职工库存库存库存量库存量工作工作领导领导仓库号仓库号面积面积职工号职工号姓名姓名供应量供应量mpnmn1n1
8、n图图3.3 某工厂物资管理某工厂物资管理E-R图图3.3 3.3 概念世界与概念模型概念世界与概念模型2 面向对象模型面向对象模型(1)对象的组成)对象的组成对象标识符(对象标识符(OID)能惟一标识对象的符号能惟一标识对象的符号对象的静态特性对象的静态特性对对象属性的刻画对对象属性的刻画类似于类似于E-R模型中的属性模型中的属性对象的动态特性对象的动态特性对对象实施的操作对对象实施的操作称为方法或操作称为方法或操作3.3 3.3 概念世界与概念模型概念世界与概念模型(2)对象的特点)对象的特点对象的封装性对象的封装性对象标识符的独立性对象标识符的独立性对象属性值的多值性对象属性值的多值性
9、3.33.3概念世界与概念模型概念世界与概念模型(3)类与类的特性类与类的特性类类u将一组具有相同属性、方法的对象集合称为类;将一组具有相同属性、方法的对象集合称为类;u类中的对象称为实例。类中的对象称为实例。子类与超类子类与超类u子类子类u超类超类u普化普化u特化(特化(is-a)3.3 3.3 概念世界与概念模型概念世界与概念模型聚合与分解聚合与分解u由简单的对象组合成复杂的对象称为类的聚合(由简单的对象组合成复杂的对象称为类的聚合(is-part-of)u反之,为类的分解反之,为类的分解3.3 3.3 概念世界与概念模型概念世界与概念模型面向对象模型面向对象模型u以类为处理单位,以类间的
10、继承、聚合为关联所构以类为处理单位,以类间的继承、聚合为关联所构成的模型称为面向对象模型。成的模型称为面向对象模型。u面向对象模型能描述复杂的现实世界。面向对象模型能描述复杂的现实世界。3.4 信息世界与逻辑模型1 概述概述层次模型层次模型网状模型网状模型关系模型关系模型面向对象模型面向对象模型对象对象-关系模型关系模型3.4 信息世界与逻辑模型关系模型的关系模型的思想是思想是IBM公公司的司的E.F.Codd于于1970年提出年提出的;的;关系模型由关系模型由关系数据结关系数据结构、关系操构、关系操纵、数据约纵、数据约束束2 关系模型关系模型3.4 信息世界与逻辑模型(1)关系数据结构)关系
11、数据结构用二维表来表示实体集用二维表来表示实体集用二维表来表示实体集之间的联系用二维表来表示实体集之间的联系属性属性元组元组907580成绩01S0202S0101S01课程号学号男女男性别192221年龄D01李红S02D02王伟S03D01张军S01系号姓名学号分量分量3.4 信息世界与逻辑模型关系的一列称为属性关系的一列称为属性关系的一行称为元组;关系的一行称为元组;属性的取值范围称为域;属性的取值范围称为域;属性的个数称为关系的元;属性的个数称为关系的元;关系框架关系框架 关系名及关系中的属性构成了关系框架。关系名及关系中的属性构成了关系框架。设关系名为设关系名为R,其属性为,其属性为
12、a1,a2,an,则该关系则该关系的框架是的框架是R(a1,a2,an)3.4 信息世界与逻辑模型关系的性质关系的性质关系是一个二维表,每行对应一个元组,每列是一关系是一个二维表,每行对应一个元组,每列是一个属性,有一个属性名,对应一个域;个属性,有一个属性名,对应一个域;列是同质的,即列值来自同一个域,不同列可以出列是同质的,即列值来自同一个域,不同列可以出自同一个域,但列名不同;自同一个域,但列名不同;关系中每一个属性是不可分解的,即所有域都是原关系中每一个属性是不可分解的,即所有域都是原子数据的集合;子数据的集合;3.4 信息世界与逻辑模型关系的性质关系的性质关系中任两个元组不能完全相同
13、;关系中任两个元组不能完全相同;每个关系都有关键字唯一标识各个元组;每个关系都有关键字唯一标识各个元组;关系中行的排列顺序、列的排列顺序是无关紧要的关系中行的排列顺序、列的排列顺序是无关紧要的3.4 信息世界与逻辑模型键键(Key)(Key)关系中凡能惟一标识元组的属性集称为该关关系中凡能惟一标识元组的属性集称为该关系的系的;假设学生的姓名不能重复,这时学生的学号和姓名假设学生的姓名不能重复,这时学生的学号和姓名都可以标识一个学生,学号和姓名都是候选健都可以标识一个学生,学号和姓名都是候选健3.4 信息世界与逻辑模型键键(Key)(Key)从所有候选键中选定一个用来区别同一关系从所有候选键中选
14、定一个用来区别同一关系中的不同元组,称作中的不同元组,称作;关系一定有主键关系一定有主键一个实体集中任意两个实体在主键上的取值不能相一个实体集中任意两个实体在主键上的取值不能相同同如学号是学生实体的主键如学号是学生实体的主键外键:若关系外键:若关系A A中的某属性集是关系中的某属性集是关系B B的键,的键,则称该属性集是则称该属性集是A A的外键。的外键。3.4 信息世界与逻辑模型(2)关系操纵)关系操纵数据查询数据查询数据删除数据删除数据插入数据插入数据修改数据修改空值处理空值处理3.4 3.4 信息世界与逻辑模型信息世界与逻辑模型(3 3)关系中的)关系中的数据约束数据约束实实体完整性约束
15、体完整性约束关键字必须唯一,其属性值不能为关键字必须唯一,其属性值不能为NULLNULL参照完整性约束参照完整性约束外关键字必须取自参照关系的参照属性值,但可以外关键字必须取自参照关系的参照属性值,但可以为为NULLNULL用户自定义完整性用户自定义完整性约束约束学生的年龄在学生的年龄在15-3015-30之间之间3.4 信息世界与逻辑模型3面向对象逻辑模型和对象关系模型面向对象逻辑模型和对象关系模型面向对象逻辑模型面向对象逻辑模型对象关系模型对象关系模型扩充的数据类型和复杂的数据类型扩充的数据类型和复杂的数据类型继承继承引用引用3.5 计算机世界与物理模型图图3.6 数据库物理模型的三个层次
16、数据库物理模型的三个层次3.5 计算机世界与物理模型1 数据库的物理存储介质数据库的物理存储介质 主存储器主存储器共作区共作区缓冲区缓冲区磁盘存储器磁盘存储器磁带存储器磁带存储器3.5 计算机世界与物理模型2 文件系统文件系统文件系统的组成文件系统的组成项项记录记录文件文件 文件的操作文件的操作打开文件打开文件关闭文件关闭文件读记录读记录写记录写记录删除记录删除记录3.5 计算机世界与物理模型3 数据库的物理结构数据库的物理结构数据库的数据分类数据库的数据分类数据主体数据主体数据字典数据字典数据间联系的信息数据间联系的信息数据存取路径信息数据存取路径信息与数据主体有关的其他信息与数据主体有关的
17、其他信息数据库存储空间组织数据库存储空间组织3.5 计算机世界与物理模型图图3.7 数据存储空间逻辑结构图数据存储空间逻辑结构图本章小结现实世界现实世界概念化概念化形式化形式化概念世界概念世界信息世界信息世界计算机世计算机世界界物理化物理化概念模型概念模型E-R模型模型、面向对象模型、面向对象模型逻辑模型逻辑模型关系模型关系模型、对象、对象-关系模型关系模型物理模型物理模型对象的特点对象的封装性对象的封装性对象的属性与方法是封装在一起的对象的属性与方法是封装在一起的外界不能直接访问对象的属性,须通过方法外界不能直接访问对象的属性,须通过方法来访问来访问对象的特点对象标识符的独立性对象标识符的独
18、立性对象标识符独立于属性值对象标识符独立于属性值如两个品牌规格相同的茶杯,它们的属性值如两个品牌规格相同的茶杯,它们的属性值是相同的,但它们是不同的对象,具有不同是相同的,但它们是不同的对象,具有不同的的OID。对象的特点对象属性值的多值性对象属性值的多值性对象属性的取值可以是单值也可以是多值对象属性的取值可以是单值也可以是多值如学生选修多门课程,其成绩取值可以为多如学生选修多门课程,其成绩取值可以为多值值子类与超类子类与超类图图3.4 子类和超类间的子类和超类间的is-a示意图示意图类的聚合与分解类的聚合与分解图图3.5 类的聚合与分解表示类的聚合与分解表示关系的性质关系的性质907580成
19、绩成绩01S0202S0101S01课程号课程号学号学号男男女女男男性别性别192221年龄年龄D01李红李红S02D02王伟王伟S03D01张军张军S01系号系号姓名姓名学号学号键键907580成绩成绩01S0202S0101S01课程号课程号学号学号男男女女男男性别性别192221年龄年龄D01李红李红S02D02王伟王伟S03D01张军张军S01系号系号姓名姓名学号学号外键外键助教助教讲师讲师教授教授职称职称253546年龄年龄D01李红李红A002D02王丽王丽A003D01张亮张亮A001系号系号姓名姓名工号工号系号系号系名系名地址地址D01船海船海D041D02电信电信B042空值处理空值处理v在关系元组的分量中允许出现空值,空值的在关系元组的分量中允许出现空值,空值的含义如下:含义如下:未知的值未知的值不可能出现的值不可能出现的值v注意注意关系的主键中不允许出现空值关系的主键中不允许出现空值需要定义有关空值的运算需要定义有关空值的运算