重点
选择题 20*2
问答 可能跟书上练习差不多
中文出题,卷面工整
数据原子特点、系统相关概念 PPT1
关系模型:
表结构——关系特点PPT2
操作——关系代数8个 PPT3
完整性约束——实体、参照、企业完整性 PPT2
SQL——DDL,DML,DCL PPT4, 5, 6
DB设计:
特点 PPT9
目标 PPT9
步骤
方式——ER, Mapping, 规范化 PPT10, 11, 12, 13
事务管理 PPT14
DB——Database(数据库)
为满足某个组织机构的信息要求而设计的一个逻辑相关数据及其描述的共享集
数据的描述:系统目录(也称为数据字典或元数据)
实体:组织中一个独立的、将要在数据库中体现出来的对象
属性:描述我们想要记录的对象的某一方面的特性
联系:描述实体之间的关联
DBMS(数据库管理系统)
一个支持用户对数据库进行定义、创建、维护及控制访问的软件系统
DBMS环境组成部分
硬件、软件、数据、过程、人
DBMS优缺点
优点:
受控的数据冗余
数据一致性
相同数据量表示更多信息
数据共享
增强的数据完整性
增强的安全性
强制执行的标准
经济合算的规模
平衡各种需求冲突
增强数据的可访问性和响应性
通过数据独立性增强可维护性(数据独立性:将数据描述从应用程序中分离出来,从而使应用程序不再受数据描述改变的影响)
提高的并发性
增强的备份和恢复服务
缺点:
复杂性高
规模大
DBMS的费用高
需要附加的硬件费用
转化费用大
性能相对较低
故障带来的影响大
数据库历史
第一代:层次模型(IMS),网状模型或CODASYL模型(IDS)
第二代:关系模型
第三代:对象关系DBMS和面向对象DBMS
ANSI-SPARC三层体系结构
外部层:用户从外部层观察数据
数据库的用户视图。这一层描述与每一个用户相关的数据库部分
内部层:DBMS和操作系统从内部层观察数据。
数据库在计算机上的物理表示。这一层描述数据是如何存储在数据库中的
概念层:提供内外层的映射和必要的独立性
数据库的整体视图。这一层描述了哪些数据被存储在数据库中,以及这些数据之间的联系
描述了:
所有实体、实体属性和实体间的联系
数据的约束
数据的语义信息
安全性和完整性信息
数据库系统特点
数据抽象性
高效性
可靠性
关系模型——表结构
在关系模型中,所有数据都在表(关系)中逻辑地构造。
一个表是:
用来表示一个实体
用于表示实体的关系
操作表的结果
关系数据结构
关系:关系是由行和列组成的表
属性:关系中命名的列
域:一个或多个属性的取值集合
元组:关系中的每一行
维数:关系所包含的属性的个数
基数:关系所包含的元组的个数
关系数据库:具有不同关系名的规范化关系的集合
(关系可能被称为文件;
元组被称为记录;
属性被称为字段)
关系模式:用一组属性和域名对定义的具名的关系
关系数据库模式:关系模式的集合,集合中的每个关系都应有不同的名字
R{R1, R2, …, Rn}
关系的性质
l 有一个关系名,同一关系模式中各关系不能重名
l 关系中的每一个单元格都确切包含一个原子(单个)值
l 每个属性都有一个不同的名字
l 同一属性中的各个值都取自相同的域
l 各元组互不相同,不存在重复元组
l 属性的顺序并不重要
l 理论上讲,元组的顺序也不重要(但实际上,影响对元组的访问效率)
关系关键字
超关键字(SK)
一个属性或属性的集合,唯一地标识出关系中的每个元组
候选关键字(CK)
本身是超关键字但其任何子集都不再是超关键字
唯一性,不可约性
主关键字(PK)
被选用于唯一标识关系中各元组的候选关键字
没有被选为主关键字的候选关键字称为可替换关键字
外部关键字(FK)
当一个关系中的某个属性或属性集合与另一个关系的候选关键字匹配时,就称这个属性或属性集合为外部关键字
完整性约束
域完整性(domain constraint)
每个属性都有一个关联的域
实体完整性(entity integrity)
在基本关系中,主关键字的属性不能为空
引用/参照完整性(referential integrity)
如果在关系中存在某个外部关键字,则它的值或与主关系中的某个元组的候选关键字取值相等,或者全为空
一般性/企业完整性(general/enterprise constraint)
空
代表对一个元组当前的取值还不知道或是不可用的属性值
并不赞同使用
基本关系
与概念模式中的一个实体相对应的具名关系,它的元组都存储在数据库的物理结构中
视图
对一个或多个基本关系进行关系操作得到的动态结果。无需存在于数据库中,但却可以根据某个特定用户需要在必要时再生成的虚关系
创建视图
CREATE VIEW ViewName [(newColumnName [...])]
AS subselect
[WITH [CASCADED | LOCAL] CHECK OPTION]
垂直视图
subselect = SELECT 列 FROM WHERE 访问特定列
水平视图
SELECT * 访问特定行
删除视图
DROP VIEW ViewName
视图查询
视图更新
关系代数与关系演算
5个基本运算:
选择(一元运算)σpredicate(R)
作用于单个关系R,得到一个新关系。由R中满足特定条件的元组组成
σsalary>1000(Staff)
投影(一元运算)πa1,a2,...,an(R)
πstaffNo, fName, lName(Staff)
笛卡尔乘积 R×S
关系R中每个元组与关系S中每个元组并联的结果
直接并成一张大表,实际上还需要通过选择加以判断
集合并 R U S
两个关系R和S的并,定义了一个包含R、S中所有不同元组的新关系。R和S必须具有并相容性
集合差 R - S
由所有属于R但不属于S的元组构成。R和S必须具有并相容性
3个其它运算: