版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1,第2章 数据模型,2,内 容,本章主要介绍信息的三种世界、概念模型的基本概念和E-R图的画法以及最常见的三种数据模型。 2.1 信息的三种世界 2.2 概念模型 2.3 数据模型,3,在数据库系统的形式化结构中如何抽象、表示、处理现实世界中的信息和数据呢?,数据库的数据模型,4,2.1 信息的三种世界 在数据库中用数据模型来抽象、表示和处理现实世界中的数据。 首先将现实世界的事物及联系抽象成信息世界的信息模型, 然后再抽象成计算机世界的数据模型。 数据加工经历了现实世界、信息世界和计算机世界三个不同的世界,经历了两级抽象和转换。,5,三种世界,现实世界(Real World) 存在于人脑之
2、外的客观世界 信息世界 (Information World) 现实世界在人们头脑中的反映,又称概念世界 数据世界 (Data World) 信息世界中的信息数据化后对应的产物,6,图2.1 数据处理的抽象和转换过程,7,2.2 概念模型 在信息世界中,常用的主要概念如下: 1. 实体(Entity) 客观存在并且可以相互区别的“事物”称为实体。 实体可以是可触及的对象,如一个学生,一本书,一辆汽车;也可以是抽象的事件,如一堂课,一次比赛等。 2. 属性(Attributes) 实体的某一特性称为属性。 如学生实体有学号、姓名、年龄、性别、系等方面的属性。,8,3. 实体型(Entity Ty
3、pe) 若干个属性型组成的集合可以表示一个实体的类型,简称实体型。 如学生(学号,姓名,年龄,性别,系)就是一个实体型。 4. 实体集(Entity Set) 同型实体的集合称为实体集。 如所有的学生、所有的课程等。 5. 码(Key) 能唯一标识一个实体的属性或属性集称为实体的码。 如学生的学号,学生的姓名可能有重名,不能作为学生实体的码。 6. 联系(Relationship) 在现实世界中,事物内部以及事物之间是有联系的,这些联系同样也要抽象和反映到信息世界中来,9,两个实体型之间的联系有如下三种类型: (1)一对一联系(1:1) 实体集A中的一个实体至多与实体集B中的一个实体相对应,反
4、之亦然,则称实体集A与实体集B为一对一的联系。记作1:1。 如:班级与班长,观众与座位,病人与床位。 (2)一对多联系(1:n) 实体集A中的一个实体与实体集B中的多个实体相对应,反之,实体集B中的一个实体至多与实体集A中的一个实体相对应。记作1:n。 如:班级与学生、公司与职员、省与市。 (3)多对多(m:n) 实体集A中的一个实体与实体集B中的多个实体相对应,反之,实体集B中的一个实体与实体集A中的多个实体相对应。记作(m:n)。 如:教师与学生,学生与课程,工厂与产品。,10,实际上,一对一联系是一对多联系的特例,而一对多联系又是多对多联系的特例。 可以用图形来表示两个实体型之间的这三类
5、联系,如图书 2.2所示。 图2.2 不同实体集实体之间的联系,11,在计算机世界中,常用的主要概念: 1. 字段(Field) 对应于属性的数据称为字段,也称为数据项。字段的命名往往和属性名相同。 如学生有学号、姓名、年龄、性别、系等字段。 2. 记录(Record) 对应于每个实体的数据称为记录。 如一个学生(990001,张立,20,男,计算机)为一个记录。 3. 文件(File) 对应于实体集的数据称为文件。 如所有学生的记录组成了一个学生文件。,12,在计算机世界中,信息模型被抽象为数据模型,实体型内部的联系抽象为同一记录内部各字段间的联系,实体型之间的联系抽象为记录与记录之间的联系
6、。 实体模型和数据模型是现实世界事物及其联系的两级抽象。 三个世界中各术语的对应关系如图2.3所示。 现实世界信息世界 计算机世界 事物总体实体集 文件 事物个体实体 记录 特征属性 字段 事物间联系实体模型 数据模型 图2.3 三个世界各术语的对应关系,13,2.2.2 实体-联系模型,E-R(Entity-Relationship)模型 直接从现实世界中抽象出实体类型及实体间的联系,是对现实世界的一种抽象,它的主要成分是实体、联系和属性。 E-R模型的图形表示称为E-R图 用矩形表示实体,在框内写上实体名。 用椭圆形表示实体的属性,并用无向边把实体和属性连接起来。 用菱形表示实体间的联系,
7、在菱形框内写上联系名,用无向边分别把菱形框与有关实体连接起来,在无向边旁注明联系的类型。,14,例如:学生实体和班级实体的联系的E-R图。,15,例如:有一个高等学校信息数据库系统,包含学生、教师、专业、教科书和课程五个实体,实体联系的E-R图,16,2.3 数据模型 数据模型是对客观事物及联系的数据描述,是概念模型的数据化 数据模型的选择,是设计数据库的首要任务。 数据模型通常由数据结构、数据操作和数据的完整性约束三部分组成 目前最常用的数据模型有 层次模型(Hierarchical Model) 网状模型(Network Model) 关系模型(Relational Model),17,数
8、据结构 数据结构是对计算机的数据组织方式和数据之间联系进行框架性描述的集合,是对数据库静态特征的描述。 数据操作 数据操作是指数据库中各记录允许执行的操作的集合,包括操作方法及有关的操作规则等,例如插入、删除、修改、检索、更新等操作,是对数据库动态特征的描述。 数据的完整性约束 数据的约束条件是关于数据状态和状态变化的一组完整性约束规则的集合,以保证数据的正确性、有效性和一致性。 其中层次模型和网状模型是早期的数据模型,统称为非关系模型。 这三种数据模型的根区别在于数据结构不同,即数据之间联系的表示方式不同。,18,2.3.1 层次模型 层次模型是数据库系统中最早出现的数据模型,IBM公司的I
9、MS(Information Management System)数据库管理系统是典型代表。 现实世界中,许多实体之间的联系都表现出一种很自然的层次关系,如家族关系,行政机构等。 层次模型用一棵“有向树”的数据结构来表示各类实体以及实体间的联系。,19,图2.4是层次模型有向树的示意图。结点A为根结点,,F,G为叶结点,B,D为兄结点 图2.4 层次模型有向树的示意图,20,1. 层次模型的特征 (1)只有一个结点没有双亲结点,称为根结点。 (2)根结点以外的其他结点有且只有一个双亲结点。 例如:以下是一个层次模型的例子,如图2.5所示。,图2.5 TS数据库模型,21,2. 层次模型的数据操
10、纵与数据完整性约束 层次模型的数据操纵主要有查询、插入、删除和修改, 进行插入、删除和修改操作时要满足层次模型的完整性约束条件。 进行插入操作时,如果没有相应的双亲结点值就不能插入子女结点值; 进行删除操作时,如果删除双亲结点值,则相应的子女结点值也被同时删除; 修改操作时,应修改所有相应的记录,以保证数据的一致性。,22,3. 层次模型的优缺点 层次模型的优点主要有: (1)比较简单,只需很少几条命令就能操纵数据库,比较容易使用。 (2)结构清晰,结点间联系简单,只要知道每个结点的双亲结点,就可知道整个模型结构。现实世界中许多实体间的联系本来就呈现出一种很自然的层次关系, 如表示行政层次,家
11、族关系很方便。 (3)它提供了良好的数据完整性支持。,23,层次模型的缺点主要有: (1)不能直接表示两个以上的实体型间的复杂的联系和实体型间的多对多联系,只能通过引入冗余数据或创建虚拟结点的方法来解决,易产生不一致性。 (2)对数据的插入和删除的操作限制太多。 (3)查询子女结点必须通过双亲结点。,24,2.3.2 网状模型 现实世界中事物之间的联系更多的是非层次关系的,用层次模型表示这种关系很不直观, 网状模型克服了这一弊病,可以清晰的表示这种非层次关系。 网状模型取消了层次模型的两个限制,两个或两个以上的结点都可以有多个双亲结点,则此时有向树变成了有向图,该有向图描述了网状模型。,25,
12、网状模型的特征 (1)有一个以上的结点没有双亲; (2)至少有一个结点可以有多于一个双亲。,如:学生和课程间的关系。一个学生可以选修多门课程,一门课程可以由多个学生选修。如图2.6所示 图2.6 学生与课程的网状模型,26,2. 网状模型的数据操纵与完整性约束 网状模型的数据操纵主要包括查询、插入、删除和修改数据。 (1)插入操作允许插入尚未确定双亲结点值的子女结点值。 (2)删除操作允许只删除双亲结点值。 (3)更新操作只需要更新指定记录即可。 (4)查询操作可以有多种方法,可根据具体情况选用。 它没有像层次数据库那样有严格的完整性约束条件,只提供一定的完整性约束。,27,3. 网状模型的优
13、缺点 网状模型的优点主要有: (1)能更为直接地描述客观世界,可表示实体间的多种复杂联系。 (2)具有良好的性能和存储效率 网状模型的缺点主要有 (1)结构复杂,其DDL语言极其复杂。 (2)数据独立性差,由于实体间的联系本质上是通过存取路径表示的,因此应用程序在访问数据时要指定存取路径。,28,2.3.3 关系模型 关系模型是发展较晚的一种模型 关系数据库已成为目前应用最广泛的数据库系统,如现在广泛使用的小型数据库系统Foxpro、Acess,大型数据库系统Oracle、Informix、Sybase、SQL Server等都是关系数据库系统。,29,1. 关系模型的基本概念 关系模型中每个
14、二维表又可称为关系,所以关系模型是“关系框架”的集合。 关系模型与层次模型、网状模型不同,它是建立在严格的数学概念之上的。 图2.7给出了教学数据库的关系模型及其实例,包含五个关系:教师关系T、学生关系S、课程关系C、选课关系SC和授课关系TC,分别对应五张表。,30,T(教师表),31,S(学生表),32,C(课程表),33,SC(选课表) TC(授课表),34,(1)关系(Relation) 一个关系对应一张二维表,上图的五张表对应五个关系。 (2)元组(Tuple) 表格中的一行,如S表中的一个学生记录即为一个元组。 (3)属性(Attribute) 表格中的一列,相当于记录中的一个字段
15、,如S表中有五个属性(学号,姓名,性别,年龄,系别)。 (4)关键字(Key) 可唯一标识元组的属性或属性集,也称为关系键或主码,如S表中学号可以唯一确定一个学生,为学生关系的主码,35,(5)候选关键字或候选码 一个关系中,存在多个属性(或属性组合)都能用来唯一标识该关系中的元组,候选码可以有多个。 (6)主键或主码 指定作为关键字的候选关键字称为该关系的主键或主码(Primary Key),叫关系的主码。 (7)主属性和非主属性 包含在任何候选关键字中的各个属性称为主属性;不包含在任一候选码中的属性称为非主属性。 (8)外键或外码 一个关系的某个属性(或属性组合)不是该关系的主键或只是主键
16、的一部分,却是另一个关系的主码,则称这样的属性为该关系的外键或外码(Foreign Key)。 外码是表与表联系的纽带。,36,(9)域(Domain) 属性的取值范围,如年龄的域是(1440),性别的域是(男,女)。 (10)分量 每一行对应的列的属性值,即元组中的一个属性值,如学号、姓名、年龄等均是一个分量。 (11)关系模式 对关系的描述,一般表示为:关系名(属性1,属性2,属性n),如:学生(学号,姓名,性别,年龄,系别)。,37,在关系模型中,实体是用关系来表示的,如: 学生(学号,姓名,性别,年龄,系别) 课程(课程号,课程名,课时) 实体间的关系也是用关系来表示的,如: 学生和课程之间的关系 选课关系(学号,课程号,成绩),38,2. 关系模型的数据操纵与完整性约束 数据操纵主要包括查询、插入、删除和修改数据,这些操作必须满足关系的完整性约束条件,即实体完整性、参照完整性和用户定义的完整性。 在非关系模型中,操作对象是单个记录,而关系模型中的数据操作是集合操作,操作对象和操作结果都是关系,即若干元组的集合; 用户只要指出“干什么”,而不必详细说明“怎么干”,从而大大地提
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- Python基础与大数据应用(第2版)(微课版) 教案 单元 09 数据分析基础
- 精.品解析:【全国县级联考】2024学年七年级下学期期末考试地理试卷(解析版)
- 火灾基础技术10
- 军舰损管堵漏与应急消防训练大纲
- 湖南省岳阳市2026年中考二模试卷历史试题附答案
- 家庭面条机面水比调节指南
- T∕CNLIC 0189-2025 食品加工用燕窝
- 学生磁场考试题及答案
- 联产3225吨二氧化硅、13910吨氯化钾、1300吨十水硫酸钠建设项目可行性研究报告模板立项申批备案
- 《高级经济实务(工商管理)》历年真题及答案解析
- 2026江苏南京六合经济开发区所属国有企业招聘6人笔试历年参考题库附带答案详解
- 2025年贵州省贵阳市初二地理生物会考考试试题及答案
- 2026年宁波市九年级中考语文一模试卷附答案解析
- 第13课 每个人都有梦想 课件(内嵌视频)2025-2026学年道德与法治二年级下册统编版
- 2026年高考数学终极押题猜想(上海专用)(原卷版)
- 2026年中考道德与法治模拟考试卷(附答案)
- 【完整版】施工现场群体性事件应急预案
- 2026年中考历史考前冲刺:小论文 满分方法指导讲义
- 2026年中职舞蹈教师考试试题
- 2026首创证券股份有限公司校园招聘备考题库附答案详解ab卷
- 水利水电工程单元工程施工质量检验表与验收表(SLT631.5-2025)
评论
0/150
提交评论