如何设计良好的数据库Schema,是所有信息管理系统的核心。如果数据库Schema设计的相当完善和健壮,那么系统的性能会表现的非常出色,对将来的优化和扩展也裨益良多,这对于一家从事信息化集成的公司而言代表着信誉和实力。 设计数据库,先说现有的三种概念模型,即E-R图、UML图和ORM建模。在这三种概念建模方式上取舍因人而异,我比较喜欢用UML建模,毕竟它是面向对象的,而面向对象的思想对现实世界建模是最为直观的;而且UML表达丰富,可以通过不同视图来观察数据库Schema。
如何设计数据库Schema,首先要掌握一些原则。 第一、抓住主要矛盾,设计数据库就会面对一系列乱糟糟的对象和关……
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
如何设计良好的数据库Schema,是所有信息管理系统的核心。如果数据库Schema设计的相当完善和健壮,那么系统的性能会表现的非常出色,对将来的优化和扩展也裨益良多,这对于一家从事信息化集成的公司而言代表着信誉和实力。
设计数据库,先说现有的三种概念模型,即E-R图、UML图和ORM建模。在这三种概念建模方式上取舍因人而异,我比较喜欢用UML建模,毕竟它是面向对象的,而面向对象的思想对现实世界建模是最为直观的;而且UML表达丰富,可以通过不同视图来观察数据库Schema。
如何设计数据库Schema,首先要掌握一些原则。
第一、抓住主要矛盾,设计数据库就会面对一系列乱糟糟的对象和关系,很多人喜欢“跟着感觉走”这是非常有害的,遵循第三范式和依赖关系,结果设计出了很多张表,一个水站信息化管理系统设计出500多张表。先不说其优劣,而是这么庞杂的设计是一件非常辛苦的事情,如何从中理清主要关系,或者对系统性能发挥主要作用的对象与关系,只要把这些问题搞清楚,其他的都不是问题。
第二,掌握面向对象建模“多用组合、少用继承”的原则,这有利于数据库Schema的扩展。因为少用继承就意味着减少查询时数据表之间的连接,而多用组合就使得一张表可以独立完成相当多的工作,这与现在以面向对象的思想进行系统设计的原则相吻合。
现在数据库系统承担了很多复杂的业务处理,比如递归查询、计算rank和计算员工工资增长率等等。如果在数据库设计上没有考虑这些需求因素是不合格的,可以通过数据库Schema的设计有效的支持这些问题,而不用在SQL或者使用系统函数上进行复杂的设计了。递归查询就意味着数据之间存在树状关系,解决树状问题的有效出路就是图状关系,数据库就是格式化存储数据的地方,因此可以存储一些计算结果信息从而有效支持业务处理。
作者
相关推荐
-
TT百科:SAP SQL Anywhere
SAP SQL Anywhere可以从物联网设备捕获数十亿比特的数据,如传感器和其他互联网产品,并把它与企业业务数据相结合。
-
同为数据库管理系统 DBMS和RDBMS的区别是什么?
在商用领域,关系数据库管理系统是目前最受欢迎的数据库管理系统。本文将讨论RDBMS软件与通用DBMS技术的不同。
-
SQL和NoSQL数据库设计之争
企业收集了很多大规模增长的松散结构化数据,Hadoop,Spark以及其他新技术处理这些数据非常有助于改善商业智能分析效率。
-
对比MongoDB与传统RDBMS
RDBMS之所以能够长久不衰,是由于对关系和集合等数学理论的强烈依托,但依旧存在缺陷,NoSQL是很好的补充。