更改表的結構。例如student表(student_id, course_id, student_name, age, sex, grade, sdept_id, sdept_director)因為student_id, course_id兩項聯(lián)合做為主鍵,但是對于其他的字段name, age, sex這些 屬性來說,它們是完全依 賴于student_id這一屬性的,所以它們對于student_id, course_id共同作為主鍵是部分 依賴的。這就不滿足第二范式的定義了,所以應該把 grade拿出來,將這一個大表拆成 兩份小表:student(student_id, name, age, sex, sdept_id, sdept_director), student_score(student_id, course_id, grade);
第三范式:在滿足第二范式的情況下去除傳遞依賴。
例如:student表(student_id, student_name, age, sex, sdept, sdept_director),很明顯每一個專業(yè)決定一個專業(yè)主任,所以sdept_director傳遞依賴于student_id,所以應該再拆分一個表student(student_id, student_name, age, sex)和sdept(sdept_id, sdept_name, sdept_director),這樣就滿足了第三范式。
BC范式:在滿足第三范式的情況下,再滿足一下三點:
1、所有的主屬性完全依賴于其他不包含自己的候選鍵;
2、所有的非主屬性完全依賴于每一個候選鍵;
3、沒有任何屬性完全函數(shù)依賴于任何一組非主屬性。
之前的三個范式都是對非主屬性進行各種約束,BC范式是在他們基礎上,再對主屬性進行約束,解決了主屬性之間的部分依賴的問題,以及不存在主屬性完全依賴于非主屬性的問題。
我們的student表 student(student_id, student_name, age, sex),主鍵是student_id,所以主屬性是student_id,很顯然前兩條都已經滿足,因為學生的姓名可能重復,所以student_id與student_name之間沒有函數(shù)依賴關系,所以student表滿足BC范式。
更多關于云服務器,域名注冊,虛擬主機的問題,請訪問西部數(shù)碼官網:m.ps-sw.cn