Updated December 26, 2018
数据库系统概述
- 数据库: 长期存储在计算机内, 有组织的, 可共享的大量数据的集合. 数据库数据具有永久存储, 有组织和可共享三个特点
- 数据库管理系统: 位于用户与操作系统之间的一层数据管理软件.
- 数据库系统: 由数据库, 数据库管理系统, 应用程序和数据库管理员组成的存储, 管理, 处理和维护数据的系统
数据模型
数据模型是数据库系统的核心和基础.
概念模型
按用户的观点来对数据和信息建模, 主要用于数据库设计
概念模型的表示方法很多, 其中最为常用的一种是实体-联系方法, 该方法用E-R图来描述.
逻辑模型
主要包括层次模型, 网状模型, 关系模型, 面向对象数据模型, 对象关系数据模型和半结构化数据模型. 按计算机系统的观点对数据建模, 主要用于数据库管理系统的实现.
物理模型
描述数据在系统内部的表示方式和存取方法
数据模型的组成要素:
- 数据结构: 描述数据库的组成对象以及对象之间的联系
- 数据操作: 指对数据库中各种对象的实例允许执行的操作的集合
- 数据的完整性约束条件: 给定的数据模型中数据及其联系所具有的制约和依存规则, 保证数据的正确, 有效和相容
逻辑模型:
- 层次模型
用树形结构来表示各类实体以及实体间的联系.
(1)有且只有一个结点而没有双亲结点, 这个结点称为根结点
(2)根以外的其他结点有且只有一个双亲结点
优点: 数据结构比较简单清晰, 查询效率高, 层次数据库性能优于关系数据库, 不低于网状数据库
缺点: 查询子女结点必须通过双亲结点, 实际上有一些结点之间具有多对多联系, 不适合用层次模型 - 网状模型
(1)允许一个以上的结点没有双亲
(2)一个结点可以有多于一个的双亲 - 关系模型
关系(relation): 一个关系对应通常说的一张表
元组(tuple): 表中的一行即为一个元组
属性(attribute): 表中的一列即为一个属性
码(key): 表中的某个属性组, 可以唯一确定一个元组
域(domain): 一组具有相同数据类型的值的集合. 如大学生年龄属性的域是(15~25)
数据库系统模式
- 模式(schema)
数据模型中有型和值的概念, 型是指对某一类数据的结构和属性的说明, 值是型的一个具体赋值. 模式(schema)是数据库中全体数据的逻辑结构和特征的描述, 仅仅涉及型的描述, 不涉及具体的值. 模式的一个具体值称为模式的一个实例. 一个数据库只有一个模式 - 外模式(external schema)
也称子模式或用户模式, 是数据库用户能看见和使用的局部数据的逻辑结构和特征的描述. 一个数据库可以有多个外模式 - 内模式(internal schema)
也称存储模式, 一个数据库只有一个内模式, 它是数据物理结构和存储方式的描述.
关系数据库
基本的关系操作: 选择(select), 投影(project), 并(union), 差(except), 笛卡尔积
关系完整性
实体完整性: 若属性A是关系R的主属性, 则A不能取空值
参照完整性: 设F是关系R的一个属性, 但不是R的码, K是关系S的主码, 如果F和K相对应, 则称F是K的外码(foreign key)
用户定义的完整性: 反映某一具体应用所涉及的数据必须满足的语义要求