一、 数据库的四个基本概念
数据 data
数据库 DataBase / DB
数据库是长期储存在计算机内、有组织的、可共享的大量数据的集合
数据库管理系统 DataBase Management System / DBMS
DBMS 是位于用户和操作系统之间的一层数据管理软件。数据库管理系统和操作系统一样是计算机的基础软件,也是一个大型复杂的软件系统。
数据管理系统的主要任务就是科学的组织和存储数据,高效的维护和获取数据
主要功能如下:
数据定义功能
DBMS提供数据定义语言(DDL),用户通过它可以方便的对数据库中的数据对象的组成和结构进行定义
数据组织,存储和管理
数据操作功能
DBMS 还提供数据操作语言(DML),用户可以使用它操纵数据,实现CRUD
数据库的事务管理和运行管理
保证事务的正确性,保证数据的安全性、完整性、多用户对数据的并发使用以及发生故障后的系统恢复
数据库的建立和维护功能
其他功能
二、数据库系统的特点
数据结构化
数据库的主要特征之一,也是数据库系统与文件系统的本质区别
数据的共享性高、冗余度低且易扩充
数据独立性高
数据由数据管理系统统一管理和控制
DBMS提供以下几方面的数据控制功能
数据的安全性保护
数据的完整性检查
并发控制
数据库恢复:DBMS必须具有将数据库从错误状态恢复到某一正确状态的功能
三、数据模型
数据模型是对现实世界数据特征的抽象。也就是说数据模型是用来描述数据、组织数据和对数据进行操作的
1. 两类数据模型
根据模型应用的目的不同,可以将模型划分为两大类:概念模型、逻辑模型和物理模型
① 概念模型
按用户的观点对数据和信息建模,主要用于数据库设计
涉及的概念:
- 实体 entity:客观存在并可相互区别的事物,比如一个学生,一门课,学生的一次选课
- 属性:实体所具有的特性,比如学生的身高
- 码:唯一标识实体的属性集,比如学生的学号
- 实体型: 实体名+属性名,比如 学生(学号,姓名,性别)就是一个实体型
- 实体集:同一类型的实体的集合,比如全体学生
- 联系 relationship:实体之间的联系(有一对一,一对多,多对多等多种类型),实体之间的联系可用 E-R 图 表示,见 【六】数据库设计之E-R图
② 逻辑模型和物理模型
按计算机系统的观点进行建模,主要用于数据库管理系统的实现
- 层次模型
- 网状模型
- 关系模型
- 面向对象数据模型
- 对象关系数据模型
- 半结构化数据模型
2. 关系模型
关系模型是最重要的一种数据模型。
从用户观点来看,关系模型由一组关系组成,每个关系的数据结构是一张规范化的二维表
关系模型相关的术语:
- 关系:一个关系对应一张表
- 元组 tuple : 表中的一行即一个元组
- 属性 attribute : 表中的一个列名即一个属性
- 码 key :表中的某个属性组,可以唯一确定一个元组,该属性组就称为码。比如上表中的学号就就是该关系的码
- 域 domain:域是一组具有相同数据类型的值的集合。比如人的年龄是1-120岁,属性的取值范围来自该属性对应的域
- 关系模式:对关系的描述,一般表示为 关系名(属性名1,属性名2….)。比如学生(学号,姓名,年龄,性别,年纪)。关系模式必须是规范化的,不允许表中还有表,每个属性都应该是不可分的
四、数据库系统的三级模式结构
- 内模式
- 模式
- 外模式
1. 内模式
内模式也称存储模式,一个数据库中只有一个内模式,它是数据物理结构和存储方式的描述,是数据在数据库内部的组织方式
2. 模式
模式也称逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图
3. 外模式
外模式也称子模式或用户模式,是数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示
外模式通常是模式的子集,一个模式可以有多个外模式
如果不同的用户在应用需求、看待数据的方式、对数据保密的要求等方面存在差异,则其外模式的描述就是不同的。
外模式是保证数据库安全的一个有力措施。每个用户只能看见和访问对应的外模式中的数据,数据库的其余数据是不可见的。
五、数据库系统的组成
硬件平台及数据库
软件
人员