数据库设计_数据库设计基础:数据库物理设计工作过程和设计步骤

5efaed6ee031fa1d0477b7a582b0f357.png

1、数据流物理设计的工作过程

在数据库的物理结构中,数据的基本单位是数据记录,记录以文件的形式进行存储,,一条存储记录对应关系模式中的一条逻辑记录,

并且文件当中还需要记录存储记录的结构信息,比如字段长度、数据类型、字段描述等信息。

工作过程:逻辑设计阶段产生(逻辑模型:模式、子模式)→确定数据库的物理模式→评估数据库的物理模式产生(物理模型:存储记录格式、记录存放位置、存取方法)→数据库实施阶段

2、数据库物理设计工作步骤

数据库物理设计主要步骤有:确定数据分布、存储结构、访问方式。

2.1 确定数据分布

从企业计算机应用环境出发,确定数据是采用集中管理还是分布式管理,目前一般采用分布式管理。数据分布需要考虑以下几个方面:

  • 根据不同应用分布数据:一般情况下企业的部门不同所使用的数据也是不同,将与部门应用相关的数据存储在相应的场地,使得不同场地上处理不同的业务,针对应用多个场地的业务可以通过网络进行数据管理。
  • 根据处理要求确定数据的分布:针对不同的处理要求,也会有不同的使用频度和响应时间要求。频度高、响应时间短的数据应该存储在高速的设备上。
  • 针对数据的分布存储必然会导致数据的逻辑结构的变化,要对关系模式做新的调整。

2.2 确定数据的存储结构

存储结构具体是指数据文件中记录之间的物理结构。在文件中,数据是以记录为单位进行存储的,可以采用顺序存储、哈希存储、堆存储、B+树等方式。

一般为了提高数据的访问速度,会采用索引技术。这个在物理设计阶段,要根据数据处理和修改要求,确定数据库文件的索引字段和索引类型。

2.3 确定数据的访问方式

数据的访问方式一般都是由存储结构决定的。数据库物理结构组成有:存储记录格式、记录在物理设备上的安排、访问路径等。

1、存储结构的设计

存储记录组成:记录、数据项长度、长度和数据项之间的联系、逻辑记录到存储记录的映射。一般在设计记录的存储结构时,并不改变数据库的逻辑结构,但可以在物理上对ijl进行封装。当多个用户同时访问数据项时,会由于访问冲突而等待可以将这些数据分布在不同的磁盘组上,当用户同时访问时,

系统可以并行的执行IO,减少网盘冲突,从而提高数据库的性能。

2、存储记录的布局

存储记录的布局,就是确定数据的存放位置。存储记录作为一个整体,如何分布在物理区域上,是数据库物理结构设计的重要环节。聚簇功能可以大大提高按聚簇码进行查询的效率。

建立聚簇索引的原则:

  • 聚簇码的值相对稳定、没有或很少需要进行修改。
  • 表主要用户查询,并且通过聚簇码进行访问或连接是该表的主要应用。
  • 对应每个聚簇码值的平均元组数既不太多,也不太少。

3、存取方法的设计

存取方法是为存储在物理设备上的数据提供存储和检索能力。存取方法包括存储结构、检索机制。存储结构限定了可能访问的路径和存储记录;检索机制定义每个应用的访问路径。

数据库物理设计(1)全文共2页,当前为第1页。数据库物理设计(1)全文共2页,当前为第1页。物理结构设计 数据库物理设计(1)全文共2页,当前为第1页。 数据库物理设计(1)全文共2页,当前为第1页。 数据库物理设计阶段的任务是根据具体计算机系统(DBMS和硬件等)的特点,为给定的数据库模型确定合理的存储结构和存取方法。所谓的"合理"主要有两个含义:一个是要使设计出的物理数据库占用较少的存储空间,另一个对数据库的操作具有尽可能高的速度。 为了设计数据库物理结构,设计人员必须充分了解所用DBMS的内部特征;充分了解数据系统的实际应用环境,特别是数据应用处理的频率和响应时间的要求;充分了解外存储设备的特性。数据库物理结构设计大致包括:确定数据的存取方法、确定数据存储结构。 物理结构设计阶段实现的是数据库系统的内模式,它的质量直接决定了整个系统的性能。因此在确定数据库存储结构和存取方法之前,对数据库系统所支持的事务要进行仔细分析,获得优化数据库物理设计的参数。 对于数据库查询事务,需要得到如下信息: l 要查询的关系。 l 查询条件(即选择条件)所涉及的属性。 l 连接条件所涉及的属性。 l 查询的投影属性。 对于数据更新事务,需要得到如下信息: l 要更新的关系。 l 每个关系上的更新操作的类型。 l 删除和修改操作所涉及的属性。 l 修改操作要更改的属性值。 上述这些信息是确定关系存取方法的依据。除此之外,还需要知道每个事务在各关系上运行的频率,某些事务可能具有严格的性能要求。例如,某个事务必须在20秒内结束。这种时间约束对于存取方法的选择有重大的影响。需要了解每个事务的时间约束。 值得注意的是,在进行数据库物理结构设计时,通常并不知道所有的事务,上述信息可能不完全。所以,以后可能需要修改根据上述信息设计物理结构,以适应新事务的要求。 1. 确定关系模型的存取方法 确定数据库的存取方法,就是确定建立哪些存储路径以实现快速存取数据库中的数据。现行的DBMS一般都提供了多种存取方法,如索引法、HASH法等。其中,最常用的是索引法。 数据库物理设计(1)全文共2页,当前为第2页。数据库物理设计(1)全文共2页,当前为第2页。数据库的索引类似书的目录。在书中,目录允许用户不必浏览全书就能迅速地找到所需要的位置。在数据库中,索引也允许应用程序迅速找到表中的数据,而不必扫描整个数据库。在书中,目录就是内容和相应页号的清单。在数据库中,索引就是表中数据和相应存储位置的列表。使用索引可以大大减少数据的查询时间。 数据库物理设计(1)全文共2页,当前为第2页。 数据库物理设计(1)全文共2页,当前为第2页。 但需要注意的是索引虽然能加速查询的速度,但是为数据库中的每张表都设置大量的索引并不是一个明智的做法。这是因为增加索引也有其不利的一面:首先,每个索引都将占用一定的存储空间,如果建立聚簇索引(会改变数据物理存储位置的一种索引),占用需要的空间就会更大;其次,当对表中的数据进行增加、删除和修改的时候,索引也要动态地维护,这样就降低了数据的更新速度。 在创建索引的时候,一般遵循以下的一些经验性原则: l 在经常需要搜索的列上建立索引。 l 在主关键字上建立索引。 l 在经常用于连接的列上建立索引,即在外键上建立索引。 l 在经常需要根据范围进行搜索的列上创建索引,因为索引已经排序,其指定的范围是连续的。 l 在经常需要排序的列上建立索引,因为索引已经排序,这样查询可以利用索引的排序,加快排序查询的时间。 l 在经常成为查询条件的列上建立索引。也就是说,在经常使用在WHERE子句中的列上面建立索引。 同样,对于某些列不应该创建索引。这时候应该考虑下面的指导原则: l 对于那些在查询中很少使用和参考的列不应该创建索引。因为既然这些列很少使用到,有索引并不能提高查询的速度。相反,由于增加了索引,反而降低了系统的维护速度和增大了空间需求。 l 对于那些只有很少值的列不应该建立索引。例如,人事表中的"性别"列,取值范围只有两项:"男"或"女"。若在其上建立索引,则平均起来,每个属性值对应一半的元组,用索引检索,并不能明显加快检索的速度。 时刻怀有一颗虔诚之心,乐于分享。知识才更有意义。 数据库物理设计(1)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值