数据库复习资料
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据库复习资料
数据库复习资料
第⼀章数据库系统概论
⼀、数据库技术概述
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 联系及联系型(续)
联系型。