IGE487 Modélisation des bases de données IGE487 Modélisation des bases de données Semaine 1 Semaine 1 Présentation du cours. Présentation du cours. Modèle entité relation, Modèle entité relation, entité relation étendu. entité relation étendu. Domingo Palao « If you don’t know where you are going, you will probably end up somewhere else. » « Si tu ne sais pas où tu t’en vas, probablement tu arriveras ailleurs » -Laurence J. Peter. entité relation étendu. entité relation étendu.
125
Embed
Présentation du cours. Modèle entité relation, entité ...
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
IGE487 Modélisation des bases de donnéesIGE487 Modélisation des bases de donnéesSemaine 1Semaine 1
Présentation du cours.Présentation du cours.Modèle entité relation, Modèle entité relation, entité relation étendu.entité relation étendu.
Domingo Palao« If you don’t know where you are going,you will probably end up somewhere else. »
« Si tu ne sais pas où tu t’en vas, probablement tu arriveras ailleurs »
-Laurence J. Peter.
entité relation étendu.entité relation étendu.
IGE
487
Mod
élis
atio
n de
s ba
ses
de d
onné
esIG
E48
7 M
odél
isat
ion
des
base
s de
don
nées
SSeemmaaiinnee
11
Plan de la semainePlan de la semaine
�Présentation du cours�Présentation des étudiants�Présentation du chargé de cours�Présentation du plan de cours
IGE487 Modélisation des bases de donnéesIGE487 Modélisation des bases de donnéesSemaine 1Semaine 1
Présentation du chargé de coursPrésentation du chargé de cours
IGE
487
Mod
élis
atio
n de
s ba
ses
de d
onné
esIG
E48
7 M
odél
isat
ion
des
base
s de
don
nées
SSeemmaaiinnee
11
Présentation du chargé de coursPrésentation du chargé de cours
� Prénom et nom� Domingo PALAO
� Formation en informatique� Bac en génie informatique. Université National Autonome du Mexique� Maîtrise en Commerce électronique. Université de Montréal
� Expériences avec les bases de données� Modélisation et développement de plusieurs systèmes d’information
ayant comme principal élément les bases de données
ayant comme principal élément les bases de données� Mémoire du bac en génie informatique
� Bases de données utilisées� Oracle, Sybase, Adabas, RDB, MS SQL Server, Informix
� Attentes du cours IGE487� Que les étudiantes et les étudiants aient une bonne compréhension de
la modélisation des bases de données ainsi que des nouvelles technologies associées aux bases de données
� Passe-temps� Le baseball, la musique, la lecture.
IGE487 Modélisation des bases de donnéesIGE487 Modélisation des bases de donnéesSemaine 1Semaine 1
Présentation du plan de coursPrésentation du plan de cours
IGE
487
Mod
élis
atio
n de
s ba
ses
de d
onné
esIG
E48
7 M
odél
isat
ion
des
base
s de
don
nées
SSeemmaaiinnee
11
Plan de coursPlan de cours
� Description de l’annuaire� Base de données orientées objets.� Notations ODL, OQL, UML.� Traduction d'un modèle orienté objet en un modèle relationnel.� Modèle relationnel objet et relationnel étendu.� Algèbre relationnelle.
� Transactions. � Contrôle de la concurrence.� Récupération.� Optimisation des requêtes.� Conception d'une base de données distribuée.� Entrepôts et forage de données.
IGE
487
Mod
élis
atio
n de
s ba
ses
de d
onné
esIG
E48
7 M
odél
isat
ion
des
base
s de
don
nées
SSeemmaaiinnee
11
Plan de coursPlan de cours
� But et objectifs� maîtriser les concepts d’une base de données relationnelle,� connaître les notations ODL, OQL et UML,� pouvoir faire la traduction d’un modèle orienté objet en un modèle relationnel,� connaître l’algèbre relationnelle,� connaître la programmation des « triggers » et des « stored procedures »,� connaître le concept de transaction,� connaître le concept de récupération de la base de données,� connaître le processus d’optimisation des requêtes,
� connaître le processus d’optimisation des requêtes,� connaître les techniques de traitement des transactions,� connaître la relation entre XML et une base de données,� connaître les principes de contrôle de la concurrence,� connaître les concepts de disparité objet-relationnel et les manières de la
traiter,� connaître les principes de base de la conception des bases de données
distribuées,� connaître la relation entre les bases de données et les services web,� avoir une idée claire des techniques de forage de données,� avoir une idée claire des entrepôts de données.
IGE
487
Mod
élis
atio
n de
s ba
ses
de d
onné
esIG
E48
7 M
odél
isat
ion
des
base
s de
don
nées
SSeemmaaiinnee
11
Plan de coursPlan de cours
� Qualifications préalables� savoir exploiter en mode client-serveur une base de données
relationnelle;� avoir développé un système d’information simple� traiter les transactions� connaître les principes d’accès concurrent aux données pour
préserver l’intégrité des données;� avoir développé une application web simple avec servlet et JSP;� connaître l’échange électronique de données avec XML;� utiliser le langage Java comme environnement de
programmation.
� Voir la liste des références pour une mise à niveau.
IGE
487
Mod
élis
atio
n de
s ba
ses
de d
onné
esIG
E48
7 M
odél
isat
ion
des
base
s de
don
nées
SSeemmaaiinnee
11
Plan de coursPlan de cours
�Responsabilités et tâches�Des étudiantes et étudiants.
�S’approprier de la matière du cours par la lecture des articles indiqués des manuels de base.
�Participer aux activités qui se déroulent en classe.�Utiliser toutes les ressources qui sont mises à sa disposition
pour maîtriser les connaissances fondamentales sur la modélisation et la meilleure utilisation des bases de données
�La communication dans le cours� Courriel électronique� Le site web: � http://www.dmi.usherb.ca/~palao/cours/Ete2010/IGE487/SiteWeb/index.html� Username : ige487� Password : Ete2010
� Modélisation des données, triggers et « stored procedures »� Transactions, optimisation, concurrence� XML et les bases de données� La disparité objet relationnelle
�Les équipes pour la semaine prochaine� turnin. Pas de dépôt de travaux par courriel
�Commentaires chaque semaine ou résumé avant chaque examen
Un fichier est une unité informationnelle physiquement stockée sur un support de mémoire de masse permanent (disque dur par exemple). À l'origine, le terme désignait une série de fiches.
IGE
487
Mod
élis
atio
n de
s ba
ses
de d
onné
esIG
E48
7 M
odél
isat
ion
des
base
s de
don
nées
SSeemmaaiinnee
11�Fichiers
�Données séparées et isolées
�Bases de données�Données intégrées�Moins duplicité
�Comparaison entre les archives et les bases de données
Introduction aux bases de donnéesIntroduction aux bases de donnéesIG
� La totalité des fonctions d'un SGBDR classique est préservée et les concepts qui font le succès de l'approche objet ainsi que de nouveaux types de données y sont intégrés.
IGE487 Modélisation des bases de donnéesIGE487 Modélisation des bases de donnéesSemaine 1Semaine 1
L’architecture de trois schémasL’architecture de trois schémas
IGE
487
Mod
élis
atio
n de
s ba
ses
de d
onné
esIG
E48
7 M
odél
isat
ion
des
base
s de
don
nées
SSeemmaaiinnee
11
L’architecture de trois schémasL’architecture de trois schémas
�Cette architecture est proposé pour supporter les DBMS.
�Elle permet:�L’indépendance entre les données et les
IGE487 Modélisation des bases de donnéesIGE487 Modélisation des bases de donnéesSemaine 1Semaine 1
Modélisation des données avec Modélisation des données avec le modèle Entité Relation (ER)le modèle Entité Relation (ER)le modèle Entité Relation (ER)le modèle Entité Relation (ER)
IGE
487
Mod
élis
atio
n de
s ba
ses
de d
onné
esIG
E48
7 M
odél
isat
ion
des
base
s de
don
nées
SSeemmaaiinnee
11
Le design des bases de donnéesLe design des bases de données
�Comment faire le design d’une base de données ?�Le désignateur doit interviewer les usagers
pour comprendre et documenter ses besoins�En parallèle il faut faire l’analyse fonctionnel
Contraint de dissociation et superposition Contraint de dissociation et superposition (distointness/overlap)(distointness/overlap)
�La contraint de dissociation spécifie que chaque sousclasse de la spécialisation doit être dissociée (disjoint).�Cela veut dire qu’une entité doit appartenir à
�Une hiérarchie de spécialisation implique que toutes les sousclasses participent comme sousclasse dans une seule relation classe/sousclasse. �C’est-à-dire, chaque sousclasse a une seule
(optionnellement, nous pouvons ajouter le type de données)
� Les opérations� Entre les classe nous
avons les associations� Représentées par une
boîte connecté aux entités participants
� Association� Agrégation
IGE
487
Mod
élis
atio
n de
s ba
ses
de d
onné
esIG
E48
7 M
odél
isat
ion
des
base
s de
don
nées
SSeemmaaiinnee
11
Diagramme de classe d’UMLDiagramme de classe d’UML
�Nous pouvons utiliser les diagrammes de classe d’UML pour représenter la généralisation et la spécialisation�On utilise le triangle pour montrer le type de
Transformation d'un schéma ER/ERE Transformation d'un schéma ER/ERE vers le modèle relationnel vers le modèle relationnel
�Le modèle ER vers modèle relationnel�Étape 1: Correspondance des entités régulières�Étape 2: Correspondance des entités faibles�Étape 3: Correspondance des relations binaires 1:1�Étape 4: Correspondance des relations binaires 1:N�Étape 5: Correspondance des relations binaires M:N
�Étape 5: Correspondance des relations binaires M:N�Étape 6: Correspondance des attributs multi valeur.�Étape 7: Correspondance des relations multiples.
�Le modèle ERE vers modèle relationnel�Étape 8: Options pour établir la correspondance de la
spécialisation et la généralisation.�Étape 9: Correspondance des Unions (catégories).
IGE487 Modélisation des bases de donnéesIGE487 Modélisation des bases de donnéesSemaine 1Semaine 1
Transformation d'un schéma Transformation d'un schéma ER/ERE vers le modèle relationnel ER/ERE vers le modèle relationnel
IGE
487
Mod
élis
atio
n de
s ba
ses
de d
onné
esIG
E48
7 M
odél
isat
ion
des
base
s de
don
nées
SSeemmaaiinnee
11
Transformation d'un schéma ER/ERE vers le Transformation d'un schéma ER/ERE vers le modèle relationnelmodèle relationnel
�Une fois que le modèle ER ou ERE est complété, il faut traduire ce modèle dans un schéma relationnel.�Cette étape est le design logique de la base
IGE487 Modélisation des bases de donnéesIGE487 Modélisation des bases de donnéesSemaine 1Semaine 1
Le modèle ER vers modèle Le modèle ER vers modèle relationnelrelationnelrelationnelrelationnel
IGE
487
Mod
élis
atio
n de
s ba
ses
de d
onné
esIG
E48
7 M
odél
isat
ion
des
base
s de
don
nées
SSeemmaaiinnee
11
Étape 1: Correspondance des entités Étape 1: Correspondance des entités régulières régulières
� Pour chaque entité forte (E) dans un schéma ER, il faut créer une relation R avec tous les attributs simples de l’entité E.� Il faut choisir un attribut clé de l’entité E comme clé primaire de
la relation R.� Si la clé choisie pour l’entité E est composée, l’ensemble d’attributs
sont considérés comme la clé primaire de la relation R
� Exemple: � Nous avons crée les relations EMPLOYEE, DEPARTMENT, et
PROJECT dans le schéma relationnel correspondant aux entités régulières dans le diagramme ER de notre exemple.
� SSN, DNUMBER et PNUMBER sont les clés primaires des relations EMPLOYEE, DEPARTMENT et PROJECT respectivement.
IGE
487
Mod
élis
atio
n de
s ba
ses
de d
onné
esIG
E48
7 M
odél
isat
ion
des
base
s de
don
nées
SSeemmaaiinnee
11
� Pour chaque entité faible W dans le schéma ER liée à une entité forte E, il faut créer une relation R et ajouter tous les attributs simples (ou les composants simples des attributs composés) comme attributs de la relation R� Il faut ajouter comme clé étrangère de la relation R la clé primaire de la
relation ou relations correspondants à l’entité forte propriétaire.� La clé primaire de la relation R est la combinaison de la clé primaire de
l’entité propriétaire (E) la clé partielle de l’entité faible (W)� Exemple:
Étape 2: Correspondance des entités Étape 2: Correspondance des entités faiblesfaibles
� Exemple:� Il faut créer la relation DEPENDENT dans cette étape. Elle est la
correspondance de l’entité faible DEPENDENT dans le modèle.� Il faut ajouter la clé primaire SSN de la relation EMPLOYEE comme clé
étrangère dans la relation DEPENDENT (renommé comme ESSN). � La clé primaire de la relation DEPENDENT est la combinaison {ESSN,
DEPENDENT_NAME} parce que DEPENDENT_NAME est la clé partielle de DEPENDENT.
IGE
487
Mod
élis
atio
n de
s ba
ses
de d
onné
esIG
E48
7 M
odél
isat
ion
des
base
s de
don
nées
SSeemmaaiinnee
11
� Pour chaque relation binaire 1:1 (R) dans le schéma ER, il faut identifier les relations S et T correspondants aux entités participants dans la relation.
� Il y a trois approches1. Approche clé étrangère: Il faut choisir une des relations S ou T,
prenons par exemple S, et placer dans cette relation la clé primaire de la relation T.
Étape 3: Étape 3: Correspondance des relations Correspondance des relations binaires 1:1binaires 1:1
la relation T.La meilleure option est de choisir l’entité qui a une participation totale dans la relation R pour jouer le rôle de S.
2. Approche par fusion des relations: Il est possible de fusionner les deux entités et la association dans une seule relation. C’est une bonne option quand les deux participations sont totales.
3. Approche de relation par référence croisée: Il faut créer une troisième relation R pour avoir une référence croisée des clés primaires de deux relations S et T.C’est une bonne option quand il n’y a pas un pattern défini.
IGE
487
Mod
élis
atio
n de
s ba
ses
de d
onné
esIG
E48
7 M
odél
isat
ion
des
base
s de
don
nées
SSeemmaaiinnee
11
� Pour chaque relation 1:N :� Pour chaque relation binaire (R) de type régulière, il faut
identifier la relation S qui représente l’entité participant dans le côté N de la relation.
� Ajouter comme clé étrangère dans S la clé primaire de la relation T qui représente l’autre entité participant dans R.
� Ajouter tous les attributs simples de la relation de type 1:N comme attributs de S
Étape 4: Étape 4: Correspondance des relations Correspondance des relations binaires 1:Nbinaires 1:N
� Exemple: � Les relations 1:N WORKS_FOR, CONTROLS et
SUPERVISION.� Par exemple, dans la relation WORKS_FOR nous avons ajouté
la clé primaire DNUMBER.Elle vient de la relation DEPARTMENT, et est traitée ici comme clé étrangère dans la relation EMPLOYEE.Nous l’avons renommée comme DNO.
IGE
487
Mod
élis
atio
n de
s ba
ses
de d
onné
esIG
E48
7 M
odél
isat
ion
des
base
s de
don
nées
SSeemmaaiinnee
11
Étape 5: Étape 5: Correspondance des relations Correspondance des relations binaires M:Nbinaires M:N
� Pour chaque relation régulière (R) de type M:N, il faut créer une relation S pour la représenter.� Ajouter comme clé étrangère dans S la clé primaire des relations
qui participent dans l’association. La combinaison de ces attributs forme la clé primaire de S.
� Ajouter aussi tout attribut simple de la relation M:N comme attribut de S.
� Exemple: � La relation de type M:N WORKS_ON correspond à la relation
WORKS_ON dans le schéma de la base de données relationnelle.
� Les clés primaires des relations PROJECT et EMPLOYEE sont considérés comme clés étrangères dans la relation WORKS_ON et renommées comme PNO et ESSN respectivement.
� L’attribut HOURS dans WORKS_ON représente l’attribut HOURS de la relation.
� La clé primaire de la relation WORKS_ON est la combinaison des clés étrangères {ESSN, PNO}.
IGE
487
Mod
élis
atio
n de
s ba
ses
de d
onné
esIG
E48
7 M
odél
isat
ion
des
base
s de
don
nées
SSeemmaaiinnee
11
Étape 6: Étape 6: Correspondance des attributs multi Correspondance des attributs multi valeurvaleur
� Pour chaque attribut multi valeur A, il faut créer une nouvelle relation R.� Cette relation R aura un attribut qui correspond à la relation A.
En plus de la clé primaire K comme clé étrangère de la relation qui modélise l’entité qui a l’attribut multi valeur A.
� La clé primaire de R est la combinaison de A et K.
� Exemple: � La relation DEPT_LOCATIONS a été crée� L’attribut DLOCATION représente l’attribut multi valeur
LOCATION de DEPARTMENT.� DNUMBER, comme clé étrangère, représente la clé primaire de
la relation DEPARTMENT. � La clé primaire de R est la combinaison {DNUMBER,
DLOCATION}.
IGE
487
Mod
élis
atio
n de
s ba
ses
de d
onné
esIG
E48
7 M
odél
isat
ion
des
base
s de
don
nées
SSeemmaaiinnee
11
Étape 7: Étape 7: Correspondance des relations Correspondance des relations multiplesmultiples
�Pour chaque relation multiple R, avec deux ou plus entités participants, il faut créer une nouvelle relation S pour représenter R.�Ajouter comme clé étrangère de S les clés primaires
des relations participants�Ajouter aussi tout attribut simple de la relation comme
Relation multiple Relation avec plusieurs clés étrangères
Attribut simple Attribut
Attribut composé Ensemble d’attributs composés
Attribut multi valeur Relation et clé étrangère
Ensemble de valeurs Domaine
Attribut clé Clé primaire (ou secondaire)
IGE487 Modélisation des bases de donnéesIGE487 Modélisation des bases de donnéesSemaine 1Semaine 1
Le modèle ERE vers modèle Le modèle ERE vers modèle relationnelrelationnelrelationnelrelationnel
IGE
487
Mod
élis
atio
n de
s ba
ses
de d
onné
esIG
E48
7 M
odél
isat
ion
des
base
s de
don
nées
SSeemmaaiinnee
11
� Il faut convertir en schémas relationnels chaque spécialisation.� Supposons qu’il y a m sous-classes {S1, S2,….,Sm} en plus de la
superclasse généralisée C.
Nous allons avoir les attributs de C qui sont {k,a1,…an}.
Où k est la clé (primaire)
Étape 8: Options pour établir la correspondance de la Étape 8: Options pour établir la correspondance de la spécialisation et la généralisation.spécialisation et la généralisation.
�Pour établir la correspondance d’une catégorie avec une superclasse ayant plusieurs clés, nous pouvons spécifier un nouveau attribut clé, nommée « clé substitut »�Dans l’exemple qui suit, nous avons crée la relation
Étape 9: Correspondance des Unions Étape 9: Correspondance des Unions (catégories).(catégories).
La figure suivante montre le schéma ER d’une base de données utilisé pour contrôler des navires (ships) et ses locations pour les autorités maritimes (port). Faire le mapping de cet schéma dans un schéma relationnel en spécifiant les clés et les clés étrangères.