Bases de Donnes Relationnelles Modlisation Conceptuelle Chapitre 3
Bases de Données Relationnelles Modélisation Conceptuelle (Chapitre 3) Validation et transformations
Validation d'un schéma EA n Syntaxique: n Par confrontation aux dépendances: u règles n Par de normalisation jeu d'essai n Complétude n Par respect des règles du modèle par rapport aux traitements les utilisateurs Règles à connaître et à appliquer !!! 2
Concept de dépendance Etudiant liste No-carte nom prénoms date naissance jour mois année adresses no rue ville code postal N°carte nom, prénoms, date naissance, adresses A B si le fait que deux occurrences aient la même valeur pour A entraîne nécessairement qu'elles aient la même valeur pour B. A B : «B dépend de A» , «A détermine B » 3
Validation d'un TE(TA) / dépendances Etudiant No-carte nom prénoms date naissance jour mois année adresses no rue ville code postal Règle 1: dans un TE (TA) valide, tous les attributs directs (simples et complexes) dépendent uniquement de chaque identifiant entier du TE (TA). n°carte, nom, prénoms, date naissance et adresses sont les attributs directs d’Etudiant, qui a pour identifiant n°carte 4
Schémas incorrects La règle est contredite si un attribut dépend d'une partie de l'identifiant ou d'un autre attribut non identifiant. Etudiant mauvais No-carte nom-section directeur section nom étudiant Etudiant directeur section nom étudiant 5
Normalisation Processus de modification d'un schéma qui conduit à obtenir un schéma offrant les propriétés désirées. Etudiant mauvais No-carte nom-section directeur section nom étudiant Etudiant Correct ! No-carte section nom étudiant nom directeur 6
Dépendance et identifiant n Graphe des dépendances No-carte nom-section directeur section nom étudiant • L'identifiant est la racine du graphe No-carte nom-section directeur section nom étudiant 7
Validation / attributs complexes Laboratoire nom. Lab directeur chercheurs nom. C adresse dateentrée %temps projets nom. P budget ligne description montant Règle 2: Un attribut du ième niveau peut seulement dépendre d'une combinaison d'attributs du même niveau et de niveaux supérieurs contigus. 8
Dépendances entre TE Labo Emploie Projet Chercheur mauvais n Si tout projet n'est fait que par un seul labo, le schéma est incorrect n Règle 3: un TA n-aire (n>2) avec une dépendance entre ses TE doit être decomposé 9
Normalisation du TA: incorrect mauvais Labo Conduit Projet Emploie Chercheur n Mauvaise décomposition du TA ternaire incorrect en deux TA binaires n Cette décomposition n'est pas correcte car elle induit une perte d'information – on ne sait plus sur quel projet travaille un chercheur !! 10
Normalisation du TA: correct n Labo Conduit Projet Décomposition du TA ternaire incorrect en deux TA binaires sans perte d'information: un chercheur est employé par le labo qui conduit le projet sur lequel le chercheur travaille Emploie Chercheur 11
Validation des attributs d’un TA Etudiant No-carte nom Evaluation moyenne notes Matière No-Mat coefficient Règle 4: dans un TA sans dépendance entre les TEs liés, les attributs du TA dépendent de tous les TE liés par ce TA. (No-carte, No-Mat) moyenne, notes 12
Validation des attributs d’un TA Etudiant No-carte Si Coef = fonction du nombre d'heures assurées par l'enseignant dans ce cours. notes coef Cours Enseignant Nom mauvais Nom Cours Etudiant Alors Coef ne dépend pas d’Etudiant Contrôle No-carte correct Contrôle notes Enseignant Nom Cours Assure coef 13
Elimination des TA redondants Etudiant Inscrit Cours Assure Enseignant Est élève de Si "Est élève de" = Inscrit –Cours – Assure alors il y a redondance inutile. On supprime "Est élève de". 14
Remplacement d’un attribut par un TA mauvais Employé Service No-emp …. no-service Employé No-emp no étage nom Travaille …. Règle de remplacement Service no étage nom 15
Elimination des TE inutiles Un TE est inutile s'il ne présente d'intérêt pour aucun traitement de l'application Employé No-emp Travaille …. no étage nom Si il n'existe pas de requête portant directement sur les services, Services est transformé en attribut. Employé No-emp Service …. service no étage nom 16
TE répertoires ou attributs ? Cours Nom A lieu dans Type Num Cours Nom Type Salle Num_salle A moins que l'on souhaite gérer un répertoire des salles. 17
Transformations de schémas EA
Relativisme sémantique n La même réalité peut être modélisée de plusieurs façons différentes n Les choix sont dictés par les objectifs des applications n Si les objectifs divergent, le choix le moins contraignant est retenu 19
Relativité des classifications n Exemple DB Hydro logie DB Forestière DB Environnement 20
Relativisme cable bleu cable rouge cable couleur materiau cuivre cable fibre materiau couleur 21
Choix de modélisation n TE ou attribut ? n TE ou TA ? n TA ou attribut ? n Types génériques ou types spécialisés ? n Attribut optionnel ou sous-type ? 22
TE ou attribut ? Employé no-AVS nom service nom étage Employé no-AVS nom Service ? nom étage 23
Transformation d'attribut en TE Attribut direct Employé Le lien de composition TE-attribut devient un rôle TE-TA, avec les mêmes cardinalités Employé no-AVS nom x: y no-AVS nom service nom étage Travaille 0: n Service nom étage 24
Transformation d'attribut en TE Attribut indirect Laboratoire nom. Lab directeur chercheurs nom. C adresse date_entrée %temps projets nom. P budget description ligne montant 25
Attribut TE: 1ère étape Laboratoire nom. Lab directeur chercheurs ? nom. C adresse date_entrée %temps projets ---> TE => chercheurs ---> TE projets Projet nom. P budget description ligne montant ? 26
Attribut TE: 2ème étape Laboratoire nom. Lab Emploie directeur Chercheur Travaille nom. C adresse date_entrée %temps ? Placement des attributs ? Projet nom. P budget description ? ligne montant 27
Attribut TE: 3ème étape Laboratoire nom. Lab directeur Emploie Chercheur nom. C adresse date_entrée %temps ? Chercheur -> nom. C, adresse => nom. C, adresse attributs de Chercheur (Chercheur, Laboratoire) -> date_entrée, %temps => date_entrée, %temps attributs de Emploie 28
Attribut TE: 3ème étape Emploie Chercheur date_entrée %temps nom. C adresse Laboratoire nom. Lab directeur nom. C -> adresse : nom. C identifiant de Chercheur Projet -> nom. P, budget, description => attributs de Projet nom. P -> budget, description Projet nom. P budget description ligne montant 29
Attribut TE: résultat Emploie Laboratoire nom. Lab directeur Chercheur date_entrée %temps nom. C Projet nom. P budget ligne adresse Travaille description montant 30
TE ou TA: reification (TA->TE) Personne nom adresse Personne nom Assure Voiture échéance No-contrat 1: 1 Souscrit adresse numéro Contrat No-contrat Voiture numéro type échéance 1: 1 Objet 31
TA ou attribut n Similaire TE ou attribut Assure Personne nom adresse échéance No-contrat Personne nom adresse Voiture assure numéro type Assure: TA->attribut n'est pas l'inverse de assure: attribut->TE Échéance No-contrat voiture numéro type 32
Attribut de TA ou attribut de TE ? Personne nom adresse assure: attribut->TA échéance No-contrat voiture numéro type Personne nom adresse Assure échéance No-contrat Voiture numéro type Voiture numéro 33 type
TE génériques/spécifiques Personne nom adresse sexe n ou Personne nom adresse sexe domaine: - {F ou M} - {F ou M ou vide} Femme Homme sexe = F sexe = M 34
Attribut optionnel ou sous-type Personne nom adresse n°tél n ou Personne nom adresse Communiquant n°tél 35
Conclusion n Les transformations de schéma à semantique équivalente (i. e. , sans perte d'information) sont un outil puissant de flexibilité n Elles permettent d'offrir des vues différentes (personnalisées) sur un même contenu informatif n Elles permettent de passer d'une structure obéissant à certaines règles à une autre structure équivalente obéissant à d'autres règles (exemple: traduction d'un schéma EA en schéma relationnel) 36
Exercice de conception 37
Fin du chapitre EA n Prochain chapitre: Modèle relationnel 38
- Slides: 38