Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
Nods towards normalisation in hygene #181
I previously had this in a push request, but as we've been most firmly instructed to not add content, I'll add it here as an issue instead.
I think it should be here because otherwise the third rule is a negative prohibition that doesn't provide useful hints as to how. By including a link to wikipedia they'll be able to explore the terms on their own time and a paragraph on the topic, we introduce a bit more structure than "split up tables."
I'm not sure you should keep this (again, not a push request per se) but I think the topic should be re-framed from the current third point.
In lesson 8, I added (to the present paragraph, at first):
Because we can join tables, we can make individual tables about one and only one thing, so as to avoid problems. The most important thing in a database is that each "fact" about the things we are recording is recorded once and only once. If it isn't, then the database doesn't know which value is the "correct" value. By splitting up tables into topics that relate to one and only one thing, we reduce problems and increase flexibility. (Consider, some databases only allow us to record a single phone number. What happens when we want to also be called at our mobile number?)
There are a few rules of thumb that we can follow to keep a database consistent: