第一章绪论
数据库系统概述
数据库的4个基本概念
-
数据库管理系统:DBMS,一组用以管理、维护、访问数据库的程序
-
常用的DBMS:Oracle,Mysql,SQLite,DB2
-
数据库系统:由数据库,DBMS,应用系统,数据库管理员(DBA),用户组成的存储,管理,处理和维护数据的系统
数据库系统的特点
- 结构化
- 高共享、低冗余
- 独立性强 : 物理独立性和逻辑物理独立性
- 统一管理 (安全性 安全性 ,完整性 ,并发控制 ,恢复 )
数据模型
数据模型是现实世界数据特征的抽象,是用来描述数据的一种概念和定义
数据库系统基于某种数据模型
数据模型由数据结构,数据操作,数据的完整性约束条件构成
两类数据模型
- 概念数据模型(DBMS无关):反映现实世界的对象及其联系,概念化结构
- 逻辑和物理数据模型:逻辑数据模型(DBMS相关)反映数据的逻辑结构;物理数据模型(DBMS/OS相关)反映数据的存储结构
- 现实世界经过认识抽象转化为信息世界(概念模型),再将信息世界转换为机器世界
概念模型(E-R模型)
- 常见的概念模型:
- 实体-联系数据模型(E-R)
- 面向对象数据模型(OO)
Entity-Relationship Data Model)
E-R模型中的术语
- 实体:客观存在并可相互区别的事物,如:学生、雇员……
- 属性:实体所具有的某一特性,如:学号、姓名、年龄……
- 码:唯一标识实体的属性集,如:学号、身份证号码……
- 域:属性的取值范围就是该属性的域,
- 联系:实体间的相互关联
E-R图(E-R数据模型的表示)
- E-R图:
-
矩形:实体型(实体集)
-
椭圆:属性
-
菱形:联系
学生与课程的E-R模型
-
逻辑数据模型(关系模型)
常见的逻辑数据模型有:层次,网状,关系,面向对象,对象关系
关系数据模型的数据结构
扁平的二维表,由行/列组成
表(关系)→实体集
行(元组)→实体
列(属性)→属性
关系模式:对关系的描述,关系名(属性1,属性2,…,属性n)
实体和实体之间的关系都用同一种数据结构表示
例如:学生和课程之间的关系是选修,表示方法:选修(学号,课程号,成绩)
关系数据模型的操作
集合操作,操作数和操作结果均为关系(元组的集合)
查询 插入 删除 修改
关系数据模型的约束
完整性约束(一组完整性规则):实体完整性 参照完整性 用户定义的完整性
数据库系统的结构
从数据管理员(DBMS)的角度:内部体系结构(三级模式,二级映象)
从用户的角度:外部体系结构(集中式,分布式结构,客户/服务器结构等)
数据库系统的三级模式结构
-
数据库的三级模式时数据的三个抽象级别
-
外模式:子模式/用户模式(有多个)数据安全,是数据库用户的数据视图
-
模式:逻辑模式,全体数据的逻辑结构和特征的描述(只有一个),是所有用户的公共数据视图
-
内模式:存储模式,物理数据模型的特定模式,物理结构、存储方式
数据库的二级映像功能与数据独立性
为了在系统内部实现三个抽象级别(三级模式)的联系和转换,DBMS提供了两层映像:外模式/模式映像,模式/内模式映像,保证数据库系统的数据能够具有较高的逻辑独立性和物理独立性。
- 外模式/模式映像:保证数据的逻辑独立性
模式改变(增加新的关系,新属性,改变属性的数据类型等)-》修改外模式/模式映射–》外模式不变 - 模式/内模式:保证数据的物理独立性
内模式变化(数据的存储结构改变,如选择了另一种存储结构)–》修改模式/内模式映射–》模式不变–》外模式不变