目录
1、数据库的基本概念
- 数据是数据库中存储的基本对象,它是描述事物的符号记录。
- 数据库是长期储存在计算机内、有组织的、可共享的大量数据的集合,它具有统一的结构形式并存放于统一的存储介质内,是多种应用数据的集成,并可被各个应用程序所共享,所以数据库技术的根本目标是解决数据共享问题。
- 数据库管理系统( DBMS, Database Management System)是数据库的机构,它是一种系统软件,负责数据库中的数据组织、数据操作、数据维护、控制及保护和数据服务等。数据库管理系统是数据系统的核心。
- 为完成数据库管理系统的功能,数据库管理系统提供相应的数据语言:数据定义语言、数据操纵语言、数据控制语言。
2、数据库系统的发展和基本特点
- 1. 数据库系统的发展
- 数据管理技术的发展经历了 3 个阶段:人工管理阶段、文件系统阶段和数据库系统阶段。
- 关于数据管理三个阶段中的软硬件背景及处理特点,简单概括可见表 4-1。
- 2. 数据库系统的特点
- 数据独立性是数据与程序间的互不依赖性,即数据库中的数据独立于应用程序而不依赖于应用程序。
- 数据的独立性一般分为物理独立性与逻辑独立性两种。
- ①物理独立性:当数据的物理结构(包括存储结构、存取方式等)改变时,如存储设备的更换、物理存储的更换、存取方式改变等,应用程序都不用改变。
- ②逻辑独立性:数据的逻辑结构改变了,如修改数据模式、增加新的数据类型、改变数据间联系等,用户程序都可以不变。
3、数据库系统的内部体系结构
- 1. 数据统系统的 3 级模式
- ①概念模式,也称逻辑模式,是对数据库系统中全局数据逻辑结构的描述,是全体用户(应用)公共数据视图。一个数据库只有一个概念模式;
- ②外模式,外模式也称子模式,它是数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述,它是由概念模式推导而出来的,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。一个概念模式可以有若干个外模式;
- ③内模式,内模式又称物理模式,它给出了数据库物理存储结构与物理存取方法。
- 内模式处于最底层,它反映了数据在计算机物理结构中的实际存储形式,概念模式处于中间层,它反映了设计者的数据全局逻辑要求,而外模式处于最外层,它反映了用户对数据的要求。
- 2. 数据库系统的两级映射
- 两级映射保证了数据库系统中数据的独立性。
- ①概念模式到内模式的映射。该映射给出了概念模式中数据的全局逻辑结构到数据的物理存储结构间的对应关系;
②外模式到概念模式的映射。概念模式是一个全局模式而外模式是用户的局部模式。一个概念模式中可以定义多个外模式,而每个外模式是概念模式的一个基本视图。
4、数据模型的基本概念
- 数据模型从抽象层次上描述了数据库系统的静态特征、动态行为和约束条件,因此数据模型通常由数据结构、数据操作及数据约束三部分组成。
- 数据库管理系统所支持的数据模型分为 3 种:层次模型、网状模型和关系模型。数据模型特点见表 4-2。
5、E-R模型
- 1. E-R 模型的基本概念
- ①实体:现实世界中的事物可以抽象成为实体,实体是概念世界中的基本单位,它们是客观存在的且又能相互区别的事物;
- ②属性:现实世界中事物均有一些特性,这些特性可以用属性来表示;
- ③码:唯一标识实体的属性集称为码;
- ④域:属性的取值范围称为该属性的域;
- ⑤联系:在现实世界中事物间的关联称为联系。
- 两个实体集间的联系实际上是实体集间的函数关系,这种函数关系可以有下面几种:一对一的关系、一对多或多对一关系、多对多关系。
- 2. E-R 模型的的图示法
- E-R 模型用 E-R 图来表示。
- ①实体表示法:在 E-R 图中用矩形表示实体集,在矩形内写上该实体集的名字;
- ②属性表示法:在 E-R 图中用椭圆形表示属性,在椭圆形内写上该属性的名称;
- ③联系表示法:在 E-R 图中用菱形表示联系,菱形内写上联系名。
6、关系模型
- 关系模式采用二维表来表示,一个关系对应一张二维表。可以这么说,一个关系就是一个二维表,但是一个二维表不一定是一个关系。
- 元组:在一个二维表(一个具体关系)中,水平方向的行称为元组。元组对应存储文件中的一个具体记录;
- 属性:二维表中垂直方向的列称为属性,每一列有一个属性名;
- 域:属性的取值范围,也就是不同元组对同一属性的取值所限定的范围。
- 在二维表中惟一标识元组的最小属性值称为该表的键或码。二维表中可能有若干个健,它们称为表的侯选码或侯选健。从二维表的所有侯选键选取一个作为用户使用的键称为主键或主码。表 A 中的某属性集是某表 B 的键,则称该属性值为 A 的外键或外码。
- 关系模型采用二维表来表示,二维表一般满足下面 7 个性质:
- ①二维表中元组个数是有限的——元组个数有限性;
- ②二维表中元组均不相同——元组的唯一性;
- ③二维表中元组的次序可以任意交换——元组的次序无关性;
- ④二维表中元组的分量是不可分割的基本数据项——元组分量的原子性;
- ⑤二维表中属性名各不相同——属性名唯一性;
- ⑥二维表中属性与次序无关,可任意交换——属性的次序无关性;
- ⑦二维表属性的分量具有与该属性相同的值域——分量值域的统一性。
- 关系操纵:数据查询、数据的删除、数据插入、数据修改。
- 关系模型允许定义三类数据约束,它们是实体完整性约束、参照完整性约束以及用户定义的完整性约束。
7、关系代数
- 1. 传统的集合运算
- ( 1)投影运算
- 从关系模式中指定若干个属性组成新的关系称为投影。投影是从列的角度进行的运算,相当于对关系进行垂直分解。经过投影运算可以得到一个新的关系,其关系模式所包含的属性个数往往比原关系少,或者属性的排列顺序不同。
- ( 2)选择运算
- 从关系中找出满足给定条件的元组的操作称为选择。
- 选择是从行的角度进行的运算,即水平方向抽取记录。经过选择运算得到的结果可以形成新的关系,其关系模式不变,但其中的元组是原关系的一个子集。
- ( 3)迪卡尔积
- 设有 n 元关系 R 和 m 元关系 S,它们分别有 p 和 q 个元组,则 R 与 S 的笛卡儿积记为: R×S。
- 它是一个 m+n 元关系,元组个数是 p×q。
- 2. 关系代数的扩充运算
- ( 1)交
- 假设有 n 元关系 R 和 n 元关系 S,它们的交仍然是一个 n 元关系,它由属于关系 R 且由属于关系 S 的元组组成,并记为 R∩S,它可由基本运算推导而得:R∩ S = R – (R–S)
8、数据库设计与原理
- 数据库设计中有两种方法,面向数据的方法和面向过程的方法:
- 面向数据的方法是以信息需求为主,兼顾处理需求;面向过程的方法是以处理需求为主,兼顾信息需求。由于数据在系统中稳定性高,数据已成为系统的核心,因此面向数据的设计方法已成为主流。
- 数据库设计目前一般采用生命周期法,即将整个数据库应用系统的开发分解成目标独立的若干阶段。它们是:需求分析阶段、概念设计阶段、逻辑设计阶段、物理设计阶段、编码阶段、测试阶段、运行阶段和进一步修改阶段。在数据库设计中采用前 4 个阶段。
end