数据库-数据库设计(二)

数据库设计

逻辑结构设计

概念结构是独立于任何一种数据模型的信息结构,逻辑结构设计的任务就是把概念结构设计阶段设计好的基本 E-R 图转换为与选用数据库管理系统产品所支持的数据模型相符合的逻辑结构。

逻辑结构设计的一般步骤:1)、将概念结构转化为一般的关系、网状、层次模型。2)、将转化来的关系、网状、层次模型向特定DBMS支持下的数据模型转换。3)、对数据模型进行优化。

1)、E-R 图向关系模型的转换

E-R 图由实体型、实体的属性和实体型之间的联系三个要素组成。 关系模型的逻辑结构是一组关系模式的集合。 将E-R图转换为关系模型即将实体型、实体的属性和实体型之间的联系转化为关系模式。

转换原则:一个实体型转换为一个关系模式。 关系的属性即实体的属性 ,关系的码即实体的码 。

实体型间的联系有以下不同情况: 1)、1 : 1 联系;2)、1 : m 联系 ;3)、m : n 联系 。

一个1:1联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。 转换为一个独立的关系模式 :关系的属性:与该联系相连的各实体的码以及联系本身的属性;关系的候选码:每个实体的码均是该关系的候选码。 与某一端实体对应的关系模式合并 :合并后关系的属性:加入对应关系的码和联系本身的属性;合并后关系的码:不变。例如:院系和正院长之间是1:1联系,其联系可以转换为以下三种形式:1)、院系(院系编号,院系名称,院系地址,…),院长(院长工号,姓名,性别…..),院系-院长(院系编号,院长工号,任期);2)、院系(院系编号,院系名称,院系地址,…),院长(院长工号,院系编号,任期,姓名,性别…..);3)、院系(院系编号,院系名称,院系地址,院长工号,…),院长(院长工号,任期,姓名,性别…..) 。

需要注意:从理论上讲,1:1 联系可以与任意一端对应的关系模式合并,但在一些情况下,与不同的关系模式合并效率会大不一样。因此究竟应该与哪端的关系模式合并需要依应用的具体情况而定。由于连接操作是最费时的操作,所以一般应以尽量减少连接操作为目标。例如,如果经常要查询某个学院的院长姓名,则将该联系与院长关系合并更好些。

一个1:n联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并。 转换为一个独立的关系模式 :关系的属性:与该联系相连的各实体的码以及联系本身的属性;关系的码:n端实体的码。 与n端对应的关系模式合并 :合并后关系的属性:在n端关系中加入1端关系的码和联系本身的属性。;合并后关系的码:不变;可以减少系统中的关系个数,一般情况下更倾向于采用这种方法。例如:班级和学生之间是 1:n 的联系,有以下两种转换:1)、使其成为一个独立的关系模式:班级(班级号,班级名称,…),学生(学号,姓名,性别,….),学生-班级(学号,班级号);2)、将其学生关系模式合并:班级(班级号,班级名称,… ),学生(学号,班级号,姓名,性别,…. )。

  

一个m:n联系转换为一个关系模式 :关系的属性:与该联系相连的各实体的码以及联系本身的属性;关系的码:各实体码的组合。例如 “选修” 联系是一个m:n联系,可以将它转换为如下关系模式,其中学号与课程号为关系的组合码: 学生(学号,姓名,…),课程(课号,课程名,…),选修(学号,课程号,成绩)。

三个或三个以上实体间的一个多元联系转换为一个关系模式:关系的属性:与该多元联系相连的各实体的码以及联系本身的属性;关系的码:各实体码的组合。例如:“讲授” 联系是一个三元联系,可以将它转换为如下关系模式,其中课程号、职工号和书号为关系的组合码:讲授(课程号,职工号,书号)。

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值