Difficulte dans la normalisation
Bonjour
Je travaille un probleme sur la normalisation et j'ai trouvé des difficulté sur 3 sous questions.
Voici le probleme:
soit une base de donnees, composee d'une seule table et de deux vues, permettant de gerer les
chanteurs preferes des francais.cette base est definie par le code SQL LDD ci apres:
1.
Code:
1 2 3 4 5 6 7 8 9 10 11 12
| CREATE TABLE t_personnes (
pk_n number(4),
numss char(13) UNIQUE NOT NULL,
nom varchar(50) NOT NULL,
prenom varchar(50),
sexe char(1),
conjoint char(13) UNIQUE,
chanteur_prefere char(50),
nationalite_chanteur_prefere char(10),
PRIMARY KEY (pk_n),
CHECK(sexe IN ('H', 'F'))
); |
2.
Code:
1 2 3 4 5 6
| CREATE VIEW v_hommes (
pk_n, numss, nom, prenom, conjoint, chanteur_prefere, nationalite_chanteur_prefere
) AS
SELECT pk_n, numss, nom, prenom, conjoint, chanteur_prefere, nationalite_chanteur_prefere
FROM t_personnes
WHERE sexe = 'H'; |
3.
Code:
1 2 3 4 5 6
| CREATE VIEW v_femmes (
pk_n, numss, nom, prenom, conjoint, chanteur_prefere, nationalite_chanteur_prefere
) AS
SELECT pk_n, numss, nom, prenom, conjoint, chanteur_prefere, nationalite_chanteur_prefere
FROM t_personnes
WHERE sexe = 'F'; |
on notera que, selon ce modele, le conjoint d'une femme ou d'un homme est un homme ou une femme; que X
est conjoint de Y n'implique pas que Y est conjoint de X; et que X peut etre conjoint de X.
Mon probleme à resoudre :
1. Quel attribut est la cle primaire de "t_personnes" ? comment appelle t-on ce genre de clé ? quel est le
statut de "numss" et de "conjoint" ?
2.Expliquez pourquoi si "conjoint" reference la table "t_personnes", alors son domaine n'est pas correct.
Note: Modifiez le domaine de "conjoint", puis ajouter une contrainte à la table "t_personnes" pour que "conjoint"
soit une cle etrangere vers "t_personnes" , en s'assurant que les contraintes d'integrite referentielle
seront respectees. Vous utiliserez pour cela deux instructions ALTER
3.Enoncez le DF du modele relationnel sous jacente à cette implementation( en se fondant sur la vraisemblance)
sous la forme d'une couverture minimale des DFE. A partir de la couverture minimale des DFE, prouvez que ce schema
est en 2NF mais pas en 3NF.
Merci pour vos reponses.