Académique Documents
Professionnel Documents
Culture Documents
11 novembre 2020
Quelques remarques :
Remarques :
• Le S.E.A. ne parle que des données, on ne décrit pas le traitement de
celles ci.
• Le Schéma Entité Association n’est pas un schéma relationnel.
⇒ On ne parle pas de tables, ni de relations dans le SEA.
• Du S.E.A., on déduira le schéma relationnel.
• Simple, il n’y a que quelques définitions.
Les entités
Entité : classe d’objets qui existent de manière autonome : voiture,
employé, etc...
on peut dire ”Une voiture existe”, ”un employé existe”.
EMPLOYÉ
nSS
L’entité stocke l’ensemble des faits/phrases de la forme :
nom
fonction
Remarques :
- nSS est la clé ⇒ il n’y a pas 2 phrases de ce type avec le même nSS.
- un attribut ne contient pas une liste de valeurs.
Une association
relie deux (ou plus) entités (cela peut être 2 fois la même).
permet de faire des phrases ”sujet verbe complément(s)” où :
- le verbe est l’association ;
- sujet et complements sont les clés des différentes entités reliées par
l’association.
représenté par un losange
Remarque : on n’a pas 2 fois la même phrase (en ne tenant compte que
des clés)
Exemple 1 :
Exemple 2 :
La cardinalité
- compte le nombre de fois minimum et maximum où peut intervenir
chaque instance dans une association. Où on peut écrire une phrase utilisant
une instance particulière
- se met sur le lien entre l’entité et l’association, une cardinalité par
”patte” de l’association.
Valeurs les plus utilisées des cardinalités
[0-1] : une instance n’est pas obligée d’intervenir dans l’association, et doit
intervenir au plus une fois.
[0-n] : une instance n’est pas obligée d’intervenir dans l’association, et peut
intervenir autant de fois qu’on veut.
[1-1] : une instance intervient une et une seule fois dans l’association.
[1-n] : une instance intervient au moins une fois dans l’association.
Exemple :
[0−1] [1−n]
EMPLOYÉ < travaille > BATIMENT
• [0-1] : pour tout employé E, le fait : ”l’employé E travaille dans le bâtiment ...”
existe entre 0 et 1 fois.
i.e. l’employé travaille dans 0 à 1 bâtiment.
• [1-n] : pour tout bât. B, le fait : ”l’employé ... travaille dans le bâtiment B”
existe autant de fois que l’on veut, bien sûr avec des employés différents.
i.e. un bâtiment accueille de 1 à n employés.
[0−1] [10−20]
EMPLOYÉ < travaille > BATIMENT
⇒
• Faire la liste en langage naturel (mais de la manière la plus claire et
précise) de toutes ces contraintes d’intégrité.
• Ne pas oublier ces contraintes lors de l’implémentation. Et faire en sorte
qu’elles soient toujours respectées après toutes :
- saisies de données,
- modifications de données.
[0−n] [1−n]
VOITURE <estLoue> CLIENT
ou bien
CONTRAT
numero
[0−n] [0−n] [0−1] [1−n]
VOITURE <estLouee> date <loue> CLIENT
nbjours
payé
Règles de base :
Entité E : on crée une relation E avec :
- les mêmes attributs,
- la même clé primaire.
Association A : on crée relation A comprenant :
- les clés étrangères pointant vers les clés des relations liées par A,
- les attributs propres à la relation s’il y en a.
clé primaire : elle est formée de l’ensemble des clés étrangères.
[.−1] [.−.]
E1 <A> E2
Entité faible
C’est une entité :
- qui est en association [1-1] avec une autre entité E
- dont l’identifiant dépend de celui de l’entité E.
Exemple :
FABRICANT PIECE
[0−n] [1−1]
numFabri < produit > codeP
nom description
On souhaite que plusieurs pièces puissent avoir même code si elles ont des
numéros de fabricant différents, i.e on veut :
”Une pièce est identifiée par son codeP et par son numéro de fabricant”.
Transformation en SchémaRelationnel.
FABRICANT(numFabri,nom)
PIECE(codeP,numFabri,description)
numFabri est une clé étrangère référençant FABRICANT(numFabri)
VOITURE(immatriculation, marque)
CLIENT(numCli, nom)
DATE(jour)
LOUE(immatriculation, numCli, jour)
immatriculation clé étrangère référençant VOITURE(immatriculation)
numCli clé étrangère référençant CLIENT(numCli)
jour clé étrangère référençant DATE(jour)
Mais intérêt de faire une entité (et une table) pour stoker toutes les dates
du calendrier ?