Explorer les Livres électroniques
Catégories
Explorer les Livres audio
Catégories
Explorer les Magazines
Catégories
Explorer les Documents
Catégories
Notion de relation
Une relation est représentée par une table. Une relation est caractérisée par un nom.
Chaque colonne est un attribut, encore appelé champ. Un attribut est caractérise par un
nom. Chaque ligne est appelée n-uplet ou enregistrement.
Une relation regroupe une collection d´éléments (lignes) définis par les mêmes attributs
(colonnes).
Exemple
L'exemple ci-dessous illustre les concepts de base d'une relation
Théorie de normalisation
La normalisation d'une relation consiste a respecter les 3 formes normales ( C. J Codd)
Objectif : éliminer les redondances et éviter les incohérences liées aux mises à jour.
Remarque
Afin d'introduire les 3 formes normales, nous devons d'abord présenter le concept de
dépendance fonctionnelle
1. Formes normales
Cette relation n'est pas en 1FN car l'attribut Notes est multi_value. Pour transformer
cette relation en première forme normale (1FN) , il faut justement décomposer cet
attribut en quatre autres attributs : note1, note2, synt, ratt qui soient atomiques .
Résultats (Matricule, Cod_mod, Nom_et , Prenom_et, Note1 , Note2 , Synt , Ratt )
Exemple
Enseignant ( Num_ens, Nom_ens, Prenom_ens, Dat_nais_ens, Adresse_ens, Grade,
Nbr_heures )
On suppose que le nombre d'heure d'enseignement dépend du grade. Par exemple tous
les chargés de cours ont 7h d'enseignement par semaine, alors que les maitres assistants
ont 9h.
Donc Grade → Nbr_heures.
Cette relation n'est pas en 3FN, car il y a une dépendance fonctionnelle entre deux
attributs non clé elle doit être decomposee en 2 relations en 3FN
Solution 1 :
Acteur(idAct,idArt,Nom, Prenom)
Realisateur(idreal, idArt,Nom, Prenom)
Film(idFilm, Titre, Annee, Resume, CodeP*, idReal*)
Internaute(Email, Nom, Prenom,DN)
Pays(CodeP, Nom, Langue)
Salle(idSalle, Nom, Capacite)
Horaire(idH, Debut, Fin)
Apprecie(idFilm*, email*, Note)
Projection(idFilm*, idSalle*, idH*)
Joue(idAct, idFilm)
Solution 2
Artiste(idArt,Nom, Prenom, TypeArtiste, idAct, idReal )
Film(idFilm, Titre, Annee, Resume, CodeP*, idReal*)
Internaute(Email, Nom, Prenom,DN)
Pays(CodeP, Nom, Langue)
Salle(idSalle, Nom, Capacite)
Horaire(idH, Debut, Fin)
Apprecie(idFilm*, email*, Note)
Projection(idFilm*, idSalle*, idH*)
Joue(idAct, idFilm)
Solution 3:
Artiste(idArt,Nom, Prenom)
Acteur(idAct, idArt*)
Realisateur(idreal, idArt*)
Film(idFilm, Titre, Annee, Resume, CodeP*, idReal*)
Internaute(Email, Nom, Prenom,DN)
Pays(CodeP, Nom, Langue
Salle(idSalle, Nom, Capacite)
Horaire(idH, Debut, Fin)
Apprecie(idFilm*, email*, Note)
Projection(idFilm*, idSalle*, idH*)
Joue(idAct, idFilm)
23