我怎样才能检查我的概念模型是否正确?和规范化的例子

时间:2012-04-23 10:20:17

标签: database database-design erd

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

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

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

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

因为在“显示的绘画”字段中有重复数据。我认为现在处于第3范式?

2 个答案:

答案 0 :(得分:1)

关于ER数据库,值得看一下“Data Base normalization rules

对于实际的数据库规范化教程

还要看here

关于逻辑模型,很难说它应该围绕您的业务需求而形成。无论如何,你可以针对你的模型写一些测试,看看你是否能得到你想要的东西。

答案 1 :(得分:0)

快速的经验法则是:

  1. 不要违反principle of atomicity。尝试将整个集合放在一个字段中会使这些字段更“不透明”,并且不容易正确索引,查询和与其他表相关。
  2. 并且不要违反the DRY principle。即使您对功能依赖性和数据库规范化一无所知,只要查看您的模型并尝试识别冗余,就会告诉您有关模型质量的大量信息。事实上,规范化的整个目的是避免“重复自己”。
  3. 在您的特定情况下,假设Paintings on Display只是一个值(在这种情况下它应该被称为Painting on Display),您应该没问题。

    如果感兴趣的是Location - 这究竟是什么意思,可以为多个画廊重复一次吗?