我目前正在做一些课程,我得到了一个建议表,我必须确定哪个规范形式的规则会被破坏。我认为我已经完成了这些工作,但是在应用某些规则时我一直很困惑。所以,如果有人能够检查它并向我解释为什么如果有什么事情是错误的,我将不胜感激。数据库规范化(1NF到3NF)
实施例:
这将打破1NF为有重复的数据,因为每个摄影师可参加多个匹配(匹配ID),因此,解决这个和带来1NF我这样做:
由于没有组合键,它已经在2NF的两个表中,但是公司和公司编号之间存在传递依赖关系。因此,这样做是为了带给3NF:
是手机号码和照片名称还传递依赖?如果某人具有相同的名字,这意味着它不是?此外,我不确定当我将公司和公司编号重新分配给1NF时是否会将其分类。
谢谢。
编辑:注意,对不起,混淆 - PhotoID是摄影师的ID。全列名:
Photographer ID (Primary key) <- Told this is the PK in the question
Photographer Name,
Mobile Phone Number,
Employing Company, <-Told this is unique in the question
Employing Company Phone Number,
Matches Attending,
所以你建议它应该是这样的http://i.stack.imgur.com/uhi9q.png? - 抱歉不知道如何在评论中显示它。 –
电话号码不是标识符,因为人们共享电话,甚至是手机。 – jimueller
取决于用例说实话。我从未部署过允许用户重复输入手机号码的系统。我只是在谈论手机号码。 –