【问题标题】:Database normalisation - some issues数据库规范化 - 一些问题
【发布时间】:2012-09-24 01:20:53
【问题描述】:

我正在为 Uni 完成一些工作,并且有一个数据表,我需要将其排列为第一、第二和第三范式,我试图在下面这样做,但我已经遇到了障碍。

我非常感谢任何有用的意见,因为我的导师正在度假,我不想使用错误的表格/关系开始其余的工作。

基本上,该系统应该允许用户添加电影、导演和演员。允许多个用户查看电影并按类型对电影进行分类。

UNF

**filmID**
title
directorID
categoryID
categoryName
notes
directorName
actorName
actorID
role
userID
userName
reviewDate
reviewText

1NF

**filmID**
title
notes

**directorID**
directorName

**categoryID**
categoryName

**actorID
filmID***
actorName
role

**userID**
userName

**filmID*
userID***
reviewDate
reviewText

2NF

**filmID**
title
notes

**directorID**
directorName

**categoryID**
categoryName

**actorID**
actorName

**actorID
filmID***
role

**userID**
userName

**filmID*
userID***
reviewDate
reviewText

【问题讨论】:

  • 欢迎来到 StackOverflow!请分享,what have you tried?
  • 您似乎缺少将导演和类别/流派与电影联系起来的方法。

标签: sql database database-design normalization


【解决方案1】:

您会在 Stack Overflow 上发现人们不会为您回答您的作业。

但是这里有一个非常好的教程的链接。

Normalisation Tutorial

如果您自己完成并完成它,而不是从这里复制和粘贴答案,您会更好地理解它。

【讨论】:

  • 相信我,这只是冰山一角,我必须编写一个动态 php 网站来显示表格中的信息,而我一点也不擅长 php。我已经将数据组织成我认为的 2NF,我只是在继续之前询问这是否正确。我似乎无法弄清楚 3NF 的下一步是什么。我并没有要求人们居高临下,只是为了一些建议。谢谢
  • 我的建议是做教程并正确学习。你自己说这只是一个开始,那么为什么不确保你从内而外了解基础知识呢?
【解决方案2】:

这里有一些问题要问你...

  • 演员也能当导演吗?
  • 一部电影可以有多个导演吗?
  • 用户可以多次查看电影吗?
  • 是否预定义了流派?
  • 一个演员可以在一部电影中扮演多个角色吗?

【讨论】:

  • 演员不能当导演。一部电影只能有一个导演。用户可以一次查看多于一部电影。流派是预定义的。演员在一部电影中只能扮演一个角色。
  • 也许@podiluska 的第一个问题应该是演员永远不能成为导演吗?鉴于您正在打折那些演员扮演多个角色(没有太大损失)或表演和导演的电影。没有落水狗???演员或导演可以评论一部电影吗?知道你需要把 Quentin 放在多少张不同的桌子上?
  • 您的数据结构是否满足这些要求?那么,没有伍迪艾伦,也没有科恩兄弟,也没有奥斯汀鲍尔斯?流派列表在哪里?
  • @TonyHopkinson:“考虑到你在打折那些演员扮演多个角色的电影,(没有很大的损失)”。 . .彼得·塞勒斯在博士中的三个角色。奇爱?损失惨重!
  • @Catcall,还不错。例如那些糟糕的埃迪墨菲电影
【解决方案3】:

完全有可能满足第二范式标准的数据库也满足第三范式标准。看起来就是这样。

【讨论】:

    猜你喜欢
    • 2011-11-04
    • 1970-01-01
    • 2011-02-06
    • 2011-03-03
    • 2014-09-21
    • 1970-01-01
    • 2012-06-02
    • 2012-07-30
    相关资源
    最近更新 更多