服务器 频道

ITPUB版主梁敬彬:谈数据库设计规范

  【IT168 现场报道】2013年4月18-20日,第四届中国数据库技术大会(DTCC 2013)在北京福朋喜来登酒店拉开序幕。在为期三天的会议中,大会将围绕大数据应用、数据架构、数据管理(数据治理)、传统数据库软件等技术领域展开深入探讨,并将邀请一批国内顶尖的技术专家来进行分享。本届大会将在保留数据库软件应用实践这一传统主题的基础上,向大数据、数据结构、数据治理与分析、商业智能等领域进行拓展,以满足于广大从业人士和行业用户的迫切需要。

ITPUB版主梁敬彬:谈数据库设计规范
第四届中国数据库技术大会(DTCC 2013)

  自2010年以来,国内领先的IT专业网站IT168联合旗下ITPUB、ChinaUnix技术社区已经连续举办了三届数据库技术大会,每届大会超过千人规模,云集了国内技术水平最高的数据架构师、DBA、数据库开发工程师、研发总监、IT经理等,是目前国内最受欢迎的数据库技术盛会。下面进行演讲的嘉宾是ITPUB版主,福建富士通首席数据库专家梁敬彬先生,他演讲的主题是“赢在起点--谈数据库设计规范”。

ITPUB版主梁敬彬:谈数据库设计规范
▲ITPUB版主,福建富士通首席数据库专家梁敬彬先生

  规范交流从小高故事开始

  今天梁敬彬演讲的主题就是两个字:规范。听起来或许很枯燥,而且具体的技术细节,都已经体现在《数据库设计与开发规范》里了。我们就换一个角度,从身边的小故事来说起。故事的主人公叫小高,是一个系统集成项目组的新人,从事DBA相关的工作一两年。这个故事不止是说明设计与开发规范,也不止是规范制定的讨论。

  数据库规范化,又称数据库或资料库正规化、标准化,是数据库设计中的一系列原理和技术,以减少数据库中数据冗余,增进数据的一致性。关系模型的发明者埃德加·科德最早提出这一概念,并于1970年代初定义了第一范式、第二范式和第三范式的概念,还与Raymond F. Boyce(英语:Raymond F. Boyce)于1974年共同定义了第三范式的改进范式--BC范式。

  除外还包括针对多值依赖的第四范式(英语:Fourth_normal_form),连接依赖的第五范式(英语:Fifth_normal_form),DK范式(英语:Domain/key_normal_form)和第六范式(英语:Sixth_normal_form)。

  现在数据库设计最多满足3NF,普遍认为范式过高,虽然具有对数据关系更好的约束性,但也导致数据关系表增加而另数据库IO更易繁忙,原来交由数据库处理的关系约束现更多在数据库使用程序中完成。

  故事一:天啦,总算可以开始分析了

ITPUB版主梁敬彬:谈数据库设计规范

ITPUB版主梁敬彬:谈数据库设计规范

  探讨小高故事背后的问题

ITPUB版主梁敬彬:谈数据库设计规范

  数据库设计规范之五个要求

  通常情况下,可以从两个方面来判断数据库是否设计的比较规范。一是看看是否拥有大量的窄表,二是宽表的数量是否足够的少。若符合这两个条件,则可以说明这个数据库的规范化水平还是比较高的。当然这是两个泛泛而谈的指标。为了达到数据库设计规范化的要求,一般来说,需要符合以下五个要求。

  要求一:表中应该避免可为空的列,虽然表中允许空列,但是,空字段是一种比较特殊的数据类型。

  要求二:表不应该有重复的值或者列。

  要求三:表中记录应该有一个唯一的标识符,在数据库表设计的时候,数据库管理员应该养成一个好习惯,用一个ID号来唯一的标识行记录,而不要通过名字、编号等字段来对纪录进行区分。

  要求四:数据库对象要有统一的前缀名,一个比较复杂的应用系统,其对应的数据库表往往以千计。

  要求五:尽量只存储单一实体类型的数据,这里将的实体类型跟数据类型不是一回事,要注意区分。这里讲的实体类型是指所需要描述对象的本身。

  以上五条是在数据库设计时达到规范化水平的基本要求。除了这些另外还有很多细节方面的要求,如数据类型、存储过程等等。而且,数据库规范往往没有技术方面的严格限制,主要依靠数据库管理员日常工作经验的累积。

4
相关文章