-3

我正在尝试使用 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
4

2 回答 2

1

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

于 2013-05-16T08:09:29.733 回答
1

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

于 2013-05-16T08:30:44.057 回答