糟糕的现实世界数据库模式

Ben*_*min 13 sql-server postgresql database-design anti-patterns

我们的硕士论文项目正在创建一个数据库模式分析器.作为此基础,我们正在努力量化糟糕的数据库设计.

我们的主管负责分析我们选择的真实世界模式,以便我们识别一些/几个设计问题.这些问题将用作架构分析器的起点.

找到一个好的模式有点困难,因为我们不想要一个在所有方面都设计得很好的模式,而是一个更"罕见到中等"的模式.

我们已经安排了以下用于分析的模式:维基媒体,moodle和drupal.不确定每个适合的类别.架构没有必要是开源的.

使用的数据库引擎并不重要,但我们希望专注于SQL服务器,Posgresql和Oracle.

目前,文学将被推迟,因为这项任务应该给我们提供可以在论文中使用的真实世界的例子.即"设计X被我们认为是糟糕的设计,我们的分析仪确定并建议改进",而不是提出人为的例子.

当我们准备好某种工具时,我会更新这篇文章.

Fra*_*ens 7

检查Dell-DVD商店,您可以免费使用它.

戴尔DVD商店是一个在线电子商务网站的开源模拟,具有Microsoft SQL Server,Oracle和MySQL以及驱动程序和Web应用程序的实现

Bill Karwin撰写了一本关于糟糕设计的好书:SQL反模式


sle*_*led 6

我正在开发一个包括地理信息系统的项目.在我看来,这些设计往往是"中等"到"罕见".

这里有些例子:

1)Geonames.org

您可以在此处找到数据和架构:http://download.geonames.org/export/dump/(向下滚动到页面底部的架构,它是在网站上的纯文本!)

有趣的是,这个数据库设计如何处理如此庞大的数据量!

2)OpenGeoDB

这个在德语国家(德国,奥地利,瑞士)非常受欢迎,因为它是一个包含德语区几乎所有城市/乡镇/村庄的数据库,包含邮政编码,名称,等级和坐标.

这个带有.sql架构,表格字段是英文的,所以这应该不是问题.

http://fa-technik.adfc.de/code/opengeodb/

两个例子中有趣的是他们如何管理像Country - > State - > County - > City - > Village等实体的层次结构.

PS:也许你也可以判断我的数据库设计;)基于角色的访问控制的DB模式


tam*_*asd 5

vBulletin有一个非常糟糕的数据库模式.