数据库设计----逻辑结构设计(把E—R图转换为逻辑结构)、物理结构设计

逻辑结构设计

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

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

将E-R图转换为关系模型:将实体型、实体的属性和实体型之间的联系转化为关系模式

转换原则

  • 一个实体型转换为一个关系模式。
  1. 关系的属性:实体的属性
  2. 关系的码:实体的码
  • 实体型间的联系有以下不同情况

      (1)一个1:1联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。

                      ① 转换为一个独立的关系模式

                                            关系的属性:与该联系相连的各实体的码以及联系本身的属性       

                                             关系的候选码:每个实体的码均是该关系的候选码

                      ②与某一端实体对应的关系模式合并

                                         合并后关系的属性:加入对应关系的码和联系本身的属性

                                         合并后关系的码:不变

       (2)一个1:n联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并。

                      ①转换为一个独立的关系模式

                                      关系的属性:与该联系相连的各实体的码以及联系本身的属性

                                      关系的码:n端实体的码

                      ②与n端对应的关系模式合并

                                     合并后关系的属性:在n端关系中加入1端关系的码和联系本身的属性

                                    合并后关系的码:不变可以减少系统中的关系个数,一般情况下更倾向于采用这种方法

         (3)一个m:n联系转换为一个关系模式

                      关系的属性:与该联系相连的各实体的码以及联系本身的属性

                      关系的码:各实体码的组合

          (4)三个或三个以上实体间的一个多元联系转换为一个关系模式。

                         关系的属性:与该多元联系相连的各实体的码以及联系本身的属性

                         关系的码:各实体码的组合

          (5)具有相同码的关系模式可合并 目的:减少系统中的关系个数

                         合并方法:  将其中一个关系模式的全部属性加入到另一个关系模式中,然后去掉其中的同义属性(可能同名也可能不同名),适当调整属性的次序

数据模型的优化

优化数据模型的方法:

(1)确定数据依赖

           按需求分析阶段所得到的语义,分别写出每个关系模式内部各属性之间的数据依赖以及不同关系模式属性之间数据依赖。

(2)对于各个关系模式之间的数据依赖进行极小化处理,消除冗余的联系。

(3)按照数据依赖的理论对关系模式进行分析,考察是否存在部分函数依赖、传递函数依赖、多值依赖等,确定各关系模式分别属于第几范式。

(4)按照需求分析阶段得到的各种应用对数据处理的要求,分析对于这样的应用环境这些模式是否合适,确定是否要对它们进行合并或分解。

(5)对关系模式进行必要分解,提高数据操作效率和存储空间的利用率。

       常用分解方法:

  • 水平分解

              把(基本)关系的元组分为若干子集合,定义每个子集合为一个子关系,以提高系统的效率。

  • 垂直分解

             把关系模式R的属性分解为若干子集合,形成若干子关系模式。

设计用户子模式

定义数据库模式主要是从系统的时间效率、空间效率、易维护等角度出发。

定义用户外模式时应该更注重考虑用户的习惯与方便。包括三个方面:

  1. 使用更符合用户习惯的别名
  2. 针对不同级别的用户定义不同的视图,以保证系统的安全性。
  3. 简化用户对系统的使用

 

物理结构设计

数据库在物理设备上的存储结构与存取方法称为数据库的物理结构,它依赖于选定的数据库管理系统。

为一个给定的逻辑数据模型选取一个最适合应用要求的物理结构的过程,就是数据库的物理设计

设计步骤:

  1. 确定数据库的物理结构
  2. 对物理结构进行评价
  3. 若评价结果满足原设计要求,则可进入到物理实施阶段。

关系数据库物理设计的内容

1.为关系模式选择存取方法(建立存取路径)    2.设计关系、索引等数据库文件的物理存储结构

数据库管理系统常用存取方法

1. B+树索引存取方法    2. Hash索引存取方法    3. 聚簇存取方法

为什么要建立索引?  提高存取效率

什么是聚簇?      为了提高某个属性(或属性组)的查询速度,把这个或这些属性(称为聚簇码)上具有相同值的元组集中存放在连续的物理块中称为聚簇。

在一个基本表上最多只能建立一个聚簇索引

确定数据库的存储结构

  • 确定数据库物理结构主要指确定数据的存放位置和存储结构,包括:确定关系、索引、聚簇、日志、备份等的存储安排和存储结构,确定系统配置等。
  • 确定数据的存放位置和存储结构要综合考虑存取时间、存储空间利用率和维护代价3个方面的因素。
  • 2
    点赞
  • 41
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
将 E-R 模型转化为具体 DBMS 能够支持的数据库模式的方法如下: 1. 将 E-R 模型转换成关系模型:将 E-R 模型中的实体转化为关系模型中的表,将实体属性转化为表中的字段,将实体间的关系转化为表之间的关系。 2. 对关系模型进行规范化:将关系模型中的表进行规范化,消除表中的冗余数据,提高数据的一致性和完整性。 3. 建立主外键关系:在关系模型中,根据实体间的关系,建立主外键关系,以保证数据的完整性和一致性。 4. 确定数据类型和约束:为每个字段确定数据类型和约束,如长度、格式、默认值、非空等约束。 5. 设计物理存储结构:对关系模型进行物理设计,确定表的存储方式、存储位置、索引方式等。 例如,一个 E-R 模型中有两个实体 Student 和 Course,它们之间的关系是多对多,其中 Student 实体包含属性为学号(Sno)、姓名(Sname)和性别(Ssex),Course 实体包含属性为课程号(Cno)、课程名称(Cname)和学分(Ccredit)。将它们转换为关系模型后,可以得到两个表:Student 表和 Course 表。Student 表包含三个字段:Sno、Sname 和 Ssex;Course 表包含三个字段:Cno、Cname 和 Ccredit。由于 Student 和 Course 之间的关系是多对多,需要建立一个中间表 SC 表,它包含两个字段:Sno 和 Cno,分别作为 Student 表和 Course 表的外键,用于建立主外键关系。在确定数据类型和约束时,可以为 Sno 和 Cno 字段设置非空约束;在设计物理存储结构时,可以为 SC 表建立索引,提高查询效率。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

What’smean

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值