Database design 转入二年级

Database design 转入二年级,database-design,database-normalization,Database Design,Database Normalization,伙计们,你们将如何创建这个表的第二种形式(主键是:{isbn,copy}): isbnAB-1234-X authorIDIC45 authorNameI.Conn 标题最后的帷幕 复制2 分类检测功能 userIDxyz44将您的分类和作者放在一个单独的表中,如下所示: 书桌: isbnAB-1234-X authorIDIC45 标题最后的帷幕 复制2 ClassificationId1 用户IDxyz44 作者表: 作者 AuthorName 分类: 分类ID Classification

伙计们,你们将如何创建这个表的第二种形式(主键是:{isbn,copy}):
isbnAB-1234-X
authorIDIC45
authorNameI.Conn
标题最后的帷幕
复制2
分类检测功能

userIDxyz44

将您的分类和作者放在一个单独的表中,如下所示:

书桌:

isbnAB-1234-X

authorIDIC45

标题最后的帷幕

复制2

ClassificationId1

用户IDxyz44

作者表:

作者

AuthorName

分类:

分类ID


ClassificationName

关系在2NF iff中

  • 它在1NF,并且
  • 每个非素属性都是 依赖于每一个人的整体 候选密钥(不只是部分 任何候选密钥)
唯一的候选密钥是{isbn,copy}。所以这个问题变成了三个问题

  • 这个关系是1NF吗
  • 是否有任何非素数属性 {authord,authorName,title, 分类,仅取决于用户ID} 关于{isbn}
  • 是否有任何非素数属性 {authord,authorName,title, 分类,仅取决于用户ID} 关于{copy}
  • 你觉得怎么样


    稍后

    然后,我将使用创建单独的表 属性:isbn、自动ID、自动名称、, 标题、分类和其他 具有以下属性的表:isbn、副本、, 用户ID

    对。在“关系说话”中,您用这两个投影替换了原始关系R

    • R1={isbn,复制, 用户ID}
    • R2={isbn,作者, 作者名称、标题、分类}
    如果你做得正确,你应该能够通过在{isbn}上连接R1和R2来再次创建R

    现在R1和R2都在2NF中。(我认为这是家庭作业的问题。)你可能想考虑R1和R2是否在

    • 3NF
    • BCNF
    • 4NF
    • 5NF

    以后

    非正式地说,一个关系是3NF iff

    • 它在2NF中,并且
    • 不存在可传递的依赖项
    当我说“它在2NF中”时,我的意思是所讨论的关系在2NF中,而不是在3NF、BCNF、4NF或5NF中

    R1和R2是什么标准形式?你要解释你的推理,否则你的讲师会让你看起来很愚蠢。我们不想这样

    • R1={isbn,复制, 用户ID}
    • R2={isbn,作者, 作者名称、标题、分类}
    之后

    R1为5NF。R2在2NF中

    R2不在3NF中,因为“isbn”和“authorname”之间存在可传递的依赖关系

    • isbn->authorid,以及
    • authorid->authorname
    通过将R2替换为这两个投影(R3和R4),删除此可传递依赖项

    • R1={isbn,复制,用户ID}(5NF)
    • R3={isbn,作者,标题,分类}
    • R4={authorid,authorname}

    我不认为标题和分类之间存在功能上的依赖关系

    将您的AuthorName移动到另一个表中(第一次通过时没有看到:p)我已编辑了我的答案(可能需要一些格式化方面的帮助)@James根据什么规则创建了这些表?您从哪里获取ClassificationID和ClassificationName?请您清楚地说明每个表的起始位置。ClassificationId将是新分类表的代理键,ClassificationName将从第一个表中删除并放入此新表中。AuthorName将从第一个表中删除,并与新的代理键一起放入新的Author表中。有关2NF的规则,请参见@Catcall的答案。@JamesLove:代理键与规范化无关。@JamesLove:发明一个名为ClassificationID的新属性与规范化和2NF无关。@Catcall您能提供一个正确的答案(某种形式的表格)而不是问我一个问题吗?我觉得这一点帮助都没有。至于回答你的问题:对,对,,Yes@There我们无能为力:我可以提供桌子,但那对你的家庭作业没有帮助。那就是为你做家庭作业。哪些非素数属性仅依赖于{isbn}?在识别了这些属性之后,您应该如何处理它们?@CatCall Attributed仅依赖于isbn:authorID、authorName、title和classification。然后,我将创建一个单独的表,其中包含属性:isbn、autorID、autorName、title、Classification,以及另一个包含属性的表:isbn、copy、userID。你怎么说?@我们无能为力:我说,“干得好。”哪些非素数属性只依赖于{copy}?@Catcall其他属性只依赖于copy,看起来像是userID,但有点不理解。