76
Bases de Données & Systèmes d’Information Mohammed BOUSMAH [email protected]

BD1_Bousmah

Embed Size (px)

Citation preview

Page 1: BD1_Bousmah

7/23/2019 BD1_Bousmah

http://slidepdf.com/reader/full/bd1bousmah 1/76

Bases de Données&Systèmes d’Information

Mohammed [email protected]

Page 2: BD1_Bousmah

7/23/2019 BD1_Bousmah

http://slidepdf.com/reader/full/bd1bousmah 2/76

Plan du cours

1. Introduction2. Modèle conceptuel de données Entité-Association

3. Modèle relationnel de données

4. Le langage SQL

Page 3: BD1_Bousmah

7/23/2019 BD1_Bousmah

http://slidepdf.com/reader/full/bd1bousmah 3/76

Chap. 1 : Introduction

Limites des systèmes de gestion de fichiers

• Chaque application dispose de ses fichiers (données)⇒redondance des données

• Chaque application dispose de ses programmes

⇒complexité du maintien de la cohérence

• Programmes dépendants de l’organisation physique desdonnées

• Pas de gestion des accès multiples

d’où l’apparition de la notion de base de données

(début des années 60)

Page 4: BD1_Bousmah

7/23/2019 BD1_Bousmah

http://slidepdf.com/reader/full/bd1bousmah 4/76

Notion de BD et de SGBD

• Base de données (BD) : collection importante de donnéescohérentesstructurées indépendamment d’une application

de redondance minimaleaccessibles par plusieurs utilisateurs à la fois

• Système de Gestion de Bases de données (SGBD) :logiciel assurant structuration, stockage, maintenance, miseà jour et consultation d'une BD

Page 5: BD1_Bousmah

7/23/2019 BD1_Bousmah

http://slidepdf.com/reader/full/bd1bousmah 5/76

Quelques applications des BDs

• Gestion (salaires, stock…)

• Transactionnel (comptes bancaires, centrales d'achat…)

• Librairies électroniques (bibliothèques, journaux…)

• Documentation technique (plans, dessins…)

• Génie logiciel (programmes, manuels…)• …

Page 6: BD1_Bousmah

7/23/2019 BD1_Bousmah

http://slidepdf.com/reader/full/bd1bousmah 6/76

Fonctions d’un SGBD

a. Définition des données :Un Langage de Définition de Données (LDD) permet dedécrire :

- des objets ( personnes, véhicules)

- Des attributs sur les objets (nom, n°   d’immatr .)- Des liens entre objets ( personne possède véhicule)

- Des contraintes sur objets, attributs et liens (un

véhicule n’a qu’un seul propriétaire)

Schéma = description d’une BD à l’aide du LDD

Page 7: BD1_Bousmah

7/23/2019 BD1_Bousmah

http://slidepdf.com/reader/full/bd1bousmah 7/76

Fonctions d’un SGBD

b. Manipulation des données

Un Langage de Manipulation de Données (LMD)permet de créer, rechercher, supprimer, modifierdes données (SQL)

Un SGBD doit offrir plusieurs interfaces d'accès,

correspondant à différents types d'utilisateurs interface orientée utilisateur final

(langage de requêtes comme SQL avec mise enoeuvre graphique, interface de type formulaire, ...)

interface orientée programmeur d'applications

(SQL immergé dans C ou Java).

Page 8: BD1_Bousmah

7/23/2019 BD1_Bousmah

http://slidepdf.com/reader/full/bd1bousmah 8/76

Fonctions d’un SGBD

c. Contrôler l'intégrité des données

Les données enregistrées doivent vérifier certainespropriétés appelées contraintes d’intégrité (CI)

CI exprimées dans le schéma (définition) de la BD

le SGBD doit les préserver durant la vie de la BD

CI plus complexes

à coder dans des programmes d’application

Page 9: BD1_Bousmah

7/23/2019 BD1_Bousmah

http://slidepdf.com/reader/full/bd1bousmah 9/76

Fonctions d’un SGBD

d. Assurer la sécurité de fonctionnement

Mécanisme de transaction- Séquence d'opérations faisant passer une BD d'un état

cohérent à un nouvel état cohérent

- Une transaction est exécutée complètement avec succèsou est annulée.

Remettre rapidement une BD dans un étatopérationnel après un incident hardware/software1. Journalisation des opérations réalisées sur la BD

(dans le journal ou LOG)

2. Ré-exécution automatique en cas d’incident

Page 10: BD1_Bousmah

7/23/2019 BD1_Bousmah

http://slidepdf.com/reader/full/bd1bousmah 10/76

Fonctions d’un SGBD

e. Gérer les accès concurrents

Permettre des accès simultanés par plusieursutilisateurs

Mécanismes de gestion de conflits d’accès- autorisation d’accès multiples en consultation

(lecture)

- verrouillage en cas d’accès en modification(écriture)

Page 11: BD1_Bousmah

7/23/2019 BD1_Bousmah

http://slidepdf.com/reader/full/bd1bousmah 11/76

Fonctions d’un SGBD

f. Assurer la confidentialité

Cacher certaines informations à certains utilisateurs

Mise en œuvre :

- mots de passe et privilèges d’accès

- utilisation de sous-schémas

Page 12: BD1_Bousmah

7/23/2019 BD1_Bousmah

http://slidepdf.com/reader/full/bd1bousmah 12/76

SystSystèème dme d‘‘InformationsInformations

12

Page 13: BD1_Bousmah

7/23/2019 BD1_Bousmah

http://slidepdf.com/reader/full/bd1bousmah 13/76

• Ensemble complexe, composé de données et de liens.

• Décrit une activité.

• Plusieurs valeurs possibles.

13

LL’’informationinformation……??

Page 14: BD1_Bousmah

7/23/2019 BD1_Bousmah

http://slidepdf.com/reader/full/bd1bousmah 14/76

Un système d'Information (noté SI) représentel'ensemble des éléments participant :

• à la gestion,

• au traitement,• au transport et,• à la diffusion,

de l'information au sein de l'organisation.

SystSystèème dme d’’informationinformation -- DDééfinitionfinition

14

Page 15: BD1_Bousmah

7/23/2019 BD1_Bousmah

http://slidepdf.com/reader/full/bd1bousmah 15/76

15

Et la grande question estEt la grande question est……

Comment r Comment r ééaliser unaliser un «« bonbon »» systsystèème dme d’’information ?information ?

La réponse sur les techniques et démarches classiques du Génie Logiciel :

•Analyse• de l’existant et des besoins de l’utilisateur.

•Conception• du système et du logiciel.

•Réalisation• Traduction des algorithmes dans un langage choisi.

•Tests du logiciel• Vérification et validation du logiciel.

• Tests de non régression.

•Exploitation• Utiliser le logiciel une fois installé.

•Maintenance• Correction des erreurs.

• Ajouts de fonctionnalité.

•…

Page 16: BD1_Bousmah

7/23/2019 BD1_Bousmah

http://slidepdf.com/reader/full/bd1bousmah 16/76

16

Analyse et Conception deAnalyse et Conception deSystSystèème dme d’’InformationInformation

Que faut-il pour analyser, concevoir…?

On doit :

• avoir une vision abstraite du fonctionnement,

• garantir les délais, la pertinence, l’efficacité,

• faciliter la maintenance,

• prolonger la durée de vie,

• …

Nous avons, donc, besoin :

• de MODELES,• de METHODOLOGIE.

Page 17: BD1_Bousmah

7/23/2019 BD1_Bousmah

http://slidepdf.com/reader/full/bd1bousmah 17/76

17

• Un modèle est par définition une représentation abstraite, d’une partie dumonde réel, exprimée dans un langage de représentation.

• Ce langage peut être :

• formel : ayant une syntaxe et une sémantique bien définies comme

• la logique du premier ordre ou,

• un langage informatique,

• …

• Semi-formel : notation graphique normalisée.

• Informel : description en langage naturel.

ModModèèlele……cc’’est quoi ?est quoi ?

Page 18: BD1_Bousmah

7/23/2019 BD1_Bousmah

http://slidepdf.com/reader/full/bd1bousmah 18/76

18

Les principales motivations sont (Vernadat, 2000) :

- comprendre et analyser la structure et le fonctionnement de l’entreprise ;

- prévoir (de manière fiable) le comportement et les performances desprocessus opérationnels avant leur implantation ;

- choisir la (ou les) meilleure(s) alternative(s) d'implantation ;

- identifier les risques d'implantation à gérer ;

- justifier les choix d'implantation sur des critères liés aux ressources et

aux coûts (méthodes de comptabilité par activités, par exemple) ;

- bâtir une vision commune du fonctionnement de l’entreprise et lacommuniquer facilement au plus grand ensemble possible dupersonnel.

ModModèèlele……pourquoi ?pourquoi ?

Page 19: BD1_Bousmah

7/23/2019 BD1_Bousmah

http://slidepdf.com/reader/full/bd1bousmah 19/76

19

• Formalisation claire et complète du problème informationnel.

• Maîtrise de la résolution du problème par l’utilisation de critères

objectifs pour évaluer les solutions.

• Construction de SI pertinents, complets, cohérents, fiables flexibleset adaptatifs.

• Évaluation du SI à tout moment de son cycle de vie.

• Faciliter la coopération entre concepteurs, informaticiensgestionnaires, utilisateurs.

• Rigueur dans l’élaboration de la solution.

• Réduire les coûts et les délais.

MMééthodologiethodologie……pourquoi ?pourquoi ?

Page 20: BD1_Bousmah

7/23/2019 BD1_Bousmah

http://slidepdf.com/reader/full/bd1bousmah 20/76

• Approche cartésienne.

– Orientée traitements.

• Approche systémique.– Orientée données.

• Approche Objet.– Orientée données et traitements.

MMééthodologiethodologie……TypologieTypologie

Page 21: BD1_Bousmah

7/23/2019 BD1_Bousmah

http://slidepdf.com/reader/full/bd1bousmah 21/76

• MERISE : Méthode d’Etude et deRéalisation Informatique pour les

Systèmes d’Entreprises(Tardieu, 83).• AXIAL : analyse et conception des

systèmes d’informations assistés

par logiciel (IBM, 86).• SSADM : Structured Systems Analysis and

Design Method (CCTA, 80).

• SADT : Structured Analysis and DesignTechnique (Softech, 77).• RUP : Rational Unified Process.

(IBM, 2003).

MMééthodologiethodologie……exemplesexemples

Page 22: BD1_Bousmah

7/23/2019 BD1_Bousmah

http://slidepdf.com/reader/full/bd1bousmah 22/76

• Partir de principes théoriques,

• pour développer un ensemble cohérent demodèles qui,

• par des raisonnements simples, sebasant sur des définitions et unlangage (visuel) précis,

• permettent de construire un systèmed’information cohérent et efficace.

22

MeriseMerise……DDéémarchemarche

Page 23: BD1_Bousmah

7/23/2019 BD1_Bousmah

http://slidepdf.com/reader/full/bd1bousmah 23/76

• Deux modèles : données et traitements.

• Elaborés séparément.

• Déclinés sur trois niveaux :1. Conceptuel.2. Organisationnel.

3. Opérationnel.

• Validation données / traitements.23

MeriseMerise……deux moddeux modèèlesles

Page 24: BD1_Bousmah

7/23/2019 BD1_Bousmah

http://slidepdf.com/reader/full/bd1bousmah 24/76

Système d’information

manuel

Expression des Besoins

Modèle Conceptuel

Modèle Organisationnel

Modèle Opérationnel

Système d’information

automatique

•Recueil des informations•Délimiter le système.

•…

•Construire les MCD et MCT

•Construire les MOD et MOT

•Construire (entre autres) les MLD,MPD…

24

MeriseMerise……cycle dcycle d’’abstractionabstraction

Page 25: BD1_Bousmah

7/23/2019 BD1_Bousmah

http://slidepdf.com/reader/full/bd1bousmah 25/76

• Faire l'inventaire des éléments d’informations circulant

dans le système : existants et demandés.

• Plusieurs approches sont possibles :

– La plus basique (orientée données) repose sur :• la création d’un dictionnaire de données et,• la matrice des dépendances fonctionnelles.

– La plus complète (orientée traitement ) est basée sur :• la création du Modèle Conceptuel d’Activité (MCA) et,• du Modèle Conceptuel de Communication (MCC).

25

Recueil et organisation desRecueil et organisation des

informationsinformations

Page 26: BD1_Bousmah

7/23/2019 BD1_Bousmah

http://slidepdf.com/reader/full/bd1bousmah 26/76

• Toute donnée recensée doit être mémorisée.

• Le MCD modélise cette mémoire (collective) du système.

• Un formalise de référence :–– le modle modèèlele EntitEntitéé--Association.Association.

–– ConceptsConcepts dd’’entitentitéés et ds et d’’associations.associations.

–– ParticuliParticulièèrement adaptrement adaptéé auxaux Base de DonnBase de Donnéées relationnelles.es relationnelles.

•• Redondance interditeRedondance interdite !!

26

ModModèèle Conceptuel de Donnle Conceptuel de Donnééeses

(MCD)(MCD)

Page 27: BD1_Bousmah

7/23/2019 BD1_Bousmah

http://slidepdf.com/reader/full/bd1bousmah 27/76

• Son objectif est la description de la transformation destransformation des

informationsinformations

.• Se base sur plusieurs notions :

• Activité : décrit perception globale du fonctionnement du

système, et est, par le fait, complexe.• Traitement : décrit l’un des composants de l’activité du

système.

• Action : décrit une fonctionnalité atomique dans untraitement (consultation, mise à jour…).

27

ModModèèle Conceptuel de Traitementle Conceptuel de Traitement

(MCT)(MCT)

Page 28: BD1_Bousmah

7/23/2019 BD1_Bousmah

http://slidepdf.com/reader/full/bd1bousmah 28/76

• Concepts identiques à ceux du MCD et MCT sauf que …

• l’intégration de notions supplémentaires, comme– les lieux (où ?),– Les personnes (qui ?),– Les ressources (comment ?),– …– En bref, les contraintes spatiales et temporelles,

• imposent que,– la redondance de données soit tolérée et que,– les traitements soient raffinés.

28

ModModèèles Organisationnelles de Donnles Organisationnelles de Donnéées etes et

de Traitements (MOD, MOT)de Traitements (MOD, MOT)

Page 29: BD1_Bousmah

7/23/2019 BD1_Bousmah

http://slidepdf.com/reader/full/bd1bousmah 29/76

• Le modèle logique représente un choix logicielpour le système d'information.

• Le modèle physique reflète un choix matériel

pour le système d'information.

29

ModModèèles Oples Opéérationnels : Logique etrationnels : Logique et

PhysiquePhysique

Page 30: BD1_Bousmah

7/23/2019 BD1_Bousmah

http://slidepdf.com/reader/full/bd1bousmah 30/76

Processus de conception d'une base de

données

Monde réel

Spécificationsde la BD

Modèle

conceptuel

 Analyse

Conception

Modèle

logique

Modèlephysique

Transformation

 Implémentation

Indépendantd'un SGBD

Spécifique àun SGBD

Page 31: BD1_Bousmah

7/23/2019 BD1_Bousmah

http://slidepdf.com/reader/full/bd1bousmah 31/76

Concepts manipulés dans les ≠

modèles

• Procédure• Phase

• Tâche

• Table• Attribut

Logique(relationnel)

• Processus

• Opération• Événement/résultat

• Synchronisation

• Entité

• Association• Attributs

Conceptuel

• Application• Unité de traitement

•Table•Tuple

•Attribut

+ langage SQL

Physique

(relationnel)

TRAITEMENTSDONNEESNIVEAU

Page 32: BD1_Bousmah

7/23/2019 BD1_Bousmah

http://slidepdf.com/reader/full/bd1bousmah 32/76

Plan du cours

1. Introduction2. Modèle conceptuel de données Entité-

Association

3. Modèle relationnel de données4. Le langage SQL

Page 33: BD1_Bousmah

7/23/2019 BD1_Bousmah

http://slidepdf.com/reader/full/bd1bousmah 33/76

Chap. 2 : Modèle

Entité-association (E/A)

Proposé par Chen en 1976Modèle conceptuel abstrait utilisé pour décrire les données

d’un SI

Entité-Association (E/A) traduction deEntity/Relationship (E/R)

Une représentation graphique rigoureuse est

associée au modèle E/A

Page 34: BD1_Bousmah

7/23/2019 BD1_Bousmah

http://slidepdf.com/reader/full/bd1bousmah 34/76

• Entité : objet concret ou abstrait à propos duquel onsouhaite conserver des informations.

ex. client , journal, département 

• Attribut : propriété attachée à une entité.

ex. nom, prix Attribut atomique / composé (subdivisé en attributs)ex. nom versus adresse

Attribut dérivé : calculé à partir d’autre(s) attribut(s)ex. âge

Attribut monovalué / multivalué (plusieurs valeurs par entité)

2.1. Concepts de base du modèle E/A

a. Entités et attributs

Page 35: BD1_Bousmah

7/23/2019 BD1_Bousmah

http://slidepdf.com/reader/full/bd1bousmah 35/76

a. Entités et attributs

• Domaine d’un attribut : ensemble des valeurs que peutprendre un attribut.

ex. Prix des produits : nombre réel positif 

nom : chaîne de caractères alphabétiques

couleur : {rouge, vert, bleu, jaune}

Page 36: BD1_Bousmah

7/23/2019 BD1_Bousmah

http://slidepdf.com/reader/full/bd1bousmah 36/76

Employé

NomPrénom

Date de naissanceRueCode postalVille

Autre représentation graphique

d'une entité avec ses attributs

Page 37: BD1_Bousmah

7/23/2019 BD1_Bousmah

http://slidepdf.com/reader/full/bd1bousmah 37/76

b. Type et occurrences d’entité

• Type d'entité : classe de toutes les entités de mêmenature et jouant le même rôle.

ex. Employé • Occurrence d’un type d’entité : tout individu

particulier faisant partie du type d’entité.

ex. Occurrences du type d’entité Employé : les employés

Richard AlbusMarie DupontBernard Schmidt

...

Page 38: BD1_Bousmah

7/23/2019 BD1_Bousmah

http://slidepdf.com/reader/full/bd1bousmah 38/76

b. Type et occurrences d’attribut

• Type d'attribut : nom d'un attribut et domaine des valeurspossiblesex.

Nom et Prénom : chaînes de caractères

Date de naissance : date

Âge : entier positif 

• Occurrence d'attribut : valeur particulièreex. bleu, rouge, jaune : occurrences de l’attribut couleur

Page 39: BD1_Bousmah

7/23/2019 BD1_Bousmah

http://slidepdf.com/reader/full/bd1bousmah 39/76

c. Identifiant d’entité

• Identifiant d’entité : ensemble minimald’attributs caractérisant de façon unique lesoccurrences d'un type d'entité.

• Représentation graphique : attribut(s)identifiant(s) souligné(s)

Page 40: BD1_Bousmah

7/23/2019 BD1_Bousmah

http://slidepdf.com/reader/full/bd1bousmah 40/76

ex. Un identifiant du type d'entité Employé : {Nom, Prénom, Date de naiss.}

Employé

NomPrénom

Date de naissanceRueCode postalVille

Un autre identifiant du type d'entité Employé : un nouvel attribut(artificiel) Numéro

Employé

NuméroNomPrénom

Date de naissanceRueCode postalVille

Page 41: BD1_Bousmah

7/23/2019 BD1_Bousmah

http://slidepdf.com/reader/full/bd1bousmah 41/76

d. Associations

• Chaque entité joue un rôle dans l'association- Les rôles devront être précisés si l’association relie une entité à elle-même.

• Une association peut concerner plus de deux entités

- degré d’une association (association binaire, ternaire, n-aire)

commandeClient Produit

• Association : liaison existant entre des entités.ex. les clients commandent des produits

commande est commandé   par 

Page 42: BD1_Bousmah

7/23/2019 BD1_Bousmah

http://slidepdf.com/reader/full/bd1bousmah 42/76

e. Attributs d’associations• Une association peut être caractérisée par des attributs.

ex. date de la commande et quantité de produits commandés.

commandeClient Produit

date

quantité

• Occurrence d'un type d'association : occurrence de chaque typed'entité + occurrence de chaque type d’attribut

Page 43: BD1_Bousmah

7/23/2019 BD1_Bousmah

http://slidepdf.com/reader/full/bd1bousmah 43/76

f. Cardinalités d’associations• Cardinalité d’une assoc. : nombres minimum et maximum departicipations de chaque occurrence d’entité à l’association.

ex. un client doit commander au moins un produit ; un produit peutêtre commandé par zéro ou un nombre quelconque de clients.

En fonction des cardinalités maximales, une associationbinaire (degré = 2) peut être de type 1-1, 1-N ou N-M

commandeClient Produit1,N 0,M

commande est commandé 

 par 

minimum maximum

Page 44: BD1_Bousmah

7/23/2019 BD1_Bousmah

http://slidepdf.com/reader/full/bd1bousmah 44/76

f. Cardinalités d’associations

Typologie des associations binaires

Association de type 1-1 (one-to-one)

A By,1

Association de type 1-N (one-to-many)

A Bx,1 y,N

R

R

Association de type N-M (many-to-many)

A Bx,N y,MR

x,1

f C di lité d’ i ti

Page 45: BD1_Bousmah

7/23/2019 BD1_Bousmah

http://slidepdf.com/reader/full/bd1bousmah 45/76

f. Cardinalités d’associations

Typologie des associations binaires

a1

a2

a3

a4

a1

a2

a3

a4

b1

b2

b3

b4

b1

b2

b4

 Many-to-manyOne-to-many

a1

a2

a3

a4

b1

b2

b3

One-to-one

a5

A B0,1 1,1R A B1,N 1,M

RA B1,1 0,NR

a5

b3

Page 46: BD1_Bousmah

7/23/2019 BD1_Bousmah

http://slidepdf.com/reader/full/bd1bousmah 46/76

Un client est titulaire d’au maximum un compte; un compteappartient à un client et un seul.

affiliationClient Compte0,1 1,1

Association 1-1:

Une association A entre deux entités E et F est de cardinalité1-1 si une occurrence de E ne peut être associée qu’à uneoccurrence de F et réciproquement.

f. Cardinalités d’associations

f C di li é d’ i i

Page 47: BD1_Bousmah

7/23/2019 BD1_Bousmah

http://slidepdf.com/reader/full/bd1bousmah 47/76

Association 1-N

Une association A entre deux entités E et F est de cardinalité

1-N si une occurrence de F peut être associée à plusieursoccurrences de E et qu’une occ. de E ne peut être associéequ’à une occ. de F.

fournitureProduit Fournisseur1,1 0,N

Un produit est fourni par un fournisseur et un seul; un fournisseur peut fournir un nombre qq de produits.

f. Cardinalités d’associations

Page 48: BD1_Bousmah

7/23/2019 BD1_Bousmah

http://slidepdf.com/reader/full/bd1bousmah 48/76

Association N-MUne association A entre deux entités E et F est de cardinalité

N-M si une occurrence de E peut être associée à plusieursoccurrences de F et réciproquement.

commandeClient Produit0,N 0,M

Un client peut commander plusieurs produits; un produit peut être commandé par plusieurs clients.

f. Cardinalités d’associations

E tité f ibl

Page 49: BD1_Bousmah

7/23/2019 BD1_Bousmah

http://slidepdf.com/reader/full/bd1bousmah 49/76

g. Entité faible

Entité faible = entité sans identifiant propre

Une entité faible n'existe qu'en référence à une autre entité diteentité identifiante

• l'association qui les unit est dite association identifiante

• l'entité faible a une contrainte de cardinalité 1,1 sur sonassociation identifiante

Ouvrage Exemplairematérialise

numOtitre

auteuréditeur

numEposition

date achat

1,N 1,1entité faible

identifiant partiel

entité identifiante

h S é i li ti

Page 50: BD1_Bousmah

7/23/2019 BD1_Bousmah

http://slidepdf.com/reader/full/bd1bousmah 50/76

h. Spécialisation

Définition d'une relation de spécialisation entre une entitésuper-classe et plusieurs entités sous-classes

Secrétaire Ingénieur Technicien

d

Employé

numéro nom prénom adresse

vitesse_frappe spécialité grade

Une Spécialisation est

Page 51: BD1_Bousmah

7/23/2019 BD1_Bousmah

http://slidepdf.com/reader/full/bd1bousmah 51/76

Une Spécialisation est …

C1 Cn

d

S

Disjointe partielle Disjointe totale

A recouvrement partiel A recouvrement total

C1 Cn

d

S

C1 Cn

S

C1 Cn

S

}=∩≠  ji C C  ji ji ,,

∪ niiC S 

,1==

Disjointe…

ou à recouvrement

Totale …

ou partielle

Page 52: BD1_Bousmah

7/23/2019 BD1_Bousmah

http://slidepdf.com/reader/full/bd1bousmah 52/76

i. Contraintes d’intégritéBut : Spécifier des contraintes de la réalité perçue qui ne sont pasexprimables dans le modèle E/A.

• Contrainte d’intégrité (CI) : propriété que doivent satisfaire lesdonnées.

– CI statique : doit être vérifiée à tout moment.ex1 : date-de-mariage > date-de-naissance☺

ex2 : nom-de-jeune-fille, numéro-portable : attributs facultatifs

ex3 : nom, no-sécurité-sociale : attributs obligatoires– CI dynamique : tout changement d’état de la BD doit la respecter.

ex1 : l’attribut salaire ne peut que croître.

ex2 : le changement d’état civil doit respecter le graphe suivant :

célibataire mariédivorcé

veuf 

2.2. Dictionnaire de données

Page 53: BD1_Bousmah

7/23/2019 BD1_Bousmah

http://slidepdf.com/reader/full/bd1bousmah 53/76

2.2. Dictionnaire de données

Pour qu’un schéma E/A soit complet, il faut construire le dictionnaire dedonnées associé

chaque entité/association/attribut/CI est décrit par certaines propriétés

Pour une entité : Exemple

un nom  Auteur 

une définition "Un auteur a écrit au moins unlivre édité par un éditeur X" 

une liste d’attributs {nom-aut, prénom-aut, ville-aut}

au moins un identifiant {nom-aut, prénom-aut}

Page 54: BD1_Bousmah

7/23/2019 BD1_Bousmah

http://slidepdf.com/reader/full/bd1bousmah 54/76

2.2. Dictionnaire de données

Pour une association : Exemple

un nom Écriture une définition "L'écriture associe l'auteur aux livres

qu'il a écrits" 

la liste des entités  Auteur, Livre

participantes

éventuellement, les rôles  Auteur écrit (1, N) Livre

et leur cardinalité  Livre est écrit par (1,1) Auteur 

la liste des attributs aucun

Page 55: BD1_Bousmah

7/23/2019 BD1_Bousmah

http://slidepdf.com/reader/full/bd1bousmah 55/76

2.2. Dictionnaire de données

Pour un attribut : Exemple

un nom ville-aut  une définition "Nom de la ville dans laquelle

réside un auteur."  une structure

(atomique/composé, atomique, monovalué mono/mutivalué)

un domaine de valeurs chaîne de caractères alphabétiquesAttribut obligatoire

ou facultatif   facultatif 

Page 56: BD1_Bousmah

7/23/2019 BD1_Bousmah

http://slidepdf.com/reader/full/bd1bousmah 56/76

2.2. Dictionnaire de données

Pour une contrainte d’intégrité : Exemple

un nom CI d'existence d'un mariage

les éléments de la CI association Mariage, attributs

âge et sexe de l'entité personne.

expression de la CI "Une occurrence del'association Mariage entre P1

et P2 n'est valide que siâge(P1)>18 et âge(P2)>18 etsexe(P1) ≠   sexe(P2)" 

2 3 Exemple VPC complet

Page 57: BD1_Bousmah

7/23/2019 BD1_Bousmah

http://slidepdf.com/reader/full/bd1bousmah 57/76

2.3. Exemple VPC completSpécifications du système d'informations• Les clients sont caractérisés par un numéro de client, nom,

prénom, date de naissance, rue, code postal et ville.• Les clients commandent des produits à une date donnée et

dans une quantité donnée.• Les produits sont décrits par un numéro de produit, libellé

et prix unitaire.• Chaque produit est fourni par un fournisseur unique• Un fournisseur peut fournir plusieurs produits• les fournisseurs sont décrits par un numéro de fournisseur

et leur raison sociale.

2 3 Exemple VPC complet

Page 58: BD1_Bousmah

7/23/2019 BD1_Bousmah

http://slidepdf.com/reader/full/bd1bousmah 58/76

Démarche pratique pour produire un schéma E/A

1) Identifier les (types d') entités2) Identifier les (types d') associations entre les entités3) Identifier les attributs de chaque entité et de

chaque association4) Évaluer les cardinalités des associations.5) Exprimer les CI éventuelles.

Construire le dictionnaire de données avec soin

2.3. Exemple VPC complet

Page 59: BD1_Bousmah

7/23/2019 BD1_Bousmah

http://slidepdf.com/reader/full/bd1bousmah 59/76

commandeClient Produit

numCli

nomprénomddnrue

CPville

numProdlibellépu

datequantité

fournit

Fournisseur

numFourraisonSoc

1,N

1,1

1,N

1,M

Schéma E/A de l'exemple VPC

Autre représentation graphique

Page 60: BD1_Bousmah

7/23/2019 BD1_Bousmah

http://slidepdf.com/reader/full/bd1bousmah 60/76

p g p q

utilisée

commandeClientProduit

numClinomprénomddnrueCPville

numProd

libellépu

datequantité

fournitFournisseurnumFourraisonSoc

1,N

1,1

1,N

1,M

Page 61: BD1_Bousmah

7/23/2019 BD1_Bousmah

http://slidepdf.com/reader/full/bd1bousmah 61/76

A vous : Construire un schéma E/AGestion d'une mini-bibliothèque

• Un ouvrage est caractérisé par un numéro identifiant, un titre, un auteur

et un éditeur.• Un ouvrage est aussi décrit par une liste de mots-clés numérotésprécisant les sujets qui y sont traités.• La biblio. dispose d'un ou plusieurs exemplaires de chaque ouvrage.L'exemplaire est identifié par un numéro et est caractérisé par sa positiondans les rayons et sa date d'achat.• Un exemplaire peut être emprunté par un lecteur pouvant en emprunterplusieurs.• Un lecteur est décrit par un numéro, son nom et son adresse.

Identification des entités

Page 62: BD1_Bousmah

7/23/2019 BD1_Bousmah

http://slidepdf.com/reader/full/bd1bousmah 62/76

Identification des entités

Ouvrage

Exemplaire Lecteur

Mot-clé

Identification des associations + cardinalités

Page 63: BD1_Bousmah

7/23/2019 BD1_Bousmah

http://slidepdf.com/reader/full/bd1bousmah 63/76

Ouvrage

Exemplaire Lecteur

Mot-clécaractérise

matérialise

emprunte

1,N 1,M

1,N

1,1

0,1 0,N

Affectation des attributs

Page 64: BD1_Bousmah

7/23/2019 BD1_Bousmah

http://slidepdf.com/reader/full/bd1bousmah 64/76

Affectation des attributs

Ouvrage

Exemplaire Lecteur

Mot-clécaractérise

matérialise

emprunte

numOtitreauteuréditeur

numEpositiondate achat

numLnomadresse

numMsujet

date emprunt

1,N 1,M

1,N

1,10,1 0,N

Page 65: BD1_Bousmah

7/23/2019 BD1_Bousmah

http://slidepdf.com/reader/full/bd1bousmah 65/76

BD et UML Parmi tous les diagrammes proposés par la

méthode UML, seul le diagramme de classespermet de modéliser les bases de données.

Les autres diagrammes ne seront donc pas

expliqués dans ce cours.

Page 66: BD1_Bousmah

7/23/2019 BD1_Bousmah

http://slidepdf.com/reader/full/bd1bousmah 66/76

Entité, Classe Merise UML

Entité

IdentifiantAttribut 2

....Attribut n

Classe

Attribut 1Attribut 2....

Attribut n

Méthode

Page 67: BD1_Bousmah

7/23/2019 BD1_Bousmah

http://slidepdf.com/reader/full/bd1bousmah 67/76

L'association Merise UML

Entite_2Entite_1

Lie

Classe_2Classe_1

Lie

Page 68: BD1_Bousmah

7/23/2019 BD1_Bousmah

http://slidepdf.com/reader/full/bd1bousmah 68/76

Cardinalités, Multiplicités Merise UML

Cardinalités Lecture

0 , 1 Lien vers 0 ou 1

1 , 1 Lien vers 1

0 , n Lien vers 0 ou N

1 , n Lien vers 1 ou N

Multiplicités Lecture

0..1 Lien vers 0 ou 1

1 Lien vers 1

* Lien vers 0 ou plusieurs

1..* Lien vers 1 ou plusieurs

Page 69: BD1_Bousmah

7/23/2019 BD1_Bousmah

http://slidepdf.com/reader/full/bd1bousmah 69/76

Les associations un à un Merise UML

Cardinalités Multiplicités

0 , 1 0 , 1 0 .. 1 0 .. 1

0 , 1 1 , 1 0 .. 1 1

1 , 1 1 , 1 1 1

Page 70: BD1_Bousmah

7/23/2019 BD1_Bousmah

http://slidepdf.com/reader/full/bd1bousmah 70/76

Les associations un à plusieurs Merise UML

Cardinalités Multiplicités

0 , 1 0 , N 0 .. 1 *

0 , 1 1 , N 0 .. 1 1 .. *

1 , 1 0 , N 1 *

1 , 1 1 , N 1 1 .. *

Page 71: BD1_Bousmah

7/23/2019 BD1_Bousmah

http://slidepdf.com/reader/full/bd1bousmah 71/76

Associations plusieurs à plusieurs Merise UML

Cardinalités Multiplicités

0 , N 0 , N * *

0 , N 1 , N * 1 .. *

1 , N 0 , N 1 .. * *

1 , N 1 , N 1 .. * 1 .. *

Page 72: BD1_Bousmah

7/23/2019 BD1_Bousmah

http://slidepdf.com/reader/full/bd1bousmah 72/76

Exemple d'association Merise UML

Entite_2Entite_1

Lie

Classe_2Classe_1

Lie

1,N 0,1 0..1 1..*

ProfessionPersonne

Exerce0,1 0,N

ProfessionPersonne

* 0..1

Exerce

Page 73: BD1_Bousmah

7/23/2019 BD1_Bousmah

http://slidepdf.com/reader/full/bd1bousmah 73/76

Association avec attributs Merise UML

Entite_2Entite_1

Lie

Attribut_1

Classe_2Classe_1

Lie

Classe_Asso

Attribut_1Classe-association

Page 74: BD1_Bousmah

7/23/2019 BD1_Bousmah

http://slidepdf.com/reader/full/bd1bousmah 74/76

L'association ternaire Merise UML

Entite_2Entite_1Lie

Attributs

Min,Max Min,Max

Entite_3

Min,Max

Classe_2Classe_1Min,Max Min,Max

Classe_3

Min,Max

Cass_Asso

Attributs

Page 75: BD1_Bousmah

7/23/2019 BD1_Bousmah

http://slidepdf.com/reader/full/bd1bousmah 75/76

L'association réflexive Merise UML

Entite_1

Lie

Attributs

Classe_1

Verbe_passif

Verbe_actif

Page 76: BD1_Bousmah

7/23/2019 BD1_Bousmah

http://slidepdf.com/reader/full/bd1bousmah 76/76

Merci de votre attention