第一讲:
Database:相互之间有关联关系的Table的集合
数据库系统:数据库+数据管理系统 数据库应用+数据库管理员
数据库管理系统的功能:1.完整性控制
2.并发控制
3. 通讯控制
4.故障恢复
5.数据字典管理
从用户角度看:数据库定义、操纵、控制、维护
数据库系统语言:DDL(数据库定义、描述语言):定义数据库中Table的名称、标题(格式),创建表
DML(数据库操作语言):向数据库的Table中增加/删除/更新数
据及对数据进行查询、检索、统计等
DCL(数据库控制语言):控制权限、约束
DQL(数据查询语言)
数据库维护:转储/恢复/重组/性能监测/分析,一般由数据库管理员(DBA)使用
数据库语言可以嵌入到高级语言中使用
修改数据是在内存实现的,要点执行,才会保存到磁盘上
DBMS也可以直接修改磁盘数据(但最好别这样)
三大经典模型:关系模型、层次模型、网状模型
简要发展史:
第一阶段:摸索 研制成功格式文件系统 正式提出“Data Base”,开始研究
第二阶段:确立 提出三大数据库模型 形成理论基础:关系数据库理论
第三阶段:成熟 提出标准化数据库结构模型
第四阶段:深化 数据库方法逐步理论化
第一代数据库系统是指基于网状模型或层次模型的数据库系统
第二代数据库系统基于关系模型的数据库系统
第二讲:三级模式、二层模式:外模式(用户模式、子、局部模式) 概念模式(全局、逻辑模式) 内模式(存储模式、物理模式)
模式又称概念模式
外模式到概念模式:逻辑独立性 E-C
概念模式到内模式:物理独立性 C-I
模式是对数据本身结构的抽象,数据模式是对模式本身结构的抽象
第三讲:关系模型:
1.“关系”-结构
列的取值范围“域”:一组相同数据类型的值得集合 个数称为基数
元组(d1,d2,…,dn)的每一个值di叫做一个分量
“元组”及所有可能组合成的元组:笛卡尔积
若di的基数为mi,则笛卡尔积的基数,即元组个数为m1×m2×…×mn
笛卡尔积 是由n个域形成的所有可能的n元组的集合
列位置互换性:区分哪一列是靠列名
行位置互换性:区分哪一行是靠某一或某几列的值(关键字/键字/码字)
关系是以内容(名字或值)来区分的,而不是属性在关系的位置来区分
关系模式R(A1:D1,A2:D2 ,…,An:Dn)中属性向域的映象
例:Student(S# char(8),Sname char(10),Ssex char(2),Sage integer, D# char(2), Sclass char(6) )
关系模式是关系的结构
关系模式是稳定的;而关系是某一时刻的值,是随时间可能变化的
候选码(键):唯一标识一个元组的,可有1个或多个属性
若有多个候选码,则选择1个做主码
主属性:包含在任何1个候选码的属性,其他属性称为非主属性
最简单:候选码只有1个属性
全码:候选码包含所有属性
外码(键):一个属性组不是R的候选码,但是另一个关系的主码、可以是R的主属性或非主属性
关系得任何属性都是不可再分的
2.关系操作
3.完整性:
参照完整性:外码(也可以取空值)
实体完整性:候选码、主码
自定义完整性:属性与属性组合 用户对某项的具体约束
完整性:数据的有效性。
实体完整性:表中的主键必须为有效值。
参照完整性:一个表中的外码必须与另一个表中的主键相对应,这样才便于将一个表与另一个关联起来。
第四讲:关系模型之关系代数
集合操作:并、交(可通过差运算实现)、差、笛卡尔积
纯关系操作:选择、投影(从关系R中选出属性包含在A中的列构成)、更名、连接、除
并相容性:R和S的属性数目必须相同且对应域相同
基数:是积 度数:是和
θ-连接,以一定条件组合两个集合;
等值连接:选择R中属性A与S中属性B上值相等的元组(相同值的属性名不同)
自然连接是一种特殊的等值连接,去掉共同属性那列
θ-连接和等值连接不需要去除共同属性,自然连接需要去除共同属性
书写关系代数表达式的基本思路:
除操作:查询。。。。全部的
外连接: