u Important concept for normalization.
u Functional Dependency (FD)
– Are constraints that are derived from the meaning and interrelationships of the data attributes
– If A and B are attributes of relation R, B is functionally dependent on A (denoted A –> B), or A functionally determines B, if each value of A in R is associated with exactly one value of B in R.
– Each value of A determines a value of B
– A and B can be sets of attributes.
u FDs are derived from the real-world constraints on the attributes
u Social security number determines employee name
– SSN –> ENAME
u Project number determines project name and location
– PNUMBER –> {PNAME, PLOCATION}
u Employee ssn and project number determines the hours per week that the employee works on the project
– {SSN, PNUMBER} –> HOURS
u An FD is a property of the attributes in the schema R.
u The constraint must hold on every relation instance.
u If K is a key of R, then K functionally determines all attributes in R
– (since we never have two distinct tuples with t1[K]=t2[K])
u FDs are nontrivial. (StaffNo–>StaffNo is trivial)

Given TEXT we know the COURSE.
TEXT –> COURSE
u TEXT maps to a single value of COURSE