数据模型三要素:数据结构、基于数据结构的操作、数据完整性约束。这里类似于与代数系统的定义(载体、运算、封闭性)
基础概念
- 数据库(DataBase, DB):长期存储在计算机内、有组织、可共享的数据集合
- 数据库管理系统(DataBase Management system,DBMS):专门用于管理数据库的软件
- 数据库系统(DataBase System,DBS):引入数据库之后的计算机系统
- 数据模型是现实世界数据特征的抽象,即现实世界的模 拟。
DBS主要功能
- 数据定义功能:由DBMS提供的数据定义语言(Data Definition Language, DDL)定义数据库中的数据对象
- 数据组织、存储和管理:分类组织、存储和管理各种数据, 包括数据字典、用户数据、数据的存取路径等
- 数据操纵功能:由DBMS提供的数据操纵语言(Data Manipulation Language, DML)实现对数据库的查询、插入、删 除和修改
- 数据控制功能:由DBMS提供的数据控制语言(Data Control Languge, DCL)实现数据保护和事务管理等功能。包括完整性、 安全性、并发控制、数据库恢复
- 数据库的建立和维护功能。
- 其他功能:DBMS与其他软件的通信,与另一个DBMS或文件 系统进行数据交换;异构数据库的互操作等。
数据模型
数据模型是严格定义的一组概念的集合。精确描 述了系统的静态特性、动态特性和完整性约束条 件
- 分类
概念模型(信息模型): 按用户的观点对数据和信息建模,主要用于数据库设计。
- 逻辑模型:包括层次模型、网状模型、关系模型、面 向对象模型、对象关系模型等。它按计算机系统的观 点对数据建模,用于DBMS实现。
物理模型:是对数据最底层的抽象,描述数据在系统 内部的表示方式和存取方法,在磁盘或磁带上的存储 方式和存取方法。它的具体实现是DBMS的任务
- 数据模型三要素
数据结构(静态):数据库组成对象以及对象之间的联系
- 数据操纵(动态:
数据库中各种对象(型)的实例(值)允许操作的集合,包括 操作及有关的操作规则
查询、更新(插入、删除、修改)
- 数据完整性约束
- 一组完整性规则:给定的数据模型中数据及其联系所具 有的制约和存储规则
- 限定数据库状态以及状态的变化,以保证数据的正确、 有效、相容
E-R图
E:客观存在的的各类事物
- 实体(Entity):客观存在的各类事物。分为弱实体和强实体
- 属性(Attribute):实体所具有的特性。有组合属性、多值属性、 派生属性
- 码(Key):能唯一标识实体的属性集
- 域(Domain):属性的取值范围
- 实体型(Entity Type):对具有相同属性特征实体的描述。
- 实体集(Entity Set):同型实体的集合。
R: 联系(Relationship):不同实体集中实体之间的联系,也 可以是同一实体集内实体的联系
联系的种类:
一对一联系(1:1):实体集A中的任一实体,在实体集B中最多有唯一实体和它对应;反之,实体集B中的任一实体,在实体集A中最多有唯一实体和它对应。
一对多联系(1:N):实体集A中的任一实体,在实体集B中有多个实体和它对应;反之,实体集B中的任一实体,在实体集A 中最多有唯一实体和它对应(一对多和多对一,这里都统一归类于一对多联系)
多对多联系(M:N):实体集A中的任一实体,在实体集B中有 多个实体和它对应;反之,实体集B中的任一实体,在实体 集A中有多个实体和它对应
用E-R图建立概念模型
实体与属性的表示:
实体用方框表示,内部写上实体名
属性用属性名表示,内部写上属性名
使用无向边将相应的实体相连
联系的表示(如下图):
实体集之间的联系
两个以上不同实体集的联系
同一实体集内部实体的联系
完整的E-R图(实体、属性和联系都要完整)
超类和子类
特殊化(specialization,特化):从实体集中找出与其他实 体具有不同属性集的子集构成新实体的过程
一般化(generalization,泛化):从实体集中提取公共属性 构成新实体的过程