第十三讲
1.数据库设计的四个过程:①需求分析 ②概念数据库设计 ③逻辑数据库设计 ④物理数据库设计
2.需求分析:
3.概念数据库设计的两种方向:
左边为先全局后局部,右边为先局部后全局
4.如何消除冲突:
5.不同层次的E-R图
6.概念数据库设计流程:
占有属性:即该实体独有的属性,其他实体均不能拥有
7.逻辑数据库的设计:
关键在于将E-R转化为关系模式
属性转换规则:
即将最小基数为1的一方的主属性作为关系实体的主键,而另一方则作为外键
8.受控冗余与不受控冗余:
不受控冗余:非主属性之间存在依赖,改一方,另一方必须要修改
受控冗余:作为外键,联系另一实体,获得相应的属性
9.数据库设计的理论支持:
10.逻辑数据库设计思路:
11.物理数据库设计思路:
难题分析:
A:课留下一个外键,然后添加一个关系,来拆分存储复合属性
B:只有多对多才必须定义一个新的关系,其他的用外键就可以满足建立联系
C:即将具体化的实体,直接形成一个关系,不依赖于任何其他实体
D:在一对多中要将单方的关键字交给多方作为外键,即对应的联系
第十四讲
1.函数依赖:x->y 则当x的值相同时,y的值必然相同
2.何为非平凡函数依赖:即y函数依赖于x,且y不是x的子集
3.何为部分依赖,何为完全依赖:部分依赖 x->y,x的子集为a,a->y,则y对x是部分依赖,
完全依赖 x->y,不存在x的子集可以决定y,则是完全依赖
4.何为传递函数依赖:x->y->z 且y不是x的子集,z不是y的子集
5.何为候选键:
K要满足最小性,U不能为部分依赖于K
6.外来建:
7.何为逻辑蕴涵:即F里面存着一堆属性依赖,通过分解,合并,传递,能产生出x->y,则可以说F逻辑蕴涵x->y
8.何为闭包:即通过属性依赖集合,所能推导出来的完整属性依赖集合。
9.armstrong公理:
10.何为属性闭包:即属性集合通过F+,所能推导出来的所有属性的集合
11.何为覆盖,即两个依赖集合的闭包是相同的
12.
即,F看作x->y,y分裂成a1,a2,a3...,x->a1,x->a2..所产生依赖闭包的集合能够覆盖F的依赖闭包
13.何为最小覆盖:
错题分析:
分析:需保证为非平凡依赖,才能说是传递依赖
计算流程:
①先取左边为单属性的,拆分,得b->c,b->d,d->g。
②左边双属性若有依赖关系,取父属性,再拆分,bc->ae变成b->a,b->e,dg->e变成d->e
③剩余的双属性,检查是否包含已有的单属性,dc->ef拆分得dc->e和dc->f,dc->e包含d->e消掉
④传递的两端消掉,结束