We claim that delete anomality is due to table not being in 3NF,but... -
10-26-2008
, 02:51 PM
greetings
Uh, I've been away for the weekend but some new questions about
normalization non the less popped up ( it seems every time I give a
thought about the subject, a new question arises ). I hope you don't
mind if I ask some more, cause there's no way I can figure out this
stuff on my own
1) Third Normal Form prohibits transitive dependencies ( non_key
attribute CLASSROOM is dependent on other non key attribute
TEACHER_NAME). One of the arguments why we should put a table in 3NF
form is because of delete anomalies, which for SUBJECT_TEACHER table
means, that if we remove certain subject from the table, then all of
the data about certain teacher could also be lost ( in cases where
teacher teaches just one subject ).
SUBJECT_TEACHER( SUBJECT_ID, SUB_NAME, TEACHER_NAME, CLASSROOM )
But same argument could be used for the following table:
SUBJECT_TEACHER( SUBJECT_ID, SUB_NAME, TEACHER_NAME )
But this time we don’t have any non-key attribute in a table dependent
on some other non-key attribute, and as such SUBJECT_TEACHER is in
3NF. But despite table being in 3NF, all of data ( name of the
teacher ) about certain teacher could still be lost.
So how can we claim that delete anomality is due to table not being in
3NF, when it is obvious this situation ( in our case data about
certain teacher being lost ) can arise even when table complies to
third form?
2) Say we have a relation with attributes A, B and C, where A is also
a primary key. I know that transitive dependency means that a non-key
attribute ( say C ) is dependent on other non key attribute ( B ) .
* I also assume that with transitive dependency C is also ALWAYS
dependent on A?!
* But is C always dependent on A simply because B is dependent on A or…
I mean, B will be dependent on A regardless of whether we have C
attribute, but I assume that is not the case with C?
thank you |