0
我想分解幾個表到BCNF。我認爲第一個分解是正確的,但我不確定其他分解是否可以分解。任何幫助表示讚賞BCNF分解(數據庫設計)
**make(id, name, est, founder, city, state)**
id->name;
name->est, city, state, founder;
city->state
New Relations: [Key(id),name], [Key(name),est,city,state,founder], [Key(city),state]
**model(id, makeId, name, year, category)**
id->makeId, name;
name->year, category (not superkey, but can't really decompose)
**features(id, modelId, abs, tpms, sidebags, drl)**
id->modelID, abs, tpms, sidebags, drl
**user(id, name, pass, first, last, phone, isAdmin)**
id->name, pass, isAdmin; name->first, last, phone
**selling(id, price, modelId, mileage, userId)**
id->price, modelId, mileage, userID
是的,如果你能幫助我分解其他人,將不勝感激。我仍然在學習如何應用該算法,因此在這些情況下如何實現這一算法會有很大的幫助。 – Leif
lhs必須是一個超級鍵,對嗎?如果我把它分解爲:[Key(id),makeId,name] [Key(name),year,category]是否正確?謝謝您的幫助。 – Leif
保持第一名,是的。任何給定關係中的依賴關係必須位於該關係的超級鍵上;那個超級鍵不一定是原來的超級鍵。你在上面的評論中提出的分解是一個正確的,依賴保持的,無損的BCNF分解。 – Patrick87