Programme

84
Evry, 29-31 mai 2000 1 © INT Programme • Introduction aux BD et aux SGBD • Le modèle relationnel • Le langage de requête SQL La conception d’une BD relationnelle • Protection des informations • Perspectives des BD

description

Programme. Introduction aux BD et aux SGBD Le modèle relationnel Le langage de requête SQL La conception d’une BD relationnelle Protection des informations Perspectives des BD. Comment concevoir une base de données ?. Dictionnaire de données. liste des rubriques + renseignements associés - PowerPoint PPT Presentation

Transcript of Programme

Page 1: Programme

Evry, 29-31 mai 2000 1© INT

Programme

• Introduction aux BD et aux SGBD

• Le modèle relationnel

• Le langage de requête SQLLa conception d’une BD relationnelle

• Protection des informations

• Perspectives des BD

Page 2: Programme

Comment concevoirune base de données ?

Page 3: Programme

Evry, 29-31 mai 2000 3© INT

Dictionnaire de données• liste des rubriques + renseignements associés

– des indications comme la nature et le type, – l’entité ou l’association de rattachement, – les contrôles, – la date de création et l’auteur, – les autorisations de mise à jour, – le nombre d’occurrences de valeurs, – des exemples de valeurs, – le contexte d’utilisation,– ....

Page 4: Programme

Evry, 29-31 mai 2000 4© INT

Dictionnaire de données (2)• code• libellé• nature :

– rubriques non calculées (NC) : par exemple le nom d’un client

– les paramètres (P) : par exemple le taux de TVA– les rubriques calculées (C) : par exemple le montant T.T.C.

sur une facture– les rubriques calculées incrémentées (CI) : par exemple le

numéro d’une facture

• commentaires

Page 5: Programme

Evry, 29-31 mai 2000 5© INT

Epuration du dictionnaire de données

• Rubrique ayant plusieurs significations => remplacée par plusieurs– Date peut être remplacée par date_commande,

date_livraison;• Elimination des synonymes

– numéro client et code_client : idem;• Rubriques décomposées en sous rubriques =>

décomposition – Par exemple, une adresse peut être décomposée en un

numéro de rue, un nom de rue, un code postal et une ville. La notion d’adresse disparaît alors

• Outils d’aide à la constitution d’un DD : AGL

Page 6: Programme

Evry, 29-31 mai 2000 6© INT

Présentation du dictionnaire de données

• Un dictionnaire de données se présente sous forme tabulaire:

Code Libellé Nature CommentaireNo_client Numéro de client NC Synonyme de code_clientNom_c Nom de client NC Nom usuelRem Remise accordée C Pourcentage calculé en fonction de la catégorie

Page 7: Programme

Evry, 29-31 mai 2000 7© INT

Théorie de la normalisation

• organisations :– Bains(nn, nom, prénom, qualité, date, durée,

np, nomp, type région, pollution)et

– Nageur(nn, nom, prénom, qualité)Plage(np, nomp, type, région, pollution)Baignade(nn, np, date, durée)

Page 8: Programme

Evry, 29-31 mai 2000 8© INT

• Mauvaise conception

– Redondance des données– Incohérence en modification– Anomalie d’insertion– Anomalie de suppression

But

Page 9: Programme

Evry, 29-31 mai 2000 9© INT

• Modélisation – contraintes sur les données– réalité– limites à la base

• Définition– Un attribut B dépend fonctionnellement de A si, étant

donné une valeur de A, il lui correspond une unique valeur de B (quel que soit l’instant t)

– A détermine B

• Notation A B

Dépendance fonctionnelle (DF)

Page 10: Programme

Evry, 29-31 mai 2000 10© INT

• L ’attribut A peut être composé de plusieurs attributs. – immatriculation, date no_propriétaire

• DF : propriété définie sur tous les tuples, vérifiée en permanence

• DF non symétrique en général– nom nn n’est pas vérifiée.

• Deux nageurs différents peuvent posséder le même nom (Dupont, Martin)

Dépendance fonctionnelle (2)

Page 11: Programme

Evry, 29-31 mai 2000 11© INT

Exemples

• nn nom ?• nn prénom ?• nom, prénom

qualité ?• nn qualité ?• np nomp ?• np région ?• np pollution ?• np type ?

• Région np ?• nom, région np ?

Page 12: Programme

Evry, 29-31 mai 2000 12© INT

• Réflexivité– Y X X Y

• Augmentation– X Y XZ YZ

• Transitivité– X Y et Y Z X Z

Axiomes d’Armstrong

Page 13: Programme

Evry, 29-31 mai 2000 13© INT

Propriétés déduites

• Union– X Y et X Z X YZ

• Pseudo-transitivité– X Y et YW Z XW Z

• Décomposition– X Y et Z Y X Z

Page 14: Programme

Evry, 29-31 mai 2000 14© INT

Dépendance fonctionnelle élémentaire

• DF + Axiomes => toutes les DF• DF élémentaire : DF non déductibles • Une dépendance fonctionnelle X A est dite élémentaire si

– A n’est pas inclus dans X

– il n’existe pas X’ inclus dans X tel que X’ A

• famille génératrice = couverture minimale• Exemple :

– nomp, région pollution

– nomp pollution ou région pollution faux

Page 15: Programme

Evry, 29-31 mai 2000 15© INT

Graphe de dépendances fonctionnelles

• noeuds = attributs

• arcs = DF

nn np

nom prénom qualité région nomp type pollution date

durée

Page 16: Programme

Evry, 29-31 mai 2000 16© INT

Fermeture transitive• FT = DF + DF obtenues par transitivité

• Notée F+

• Nouvelles DF :– nomp, région type– nomp, région pollution.

nn np

nom prénom qualité région nomp type pollution date

durée

Page 17: Programme

Evry, 29-31 mai 2000 17© INT

Couverture minimale• Définition

– sous ensemble minimum de dépendances fonctionnelles élémentaires permettant de générer toutes les autres

• Exemple– (nn nom, nn prénom, nn qualité, np nomp, np

région, nomp, région pollution, nomp, région type, nomp, région np)

• Théorème– Tout ensemble de dépendances fonctionnelles admet une

couverture minimale, en général non unique

Page 18: Programme

Evry, 29-31 mai 2000 18© INT

Clé d’une relation• Définition

– ensemble minimum d’attributs permettant de déterminer tous les autres

• Soit R(A1, A2, ..., An) un schéma de relation. Soit F+ l’ensemble des dépendances fonctionnelles associées à R. Soit X un sous-ensemble d’attributs de R. X est une clé de R ssi :– X A1, A2, ..., An

– il n’existe pas de sous-ensemble Y de X tel que Y A1, A2, ..., An

Page 19: Programme

Evry, 29-31 mai 2000 19© INT

Clé d’une relation (2)

• Exemple– nn est une clé de la relation nageur

• Remarques– Plusieurs clés peuvent être candidates pour une

même relation– Dans l’écriture du schéma, la clé est soulignée

Page 20: Programme

Evry, 29-31 mai 2000 20© INT

Décomposition d’une relation

Relation universelle DF

nom type nn

région durée

nomp qualité date Normalisation

prénom np pollution R1(.....)

R2(....)

......

Page 21: Programme

Evry, 29-31 mai 2000 21© INT

Décomposition d’une relation (2)• Décomposition sans perte• Décomposition préservant les DF• Décomposition d’un schéma de relation

– La décomposition d’un schéma de relation R(A1, A2, ..., An) est sa substitution par un ensemble de schéma de relations R1, R2, ..., Rp telles que :

• schéma(R) schéma(R1) schéma(R2) ... schéma(Rp)

Page 22: Programme

Evry, 29-31 mai 2000 22© INT

Décomposition sans perte

• La décomposition d’un schéma de relation R(A1, A2, ..., An) par un ensemble de schéma de relations R1, R2, ..., Rp est sans perte ssi :

– R R1>< R2 ><...>< Rp

• Une décomposition d’une relation en deux relations est sans perte si l’attribut de jointure est clé d’une des deux relations

Page 23: Programme

Evry, 29-31 mai 2000 23© INT

Décomposition préservant les DF

• La décomposition d’un schéma de relation R(A1, A2, ..., An) par un ensemble de schéma de relations R1, R2, ..., Rp préserve les dépendances fonctionnelles si la fermeture transitive de R est la même que l’union des fermetures transitives de chacune des relations

Page 24: Programme

Evry, 29-31 mai 2000 24© INT

Formes normales

• Première forme normale

• Deuxième forme normale

• Troisième forme normale

Page 25: Programme

Evry, 29-31 mai 2000 25© INT

1ère forme normale• Définition

– Une relation est en première forme normale si tous ses attributs sont atomiques.

• Un attribut atomique n’est pas :– multivalué (liste de valeurs)– composé (structuré en sous-attributs)

• Pour toute relation en première forme normale, un attribut représente une donnée élémentaire du monde réel

Page 26: Programme

Evry, 29-31 mai 2000 26© INT

Exemple• Bains(nn, np, date, durées)

– «durées» : liste des durées de baignade - attribut multivalué

– Cette relation n’est donc pas en première forme normale

• Solutions :– nombre de baignades limité par jour

• Bains(nn, np, date, durée1, durée2, durée3)

– nombre illimité• Bains(nn, np, date, durée)• autant de tuples qu’il y a de baignade

Page 27: Programme

Evry, 29-31 mai 2000 27© INT

Deuxième forme normale

• Définition– Une relation est en deuxième forme normale

ssi:• elle est en première forme normale

• tout attribut non clé dépend de la totalité de la clé

R(A,B,C,D) interditok

Page 28: Programme

Evry, 29-31 mai 2000 28© INT

Deuxième forme normale (2)

• Exemple– Plage(nomp, région, type, pollution) est-elle en

deuxième forme normale ?

• Remarque– Toute relation contenant une clé non composée

est automatiquement en deuxième forme normale si elle est en première forme normale

Page 29: Programme

Evry, 29-31 mai 2000 29© INT

Troisième forme normale • Objectif : élimination des redondances dues aux

dépendances fonctionnelles déduites par transitivité

• Définition– Une relation est en troisième forme normale ssi:

• Elle est en deuxième forme normale

• Si tout attribut non clé dépend directement de la clé, il n’existe donc aucune dépendance avec un attribut non clé

R(A,B,C,D,E)

interditok

Page 30: Programme

Evry, 29-31 mai 2000 30© INT

Propriétés

• Toute relation R admet au moins une décomposition en troisième forme normale telle que :– elle préserve les dépendances fonctionnelles

– elle est sans perte

• Exemple– plage(np, région, type, pollution)

– Hypothèse : région type => plage n’est pas en troisième forme normale

– Transformation • plage(np, région, pollution)

• région (région, type)

Page 31: Programme

Evry, 29-31 mai 2000 31© INT

Algorithme de décomposition en troisième forme normale

• Pré : connaissance du contenu de la relation universelle + DF

• Principe de l’algorithme :– A partir du graphe G des DF, calculer une couverture minimale C– Editer l’ensemble des attributs isolés dans une même relation (tous sont clés)– Recherche le plus grand ensemble X d’attributs qui détermine d’autres

attributs– Editer la relation R(X, A1, ..., An)– Supprimer les DF X A1, .., X An du graphe de couverture minimale C– Supprimer les attributs isolés de C – Reprendre l’opération à partir de l’étape 3 jusqu’à ce que C soit vide

Page 32: Programme

Evry, 29-31 mai 2000 32© INT

Conclusions

• Importance de la normalisation des relations

• Autres formes normales

Page 33: Programme

Evry, 29-31 mai 2000 33© INT

Modèle entité-association

• Concepts et définitions– Entité– Type d’entité– Domaine– Attribut– Clé– Association– Type d’association

Page 34: Programme

Evry, 29-31 mai 2000 34© INT

Traduction d’un modèle entité-association vers un modèle

relationnel• Exemple

Etudiant Cours Prof

No_etu 1,n s'inscrire 1,n Code 1,1 superviser 1,n Nom_prof

Nom_etu Date_ins Libellé Fonctions

Adr_etu Prénom

0,1

Possède

0,1

Voiture

No_plaque

Page 35: Programme

Evry, 29-31 mai 2000 35© INT

Entité

• Entité = objet (concret ou abstrait)

• Existe en tant que tel, sans être soumis à l’existence d’une autre entité

• Exemples :– Produit X– Module d’enseignement de mathématiques– Lion

Page 36: Programme

Evry, 29-31 mai 2000 36© INT

Type d’entité• Regroupement des entités en fonction de leurs

caractéristiques communes => Type d’entité• Exemple :

– Regrouper éléphant, tortue et zèbre en un type d’entité : « animal »

– Informations en commun (par leur structure) : poids, taille, alimentation, ....

Page 37: Programme

Evry, 29-31 mai 2000 37© INT

Domaine• Ensemble de valeur• A partir de type communs :

– entier, chaîne de caractères, ...

• Plus finement :– par extension en listant les valeurs possibles– en définissant des plages de valeurs

• Exemples :– âge : entier– âge : entier compris entre 0 et 130– situation familiale : ensemble de valeurs (‘célibataire’, ‘marié’,

‘veuf’, ‘divorcé’)

Page 38: Programme

Evry, 29-31 mai 2000 38© INT

Attribut

• Attribut : propriété d’un type d’entité

• Pour chaque entité d’un type d’entité une valeur est associée à cet attribut

• Exemple :– Type d’entité animal, Entité éléphant :

• Taille = 2,30 m

• Poids = 1000 kg

• Alimentation = 'végétarien'

Page 39: Programme

Evry, 29-31 mai 2000 39© INT

Clé

• Attribut (ou groupe d’attributs) particulier d’un type d’entité

• Différencie toutes les entités d’un même type d’entité

• Exemple :– Numéro d’étudiant– Plaque d’immatriculation

Page 40: Programme

Evry, 29-31 mai 2000 40© INT

Représentation graphique

Animal Etudiant

Numéro Numéro étudiant

Taille Adresse

Poids Age

Alimentation Année

Page 41: Programme

Evry, 29-31 mai 2000 41© INT

Association

• Association d’entités : regroupement d’entités

• Traduit plutôt une action entre les entités

• Exemple :– Alimenter :association entre un le lion Clarence

et le gardien John– Se baigner: association entre le nageur Gaël et

la plage de Binic

Page 42: Programme

Evry, 29-31 mai 2000 42© INT

Type d ’association• Regroupement des associations en type d’association• Peuvent posséder des attributs• Attribut d’un type d’association: propriété dépendant de

tous les types d’entités intervenant dans l’association• Exemple: la date de prise en charge d’un animal par un

gardien dépend degardien

+

animal

Page 43: Programme

Evry, 29-31 mai 2000 43© INT

• Attention : une association ne possède pas de clé!!!!

Représentation graphique

Animal Etudiant

Numéro Numéro étudiant

Taille apprivoiser Adresse

Poids date_début Age

Alimentation Année

Page 44: Programme

Evry, 29-31 mai 2000 44© INT

Exemples

• Un enseignant est responsable d’un module ....Enseignant Module

Numéro Id_mod

Nom superviser Libellé

Prénom date_début Nb_heures

Adresse Année

Page 45: Programme

Evry, 29-31 mai 2000 45© INT

Exemples (2)

• Une personne peut être le parent (père ou mère) d’une autre ...

Personne

Numéro_ss

Nom être parent

Prénom

Adresse

Page 46: Programme

Evry, 29-31 mai 2000 46© INT

Exemples (3)• A vous de jouer : le type d’association

"inscrit" défini entre les types d’entités "étudiant" et "module" a pour attribut le numéro d’ordre d’inscription pour ce module (l’étudiant s’inscrit pour la 1ère, la 2ème fois à ce module, ..)

Page 47: Programme

Evry, 29-31 mai 2000 47© INT

Remarques• On ne crée jamais de type d’entité pour

représenter un ensemble d’entité réduit à un seul élément

• Un attribut n’apparaît qu’à une seule place s’il n’y a pas de polysèmes (mots ayant plusieurs sens). Pas de duplication de l’information!

• Toutes les rubriques du DD ne deviennent pas attributs du modèle. Attribut : rubrique non paramètre, non calculée

Page 48: Programme

Evry, 29-31 mai 2000 48© INT

Différentes configurations d’associations

• Associations binaires

• Associations n-aires

Page 49: Programme

Evry, 29-31 mai 2000 49© INT

Associations binaires de type 1:1

• À une entité E peut correspondre par l’association A au plus une entité de F

• À une entité F peut correspondre par l’association A au plus une entité de E

Page 50: Programme

Evry, 29-31 mai 2000 50© INT

Exemple

Enseignant Dept

Numéro no_dept

Nom diriger Libellé

Prénom date_affect

Adresse

Page 51: Programme

Evry, 29-31 mai 2000 51© INT

Associations binaires de type 1: n

• À une entité E peut correspondre par l’association A plusieurs entités de F

• À une entité F peut correspondre par l’association A au plus une entité de E

Page 52: Programme

Evry, 29-31 mai 2000 52© INT

Exemple

Enseignant Module

Numéro no_module

Nom responsable Libellé

Prénom

Adresse

Page 53: Programme

Evry, 29-31 mai 2000 53© INT

Associations binaires de type n:m

• À une entité E peut correspondre par l’association A plusieurs entités de F

• À une entité F peut correspondre par l’association A plusieurs entités de E

Page 54: Programme

Evry, 29-31 mai 2000 54© INT

Exemple

Enseignant Module

Numéro no_module

Nom intervenir Libellé

Prénom

Adresse

Page 55: Programme

Evry, 29-31 mai 2000 55© INT

Association n-aires• Plus de deux entités• Par exemple, type d’association ternaires. • Case d’emploi du temps déterminée que si

l’on a – l’horaire– le jour– la matière– la classeType d’association quaternaire

Page 56: Programme

Evry, 29-31 mai 2000 56© INT

Cardinalités d’un couple entité-association

• La cardinalité d’un couple entité-association E, A est un couple de nombre m, n où :– m définit le nombre minimum d’association de

type A pouvant exister pour une entité E– n définit le nombre maximum d’association de

type A pouvant exister pour une entité E

Page 57: Programme

Evry, 29-31 mai 2000 57© INT

Valeurs caractéristiques

• Valeurs caractéristiques du minimum :– 0 – 1– Entier plus grand que 1

• Valeurs caractéristiques du maximum:– 1– n– Entier plus grand que 1

Page 58: Programme

Evry, 29-31 mai 2000 58© INT

Représentation graphique

Enseignant

Numéro

Nom 0, n responsable

Prénom

Adresse

Page 59: Programme

Evry, 29-31 mai 2000 59© INT

Exemples Enseignant Dept

Numéro no_dept

Nom 0,1 diriger 1,1 Libellé

Prénom date_affect

Adresse

Enseignant Module

Numéro no_module

Nom 1,n intervenir 1,n Libellé

Prénom

Adresse

Page 60: Programme

Evry, 29-31 mai 2000 60© INT

Rôle

Personne

Numéro_ss avoir des parents

Nom 2,2 être parent

Prénom 0, n

Adresse être parent

Page 61: Programme

Evry, 29-31 mai 2000 61© INT

Spécialisation/généralisation d’entités

• Spécialisation d’un type d’entité – Définir des sous-types d’entités– Affiner la représentation des données

• Généralisation – Créer un sur-type d’entité– Mettre en facteur les attributs communs à

plusieurs types d’entités

Page 62: Programme

Evry, 29-31 mai 2000 62© INT

Exemple

Personne

Femme Homme Effectuer Service

Page 63: Programme

Evry, 29-31 mai 2000 63© INT

Intervention de la théorie de la normalisation

• Types d’entités

• Cardinalités

• Attributs des types d’association

Page 64: Programme

Evry, 29-31 mai 2000 64© INT

Type d’entité

• Clé d’un type d’entité E : ensemble d’attributs qui détermine fonctionnellement tous les autres attributs de ce type d’entité

• Un type d'entité doit vérifier les trois formes normales

Page 65: Programme

Evry, 29-31 mai 2000 65© INT

Cardinalités

• Association ?,1 – Si la cardinalité du couple (E, A) où E est un

type d’entité et A est un type d’association est (?,1) => une occurrence de E participe au plus à une association de A

– Cette occurrence détermine donc les autres entités participant à cette association

– Toute clé de E détermine fonctionnellement les clés des autres types d’entité participants

Page 66: Programme

Evry, 29-31 mai 2000 66© INT

Attributs de type d’association

• Si T est un attribut d’un type d’association A => T dépend fonctionnellement de l’ensemble des clés de chacun des types d’entité participants

• Exemple:– date_affect du type d’association ‘ diriger ’ défini entre les

deux types d’entités ‘ Enseignant ’ et ‘ département ’: num_ens, num_dept date_affect

• => aucun type d’association ne peut posséder de clé

Page 67: Programme

Evry, 29-31 mai 2000 67© INT

Construction du schéma entité-association

• Méthode descendante

• Méthode ascendante

Page 68: Programme

Evry, 29-31 mai 2000 68© INT

Méthode descendante

• Point de départ : univers du discours

• Etapes:1- DD + règles de gestion

2- Recensement des entités et des associations (intuitif)

3- Placement des attributs au sein des types d’entités et d’association

4- Calcul des cardinalités (DF)

Page 69: Programme

Evry, 29-31 mai 2000 69© INT

Méthode descendante (2)

5-Vérification : • Respects des règles du formalisme E/A

– Absence de répétition d’attribut

– Une clé par type d’entité

– Vérifier les DF

– Vérifier les cardinalités /règles de gestion

Page 70: Programme

Evry, 29-31 mai 2000 70© INT

Méthode descendante (3)Vérification :(suite)

• Normalisation : – Vérifier la 3 FN pour tous les types d’entité

– Vérifier les types d’association n-aire : décomposition en plusieurs types d’association de degré plus faible

– Supprimer les types d’associations qui se déduisent par transitivité d’autres types d’associations

6-Validation : • Par l’utilisateur

• Par l’analyse des traitements

Page 71: Programme

Evry, 29-31 mai 2000 71© INT

Méthode ascendante

• Point de départ : sorties

• Méthode de Flory

• Etapes :1- Recensement des rubriques (existantes ou

souhaitées) => DD

2- Rechercher les DF (matrice carrée)

3- Couverture minimale

4- Elimination des circuits

Page 72: Programme

Evry, 29-31 mai 2000 72© INT

Méthode ascendante (2)

5- Construction du schéma : • Recherche des clés primaires :

– S : ensemble des attributs correspondant à des sommets du graphe des dépendances fonctionnelles G

– B : ensemble des attributs étant le but d’au moins une dépendance fonctionnelle et origine d’au moins une dépendance fonctionnelle

– Chaque attribut de S ou de B est une clé primaire d’un des types d’entité du modèle entité-association

Page 73: Programme

Evry, 29-31 mai 2000 73© INT

Méthode ascendante (3)Construction du schéma : (suite)

• Recherche des types d’entité : – Chaque attribut de S et de B devient clé d ’un type d’entité

E – Si s est dans S, les attributs déterminés par s n’étant ni

dans S ni dans B sont attributs de E;

• Recherche des types d’associations : – Deux clés définies liées par un arc dans G induisent une

association de type 1,n– La cardinalité (?,1) est rattachée à l’entité dont la clé est

source de la dépendance fonctionnelle

a

b a ?,1 1,? b

Page 74: Programme

Evry, 29-31 mai 2000 74© INT

Méthode ascendante (4)Construction du schéma : (suite)

• Recherche des types d’associations : – un arc de G provenant de plusieurs sommets (n sommets)

vers un attributs non clé se traduit par un type d’association n-aire A de type n:m associant les types d’entités correspondant aux sommets

a c

r a r c

Page 75: Programme

Evry, 29-31 mai 2000 75© INT

Méthode ascendante (5)Construction du schéma : (suite)

• Recherche des types d’associations : – un arc G provenant de plusieurs sommets (p sommets) et allant

vers un attribut clé constitue un type d’association (p+1)-aire;

– Ajouter les associations sans attribut (non déductibles des DF)

6- Validation

a c

d a c

e

d

Page 76: Programme

Evry, 29-31 mai 2000 76© INT

Remarques• Peu de types d’association ternaire ou plus• Abus de langage

– Entité à la place de type d’entité – Association à la place de type d’association– Entité = objet ; Entité = occurrence d’entité– Type d’entité = concept abstrait détaché de la réalité

• Modèle entité-association = modèle entité-relation• Représentation graphique variable• Rédiger des hypothèses!

Page 77: Programme

Evry, 29-31 mai 2000 77© INT

Traduction d’un modèle entité-association vers un modèle

relationnel• Exemple

Etudiant Cours Prof

No_etu 1,n s'inscrire 1,n Code 1,1 superviser 1,n Nom_prof

Nom_etu Date_ins Libellé Fonctions

Adr_etu Prénom

0,1

Possède

0,1

Voiture

No_plaque

Page 78: Programme

Evry, 29-31 mai 2000 78© INT

Règle 1• Type d'entité -> relation• Attribut atomique -> constituant (attribut)• Attributs composites -> n constituants• Attribut(s) clé(s) -> clé candidate• Exemple

– Etudiant(No_etu, Nom_etu, Adr_etu)– Cours(Code, Libellé)– Prof(Nom_prof, Prénom)

Page 79: Programme

Evry, 29-31 mai 2000 79© INT

Règle 2

• Clé associée à E1 (ou E2) -> attribut de E2 (ou E1)

• Attributs de R -> attributs de E2 (ou E1)• Exemple:

– Etudiant(No_etu, Nom_etu, Adr_etu, No_plaque)

E1 ?,1 R ?,1 E2

Page 80: Programme

Evry, 29-31 mai 2000 80© INT

Règle 3

• Clé associée à E1 -> attribut de E2

• Attributs de R -> attributs de E2

• Exemple– Cours(Code, Libelle, Prof_resp)

E1 ?,1 R ?,n E2

Page 81: Programme

Evry, 29-31 mai 2000 81© INT

Règle 4

• Création d'une nouvelle relation R

• Clé de E1 + Clé de E2 -> clé de R

• Attributs de R-> Attributs de R

• Exemple– Inscription(No_étudiant, No_cours,

Date_inscription)

E1 ?,n R ?,n E2

Page 82: Programme

Evry, 29-31 mai 2000 82© INT

Règle 5

• Création d'une nouvelle relation R

• Attribut multivalué -> constituant

• Clé du type d'entité associé -> constituant

• Clé de la relation : tout le schéma

• Exemple:– Fonctions(Nom_enseig, Fonction)

Page 83: Programme

Evry, 29-31 mai 2000 83© INT

Résultat

• Prof(Nom_prof, Prénom)

• Etudiant(No_etu, Nom_etu, Adr_etu, No_plaque)

• Cours(Code, Libelle, Prof_resp)

• Inscription(No_étudiant, No_cours, Date_inscription)

• Fonctions(Nom_enseig, Fonction)

Page 84: Programme

Evry, 29-31 mai 2000 84© INT

Remarques

• Règles de traduction => relations en 3ème FN

• Bon schéma E/A => bon schéma relationnel