第一章 绪论
基本概念
数据---描述事物的符号
数据库DB---长期存在在计算机内、有组织的、可共享的 大量数据的集合
数据库管理系统DBMS---位于用户和操作系统之间的一层数据管理软件
数据库系统DBS---由数据库、数据库管理系统(及其应用开发工具)、应用程序和数据库管理员(DBA)组成的存储、管理、处理和维护数据的系统
单任务、单用户SQLite---微信
数据管理技术的产生和发展
人工管理阶段
数据不保存、应用程序管理数据、数据不共享、数据不具有独立性
文件系统阶段
数据可以长期保存、由文件系统管理数据
数据共享性差,冗余度大、数据独立性差
数据库系统阶段
数据库的特点
-
数据结构化
数据路系统实现整体数据的结构化,是数据库的主要特征之一,也是数据库与文件系统的本质区别
-
数据的共享性高、冗余度低且易扩充
数据共享可以大大减少冗余,节约存储空间,避免数据之间的不相容性与不一致性
-
数据独立性高
物理独立性:用户的应用程序与数据库中的物理存储是相互独立的
逻辑独立性:用户的应用程序与数据库的逻辑结构是相互独立的
-
数据由数据库管理系统统一管理和控制
数据的安全性保护
数据的完整性检查
数据模型
数据模型的组成要素
- 数据结构
- 数据操作
- 数据的完整性约束条件
-
概念模型
主要用于数据库的设计
实体entity:客观存在并可相互区别的事物
属性attribute:实体所具有的某一特性
码key:唯一标识属性集
实体型:用实体名及其属性名集合来抽象和刻画同类实体
ER模型:实体-联系方法(第七章)
-
逻辑模型
主要用于数据库管理系统(DBMS)的实现
常用的数据模型
(逻辑模型包括)层次模型、网状模型、关系模型、面向对象数据模型、对象关系数据模型、半结构化数据模型
-
层次模型(树形)
层次模型像一个倒立的树,结点的双亲是唯一的
优缺点:
优点:数据结构比较清晰、查询效率高、提供了良好的完整性支持
缺点:多对多非层次不适合、若一个结点有多个双亲结点、查询子女结点必须通过双亲结点、结构严密,层次命令趋于程序化
-
网状模型(图)
允许一个以上的结点无双亲,一个结点可以有多于一个的双亲
优缺点:
优点:更直观,一个结点可以有多个双亲,结点之间可以有多种联系、具有良好的性能,存取效率高
缺点:结构较复杂,DDL、DML语言复杂、应用程序在访问数据时必须选择适当的存取路径
-
关系模型
关系数据库采用关系模型作为数据的组织方式
关系模型的数据结构
关系(表)、元组(行)、属性(列)
码(表中的某个属性组,可以唯一确定一个元组)
域(属性的取值来自某个域)
分量(元组的一个属性值,二维坐标系所确定的值)
优缺点:
优点:建立在严格的数学概念上、概念单一,结构清晰,存取路径对用户透明,具有更高的数据独立性、更好的安全保密性
缺点:存储路径对用户是隐蔽的,查询效率往往不如格式化数据模型
-
物理模型
对数据最底层的抽象
数据库系统的结构
模式是相对稳定的,实例是变动的
数据库的三级模式结构
模式:是数据库系统中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图
一个数据库只有一个模式
外模式:数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述
一个数据库可以有多个外模式
同一外模式可以为某一用户的多个应用系统所使用,但一个应用程序只能使用一个外模式
保证数据库安全性
内模式:数据物理结构和存储方式的描述,是数据在数据库内部的组织方式
一个数据库只有一个内模式
数据库的二级映像
保证了数据库外模式的稳定性,从而从底层保证了应用程序的稳定性,除非应用需求本身发生变化,否则应用程序一般不需要修改
-
外模式/模式映像
模式改变时, *可以使外模式保持不变,应用程序是依据数据的外模式编写的,从而应用程序不必修改,保证了数据与程序的逻辑独立性
-
模式/内模式映像
存储结构改变时, *可以使模式保持不变,从而应用程序不必修改,保证了数据与程序的物理独立性
数据库系统的组成
数据库、数据库管理系统(及其应用开发工具)、应用程序和数据库管理员构成
- 硬件平台
足够大的内存、足够大的磁盘或磁盘阵列灯设备存放数据库、较高的通道能力,以提高数据传送率 - 软件
数据库管理系统
操作系统
与数据库接口的高级语言及其编译系统
应用开发工具 - 人员
数据库管理员DBA
系统分析员和数据库设计人员
应用程序员
用户
第二章 关系数据库
关系数据结构及形式化定义
关系
二维表
域
笛卡尔积
属性---列
n目关系必有n个属性
若关系中的某一属性组的值能唯一地标识一个元组,而其子集不能,则称该属性组为候选码
若一个关系有多个候选码,则选定其中一个为主码
主属性:所有候选码并集中的属性
非主属性/非码属性:全集-主属性
关系类型:基本关系(基本表)、查询表、视图表
基本表性质:
(1)列是同质的,来自同一个域
(2)不同的列可出自同一个域,称其中每一列为一个属性
(3)列的顺序无所谓
(4)任意两个元组的候选码不能取相同的值
(5)行的顺序无所谓
(6)分量必须取原子值
关系模式
关系模式是型,关系是值
元组集合的结构(由哪些属性构成、这些属性来自哪些域、以及属性与域之间的影响关系)
完整性约束条件
R(U,D,DOM,F)
关系操作
查询、插入、删除、修改
查询操作又可分为选择、投影、连接、除、并、差、交、笛卡尔积等
其中,选择、投影、并、差、笛卡尔积是5种基本操作
关系代数和关系演算,介于之间的结构化查询语言SQL
关系的完整性
实体完整性和参照完整性---是必须满足的,关系的两个不变性
-
实体完整性
主属性不能为空
外码:设F是基本关系R的一个或一组属性,但不是关系R的码,K是基本关系S的主码。如果F与K相对应,则称F是R的外码
基本关系R为参照关系,基本关系S为被参照关系。关系R和S不一定是不同的关系
-
参照完整性
取空值
等于S中某个元组的主码值
-
用户完整性
应用领域所需要遵循的条件