• + 0 comments

    Extending my process of identifying the normal forms here: https://www.hackerrank.com/challenges/database-normalization-6/forum/comments/1225774

    For 3NF, non-prime attributes must be directly dependent on CK, not transitively dependent:

    serial.director: depends on serialno (is CK)
    borrow.memberno: depends on serialno,date (is CK)
    

    It is in 3NF.

    For BCNF, every determinant must be a CK:

    description -> director,serialno (description is CK)
    serialno -> description (serialno is CK)
    serialno -> director (serialno is CK)
    memberno -> name,addr (memberno is CK)
    serialno,date -> memberno (serialno,date is CK)
    name,addr -> memberno (name,addr is CK)