J'essaie de décomposer plusieurs tables en BCNF. Je crois que le premier est décomposé correctement, mais je ne sais pas si les autres peuvent être décomposés. Toute aide est appréciéeBCNF Decomposition (Design de base de données)
**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
Oui, si vous pouviez m'aider à décomposer les autres, ce serait très apprécié. J'apprends toujours comment appliquer l'algorithme, alors voir comment le faire dans ces cas serait d'une grande aide. – Leif
LE lhs doit être une super-clé, non? Si je l'ai décomposé comme: [Key (id), makeId, name] [Clé (nom), année, catégorie] serait-il correct? Merci pour l'aide. – Leif
Gardez le nom dans le premier, oui. La dépendance dans une relation donnée doit être sur une super-clé de cette relation; ce super-utilisateur ne doit pas être une super-clé de l'original. La décomposition que vous suggérez dans le commentaire ci-dessus est une décomposition BCNF correcte, sans perte de dépendance et sans perte de dépendance. – Patrick87