2012-04-23 49 views
0

我正在为我参与的项目设计关系数据库。我有一个实体关系和逻辑模型,但我不确定它们是否正确。有没有石墙测试数据,看看我是否正确地遵循正确的道路,可以这么说?如何检查我的概念模型是否正确?并规范化示例

下面是一个例子,你可以告诉我,如果这是正确的?如果是这样,我知道我是正确的。

鉴于以下字段Galleryid,名称,位置,城市,邮编,在显示绘画,数据模型将

Gallery (GalleryID, Location, City, Postcode) 
Gallery Items (GalleryID, Paintings on Display) 

,因为是在显示领域的作品重复数据。我认为这现在是第三常态?

回答

1

关于ER数据库也值得看看在“Data Base normalization rules

,也为实际的DB正常化教程

关于逻辑模型很难看here说,因为它应该根据您的业务需求定型。无论如何,你可以针对你的模型写一些测试,看看你是否能得到你想要的。

+0

如果我给你一个表格的例子,我可以告诉我,如果我在正确的路线? – 2012-04-23 10:27:57

+0

我添加了另一个显示实际示例的链接。我希望它可以帮助 – 2012-04-23 10:31:16

+0

是的,谢谢你的帮助。虽然这个系统不是一个股票/客户/订单系统,但它是一个艺术画廊系统,所以我很难理解所有相关的部分! – 2012-04-23 10:38:30

0

拇指快速规则将是:

  1. 不违反principle of atomicity。试图将整个集合放在单个字段中会使这些字段更加“不透明”,并且不太容易正确地对其他表进行索引,查询和关联。
  2. ,不违反the DRY principle。即使你不了解函数依赖和数据库规范化的任何内容,只要看看你的模型并试图找出冗余就会告诉你关于你模型质量的很多信息。事实上,规范化的整个目的是避免“重复自己”。

在您的特定情况下,假设Paintings on Display只是一个值(在这种情况下,它应该被称为Painting on Display),你应该确定。

如果感兴趣的是Location这一点 - 它究竟意味着什么,它可以重复用于多个画廊吗?