没有合适的资源?快使用搜索试试~ 我知道了~
数据库复习资料 (2).doc
0 下载量 84 浏览量
2022-11-26
17:01:59
上传
评论
收藏 347KB DOC 举报
温馨提示
试读
33页
数据库复习资料 (2).doc
资源推荐
资源详情
资源评论
第一章 数据库系统概论
一、数据库技术概述
1. 数据、数据处理、数据管理
数据是描述现实世界中各种具体事物或抽象概念的可存储并具
有明确意义的各种符号。
数据处理是指包括数据采集、整理、编码和输入,从而有效地将
数据组织到计算机中,由计算机对数据进行存储、加工、分类、
检索、传输和输出等一系列的操作过程。
数据管理是指数据处理的一系列活动中的基本操作环节,如对数
据的组织、存储、检索和维护等工作,它是数据处理的核心。通
俗说,数据管理就是指在计算机系统里对数据所进行的操作。在
数据组织到计算机中之前不属于数据管理,将数据通过网络传输
到另一个计算机系统的传输动作也不属于数据管理。
人工管理阶段
背景:硬件,没有直接存取设备,软件,没有操作系统及管理数
据的软件;数据处理的方式为批处理
文件系统阶段
背景:硬件,有直接存取设备,软件,有操作系统和专门的数据
管理的软件;数据处理方式可为批处理方式也可为联机方式
数据库系统阶段
背景:多用户、多应用共享数据要求,大量数据处理需求。
3. 数据库系统
数据库系统指在计算机系统中引入数据库后的系统构成,由六部
分构成:
数据库(DataBase,DB) 是存储在计算机系统内的、有结构的
数据的集合;
数据库管理系统(DataBase Management System,DBMS) 是管理
数据库的系统软件,为用户和数据之间提供接口,使用户可对数
据库进行各种操作。是数据库系统的核心部分。
运行环境 包括计算机硬件系统、操作系统、开发工具等;
数据库管理员(DataBase Administraor,DBA) 主要负责设计、
建立、管理和维护数据库,协调各用户对数据库的要求等;DBA
不一定只是一个人,可以是一个工作组;
用户(Users) 数据库系统的服务对象。
数据库应用系统 满足用户功能需求的软件系统。
二、数据模型
1. 数据模型概述
数据模型是数据抽象的工具,即用此工具来组织数据,使数据结
构化。目前广泛使用的数据模型可分为两个层次。第一层数据模
型是独立于计算机系统的模型,它完全不涉及信息在系统中的表
示,只是用来描述某个特定组织所关心的信息结构,这类模型称
为“概念数据模型”。第二层数据模型是依赖于计算机系统的模
型,它是直接面向数据库的逻辑结构,这类模型涉及到计算机系
统和数据库管理系统,这类模型称为“结构数据模型”。
现实世界(事物 事物特性)
信息世界(实体 实体属性)
数据世界(记录 数据项)
概念模型
结构模型
1. 现实世界的抽象过程
现实世界
客观存在的世界。在现实世界中存在着各种运动着的物质,即各
种事物及事物之间的联系。客观世界中的事物都有一些特征,人
们正是利用这些特征来区分事物。
信息世界
人们通过大脑对客观世界的感知,又通过分析、归纳、抽象等方
法处理,形成信息,对这些信息进行记录、整理、归纳和格式化,
即构成了信息世界。
实体联系模型、对象模型
数据世界(机器世界)
数据化了的信息世界称为数据世界,也叫机器世界。
关系模型、层次模型、网状模型
2. 概念数据模型
概念数据模型是独立于计算机系统,完全不涉及数据在计算机系
统中的表示,按用户的观点在信息世界中对事物建模,强调其语
义表达能力,主要用于数据库概念设计。
典型的概念模型有:实体联系模型(ER 模型)和对象模型。
3. 结构数据模型的三要素
结构数据模型是面向计算机系统的,是现实世界中的信息最终在
机器世界中得到的反映,它通常有一组严格定义了语法和语义的
语言,人们可以使用它来定义、操纵数据库的数据。典型的结构
数据模型有:层次模型、网状模型和关系模型。
数据结构
数据操作
数据约束
3.1 数据结构
数据结构用于描述数据的静态特性。数据结构不仅要描述数据本
身,如数据类型、内容、属性;还要描述数据之间的联系。
不同的数据模型采用不同的数据结构。在关系数据模型中用数据
记录和数据项来描述。
3.2 数据操作
数据操作用于描述数据的动态特性。是指对数据库中的数据所允
许执行的操作的集合。主要有插入、删除、修改和查询四种操作。
3.3 数据约束
数据约束是一组完整性规则的集合。完整性规则是数据模型中数
据及其联系所具有的约束规则,用来限定数据库状态以及状态的
变化,以保证数据的正确性。
完备的数据模型都会提供描述约束的机制,尽可能完整地描述现
实系统中对事物的约束规定,以达到真实描述现实系统的目的。
4. 层次模型
层次模型(Hierarchical Data Model)是数据库系统中最早出现的
数据模型。20 世纪 60 年代后期,IBM 开发出 IMS (Information
Management System) DBMS,是层次数据模型的基础。
层次模型是以记录型为结点的有向树。用树形结构表示各类实体
以及实体之间的联系。现实世界中许多实体之间的联系就呈现出
一种很自然的层次关系,如:行政机构、家庭关系等。
层次模型中,每个结点表示一个记录类型,结点之间的连线表示
记录类型间的联系,但这种联系只能是父子联系。
层次模型中,任何一个给定的记录值,只有按其路径查看时,才
能显示出它的完整意义。没有一个子女记录值能够脱离双亲记录
值而独立存在。
层次模型的数据结构——树结点表示“实体”,即一条记录,树
结点之间的连线表示“联系”。
层次模型的数据操作——按数据结构中对树的操作,实现结点的
增加、删除、修改和查询。
层次模型的数据约束——一个模型一个根,根以外的结点只有一
个双亲结点,一对多关系。
5. 网状模型(Net Data Model)
网状数据模型的典型代表是 DBTG 系统,亦称 CODASYL 系统。
网状模型去掉了层次模型的两个限制,允许结点有多个双亲结点。
可比层次模型更直接地描述现实世界。它是层次模型的泛化。
数据结构—用有向图描述,图顶点表示实体,边表示实体间的联
系。
数据操作—实现对图中顶点的插入、删除、修改和查询。
数据约束—没有约束。
6. 关系模型
关系模型是由 E.F.Codd(埃德加.考特)于 1970 年首先提出。它的
基础不是图而是表。用二维表来表示实体和联系。每个二维表称
为一个关系。
表中每一行代表一个实体,表中每一列则代表实体的属性。二维
表既反映了实体本身,也反映了实体与实体间的联系。
数据结构——表中的行表示实体,表和表之间的相同属性反映实
体间的联系。
数据操作——按行可以增加、删除、修改和查询实体。
数据约束——任何两行不能完全相同,主键约束、域值约束、参
照完整性约束、用户自定义约束等。
7. 面向对象模型
面向对象模型(Object-Oriented Data Model)用对象来描述事
物,一个事物即为一个对象。
面向对象模型的数据结构——用对象、对象属性及对象之间的联
系来描述。
面向对象模型的数据操作及完整性约束则是统一封装在对象之
中的。
三、数据库系统的构造
数据库系统的三级模式
数据库系统总体结构
数据库系统的主要特点
1. 数据库系统三级模式结构
1.1 数据的独立性概念
所谓数据独立性,是指应用程序独立于数据的逻辑表示与物理存
储。通过将数据的定义与存储从程序中独立出来实现。
1.2 数据的逻辑独立性
数据逻辑独立性是当概念模式改变时,例如,增加了新的关系、
新的属性、改变了属性的数据类型等,由 DBA 对各个外模式/概
念模式的映象作相应改变,可使外模式尽可能保持不变。由于应
用程序是依据数据的外模式编写的,从而应用程序不必修改,保
证了数据与程序的逻辑独立性,简称数据的逻辑独立性。
1.3 数据的物理独立性
数据的物理独立性 是指当数据库的内模式发生改变时,如存储设
备或存储方法发生改变,由 DBA 对概念模式/内模式映象作相应
改变,使概念模式尽可能保持不变,从而应用程序也不必改变,
保证了数据与程序的物理独立性,简称数据的物理独立性。
2. 数据库系统总体结构图
数据库设计部分结合三级模式讲透。
案例教学:以教学管理系统为例。
教学管理系统面向教务管理员、教师、学生、教学管理领导。
在此引出视图的概念
3. 数据库系统的主要特点
数据结构化
可控数据冗余
数据共享性好
多种应用、多种语言共享
数据独立性高
集中统一控制
数据的安全性控制
数据的完整性控制
并发控制
四、数据库管理系统
什么是数据库管理系统
数据库管理系统的功能
数据库管理系统的组成
数据库语言
1.什么是数据库管理系统
数据库管理系统(DataBase Management System)简称为 DBMS。
是一种负责数据库定义、建立、操作、管理和维护的系统软件。
它的作用既类似于命令解释器,把用户对数据库的操作命令转换
为对系统存储文件的操作;又类似于一个向导,把用户对数据库
的一次访问,从用户级带到概念级,再导向物理级。
2. DBMS 的功能
数据库的定义
数据库的建立
数据库的操作
数据库的控制
数据库的维护与故障恢复
数据通信
。
3. 数据库管理系统的组成
从程序的角度看,数据库管理系统是一组程序的集合体,按程序
的功能可分为如下三类。
3.1 语言处理程序
3.2 运行控制程序
3.3 服务性程序
3.1 语言处理程序
向用户提供数据库的定义、操作等功能。由以下编译程序或解释
程序组成:
数据库各级模式的语言处理程序。其作用是将各级源模式编译成
各级目标模式。
数据库操作编译处理程序。即将应用程序中 DML 语句转换成主语
言编译程序能处理的形式,实现预编译。
查询语言解释程序。处理终端查询语句,并决定其操作的执行过
程。
数据库控制语言解释程序。解释每个数据库控制命令的含义,决
定操作的执行过程。
3.2 运行控制程序
负责数据库运行时的管理、调度和控制。由以下程序模块组成:
系统总控程序。它是整个 DBMS 的核心,负责控制、协调 DBMS 各
个程序的活动,保证系统有条不紊地工作。
访问控制程序。其内容包括核对用户、口令,核对授权和密码,
检验访问的合法性,以决定一个访问是否能进入数据库;
并发控制程序。在多个用户同时访问数据库时,通过管理访问队
列和封锁表,以及封锁的建立和撤消等工作,协调各个用户的访
问,以避免造成数据修改和丢失等不正常现象,从而保证各应用
程序读写数据的正确性;
保密控制程序。在执行操作之前,核对保密规定。即数据加密约
定。
数据的完整性控制程序。在执行用户请求的每次操作前或后,核
对数据的完整性约束条件,从而决定是否允许操作执行。
数据存取程序。执行数据存取操作,是 DBMS 与文件系统的接口。
把用户对数据库的访问请求转换为相应的文件存取命令,通过文
件系统从相应的物理文件中读出数据,或向相应的物理文件写入
数据。
数据更新程序。执行数据库中数据的插入、删除和修改操作,并
负责修改相应的指针。
通信控制程序。实现用户程序与 DBMS 之间的通信。
3.3 服务性程序
提供数据库中数据的装入和维护等服务性功能,由以下一些程序
模块组成:
数据库装入程序 该程序将初始数据装入数据库中。
运行日志程序 该程序记载对数据库的所有访问,包括用户名、
进入时间、操作方式、操作对象、数据修改前的值和数据修改后
的值等。
重组织程序 当数据库性能变坏时,需要重新组织数据库,该程序
可按原组织方法重新装入数据或采用新方法、新结构重新组织数
据。
数据库恢复程序 当数据库系统遭到破坏时,数据库系统恢复程序
可将系统恢复到可用状态。
性能监控程序 该程序监督用户操作的执行时间与数据存储空间
的占用情况,估算系统性能,以决定数据库是否需要重新组织。
转贮程序
编辑和打印程序
4. 数据库语言
数据库管理系统是用户与数据库之间的接口。一个数据库管理系
统必须为用户提供某种工具完成下列工作:建立自己的数据库,
对数据库进行各种操作。这个工具就是数据库语言。
数据库语言包括数据描述语言、数据操作语言、数据库管理例行
程序三大部分。
最常用的数据库语言就是 SQL 语言。
4.1 数据描述语言
Data Description Language,负责描述和定义数据的各种特性。
这些特性包括数据的结构、数据之间的关系、数据的完整性约束
等。这些描述和定义被存储在数据库管理系统中的数据字典中。
数据字典(Data Dictionary, DD) 是数据库管理系统中的一个
特殊文件,用于存储数据库的一些说明信息,这些说明信息称为
元数据(Meta Data)。参见 P20.
SQL 语 言 中 的 Create Table,Create View,Create
Database,alter database,Drop table,Alter table 等都是数据
描述语言。
4.2 数据操作语言
Data Manipulation Language,是用户操作数据库中数据的工具。
一般包括以下几方面的操作:
从数据库中检索满足条件的数据;
把新的数据记录插入到数据库中去;
从数据库中删除某些过时的、没有保留价值的原有数据;
修改某些已经发生了变化的数据项值,使之能确切反映变化后
的情况。
如,Select, Insert, Delete,Update 等。
按使用方式可将数据操作语言分为宿主式操作语言和自主式操
作语言。宿主式操作语言也称为嵌入式操作语言。
4.3 数据库管理例行程序
存取控制例行程序
安全性控制例行程序
完整性控制例行程序
事务管理例行程序
恢复例行程序
监控例行程序
五、数据库应用系统开发概述
两种模式
C/S 模式
B/S 模式
组件与分布式对象技术
组件技术
分布式对象技术
1. C/S 模式
是一种分布式的计算模式。C/S 模式通过网络环境,将应用划分
为“前端”和“后台”。前端由客户机担任 GUI(Graphic User
Interface)处理以及向服务器发送用户请求和接收服务器回送
的处理结果;后端为服务器,主要承担数据库的管理,按用户请
求进行数据处理并回送结果等工作。
两层 C/S 结构
网络为局域网,表示层和功能层揉在一起的,逻辑上没有分开,
只是将数据层分开。
三层 C/S 结构
表示层、功能 层、数据层。
表示层
表示层是应用的用户接口部分,它担负着用户与应用间的对
话功能。它用于检查用户从键盘等输入的数据,显示应用输出的
数据。为使用户能直观地进行操作,一般要使用图形用户接口
(GUI),操作简单、易学易用。在变更用户接口时,只需改写显示
控制和数据检查程序,而不影响其他两层。检查的内容也只限于
数据的形式和值的范围,不包括有关业务本身的处理逻辑。 在
这层的程序开发中主要是使用可视化编程工具。
功能层
功能层相当于应用的本体,它将具体的业务处理逻辑编入程
序中。例如,在制作订购合同时要计算合同金额,按照定好的格式
配置数据、打印订购合同,而处理所需的数据则要从表示层或数
据层取得。表示层和功能层之间的数据交换要尽可能简洁。例如,
用户检索数据时,要设法将有关检索要求的信息一次传送给功能
层,而由功能层处理过的检索结果数据也一次传送给表示层。在
应用设计中,一定要避免进行一次业务处理,在表示层和功能层
间进行多几次数据交换的笨拙设计。这层的程序多半是用可视化
编程工具开发的,也有使用 C 语言的。
数据层
数据层就是 DBMS,负责管理对数据库数据的读写。DBMS 必须
能迅速执行大量数据的更新和检索。现在的主流是关系数据库管
理系统(RDBMS)。因此,一般从功能层传送到数据层的要求大都使
用 SQL 语言。
三层 C/S 的优点:
具有灵活的硬件系统构成
提高程序的可维护性
利于变更和维护应用技术规范
进行严密的安全管理
2. B/S 模式(多层)
3. 组件技术
组件(Component),是指具有某种功能的独立软件单元,其最重
要的特性是可复用性。组件模型由组件和容器构成。
组件通过接口向外界提供功能入口。组件的范围很广,小到一个
按钮,大到一个系统,如浏览器。
容器(Container),是一种存放相关组件的“器皿”。如表单(Form)、
页面(Page)、框架(Frame)等。
组件技术应解决两个问题:复用和互操作。
常见的组件规范有:VBX、OCX、ActiveX。
VBX、OCX、ActiveX 都是由微软推出的
4. 分布式对象技术
组件向分布式环境延伸,形成了分布式对象技术。
利用分布式对象技术,可以实现异构平台间分布式对象间的相互
通信,极大地提高系统的可扩展性。
组 件 技 术 与 分 布 式 技 术 用 得 较 广 泛 的 模 型 有 : CORBA 、
COM/DCOM/COM+、JavaBeans/EJB/J2EE。参见 P32-33。
六、数据库技术的发展
第一代数据库系统
第二代数据库系统
OLTP 与 OLAP
数据仓库与数据挖掘
并行与分布式数据库系统
Internet/Web 数据库
面向对象的数据库系统
1. 第一代数据库系统
以层次数据库管理系统和网状数据库管理系统的出现为标志,其
典型代表分别是 IMS 和 DBTG 系统。
层次数据库和网状数据库均支持三级模式的体系结构,均用存取
路径表示数据间的联系,都有数据定义语言和导航式的数据操纵
语言。
对这两种数据库的应用要求:一是要熟悉数据库的各种路径,二
是有较高的应用数据库的编程技巧。
层次型和网状型均缺少相应的数学理论基础。
2. 第二代数据库系统
支持关系数据模型的关系数据库系统是第二代数据库系统。
关系模型既简单,又有坚实的数学基础。
3. OLTP 与 OLAP
OLTP(Online Transaction Processing)即联机事务处理。是一种
数据库应用技术。如民航的订票系统、银行储蓄系统、证券交易
系统等均属于 OLTP 的应用。
OLAP(Online Analysis Processing)即联机分析处理。也是一种
数据库应用技术,1993 年由 E.F.Codd 提出。OLAP 着重于“数据
分析”,而 OLTP 着重于“数据管理”。OLAP 的典型应用就是决策
支持系统(DSS)。
4. 数据仓库与数据挖掘
数据仓库(Data Warehouse)的概念由 W.H.Inmon 于 1991 年提出,
其给出的定义为:数据仓库是面向主题的、集成的、稳定的、不
同时间的数据集合,用以支持经营管理中决策制定过程。
Sybase: Industry Warehouse Studio 3.2
IBM: Visual Warehouse OLAP
Oracle: Oracle Warehouse Builder
Microsoft: SQL Server OLAP Service
数据挖掘(Data Mining)是在大量的、不完整的、有噪声的数据中
发现潜在的、有价值的模式和数据间关系的过程。
数据挖掘技术有:判断法、决策树、人工神经网络、遗传算法、
模糊技术、粗集方法、可视化技术等。
5. 并行与分布式数据库系统
并行数据库系统即将传统的数据库管理技术与并行处理技术相
结合形成的数据库系统。其特点是由多处理机及多个磁盘构成,
数据库系统的吞吐量大大提高,事务响应时间大大缩短。
分布式数据库系统,目前没有统一的定义,多种理解参见 P45。
具有如下特点:
数据的物理分散性;数据的逻辑整体性;数据分布的独立性;站
点自治与协调;数据的冗余与冗余透明性。
6.Internet/Web 数据库
Internet/Web 数据库,其实质是在传统的关系数据库技术基础上,
对数据库模型、存储机制和检索技术等方面进行改进,而构造出
基于 Internet/Web 应用的数据库系统。
Internet/Web 数据库的主要特征:采用多维处理、变长存储以及
面向对象等新技术,使数据库应用转为全面基于 Internet 的应
用。
7. 面向对象的数据库系统
面向对象的数据库系统(OODBS),即以面向对象的程序设计语言
为基础,引入数据库技术,来建立的新一代的数据库系统。
OODBS 概念是 1989 年以英国 Glasgow 大学的 Atkinson 为首的 6
名学者首先提出的。
1990 年,以美国 Berkeley 大学 Stonebraker 为首的 DBMS 功能委
员会提出以关系数据库系统为基础,建立对象—关系数据库系统
(ORDBS)。
有人把 ORDBS 归为第三代数据库系统,而把 OODBS 归为第四代数
据库系统。
第二章 实体联系数据模型
一、数据模型综述
1.为什么需要数据模型?
由于数据的定义与操作从应用程序中剥离出来,交由 DBMS 来定
义和管理。于是 DBMS 需要采用某种数据结构来定义、存储所要
管理的数据。狭义上讲,这种数据结构就是 DBMS 的数据模型。
另一方面,现实系统要向计算机化的管理转变,因此,在数据库设
计时,也必须用某种方式将其所关心、管理的数据抽取出来并组
织起来,数据模型也正是起到这种作用。
技术上的要求和应用要求
数据的静态结构。
数据的动态操作(增删改查询)。
数据的完整性约束。
综合说来,应描述数据、数据之间的联系、数据语义及完整性限
制,同时还需要提供对数据操作的方法。
2. 如何描述数据模型?
用数据模型的三要素
3.如何评价数据模型?
真实地描述现实系统。—基本要求
易于为一般用户所理解。
易于计算机实现。
4.数据模型为什么有层次性?
从数据抽象的过程看。
数据模型是数据库设计时数据抽象的工具,由于抽象层次的存在,
相应地,数据模型也会有层次。
从评价指标(第二、三项)的互斥性看。
目前已被商用化 DBMS 支持的数据模型中,没有一个能同时满足
上述三项要求。也就是说无法在数据库应用系统开发时,从设计
到实现只使用一个数据模型。
5.数据模型的未来
有两个发展方向:
设计、开发与实现的一统数据模型。如面向对象模型。
“层次共存,自动转换”。即设计用的数据模型到数据库管理系
统所用的数据模型之间的相互转换由计算机辅助完成。如实现
ERM 向 关 系 模 型 相 互 转 换 的 工 具 有 : Sybase 公 司 的 Power
Designer、CA 公司的 ERwin 等;实现对象模型向关系模型转换的
工具有:Rational 公司的 Rose。
6.ERM 的地位与作用?
传统三种数据模型的特点:能较好地满足第一和第三项评价要求。
三种数据模型的不足:不易被业务用户理解。这是提出语义数据
模型(Semantic Data Model)的基础。
实体联系模型(Entity Relationship Model, ERM)是用得最多且
最成熟的语义数据模型。属于数据库应用系统设计的内容。
从数据库应用系统设计角度看,ER 模型主要用于 DB 概念设计,
是 DB 概念设计较常用的设计工具。
二、数据库设计综述
数据库设计一般分为如下步骤:
需求分析
概念数据库设计
逻辑数据库设计
模式优化
物理数据库设计
安全设计
三、实体联系模型
实体、实体集及属性
联系及联系集
ERM 中的完整性约束
弱实体
ERM 各元素图示
1. 实体、实体型及属性
1.1 实体、实体型
实体(Entity):现实世界中有别于其他对象的对象。对象可以是
具体的,也可以是抽象的。具体的实体如某某学生、某某老师等;
而抽象的实体如某门课程、某份合同等。
实体型(Entity Set):同类实体的集合。通常情况下简称为实体。
如学生、教师、课程、合同。
实体是指具体的个体,而实体型是对有共同特性的实体进行归类。
实体用矩形来表示。
学生
1.2 属性
属性(Attribute):是指实体的特征或性质,即实体用属性描述。
如学生实体的属性有:学号、姓名、生日、年龄、性别、住址等。
属性按结构分:简单属性、复合属性和子属性。简单属性表示属
性不可再分;复合属性表示该属性还可再分为子属性。如姓名可
分为现用名、曾用名、英文名等。
实体用属性描述,实体集中的所有实体具有相同的属性。
属性用椭圆框表示。
1.3 域
域(Domain):指属性的取值范围。
属性按取值分,有单值属性,多值属性、导出属性和空值属性。
只有一个取值的属性称为单值属性;多于一个取值的属性为多值
属性;值不确定或还没有值的属性称为空值属性;其值可由另一
个属性的取值推导出来的属性为导出属性。
多值属性如学位,一个人可能获得多个学位;导出属性如年龄,
可由生日导出;空值属性如学位,当还没有获得学位时,其值不
定。
1.4 键
键(Key):能惟一标识实体的一个或一组属性。如学号、课程号
等。
按键所包含的属性个数分:简单键和复合键。由一个属性构成的
键称为简单键;由多个属性构成的键称为复合键。
候选键(Candidate Key):最小属性集合的键。
主键(Primary Key):当存在多个候选键时,需选定其中一个作为
主键,将其作为描述实体的惟一标识。
键用属性名加下划线表示。 学号
最小属性集合,意即在该集合中没有一个属性是多余的。如学生
实体,其属性有:学号,姓名,性别,年龄等,在这些属性中,
学号可惟一确定各个不同的实体,根据键的定义,学号是键;同
样,学号与姓名的集合也可以惟一确定各个不同的实体,(学号,
姓名)也是键,但它不是候选键,因为在这个键的集合中,姓名
是多余的。进而可以得出结论:单属性的键一定是候选键,多属
性构成的键有可能不是候选键。
2. 联系及联系型
2.1 联系及联系集
联系
联系(Relationship):是两个或多个实体间的关联。
如“张三”选修“C 语言”,此联系用“成绩”属性来描述。
2.1 联系及联系型(续)
联系型
联系型(Relationship Set):相似的一组联系称为联系型。因此
联系型就是实体型与实体型之间的联系。通常简称为联系。
联系型的阶:一个联系型所关联的实体型的数量 n,称为联系型
的阶。即称为 n 元联系。如“学生”与“课程”两个实体型通过
“选课”关联,此联系称为二元联系。如“商品”、“客户”、“售
货员”三个实体型通过“门市另售”相关联,此联系称为三元联
系。见图 2-2。
2.2 联系型存在的几种情况
联系用棱型框表示。
联系型存在的 4 种情况
二元联系(Binary Relationship):
三元联系(Ternary Relationship):
两个实体型间存在多个不同的联系:如“员工”和“部门”两个
实体之间既存在“工作”关系,又存在“管理”关系。
递归联系(Recursive Relationship):同一个实体型中的两个实
体之间存在的关联。如“员工”实体型中的两个具体的人之间存
在的“领导”与“被领导”关系。
归纳
上面所介绍的是关于实体联系模型的数据结构的内容。
它是利用“实体”来描述现实世界中的客观事物,实体又由“属
性”来描述,并用主键来惟一标识;用“联系”来描述事物之间
的关联,联系也可有其属性描述,联系由所参与实体的主键共同
惟一标识。
实体联系模型缩写为 ERM。
3. ERM 中的完整性约束
3.1 一般性约束
根据关联的实体参与到联系中数量间的约束,联系型可分为:
一对一(1:1)联系
一对多(1:n)联系
多对多(m:n)联系
联系型分类定义
定义 设联系型 R 关联实体型 A 和 B,如果 A 中的一个实体只与 B
中的一个实体关联,反过来,B 中的一个实体也只与 A 中的一个
实体关联,则称 R 是一对一联系型;如果 A 中的一个实体与 B 中
的 n 个实体关联,反过来,B 中的一个实体只与 A 中的一个实体
关联,则称 R 是一对多联系型;如果 A 中的一个实体与 B 中的 n
个实体关联,反过来,B 中的一个实体又与 A 中的 m 个实体关联,
则称 R 是多对多联系型。
3.2 键约束
键约束(Key Constraint)是指在一个联系型 R 中,实体型 A 中的
一个实体,对应在实体型 B 中只能找到一个相关联的实体;或实
体型 B 中的一个实体,对应在实体型 A 中只能找到一个相关联的
实体。
键约束的作用
键约束对于联系型主键的确定有重要的作用。对于 1:1 联系,其
主键就可取关联的任一实体的主键独立担当;对于 1:n 联系,其
主键只需由 n 方实体的主键担当;对于 m:n 联系,其主键必须由
关联的所有实体的主键担当。
3.3 参与约束
参与约束(Participation Constraint)是实体与联系之间的约束,
也称为实体关联约束。
参与约束分为完全参与(Total Participation)约束和部分参与
(Partial Participation)约束。
完全参与约束表示与联系关联的某个实体型中的所有实体,全部
参与到联系中来。如“学生”实体型与“选课”联系型,所有的
学生实体都会参与“选课”联系。
部分参与约束则表示与联系关联的某个实体型,只有部分实体参
与到联系中来。如“员工”实体型与“管理”联系,只有部分员
工参与管理。
完全参与约束图示时,用粗线表示。参见 P63 图 2-14。
4. 弱实体
弱实体是指管理主体之外的实体型。也称为外部实体。
如,员工是企业管理的主体之一,然而企业为员工办理保险时,
不可避免地会涉及保险的受益人,受益人一般不是企业的员工,
“受益人”则称为弱实体。
识别实体:与弱实体型关联的实体型,称为识别实体型。如“员
工”实体型。
识别联系:实体型与弱实体型之间的联系称为识别联系。
对弱实体有如下约束:
识别实体与弱实体之间的联系必须是 1:n 联系;
剩余32页未读,继续阅读
资源评论
黑色的迷迭香
- 粉丝: 705
- 资源: 4万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功