一、数据模型
1.数据模型:是对现实世界客观事物的数据抽象描述,这种抽象描述能确切的反映事物、事物的特征和事物之间的联系,形成一组严格定义的概念的集合。通俗地讲,数据模型就是现实世界的模拟 数据模型是数据库系统的核心 。
2.数据模型的分类:根据不同的抽象层次分:概念数据模型、结构数据模型、物理数据模型
3.概念数据模型:用户容易理解的、对现实世界特征的数据抽象。基本特征是按用户观点对数据和信息进行建模,与具体的DBMS 无关,用于数据库设计员与用户之间进行交流的语言。如E-R模型。用于信息世界的建模
4.结构数据模型:又称逻辑数据模型,是用户从数据库中所看到的数据模型,是具体的DBMS所支持的数据模型, 如网状数据模型、层次数据模型、关系数据模型和面向对 象数据模型等。按计算机系统的观点对数据建模,用于DBMS实现
5.物理数据模型:是对数据最底层的抽象,用于描述数据在存储介质上的表示方式和存取方法,它不但与具体的DBMS 有关,而且还与操作系统和硬件有关,是物理层次的数据模型。
6.数据模型的构成(三要素):
数据结构:是对计算机的数据组织方式和数据之间联系进行框架性描述的集合,是对数据库静态特性的描述。
数据操作:是数据库中各种对象类的实例(或取值)所允许执行的操作的集合,是对数据库动态特性的描述。
完整性约束:是关于数据状态和状态变化的一组完整性约束条件(规则)的集合。
二、概念数据模型
1.实体-联系(E-R)模型的几个基本概念:
实体:客观存在并可互相区别的事物。(如学生、课程)
属性:实体具有若干特征,每个特征称为实体的一个属性。(如每个学生实体都具有学号、姓名、年龄、性别、系别、年级等属性)。每个属性赋予确定的值,就抽象地表示了一个确定的实体。
实体型:对具有相同属性的一类实体的特征和性质 的结构描述。实体名(属性1,属性2,…,属性n) 例如,学生(学号,姓名,性别,年龄,系,入学时间)就是一个实体型 。
实体集:同一类型实体的集合称为实体集。 例如,计算机系的学生就是一个实体集。
关键字:能唯一地标识实体集中每个实体的属性集合称为关键字。一个实体集可以 有若干个关键字,通常选择一个作为主关键字。
联系:E-R模型中实体之间的联系,它反映的是现实世界中事物之间联系。实体集内部的联系:是指同一实体集内部各实体之间的联系。实体集之间的联系:是指不同实体集之间的联系。例如:实体集内部:学生与学生的联系 实体集之间:学生与课程的联系
实体集内部的联系:
2. E-R模型到关系模式的转换:
实体型的转换:关系模式中包含实体型的所有属性
联系的转换:
1:1:将联系的属性和其中一个实体型对应关系模式的主键属性加入到另 一个关系模式中
1:n:将联系的属性和1端对应关系模式的主键属性加入到n端对应的关系模式中
n:m:将联系转换为一个关系型,其属性有联系的属性和前面两个关系模式的主键属性构成
三、结构数据模型
1.常用的结构数据模型(以数据结构的类型命名):
1层次模型(树)1网状模型(有向图)2关系模型(表格) 3面向对象模型
2.第一代数据库技术:即层次数据库和网状数据库技术。主要支持层次和网状数据模型,其主要特点是: ★支持三级模式结构; ★用存取路径(指针)来表示数据之间的联系; ★数据定义语言DDL和数据操纵语言DML相对独立; ★数据库语言采用过程性(导航式)语言。
3.层次模型:有且只有一个结点没有双亲结点,这个结点称为根结点;除根结点以外的其他结点有且只有一个双亲结点与之相连。优点:模型比较简单,使用较方便。 对于实体间联系固定且预先定义好的应用系统,层次模型性能优于关系模型,不低于网状模型。 层次数据模型提供了良好的完整性支持。缺点: 只能表示1:n联系,虽有辅助手段实现m:n联系,但方法笨拙和复杂,不易掌握。 数据的查询和更新操作也很复杂,导致应用程序编写困难。
4.网状模型:允许一个以上的结点无双亲;一个结点可以有两个或两个以上的双亲。优点:能够更直接地描述现实世界,如一个结点可以有多个双亲。具有良好的性能,存取效率较高。缺点:结构比较复杂,不利于最终用户掌握。其DDL,DML语言复杂,用户不容易使用。应用程序编写负担重
5.第二代数据库技术:关系数据库技术。这一代的数据库管理系统主要支持关系数据模型,这种模型有严格的数学理论基础,概念简单、清晰,易于用户理解和使用。其主要特点是: ★概念单一化,数据及其数据间的联系都用关系来表示; ★以关系代数为理论基础,数据独立性强; ★数据库语言采用说明性语言,大大简化了用户的编程难度。
6.关系模型的数据结构:在用户观点下,关系模型中数据的逻辑结构是一张二维表。
其常用术语有: ①关系模式:对应一个二维表的表头,它对应E-R 模型中的实体型,是相对稳定的。 ②属性:二维表中的一列即为一个属性,给每一个属性起一 个名称即属性名。它们与E-R模型中实体型的属性相同。③关系:对应通常所说的一张二维表,它与E-R模型中的实体集对应。④元组:二维表中除表头以外的一非空行即为一个元组,元组与 E-R模型中的实体对应。 ⑤候选键:二维表中的某些属性的集合,它可以唯一确 定一个元组。一个关系可以有若干个候选键,通常选择一个作为主键。它们分别与E-R模型中的关键字和主关键字对应。 ⑥外键:在一个关系中含有的与另一个关系的关键字相对应的属性(组)称为该关系的外部关键字。⑦域:属性的取值范围。属性的域同E-R模型中属性的域意义相同。 ⑧分量:元组中一个属性所取的具体值。
7.关系数据模型的操作:关系模型的数据操作是集合操作,即操作的对象和操作的结果都用关系表示。
8.关系模型的完整性约束:实体完整性、参照完整性(关系的两个不变性)、用户定义的完整性
9.关系模型的优缺点:优点 ①关系模型建立在严格的数学理论基础上。 ②关系模型的概念单一 无论实体还是实体之间的联系都用关系表示 ③关系模型的存取路径对用户透明 具有更高的数据独立性,更好的安全保密性 简化了程序员的工作和数据库开发建立的工作 ④关系模型中的数据操作是集合操作 操作的对象和操作的结果都用关系表示。缺点:查询效率不如格式化数据模型②为提高性能,必须对用户的查询请求进行优化,增加了开发数据库管理系统的难度。
四、试题:
1.在用户观点下,通常所说的一张二维表称为一个 关系。
2.数据库系统技术的核心是 数据模型。