Skip to main content
13 events
when toggle format what by license comment
Mar 22, 2018 at 13:04 history edited Michael - sqlbot CC BY-SA 3.0
improve(?) clarify (?) the example of student/subject/instructor
Jun 17, 2015 at 20:36 comment added Michael - sqlbot @Drewverlee it seems, at first, like you're correct, based on the phrasing I chose, here. It's been so long ago that I don't recall precisely what I intended. My intention was to craft an unrealistic scenario where the table -- which I suggest is not in 3NF with realistic data -- would have been clearly in at least 3NF as it was. If student were the primary key, though, the answer still seems to be correct as it is, with instructor and subject being dependent only on student and not each other. I would, of course, welcome any edits that improve the quality or clarity of this answer.
S Jun 17, 2015 at 19:51 history edited RolandoMySQLDBA CC BY-SA 3.0
Re-worded a sentence
S Jun 17, 2015 at 19:51 history suggested codaamok CC BY-SA 3.0
Re-worded a sentence
Jun 17, 2015 at 19:11 review Suggested edits
S Jun 17, 2015 at 19:51
Apr 9, 2014 at 22:06 comment added Drew Verlee Could someone explain why "In a world where a student could only take a course in one subject and all instructors taught all subjects, this table could indeed be said to be in 3NF" That seems to establish that Students -> subject and nothing more. Sense the key for this table would then be (students, instructor) wouldn't that break 3NF? What does every teacher teaching every subject help us with?
Jan 20, 2014 at 11:52 vote accept ack__
Sep 27, 2012 at 10:12 comment added Chris Travers I think the bigger issue is that determining multi-column functional dependencies is problematic esp. if values may be the same and yet represent different entities (i.e. where composite keys are involved). Consider a table: (address_text, city, state_province, mail_code, country). Now this is not normalized. (city, state_province) -> (country). So to fully normalize we have to break this off into at least three tables, maybe four (mail_code handling!) but the composite keys make this problematic to detect on the fly. Also comp. keys are key to the idea of nf's so no ignoring them!
Sep 24, 2012 at 2:37 comment added miracle173 @ack__: to be in 3rd normal form or not is a property of a relation not of a pair or a set of relation. So I can't see that establishing a foreign key relation has anything to do with 3rd normal form.
Sep 23, 2012 at 23:54 comment added Michael - sqlbot True, but the key word is still "suggest." A tool could suggest structural changes by looking for apparent redundancy, but I would still maintain that genuine redundancy and a coincidental appearance of correlation would be difficult for such a tool to differentiate between. Knowledge of the real-world nature of the data is required.
Sep 23, 2012 at 20:35 comment added ack__ Thanks for this detailed answer. However, following your example, it should be possible for a tool that analyze sample data to detect that "instructor" values are repeated a lot, and also appears in another table, hence suggesting it might be candidate for foreign key or any other change that would make this table 3nf compliant, or am I missing something ?
Sep 23, 2012 at 3:06 history edited Michael - sqlbot CC BY-SA 3.0
typo fix
Sep 23, 2012 at 2:47 history answered Michael - sqlbot CC BY-SA 3.0