In my Oracle Database Programming course, the first part of our final lab assessment requires that we:
- Identify the Primary Key of the table as it is currently shown
- Find all functional dependencies of the table which we are given to work with.
- Draw the dependency diagram for the table(s)
The table is in 1NF to begin with.
From the research I have done, it seems like I need to essentially combine every possible FD, which would not only consume a very large amount of time, but seems bizarre considering he wants us to then map these relationships in the dependency diagram. This would basically cause everything to link to everything - and this is why I believe I do not understand functional dependencies.
I understand that a functional dependency constitutes that in R, X->Y, where Y is not produced by anything other X, and should enable you to determine every other value in the table through this dependency.
I also understand that 'X' and 'Y' can consist of more than one attribute. This is what I don't understand, because if I map my attributes into algebraic variables (which seems to be the way to do it?), I have the letters A-J; the number of dependencies I would come up with seems astounding, and I don't want to waste time doing something the wrong way.
Does this mean I need to provide all fully functional dependencies, partial dependencies, and transitive dependencies?
My table consists of 10 columns in its current state of 1NF - thus, A-J would be my attribute identifiers in the process. I have found that R(AD) constitutes a formidable Primary Key, but I'm not sure if I need to derive the PK from laying out all of the FD's, or if I can choose a PK and find my FD's from this point. If that's the case - do I still lay out every FD, given that my PK will really determine the mapping of the relationships within the model?
https://www.dropbox.com/s/3vwo1axe7a1i20s/final%20lab%20instructions.pdf?dl=0