是1NF,2NF还是3NF?

时间:2013-05-16 07:55:12

标签: mysql database normalization denormalization database-table

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

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:1)

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