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