Correction du contrôle de décembre 2000

1.

Clés primaires soulignées et clés étrangères en bleu.

Sauvegarde(idSauvegarde, nom)
Support(idSupport, nom, type, idSupportSuivant)
ExecSauvegarde(idExecSauvegarde, date, idSupport, idSauvegarde)
SauvegardeIncrémentale(idExecSauvegarde, numéro)
SauvegardeComplète(idExecSauvegarde)
Fichier(idOrdinateur, chemin)
FichiersASauvegarder(idSauvegarde, idOrdinateur, chemin)
FichiersSauvegardés(idExecSauvegarde, idOrdinateur, chemin, dateModif)
 

2.

create table fichier (
  idOrdinateur smallint,
  chemin varchar(50),
  coonstraint pk_fichier primary key(idOrdinateur, chemin));

create table ExecSauvegarde (
  idExecSauvegarde smallint constraint pk_ExecSauvegarde primary key,
  dateSauv date
  idSupport smallint constraint ref_Support references Support,
  idSauvegarde smallint constraint ref_Sauvegarde references Sauvegarde);
Attention, date est un mot clé !

create table SauvegardeIncrementale (
  idExecSauvegarde smallint constraint pk_ExecSauvegardeIncrementale primary key
    constraint ref_ExecSauvegarde references ExecSauvegarde,
  numero smallint);
 

3.

(a) Une seule clé candidate : (employé, ordinateur).
Pas en 2 FN à cause de la DF employé --> bureau.
Normalisation en extrayant la DF qui pose problème (donc pas de perte de données) :
  Employé(employé, bureau)
  Employé-Ordinateur(employé, ordinateur, jourSemaine)
Tout est bien en FNBC (laissé en exercice).

(b) Une seule clé candidate : ordinateur.
En 2 FN mais pas en 3 FN à cause de la DF employé --> bureau.
Normalisation en extrayant la DF qui pose problème (donc pas de perte de données) :
  Employé(employé, bureau)
  Employé-Ordinateur(ordinateur, employé, jourSemaine)
 

4.

(a) R1 = emp J{dept} dept
R1 / nomD = 'Nice' [nomE]

(b) Rsup = emp1 J{emp1.sup = emp2.matr} emp2
R2 = Rsup/emp1.sal > emp2.sal [emp1.nomE]

(c) R3 = emp /poste != 'Ingénieur' [dept]
R4 = emp[dept] - R3

(d) (participation J{matr} (emp/dept=10)) [codeP]

(e) R5 = (emp J{matr} participation) [sup, codeP]
R6 = R5 DIV{codeP} participation[codeP]