0

我正在为我参与的项目设计一个关系数据库。我有一个实体关系和逻辑模型,但我不确定它们是否正确。可以这么说,是否有任何测试数据的石墙方法,看看我是否正确地遵循了正确的路径?

这是一个例子,你能告诉我这是否正确吗?如果是这样,我知道我是对的。

给定以下字段 Galleryid、名称、位置、城市、邮政编码、展出的绘画,数据模型将是

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

因为在“展出的绘画”字段中有重复的数据。我认为这现在是第三种正常形式?

4

2 回答 2

1

关于 ER 数据库,值得看看“数据库规范化规则

还可以在这里查看实用的数据库规范化教程

关于逻辑模型很难说,因为它应该围绕您的业务需求进行塑造。无论如何,您可以针对您的模型编写一些测试,看看您是否可以得到您想要的东西。

于 2012-04-23T10:24:00.280 回答
0

快速的经验法则是:

  1. 不要违反原子性原则。尝试将整个集合放在单个字段中会使该字段更加“不透明”,并且不太容易正确索引、查询和与其他表相关联。
  2. 并且不要违反DRY 原则。即使您对函数依赖和数据库规范化一无所知,只要查看您的模型并尝试识别冗余,您也可以了解很多关于模型质量的信息。事实上,规范化的整个目的是避免“重复自己”。

在您的特定情况下,假设Paintings on Display只是一个值(在这种情况下应该真正调用它Painting on Display),您应该没问题。

感兴趣的重点是Location——这到底是什么意思,可以为多个画廊重复吗?

于 2012-04-23T21:25:13.613 回答