关系数据库设计模式?
设计模式通常与面向对象的设计有关。
是否有创建和编程关系数据库的设计模式?
许多问题肯定必须有可重用的解决方案。
示例将包括表格设计,存储过程,触发器等的模式。
是否有类似于martinfowler.com的这种模式的在线存储库?
模式可以解决的问题示例:
Martin Fowler的Signature系列中有一本书叫做Refactoring Databases。 这提供了重构数据库的技术列表。 我不能说我已经听过很多数据库模式列表。
我还强烈推荐David C. Hay的数据模型模式和后续的元数据映射,这是基于第一种模式构建的,并且更加雄心勃勃并且更有吸引力。 仅前言是有启发性的。
Len Silverston的数据模型资源手册系列第1卷包含通用数据模型(员工,账户,运输,采购等),第2卷包含特定于行业的数据模型(会计核算,医疗保健等),第3卷提供了数据模型模式。
最后,虽然本书表面上涉及UML和对象建模,但Peter Coad的UML颜色建模提供了一个“原型”驱动的实体建模过程,其前提是任何对象/数据模型都有4个核心原型
这里有一个链接到已经开发了几百个免费数据库模式的绅士。
http://www.databaseanswers.org/data_models/
也许如果你必须快速建立一个数据库,这将给你一个关于给定模式中的表和关系的起点。 请记住,您可能需要修改此起点。 我发现它非常有用。
其次SQL Server杂志有一个偶尔的专栏叫做“数据建模器”,它非常具有教育意义,并且通常包含给定系统的完整模式。
设计模式并不是可重复使用的解决方案。
按照定义,设计模式是可重用的。 他们是您在其他良好解决方案中发现的模式。
一个模式不是可以重复使用的。 然而,你可以按照模式实现你的羽绒设计。
关系设计模式包括如下内容:
使用外键的一对多关系(主 - 细节,父 - 子)关系。
与桥表的多对多关系。
在FK列中使用NULL管理可选的一对一关系。
星型架构:维度和事实,OLAP设计。
完全标准化的OLTP设计。
维度中的多个索引搜索列。
包含一个或多个应用程序使用的PK,描述和代码值的“查找表”。 为什么要有代码? 我不知道,但是当他们必须被使用时,这是一种管理代码的方式。
单表。 [有人称这是一种反模式; 这是一种模式,有时很糟糕,有时候很好。]这是一张有很多预先加入的内容的表格,这些内容违反了第二种和第三种正常形式。
阵列表。 这是一个通过在列中有一个数组或一系列值来违反第一范式的表。
混合使用数据库。 这是一个为事务处理规范化的数据库,但有许多额外的索引用于报告和分析。 这是一种反模式 - 不要这样做。 人们无论如何都这样做,所以它仍然是一种模式。
设计数据库的大多数人可以很容易地听到半打“这是另一个”。 这些是他们定期使用的设计模式。
这不包括使用和管理的管理和操作模式。
链接地址: http://www.djcxy.com/p/70613.html