I know everyone and his cat has one of these up but I'm just so stuck... I mean in theory I think I understand normalization and then I get down to it and I just... don't. I've been googling and looking through examples and I'm ready to tear my hair out. This is what I have thus far, any help your willing to give would be greatly appreciated
Relational Model
Authors(aID, aname, abio)
Books(ISBN, libref, title, summary)
Format(fid, type)
Section(sectionId, sectionName)
Cardholders(cardNum, cname)
Series(serID, title)
Status(sid, status)
Publishers(pID, name)
Checkout(cardNum, libref, date)
Return(cardNum, libref, date)
haveFormat(libref, fid)
areInSection(libref, sectionID)
areInSeries(libref, serID, volumeNum)
areAvailable(libref, sid)
authorsWrite(aid, libref)
booksPub(libref, pid, year)
authorsPub(aid, pid)
Quantity(ISBN, numOfBooks)
Normalization
According to 1NF the tables in a database should not contain repeating groups. The only tables in violation of this are the Books table and the areInSeries tables. Due to the fact that each title can come in a variety of formats, each format gets its own unique ISBN and library reference number. It would be better than to break down the Books table by Format.
booksHardcover(libref, ISBN, title, summary)
booksPaperback(libref, ISBN, title, summary)
booksAudio(libref, ISBN, title, summary)
booksTradePaperback(libref, ISBN, title, summary)
breaking the inSeries table down by format gets rid of the duplicates:
seriesPaperback(libref, serID, volumeNum)
seriesTradePaperback(libref, serID, volumeNum)
seriesAudio(libref, serID, volumeNum)
seriesHardcover(libref, serID, volumeNum)
BCNF
R = Authors(aid, aname, abio)
F = aname -> abio
***didn't copy my formatting but the first value in each is the key and was underlined in my word doc