1
Relational Database Design Theory Part II
CPS 196.3 Introduction to Database Systems
2
Announcement
! Project proposal/progress report due today ! Midterm next Thursday in class
" Everything up to today’s lecture, with a focus on the materials covered by the first two homework assignments " Open book, open notes
! Will assign an optional problem set tonight as a study
guide for midterm
" Entirely optional " If you turn it in on Tuesday in class, you can use its grade to replace your lowest homework grade so far " Solution will be posted on Tuesday midnight
! Graded Homework #2 will be available on Tuesday
3
Review
! Functional dependencies
" X → Y: If two rows agree on X, they must agree on Y #A generalization of the key concept
! Non-key functional dependencies: a source of redundancy
" No trivial X → Y where X is not a superkey #Called a BCNF violation
! BCNF decomposition: a method for removing redundancies
" Given R(X, Y, Z) and a BCNF violation X → Y, decompose R into R1(X, Y) and R2(X, Z) #A lossless join decomposition
! Schema in BCNF has no redundancy due to FD’s