软考下午题 —— 数据库设计

1.补全E-R图中缺失的联系和联系类型

        联系:用于多表连接。

        联系类型:一对一,一对多,多对多。

        实体类型:实体,子实体(子类实体),弱实体(依赖实体的存在而存在),聚合实体。

2.E-R图转关系模式

(1)补充关系模式缺失的属性

        转换方法∶①②。归并问题

        ①∶先补全需求分析中提到的的属性。

        ②∶根据完整E-R图中两个实体的联系类型(一对一,一对多,多对多,超类与子类),以此来确定是否需要添加外键(另一方实体的主键)。

         一对一∶ 

                ①任意一方实体添加外键(归并另一方实体的主键)即可建立连接。

                ②“联系”和两个实体分别建立关系模式,“联系”的属性是两个实体的主键及联系的派生属性,关系的主键是任意一个实体的主键。

        一对多

                ①转换时以联系类型为多的一方实体转换(即添加联系类型为一的实体的主键)建立连接。

                ②“联系”和两个实体分别建立关系模式,“联系”的属性是两个实体的主键。

        多对多∶两个实体建立关系模式,“联系”单独建立关系模式,属性为两个实体的主键和“联系”的派生属性。

        超类与子类∶子类实体关系模式只需加上超类实体的主键即可。

        注∶当关系模式设计中给出了单独“联系”的关系模式时,说明该“联系”已经建立了两实体之间的连接。不需要再给两个实体的属性添加其中一方实体的主键,以此建立连接。

(2)指出关系模式的主键(实体完整性)和外键(参照完整性),即(完整性约束关系)。

        主键:此关系模式中唯一标识每一个元组的候选码。

        外键:别的关系模式的主键在此关系模式中充当外键,以此来建立两表的联系(外连接)。

3.拓展题

(1)给E-R图添加新的实体和联系并写出关系模式。

(2)某个实体是否为弱实体?

        答∶是/否。弱实体的存在是以实体存在为前提,即弱实体依赖实体而存在。

(3)判断某个实体的属性是简单属性还是复合属性,说明原因?

        简单属性是原子的,不可再分的。

        复合属性可以继续分解为其他的属性,不满足关系模式的属性范围。

(4)两个关系模式中某属性是否存在命名冲突?

        不存在命名冲突∶因为两个属性分别属于两个不同的关系模式,可通过“关系名.属性名”区别。

(5)规范性问题。

        1NF∶原子,不可再分(复合属性不满足1NF)。

        2NF∶全部依赖主键。

        3NF∶不存在传递函数依赖(传递函数依赖 :A->B  B->C  所以 A->C)。不满足3NF时会造成数据冗余,插入异常,修改异常和删除异常需要将关系模式分解,即 B->C分解为独立的关系模式。

(6)“联系”组成的关系模式也是实体表,即需要在SQL设计时建立实体。“联系”也会产生派生属性。

注:仅为个人见解,如有不足请指正。

你可能感兴趣的:(软件设计师,数据库)