关闭

数据库重构探讨系列(1)

发表于:2012-11-01 10:30

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:chszs    来源:51Testing软件测试网采编

  1、数据库重构分成6类:

  2、数据库味道

  与“代码味道”概念相似,代码味道是代码中出现常见问题,表明需要进行重构。

  数据库味道表明数据库需要重构。这些味道包括:

  (1)多用途的列

  如一个列被用于多种用途,就可能存在额外的代码来确保源数据以“正确的方式”使用,这些代码常常会检查一个列或更多其它列的值。

  比如:

  某列用于存储某人的生日,如果此人是顾客的话。假如此人是公司雇员,此列则用于存储入厂日期。

  (2)多用途的表

  如一个表被用于存放几种类型的实体,就可能存在设计缺陷。

  例如:

  某个表Customer同时存放了人和公司的信息。

  (3)重复的数据

  重复的数据对操作型数据库来说是一个严重的问题,因为如数据存放在几个地方,不一致的机会就增加了。

  (4)列太多的表

  当一个表包含太多的列,则说明这个表缺乏内聚。

  比如:

  Customer表包含了一些列,存放了3种不同的地址(发货地址、账单地址、公司地址)或几个电话号码(家庭电话、工作电话、手机号等),你可能需要将这种结构进行标准化处理,加入Address和PhoneNumber表。

  (5)“智能”列

  “智能”列是这样一种列,其中数据的不同位置代表不同的概念。

  例如:

  客户ID的前4位数字代表客户的开户行,则客户ID就是一个“智能”列。因为你会解析它以取得更细粒度的信息,如开户行ID。

21/212>
《2024软件测试行业从业人员调查问卷》,您的见解,行业的声音!

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号