【问题标题】:Is it 1NF , 2NF or 3NF? [closed]是1NF、2NF还是3NF? [关闭]
【发布时间】:2013-05-11 00:25:55
【问题描述】:

我正在尝试使用 MySql 数据库创建图书馆管理系统。我为这个系统创建了 4 个表。我知道它在 1nf 中,因为主键表没有重复值,但请告诉我它也在 2NF 或 3NF 下吗?

  Library Management SYstem
BOOKS TABLE
Bookid      BookName    Quantity    stock   issue
1                ABC        10      7   3
2                XYZ        5       3   2
3                AAA        3       0   3



USERS
UserId      username    Address         PhoneNumber
1             Taha      A22 Blk3       0146699998
2             Kirmani   A11            9514489944



USERS_BOOKS
userid      Books_owned 
1                ABC
2                XYZ
1                AAA    



BOOKS ISSUED

userid      bookid      issue_date      ReturnDate
1                1      16-May-2013             
2                2      14-May-2013     16-May-2013

【问题讨论】:

  • 您为每个关系确定了哪些功能依赖关系?

标签: mysql database normalization denormalization database-table


【解决方案1】:

如果程序员意识到需要为用户存储超过 1 个地址或电话,则它有可能违反 1NF。它违反了 3NF,因为地址通过非主属性用户名传递依赖于候选键 UserId。电话号码也是如此

【讨论】:

    【解决方案2】:

    没有非关键属性依赖于非关键属性,所以 3NF。

    【讨论】:

      猜你喜欢
      • 2020-02-21
      • 1970-01-01
      • 2013-05-12
      • 1970-01-01
      • 2014-12-14
      • 2014-02-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多