第二章 数据库环境
数据库设计:
概念数据库设计(E-R建模),模型(实体、联系、约束)
逻辑数据库设计(规范化),模式(模型–>模式,规范化检查)
物理数据库设计
三层体系结构的一个主要目的是保证数据独立性,这意味着对较低层的修改不会对较高层造成影响。
系统实现
数据库的实现:数据库语言
建立数据库的方法:数据定义语言DDL【表、元组、属性、关键字】
操作数据库的方法:数据操作语言DML
相关概念
主键/主关键字、外部关键字/外键【其他表格的候选关键字】、候选关键字【可区分每个实体的关键字,数量可以超过1】、维/目/度【列数】、基【行数,不包括表头】
属性【列】、元组【记录,一行】、联系【表的外部关键字】、关系【行列组成的二维表】
关系不重名:表名不重名
单元格不可再分:
属性不重名:列名不重名
实体完整性:主关键字不能为空
关系完整性
ER建模/EER建模
实体类型:一组具有相同属性的对象,例如:职员、分公司、客户、合同…[弱实体依赖于强实体]
强实体:父实体,支配,有关键字
弱实体:没有关键字,依赖于强实体
联系类型:强实体间的联系,多元联系,强弱实体的联系,递归联系【自己管理自己】,强制不相交超子类联系【两个不相交的子集,相加等于全集】,可选不相交超子类关系【两个不相交的子集,相加小于全集】
联系名称(一般是动词或词组,首字母大写):has own
属性:简单/组合属性、单值/双值属性
约束(包括参与数):1对1,1对多…
基数约束:最多可参与的数目
又可分为二元联系的约束,多元联系的约束
参与性约束:最少参与数,分为强制约束和可选约束
EER建模
子类/超子类:子类中的实体就是超类中的实体,两者关系是1:1的,子类可能会有重叠和不同,所有子类可以继承超类的属性
约束:
参与约束:强制约束,可选约束
不相交约束:不相交(不同角色不相交,即一个实体不能是两个角色),非不相交(一个实体可以是两个角色)
EER和ER区别
EER实体分类,有超类和子类