数据库技术笔记(三)
概念设计
概念设计的结果是概念设计图(ER图)和概念设计说明书
概念设计目前最广泛的是ER建模方法
ER模型(Entity-Relationship Model),即实体联系模型,其观点在于世界是由一组称为实体的基本对象,通过这些对象的关系从而构成。
ER相关概念
客观存在并可区分的事物称为实体。
属性是实体所具有的某个特征
码(Key)是实体集中唯一标识每个实体的属性或属性组合。
关系:一对一,一对多,多对多
IDEF1X和ER一样是数据建模方法,IDEF是一系列的建模方法,之前提及的IDEF0是需求功能建模方法。
逻辑设计
逻辑设计的任务:将ER图转化为数据库管理系统支持的数据模型
数据模型:
主要的数据模型有:层次模型、网状模型、关系模型,主要介绍关系模型,即关系型数据库。
关系的描述称为关系模式,关系模式由五部分组成,即它的五元组:R(U,D,DOM,F)
R:关系名; U:组成该关系的属性名集合;D:属性组U中属性所来自的域; DOM:属性到域的映射; F: 属性组U上的一组数据依赖
可简化为R(U,F)三元组
逻辑设计的目的就是要把ER图转化为关系模式,例如 学生(学号,姓名,出生日期),里面的三个都称为属性,学生相当于ER图中的实体,姓名和出生日期依赖于学号。
数据依赖
X-->Y ,X确定Y,Y依赖于X
数据依赖的类型:
函数依赖 例如:公民(身份证号,姓名,地址,工作单位) 身份证一确定,则其地址就唯一确认,因此地址函数依赖身份证号 而姓名确定,不一定能确定地址
多值依赖 例如:教师号可能多值依赖课程号,一门课程可能有多名老师
函数依赖的特例: 平凡依赖和非平凡依赖
如果有R(X,Y,Z) (X,Y)-->Z X和Y能确定Z,这样是非平凡依赖
而(X,Y)-->X 或者(X,Y) -->Y ,X或Y在依赖中,子集关系,是平凡依赖
完全依赖和部分依赖
(X,Y)-->Z
如果Z必须由X和Y一起才能确定
如果只要X或Y其中一个确认就可以确定Z,那么是部分函数依赖
传递函数依赖
R(X,Y,Z) 若X-->Y Y-->Z ,那么Z是X的传递函数依赖
候选码、主码和外码
候选码指某属性组的值能唯一确定整个元组的值,或候选关键字
主码是候选码中的一个
外码指属性或属性组不是该关系模式中的主码或者候选码,但它是另一个关系模式中的主码或者候选码。
数据规范化
范式:关系模式满足的约束条件称为范式,一般最多到第三范式(3NF)
1NF 指每个属性都是不能够再分的,如女学生,则可以拆为女生和学生,不符合第一范式
2NF 要求实体的非主属性要完全依赖于主属性,例如,学生(学号,课程名称,姓名,年龄,课程成绩),其中(学号,课程名称)是主码,但是姓名只需要学号就可以确定,属于部分函数依赖,所以不属于第二范式
3NF R中的每个非主属性不传递依赖于主码,如 学生(学号,学院名称,学院地址) ,由于学号-->学院名称 学院名称-->学院地址,学院地址是传递依赖于学号,不符合第三范式的要求
概念模型(ER图)转化为关系模式
物理设计
数据库的物理设计是设计数据库的存储结构和物理实现方法
将逻辑描述转化为实际的应用规范
物理设备上的存储结构与存取方法称为数据库的物理结构
索引技术
索引是数据库中独立的存储结构,索引技术是一种快速数据访问技术,无需扫描每个页面。
索引技术的分类
有序索引 采用顺序 利用索引文件实现记录域取值到记录物理地址间的映射关系,记录域即查找码,查找码可以是数据文件的主属性,也可以是非主属性
散列索引 哈希(hash)索引技术 利用散列函数
几种主要的有序索引
聚集索引(索引项与数据记录排列顺序一致,索引顺序文件)和非聚集索引
一个数据文件只可建立一个聚集索引,但可建立多个非聚集索引
通常以主键为索引
稠密索引(数据文件在索引中都有查找码)和稀疏索引(只有部分有查找码)
主索引(主码属性集上建立的索引)和辅索引(非主属性上建立的索引)
唯一索引(索引列不包含重复值)
单层索引(线性索引,每个索引项顺序排列直接指向数据文件中的数据记录)和多层索引(大数据量文件,B,B+树索引快速定位)
物理设计内容
物理设计的主要环节
数据库逻辑模式描述
文件组织与存取设计
数据分布设计
确定系统配置
物理模式评估