licence de sciences et techniques unité denseignement bases de donnees modélisation dune base de...

107
Licence de Sciences et Techniques Unité d’enseignement BASES DE DONNEES Modélisation d’une base de données François Jacquenet Professeur d'Informatique Faculté des Sciences Laboratoire Hubert Curien – UMR CNRS 5516 18 rue Benoit Lauras 42023 Saint-Etienne cedex 2 Tél : 04 77 91 58 07 e-mail : Francois.Jacquenet@univ-st- etienne.fr Web : http://eurise.univ-st- etienne.fr/~fj

Upload: desiree-lhomme

Post on 03-Apr-2015

108 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Licence de Sciences et Techniques Unité denseignement BASES DE DONNEES Modélisation dune base de données François Jacquenet Professeur d'Informatique Faculté

Licence de Sciences et TechniquesUnité d’enseignement BASES DE DONNEES

Modélisation d’unebase de données

François JacquenetProfesseur d'InformatiqueFaculté des SciencesLaboratoire Hubert Curien – UMR CNRS 551618 rue Benoit Lauras42023 Saint-Etienne cedex 2Tél : 04 77 91 58 07e-mail : [email protected] : http://eurise.univ-st-etienne.fr/~fj

Page 2: Licence de Sciences et Techniques Unité denseignement BASES DE DONNEES Modélisation dune base de données François Jacquenet Professeur d'Informatique Faculté

Mais avant :

Qu’avons nous appris la

semaine dernière ?

Page 3: Licence de Sciences et Techniques Unité denseignement BASES DE DONNEES Modélisation dune base de données François Jacquenet Professeur d'Informatique Faculté

3

Aujourd’hui nous verrons

Cycle de vie d’une Base de Données

Modèle conceptuel

Modèle entité-association

et plus particulièrement les notions de type d’entités type d’associations Attributs cardinalité identifiant contraintes d’intégrité

Page 4: Licence de Sciences et Techniques Unité denseignement BASES DE DONNEES Modélisation dune base de données François Jacquenet Professeur d'Informatique Faculté

4

Cycle de vie d’une base de données

LMDUtilisateurs

Personne Voiture

Monde réel

Concepteur

Personne Voitureconduit

Schéma conceptuel

PersonneDupontDurantRochat…

Table Personne Table Voiture Table Conduit…

Schéma logique

BD

VoitureFord KAPeugeot 106Toyota yaris…

Page 5: Licence de Sciences et Techniques Unité denseignement BASES DE DONNEES Modélisation dune base de données François Jacquenet Professeur d'Informatique Faculté

5

Ce qui nous intéresse aujourd’hui

Personne Voiture

Monde réel

Concepteur

Personne Voitureconduit

Schéma conceptuel

La modélisation conceptuelle

C’est-à-dire : la définition du schéma conceptuel de labase de données

Page 6: Licence de Sciences et Techniques Unité denseignement BASES DE DONNEES Modélisation dune base de données François Jacquenet Professeur d'Informatique Faculté

6

Culture générale

Cycle de vie du logiciel (modèle en cascade)

Spécification

Conceptiongénérale

Conceptiondétaillée

Codage

Analysedes besoins

Tests

Distribution

Maintenance

Page 7: Licence de Sciences et Techniques Unité denseignement BASES DE DONNEES Modélisation dune base de données François Jacquenet Professeur d'Informatique Faculté

7

Modéliser les données

Modèle de données = ensemble de concepts permettant la description et la manipulation des données du monde réel règles d’utilisation de ces concepts

Ces concepts décrivent les aspects Statiques : structure des données Dynamiques : opérations sur les données + contraintes explicites

Schéma = description de la BD obtenue en utilisant un modèle de données

Page 8: Licence de Sciences et Techniques Unité denseignement BASES DE DONNEES Modélisation dune base de données François Jacquenet Professeur d'Informatique Faculté

8

Pourquoi la modélisation conceptuelle ?

Objectif: représenter la réalité telle qu'elle est perçue par les utilisateurs

Contrairement aux modèles logiques qui décrivent la réalité en fonction du modèle du SGBD

Représentation à l’aide de la trilogie de base objets liens propriétés

Page 9: Licence de Sciences et Techniques Unité denseignement BASES DE DONNEES Modélisation dune base de données François Jacquenet Professeur d'Informatique Faculté

9

Avantages de la modélisation conceptuelle

L’attention est portée sur les applications

Indépendante des technologies Portabilité Longévité

Orientée utilisateur Compréhensibilité Support du dialogue concepteurs / utilisateurs Permet la collaboration et la validation par les utilisateurs

Page 10: Licence de Sciences et Techniques Unité denseignement BASES DE DONNEES Modélisation dune base de données François Jacquenet Professeur d'Informatique Faculté

10

Avantages de la modélisation conceptuelle

Spécifications formelles, non ambiguës,

Puissance des concepts

Support d’interfaces visuelles (lisibilité) Diagrammes de définition de données

Manipulation de données

Facilite les échanges d’informations entre SGBD différents

Page 11: Licence de Sciences et Techniques Unité denseignement BASES DE DONNEES Modélisation dune base de données François Jacquenet Professeur d'Informatique Faculté

11

TRES IMPORTANT

La qualité

de la conception

de la BD

est un facteur critique

de réussite

Page 12: Licence de Sciences et Techniques Unité denseignement BASES DE DONNEES Modélisation dune base de données François Jacquenet Professeur d'Informatique Faculté

12

Culture générale

Importance des premières étapes dans le cycle de vie du logiciel

Spécification

Conceptiongénérale

Conceptiondétaillée

Codage

Analysedes besoins

Tests

Distribution

Maintenance

Page 13: Licence de Sciences et Techniques Unité denseignement BASES DE DONNEES Modélisation dune base de données François Jacquenet Professeur d'Informatique Faculté

13

Elaboration d’un schéma conceptuel

Analyse du monde réel Identification des phénomènes à représenter dans la BD

délimitation de l’univers du discours

Représentation à l’aide des concepts du modèle contenu structure règles dynamique

Représentation Partielle Infidèle et Subjective

Page 14: Licence de Sciences et Techniques Unité denseignement BASES DE DONNEES Modélisation dune base de données François Jacquenet Professeur d'Informatique Faculté

14

Abstraction

De la réalité perçue à la représentation:

Faire abstraction des particularités permet de passer des objets aux types ou classes d'objets

Marielle FabienClaire ...Camille

Type d’objet: Personne

propriétés: - nom, - âge,

...

Page 15: Licence de Sciences et Techniques Unité denseignement BASES DE DONNEES Modélisation dune base de données François Jacquenet Professeur d'Informatique Faculté

15

Définition d’un schéma

Un schéma est une collection de types d’entité <-> objets d’association <-> liens

La bases de données contiendra les valeurs représentant les instances de ces types

Personne VoiturePossède

Est-marié-avec

Page 16: Licence de Sciences et Techniques Unité denseignement BASES DE DONNEES Modélisation dune base de données François Jacquenet Professeur d'Informatique Faculté

16

Divers types de modèles conceptuels

Entité-Association (EA) - (ER: Entity-Relationship)

UML (Unified Modelling Language - cf Master 1)

MERISE (cf cours de Systèmes d’Information en L2)

...

Page 17: Licence de Sciences et Techniques Unité denseignement BASES DE DONNEES Modélisation dune base de données François Jacquenet Professeur d'Informatique Faculté

17

Vocabulaire

Ensemble d’objets perçus

comme similaires

étudiants

Instances ou occurrences

Type d'objet Étudiant: -nom -prénoms -date de naissance -section -année

Base de données

Population

Etudiant

Schema

Le monde réel Abstraction / Description

Diagramme

Page 18: Licence de Sciences et Techniques Unité denseignement BASES DE DONNEES Modélisation dune base de données François Jacquenet Professeur d'Informatique Faculté

18

ET MAINTENANT

Le modèle

Entité

Association(entity-relationship)

Page 19: Licence de Sciences et Techniques Unité denseignement BASES DE DONNEES Modélisation dune base de données François Jacquenet Professeur d'Informatique Faculté

19

Généralités

C’est un modèle conceptuel Conçu par Chen en 1976

Page 20: Licence de Sciences et Techniques Unité denseignement BASES DE DONNEES Modélisation dune base de données François Jacquenet Professeur d'Informatique Faculté

20

A quoi ressemble un schéma conceptuel ?

Rayon ArticleVend

Affecté Livré par

Employé FournisseurChef de

chef

subord.

NomR étage quantité NomA type

quantité

nom salaire NomF adresse

Page 21: Licence de Sciences et Techniques Unité denseignement BASES DE DONNEES Modélisation dune base de données François Jacquenet Professeur d'Informatique Faculté

21

On y voit des rectangles

Rayon ArticleVend

Affecté Livré par

Employé FournisseurChef de

chef

subord.

NomR étage quantité NomA type

quantité

nom salaire NomF adresse

Page 22: Licence de Sciences et Techniques Unité denseignement BASES DE DONNEES Modélisation dune base de données François Jacquenet Professeur d'Informatique Faculté

22

On y voit des losanges

Rayon ArticleVend

Affecté Livré par

Employé FournisseurChef de

chef

subord.

NomR étage quantité NomA type

quantité

nom salaire NomF adresse

Page 23: Licence de Sciences et Techniques Unité denseignement BASES DE DONNEES Modélisation dune base de données François Jacquenet Professeur d'Informatique Faculté

23

On y voit des traits étranges

Rayon ArticleVend

Affecté Livré par

Employé FournisseurChef de

chef

subord.

NomR étage quantité NomA type

quantité

nom salaire NomF adresse

Page 24: Licence de Sciences et Techniques Unité denseignement BASES DE DONNEES Modélisation dune base de données François Jacquenet Professeur d'Informatique Faculté

24

On y voit des mots reliés aux rectangles par des traits

Rayon ArticleVend

Affecté Livré par

Employé FournisseurChef de

chef

subord.

NomR étage quantité NomA type

quantité

nom salaire NomF adresse

Page 25: Licence de Sciences et Techniques Unité denseignement BASES DE DONNEES Modélisation dune base de données François Jacquenet Professeur d'Informatique Faculté

25

On y voit des mots reliés aux losanges par des traits

Rayon ArticleVend

Affecté Livré par

Employé FournisseurChef de

chef

subord.

NomR étage quantité NomA type

quantité

nom salaire NomF adresse

Page 26: Licence de Sciences et Techniques Unité denseignement BASES DE DONNEES Modélisation dune base de données François Jacquenet Professeur d'Informatique Faculté

26

Modèle de type conceptuel

But : permettre la description conceptuelle des structures de données d'une application

Les concepts de base (qui correspondent aux concepts d’abstraction de la réalité):

objet <=> entité lien <=> association (relationship) propriété <=> attribut 

en plus : la représentation multiple

Page 27: Licence de Sciences et Techniques Unité denseignement BASES DE DONNEES Modélisation dune base de données François Jacquenet Professeur d'Informatique Faculté

27

Entité et Type d’entités

Entité :représentation d’un objetdu monde réel ayantune existence propre

Type d'entités (TE) :représentation d'un ensembled'entités perçues commesimilaires et ayant lesmêmes caractéristiques

Marielle FabienClaire ...Camille

Personne

Page 28: Licence de Sciences et Techniques Unité denseignement BASES DE DONNEES Modélisation dune base de données François Jacquenet Professeur d'Informatique Faculté

28

Association et type d’associations

Association : représentation d'un lien non orienté entre

plusieurs entités (qui jouent un rôle déterminé)

Type d'associations (TA) : représentation d'un ensemble

d'associations ayant la même sémantique et décrites par les

mêmes caractéristiques

achète est une association entre une personne et une maison

Personne Maisonachète

Page 29: Licence de Sciences et Techniques Unité denseignement BASES DE DONNEES Modélisation dune base de données François Jacquenet Professeur d'Informatique Faculté

29

Rôles d’une association

Dans une association, chaque entité joue un rôle déterminé

Association binaire deux rôles

Personne Maisonachète

ACHETEUR ACHETÉ

Page 30: Licence de Sciences et Techniques Unité denseignement BASES DE DONNEES Modélisation dune base de données François Jacquenet Professeur d'Informatique Faculté

30

Association cyclique

Une association est cyclique lorsque deux rôles (au moins) lient le même type d’entité

marié à est une association entre une personne et une

autre personne

problème : comment savoir, dans un couple, qui est le mari et qui est la femme ?

exemple : <Dupont Dominique, Dupont Dominique>

Personne marié à

Page 31: Licence de Sciences et Techniques Unité denseignement BASES DE DONNEES Modélisation dune base de données François Jacquenet Professeur d'Informatique Faculté

31

Association cyclique, rôles nommés

Solution : spécifier le rôle de chaque entité

marié à est une association entre une personne qui est une femme et une autre personne qui est son mari

exemple :

<Dupont Dominique / femme, Dupont Dominique / mari>

Personne marié àfemme

mari

Page 32: Licence de Sciences et Techniques Unité denseignement BASES DE DONNEES Modélisation dune base de données François Jacquenet Professeur d'Informatique Faculté

32

Association ternaire

Client Produitachète

Fournisseur

achète est une association (ternaire) entre un client,un fournisseur et un produit

Page 33: Licence de Sciences et Techniques Unité denseignement BASES DE DONNEES Modélisation dune base de données François Jacquenet Professeur d'Informatique Faculté

33

Association ternaire cyclique

Emprunteur

Personne Emprunt BanqueGarant

Page 34: Licence de Sciences et Techniques Unité denseignement BASES DE DONNEES Modélisation dune base de données François Jacquenet Professeur d'Informatique Faculté

34

Population d’un TE et TA

Personne Maisonachète

Page 35: Licence de Sciences et Techniques Unité denseignement BASES DE DONNEES Modélisation dune base de données François Jacquenet Professeur d'Informatique Faculté

35

Cardinalité des rôles

Combien de voitures minimum une personne peut-elle possèder ?

Combien de voitures maximum une personne peut-elle possèder ?

Personne VoiturePossède

min:maxPersonne Possède

Page 36: Licence de Sciences et Techniques Unité denseignement BASES DE DONNEES Modélisation dune base de données François Jacquenet Professeur d'Informatique Faculté

36

Contraintes de cardinalités

Une personne peut ne pas avoir de voiture, en avoir une, deux, ..., n

Une voiture à un et un seul propriétaire

0:nPersonne Possède

0:n 1:1Personne VoiturePossède

Page 37: Licence de Sciences et Techniques Unité denseignement BASES DE DONNEES Modélisation dune base de données François Jacquenet Professeur d'Informatique Faculté

37

Population d’un TE et TA

Personne Maisonachète0:n 1:1

Page 38: Licence de Sciences et Techniques Unité denseignement BASES DE DONNEES Modélisation dune base de données François Jacquenet Professeur d'Informatique Faculté

38

Valeurs et notations des cardinalités

Minimum Maximum

0 1

1 1

0 n

1 n

n m

Personne VoiturePossède

Page 39: Licence de Sciences et Techniques Unité denseignement BASES DE DONNEES Modélisation dune base de données François Jacquenet Professeur d'Informatique Faculté

39

Autres notations possibles

Pour les liens

0:1

1:1

0:n

1:n

m:n

Page 40: Licence de Sciences et Techniques Unité denseignement BASES DE DONNEES Modélisation dune base de données François Jacquenet Professeur d'Informatique Faculté

40

Association ternaire, cardinalité

Plus difficiles à lire sur le schéma Nombre min et max d’occurrences du TA qui peuvent

lier une occurrence donnée du TE

N°secu N°imm.

Personne VoitureAssure

CompagnieAssurance

Nom

Page 41: Licence de Sciences et Techniques Unité denseignement BASES DE DONNEES Modélisation dune base de données François Jacquenet Professeur d'Informatique Faculté

41

Les attributs

Ils décrivent les propriétés associées à: un type d’entité un type d’association un autre attribut

nom prénom salaireDate_mariage

jour mois

Domaine [1,31]

mari

femme

Personne Marié à

année

Page 42: Licence de Sciences et Techniques Unité denseignement BASES DE DONNEES Modélisation dune base de données François Jacquenet Professeur d'Informatique Faculté

42

Attributs simples

simple (atomique) : non décomposable Exemples : jour, prénom

Le domaine de valeurs est constitué de valeurs atomiques Exemple :

jour domaine de valeurs = {1, 2, …., 31}

Domaines prédéfinis standard, intervalles, énumérés

Page 43: Licence de Sciences et Techniques Unité denseignement BASES DE DONNEES Modélisation dune base de données François Jacquenet Professeur d'Informatique Faculté

43

Attributs complexes

Complexe : décomposé en d'autres attributs Exemples

date qui se décompose en jour, mois, année adresse qui se décompose en rue, ville, code postal

Un attribut complexe ne porte pas de valeur propre (pas de domaine directement associé)

La valeur d'un attribut complexe est la composition des valeurs de ses attributs composants.

Un composant d'attribut complexe peut être lui-même un attribut complexe.

Page 44: Licence de Sciences et Techniques Unité denseignement BASES DE DONNEES Modélisation dune base de données François Jacquenet Professeur d'Informatique Faculté

44

Attributs obligatoires ou facultatifs

Obligatoire : une valeur au moins par occurrence (cardinalité min1).

Exemples : nom, prénoms

Facultatif : peut ne pas prendre de valeur (cardinalité min=0).

Exemples : salaire, téléphones

Page 45: Licence de Sciences et Techniques Unité denseignement BASES DE DONNEES Modélisation dune base de données François Jacquenet Professeur d'Informatique Faculté

45

Attributs mono ou multi-valués

monovalué : une seule valeur par occurrence (cardinalité max=1)

Exemples: date de naissance, numéro sécu

multivalué : plusieurs valeurs par occurence (cardinalité max>1).

Exemples: prénoms, téléphones Une valeur d'attribut multivalué est un ensemble ou une liste ou un multi-

ensemble de valeurs, prises chacune dans le domaine de valeurs associé à l'attribut.

Page 46: Licence de Sciences et Techniques Unité denseignement BASES DE DONNEES Modélisation dune base de données François Jacquenet Professeur d'Informatique Faculté

46

Attributs, cardinalité

min : caractère facultatif ou obligatoire de l’attribut max : caractère mono-valué ou multi-valué de l’attribut Même notation pour les attributs que pour les

cardinalités des rôles Exemples

nom d’une personne prenoms téléphone fixe téléphone mobile

1:11:n

0:10:n

Page 47: Licence de Sciences et Techniques Unité denseignement BASES DE DONNEES Modélisation dune base de données François Jacquenet Professeur d'Informatique Faculté

47

Attributs, exemple

simple

obligatoire

monovalué

complexe, facultatif, multivalué de type ensemble

Employé

No-emp nom prénoms CV postes

diplôme année intitulé salaires date-début date-fin

montant date

année mois

liste

simple, obligatoire, multivalué de type liste

1:1

0:1

1:n

0:n m:nRappel :

Page 48: Licence de Sciences et Techniques Unité denseignement BASES DE DONNEES Modélisation dune base de données François Jacquenet Professeur d'Informatique Faculté

48

Attributs, exemple

postes

intitulé salaires date-début date-fin

montant date

année mois

( technicien, (1500, 1997, 10) (1600, 1999, 10) (1700, 2000, 10) ’01/01/1997’, ’31/12/2001’ ),(analyste, (2500, 2000, 06) (2800, 2001, 06) ’01/01/2000’, ’31/12/2002’ ),(chef_de_projet, (3500, 2002, 10) ’01/01/2002’, ’31/12/2003’ )

/* intitulé

/* salaires

/* date début/* date fin

Page 49: Licence de Sciences et Techniques Unité denseignement BASES DE DONNEES Modélisation dune base de données François Jacquenet Professeur d'Informatique Faculté

49

Autres notations existantes

Employé

Employé

Pour les entités et leurs attributs

nom

salaire

nom salaire

Employé

nom

salaire

Page 50: Licence de Sciences et Techniques Unité denseignement BASES DE DONNEES Modélisation dune base de données François Jacquenet Professeur d'Informatique Faculté

50

Identifiants de TE et TA

Nécessité de pouvoir désigner une entité (une association) de façon univoque

Identifiant: Ensemble minimal d'attributs tel qu'il n'existe pas deux instances du TE (TA) où ces attributs aient la même valeur

Page 51: Licence de Sciences et Techniques Unité denseignement BASES DE DONNEES Modélisation dune base de données François Jacquenet Professeur d'Informatique Faculté

51

Exemple : Identifiants du TE employé

Employé

CV postes

diplôme année intitulé salaires date-début date-fin

montant date

année mois

liste

Deux identifiants possible :

N°emp prénoms

Il n’y a pas deux employés qui ont le même numéro

N°emp ou

Il n’y a pas deux employés qui ont à la fois le même nom et les mêmes prénoms

nom

nom+prénoms

Page 52: Licence de Sciences et Techniques Unité denseignement BASES DE DONNEES Modélisation dune base de données François Jacquenet Professeur d'Informatique Faculté

52

Identifiant d’un TA

N°client nom N°commande date quantité N°produit nom

Client ProduitCommande

Identifiant du type d’associations commande = N°commande

1ère possibilité : attribut(s) propre(s)

Page 53: Licence de Sciences et Techniques Unité denseignement BASES DE DONNEES Modélisation dune base de données François Jacquenet Professeur d'Informatique Faculté

53

Identifiant d’un TA

2ème possibilité : des identifiants de TE liés

Etudiant CoursInscrit

N°carte nom note N°cours intitulé

Identifiant du type d ’association Inscrit = Etudiant.N°carte + Cours.N°cours

Page 54: Licence de Sciences et Techniques Unité denseignement BASES DE DONNEES Modélisation dune base de données François Jacquenet Professeur d'Informatique Faculté

54

Identifiant d’un TA

3ème possibilité :

des identifiants de TE liés + attribut(s) propre(s)

Client ProduitCommande

N°client nom date quantité N°produit nom

(Un client peut commander le même produit plusieurs fois à des dates différentes)

Identifiant du type d’association Commande = Client.N°client + Produit.N°produit + Commande.date

Page 55: Licence de Sciences et Techniques Unité denseignement BASES DE DONNEES Modélisation dune base de données François Jacquenet Professeur d'Informatique Faculté

55

Identifiant d’un TA

4ème possibilité :

Tout rôle monovalué induit un identifiant du TA (l’identifiant du TE lié est aussi identifiant du TA)

N°secu N°imm

Personne VoitureAssure

CompagnieAssurance

Nom

Identifiant du TA Assure = Voiture.N°imm

Page 56: Licence de Sciences et Techniques Unité denseignement BASES DE DONNEES Modélisation dune base de données François Jacquenet Professeur d'Informatique Faculté

56

Identifiant d’un TA cyclique

Comme pour les autres Type d’Associations

nom prénom salairedate_mariage

jour mois année

mari

femme

Personne marié à

Deux rôles monovalués deux identifiants pour le TA marié à

1) Personne/femme.nom 2) Personne/mari.nom

Page 57: Licence de Sciences et Techniques Unité denseignement BASES DE DONNEES Modélisation dune base de données François Jacquenet Professeur d'Informatique Faculté

57

Identifiant de TE faible

Un TE qui ne peut être identifié par ses seuls attributs propres est appelé TE faible

Livre ExemplaireExiste

N°ISBN titre date-achat N°exemp état

Identifiant du TE Exemplaire = Livre.N°ISBN + N°exemp

Identifiant du TA Existe = Livre.N°ISBN + N°exemp

Page 58: Licence de Sciences et Techniques Unité denseignement BASES DE DONNEES Modélisation dune base de données François Jacquenet Professeur d'Informatique Faculté

58

Exemple de conception

Un client qui s'inscrit à la bibliothèque verse une caution. Suivant le montant de cette caution il aura le droit d'effectuer en même temps 10 emprunts au maximum.

Les emprunts durent au maximum 15 jours Un livre est caractérisé par son numéro dans la bibliothèque

(identifiant), son titre, son éditeur et son (ses) auteur(s). On veut pouvoir obtenir, pour chaque client les emprunts qu'il a

effectués (nombre, numéro et titre du livre, date de l'emprunt). Toutes les semaines, on édite la liste des emprunteurs en retard

: nom et adresse du client, date de l'emprunt, numéro(s) et titre du (des) livre(s) concerné(s).

On veut enfin pouvoir connaître pour chaque livre sa date d'achat et son état.

Page 59: Licence de Sciences et Techniques Unité denseignement BASES DE DONNEES Modélisation dune base de données François Jacquenet Professeur d'Informatique Faculté

59

Idée générale de la démarche

Dans le texte, identifier les objets ayant une existence propre

Parmi eux, trouver ceux ayant un intérêt pour au moins un traitement de l’application. Ce sont alors les types d’entités

D’après le texte, trouver les attributs des types d’entités

Découvrir les types d’associations permettant de lier les types d’entités

Page 60: Licence de Sciences et Techniques Unité denseignement BASES DE DONNEES Modélisation dune base de données François Jacquenet Professeur d'Informatique Faculté

60

Objets ayant une existence propre

Un client qui s'inscrit à la bibliothèque verse une caution. Suivant le montant de cette caution il aura le droit d'effectuer en même temps 10 emprunts au maximum.

Les emprunts durent au maximum 15 jours Un livre est caractérisé par son numéro dans la bibliothèque

(identifiant), son titre, son éditeur et son (ses) auteur(s). On veut pouvoir obtenir, pour chaque client les emprunts qu'il a

effectués (nombre, numéro et titre du livre, date de l'emprunt). Toutes les semaines, on édite la liste des emprunteurs en retard

: nom et adresse du client, date de l'emprunt, numéro(s) et titre du (des) livre(s) concerné(s).

On veut enfin pouvoir connaître pour chaque livre sa date d'achat et son état.

Page 61: Licence de Sciences et Techniques Unité denseignement BASES DE DONNEES Modélisation dune base de données François Jacquenet Professeur d'Informatique Faculté

61

Les types d’entités

Objets ayant une existence propre et ayant un intérêt pour au moins un traitement de l’application

Auteur

Livre

EditeurClient

Bibliothèque

?

Page 62: Licence de Sciences et Techniques Unité denseignement BASES DE DONNEES Modélisation dune base de données François Jacquenet Professeur d'Informatique Faculté

62

Objets ayant une existence propre

Un client qui s'inscrit à la bibliothèque verse une caution. Suivant le montant de cette caution il aura le droit d'effectuer en même temps 10 emprunts au maximum.

Les emprunts durent au maximum 15 jours Un livre est caractérisé par son numéro dans la bibliothèque

(identifiant), son titre, son éditeur et son (ses) auteur(s). On veut pouvoir obtenir, pour chaque client les emprunts qu'il a

effectués (nombre, numéro et titre du livre, date de l'emprunt). Toutes les semaines, on édite la liste des emprunteurs en retard

: nom et adresse du client, date de l'emprunt, numéro(s) et titre du (des) livre(s) concerné(s).

On veut enfin pouvoir connaître pour chaque livre sa date d'achat et son état.

Page 63: Licence de Sciences et Techniques Unité denseignement BASES DE DONNEES Modélisation dune base de données François Jacquenet Professeur d'Informatique Faculté

63

Les types d’entités

Objets ayant une existence propre et ayant un intérêt pour au moins un traitement de l’application

Auteur

Livre

EditeurClient

Bibliothèque?

Page 64: Licence de Sciences et Techniques Unité denseignement BASES DE DONNEES Modélisation dune base de données François Jacquenet Professeur d'Informatique Faculté

64

Objets ayant une existence propre

Un client qui s'inscrit à la bibliothèque verse une caution. Suivant le montant de cette caution il aura le droit d'effectuer en même temps 10 emprunts au maximum.

Les emprunts durent au maximum 15 jours Un livre est caractérisé par son numéro dans la bibliothèque

(identifiant), son titre, son éditeur et son (ses) auteur(s). On veut pouvoir obtenir, pour chaque client les emprunts qu'il a

effectués (nombre, numéro et titre du livre, date de l'emprunt). Toutes les semaines, on édite la liste des emprunteurs en retard

: nom et adresse du client, date de l'emprunt, numéro(s) et titre du (des) livre(s) concerné(s).

On veut enfin pouvoir connaître pour chaque livre sa date d'achat et son état.

Page 65: Licence de Sciences et Techniques Unité denseignement BASES DE DONNEES Modélisation dune base de données François Jacquenet Professeur d'Informatique Faculté

65

Les types d’entités

Objets ayant une existence propre et ayant un intérêt pour au moins un traitement de l’application

Auteur

Livre

EditeurClient

Bibliothèque

?

Page 66: Licence de Sciences et Techniques Unité denseignement BASES DE DONNEES Modélisation dune base de données François Jacquenet Professeur d'Informatique Faculté

66

Objets ayant une existence propre

Un client qui s'inscrit à la bibliothèque verse une caution. Suivant le montant de cette caution il aura le droit d'effectuer en même temps 10 emprunts au maximum.

Les emprunts durent au maximum 15 jours Un livre est caractérisé par son numéro dans la bibliothèque

(identifiant), son titre, son éditeur et son (ses) auteur(s). On veut pouvoir obtenir, pour chaque client les emprunts qu'il a

effectués (nombre, numéro et titre du livre, date de l'emprunt). Toutes les semaines, on édite la liste des emprunteurs en retard

: nom et adresse du client, date de l'emprunt, numéro(s) et titre du (des) livre(s) concerné(s).

On veut enfin pouvoir connaître pour chaque livre sa date d'achat et son état.

Page 67: Licence de Sciences et Techniques Unité denseignement BASES DE DONNEES Modélisation dune base de données François Jacquenet Professeur d'Informatique Faculté

67

Les types d’entités

Objets ayant une existence propre et ayant un intérêt pour au moins un traitement de l’application

Auteur

Livre

EditeurClient

Bibliothèque

?

Page 68: Licence de Sciences et Techniques Unité denseignement BASES DE DONNEES Modélisation dune base de données François Jacquenet Professeur d'Informatique Faculté

68

Objets ayant une existence propre

Un client qui s'inscrit à la bibliothèque verse une caution. Suivant le montant de cette caution il aura le droit d'effectuer en même temps 10 emprunts au maximum.

Les emprunts durent au maximum 15 jours Un livre est caractérisé par son numéro dans la bibliothèque

(identifiant), son titre, son éditeur et son (ses) auteur(s). On veut pouvoir obtenir, pour chaque client les emprunts qu'il a

effectués (nombre, numéro et titre du livre, date de l'emprunt). Toutes les semaines, on édite la liste des emprunteurs en retard

: nom et adresse du client, date de l'emprunt, numéro(s) et titre du (des) livre(s) concerné(s).

On veut enfin pouvoir connaître pour chaque livre sa date d'achat et son état.

Page 69: Licence de Sciences et Techniques Unité denseignement BASES DE DONNEES Modélisation dune base de données François Jacquenet Professeur d'Informatique Faculté

69

Les types d’entités

Objets ayant une existence propre et ayant un intérêt pour au moins un traitement de l’application

Auteur

Livre

EditeurClient

Bibliothèque

?

Page 70: Licence de Sciences et Techniques Unité denseignement BASES DE DONNEES Modélisation dune base de données François Jacquenet Professeur d'Informatique Faculté

70

Objets ayant une existence propre

Un client qui s'inscrit à la bibliothèque verse une caution. Suivant le montant de cette caution il aura le droit d'effectuer en même temps 10 emprunts au maximum.

Les emprunts durent au maximum 15 jours Un livre est caractérisé par son numéro dans la bibliothèque

(identifiant), son titre, son éditeur et son (ses) auteur(s). On veut pouvoir obtenir, pour chaque client les emprunts qu'il a

effectués (nombre, numéro et titre du livre, date de l'emprunt). Toutes les semaines, on édite la liste des emprunteurs en retard

: nom et adresse du client, date de l'emprunt, numéro(s) et titre du (des) livre(s) concerné(s).

On veut enfin pouvoir connaître pour chaque livre sa date d'achat et son état.

Page 71: Licence de Sciences et Techniques Unité denseignement BASES DE DONNEES Modélisation dune base de données François Jacquenet Professeur d'Informatique Faculté

71

Les types d’entités

Objets ayant une existence propre et ayant un intérêt pour au moins un traitement de l’application

Auteur

Livre

EditeurClient

Bibliothèque

Page 72: Licence de Sciences et Techniques Unité denseignement BASES DE DONNEES Modélisation dune base de données François Jacquenet Professeur d'Informatique Faculté

72

Les attributs du TE livre

Un client qui s'inscrit à la bibliothèque verse une caution. Suivant le montant de cette caution il aura le droit d'effectuer en même temps 10 emprunts au maximum.

Les emprunts durent au maximum 15 jours Un livre est caractérisé par son numéro dans la bibliothèque

(identifiant), son titre, son éditeur et son (ses) auteur(s). On veut pouvoir obtenir, pour chaque client les emprunts qu'il a

effectués (nombre, numéro et titre du livre, date de l'emprunt). Toutes les semaines, on édite la liste des emprunteurs en retard

: nom et adresse du client, date de l'emprunt, numéro(s) et titre du (des) livre(s) concerné(s).

On veut enfin pouvoir connaître pour chaque livre sa date d'achat et son état.

Page 73: Licence de Sciences et Techniques Unité denseignement BASES DE DONNEES Modélisation dune base de données François Jacquenet Professeur d'Informatique Faculté

73

TE livre et ses attributs

Livretitre

numéro

auteurs

éditeurétat date-achat

1:1

1:n

liste

Page 74: Licence de Sciences et Techniques Unité denseignement BASES DE DONNEES Modélisation dune base de données François Jacquenet Professeur d'Informatique Faculté

74

Les attributs du TE client

Un client qui s'inscrit à la bibliothèque verse une caution. Suivant le montant de cette caution il aura le droit d'effectuer en même temps 10 emprunts au maximum.

Les emprunts durent au maximum 15 jours Un livre est caractérisé par son numéro dans la bibliothèque

(identifiant), son titre, son éditeur et son (ses) auteur(s). On veut pouvoir obtenir, pour chaque client les emprunts qu'il a

effectués (nombre, numéro et titre du livre, date de l'emprunt). Toutes les semaines, on édite la liste des emprunteurs en retard

: nom et adresse du client, date de l'emprunt, numéro(s) et titre du (des) livre(s) concerné(s).

On veut enfin pouvoir connaître pour chaque livre sa date d'achat et son état.

Page 75: Licence de Sciences et Techniques Unité denseignement BASES DE DONNEES Modélisation dune base de données François Jacquenet Professeur d'Informatique Faculté

75

Le TE client et ses attributs

Clientnuméro

nom

caution

adresse

n° rue ville

Page 76: Licence de Sciences et Techniques Unité denseignement BASES DE DONNEES Modélisation dune base de données François Jacquenet Professeur d'Informatique Faculté

76

Les TE du schéma conceptuel

Livretitre

numéro

auteurs

éditeurétat date-achat

1:1

1:n

list

Clientnuméro

nom

caution

adresse

n° rue ville

Page 77: Licence de Sciences et Techniques Unité denseignement BASES DE DONNEES Modélisation dune base de données François Jacquenet Professeur d'Informatique Faculté

77

Les types d’association

ClientLivre

date-emprunt date-retour

emprunté emprunteurEmprunte

Page 78: Licence de Sciences et Techniques Unité denseignement BASES DE DONNEES Modélisation dune base de données François Jacquenet Professeur d'Informatique Faculté

78

Schéma conceptuel bibliothèque

numéro Clientnuméronomcaution

adresse

n° rue ville

titre

auteurs

Livre

éditeurdate-achatétat

date-empruntdate-retour

emprunté emprunteur

Emprunte

Page 79: Licence de Sciences et Techniques Unité denseignement BASES DE DONNEES Modélisation dune base de données François Jacquenet Professeur d'Informatique Faculté

79

Contraintes d’intégrité

Règles définissant les états (CI statiques) et les

transitions d'état (CI dynamiques) possibles de la BD

Doivent être décrites explicitement (avec un langage

approprié) si elles ne peuvent pas être décrites avec

les concepts du modèle de données

Une BD est cohérente si toutes les CI définies sont

respectées par les valeurs de la BD.

Page 80: Licence de Sciences et Techniques Unité denseignement BASES DE DONNEES Modélisation dune base de données François Jacquenet Professeur d'Informatique Faculté

80

Exemple de CI sur des attributs

Pour chaque occurrence d’Emprunte si la date-retour existe, alors elle doit être supérieure à la date-emprunt.

Pour chaque occurrence de Livre, la date-achat doit être inférieure à la date-emprunt de toutes les occurrences d’Emprunt qui lui sont liées.

numéro Clientnuméronomcaution

adresse

n° rueville

titre

auteursLivre

éditeurdate-achatétat date-empruntdate-retour

emprunté emprunteurEmprunte

Page 81: Licence de Sciences et Techniques Unité denseignement BASES DE DONNEES Modélisation dune base de données François Jacquenet Professeur d'Informatique Faculté

81

Représentation multiple

Un objet peut avoir plusieurs représentations

Plusieurs points de vues:• un article• un article alimentaire• un produit laitier

Articles

Alimentaire

Habillement

Hi-Fi

Produit laitiers

Viandes

FruitsLégumes

Page 82: Licence de Sciences et Techniques Unité denseignement BASES DE DONNEES Modélisation dune base de données François Jacquenet Professeur d'Informatique Faculté

82

Liens de généralisation/spécialisation

Article

Articlehabillement

Lien IS_A

ArticleHi-Fi

Produitlaitier

Fruits et legumes

Viande

Articlealimentaire

Un article alimentaireEst un article

Raffinement de classification

Page 83: Licence de Sciences et Techniques Unité denseignement BASES DE DONNEES Modélisation dune base de données François Jacquenet Professeur d'Informatique Faculté

83

Hiérarchie de généralisation/spécialisation

Lien IS_A

TE générique

TE spécifiques

Spécialisation Généralisation

Article

Articlealimentaire

ArticleHi-Fi

Articlehabillement

X Est un Y X sous-type de Y Y sur-type de X

Y

Inclusion de populations: tout X est un Y

X

Page 84: Licence de Sciences et Techniques Unité denseignement BASES DE DONNEES Modélisation dune base de données François Jacquenet Professeur d'Informatique Faculté

84

Contraintes d’intégrité sur is-a

Disjonction : les articles alimentaires et les articles d'habillement n'ont pas d'instances communes

Couverture : tout article appartient à l'un des sous-types (alimentaires, d'habillement ou Hi-Fi)

Partition : disjonction + couverture

Lien IS_A

Article

Articlealimentaire

ArticleHi-Fi

Articlehabillement

Page 85: Licence de Sciences et Techniques Unité denseignement BASES DE DONNEES Modélisation dune base de données François Jacquenet Professeur d'Informatique Faculté

85

Clusters de spécialisation

Etudiant

Etudiantgarçon

Etudiantfille

Etudiantinfo

Etudiantchimie

Etudiantannée 2

Etudiantannée 3

critère: sexe critère: section critère: année

Page 86: Licence de Sciences et Techniques Unité denseignement BASES DE DONNEES Modélisation dune base de données François Jacquenet Professeur d'Informatique Faculté

86

Généralisation multiple

Etudiant AllocataireSalarié

Personne Employé

…….

Etudiant salarié

salarié

étudiants

Étudiants salariés

problèmes liés à l'héritage!

Page 87: Licence de Sciences et Techniques Unité denseignement BASES DE DONNEES Modélisation dune base de données François Jacquenet Professeur d'Informatique Faculté

87

Héritage

Article

Articlealimentaire

ArticleHi-Fi

Articlehabillement

Ventenommarquetype

Date_limite tailles couleurs puissance

Reparation

Service après vente

La description des sous-types ne porte que sur les informations additionnelles propres au sous-type

Page 88: Licence de Sciences et Techniques Unité denseignement BASES DE DONNEES Modélisation dune base de données François Jacquenet Professeur d'Informatique Faculté

88

Héritage et inclusion

Carré a Rectangleab

Carré

bRectanglea

CI: a=bRectangle b

Carré a

BD LPOO

mauvais

Page 89: Licence de Sciences et Techniques Unité denseignement BASES DE DONNEES Modélisation dune base de données François Jacquenet Professeur d'Informatique Faculté

89

Description d’un schéma EA

Types d’entités

Types d’association

Attributs

Liens is-a

Types d’identifiant

Domaines d’attribut

Contraintes d'intégrité

schéma conceptuel

EA = ( {TE}, {TA}, {CI} )

Page 90: Licence de Sciences et Techniques Unité denseignement BASES DE DONNEES Modélisation dune base de données François Jacquenet Professeur d'Informatique Faculté

90

Description d’un TE

nom du type d'entité;

nom du (ou des) type(s) d'entité sur-type de ce type d'entité, s'il en existe;

une définition libre (commentaire) précisant la sémantique du TE

caractérisation exacte de la population du type d'entité

description des attributs du TE

composition des identifiants du TE, s'il en existe

contraintes d'intégrité propres au TE

Page 91: Licence de Sciences et Techniques Unité denseignement BASES DE DONNEES Modélisation dune base de données François Jacquenet Professeur d'Informatique Faculté

91

Les entités dans le temps

TE Client: qu'est qu'un client ??? Toute personne qui a une commande en cours

Toute personne qui a fait une commande dans les six derniers mois

Toute personne qui a fait une commande dans le passé ou qui est susceptible de faire une commande dans le futur

………

Page 92: Licence de Sciences et Techniques Unité denseignement BASES DE DONNEES Modélisation dune base de données François Jacquenet Professeur d'Informatique Faculté

92

Description d’un TA

nom du type d'association une définition libre (commentaire) précisant la

sémantique du TA noms des TE participant au TA, avec le nom du rôle

les associant au TA pour chaque rôle, sa cardinalité description des attributs du TA , s'il en existe composition des identifiants du TA, s'il en existe contraintes d'intégrité propres au TA

Page 93: Licence de Sciences et Techniques Unité denseignement BASES DE DONNEES Modélisation dune base de données François Jacquenet Professeur d'Informatique Faculté

93

Les associations dans le temps

TA Personne – Emprunte – Livre

Quels emprunts veut-on dans la BD?

Seulement les emprunts en cours

Les emprunts des trois derniers mois

Aussi les emprunts à venir (réservations)

….

Page 94: Licence de Sciences et Techniques Unité denseignement BASES DE DONNEES Modélisation dune base de données François Jacquenet Professeur d'Informatique Faculté

94

Revenons à notre premier exemple

Rayon ArticleVend

Affecté Livré par

Employé FournisseurChef de

chef

subord.

NomR étage quantité NomA type

quantité

nom salaire NomF adresse

Page 95: Licence de Sciences et Techniques Unité denseignement BASES DE DONNEES Modélisation dune base de données François Jacquenet Professeur d'Informatique Faculté

95

Exemple : Le TA affecté

Nom : affecté

définition : "lie un employé au rayon dans lequel cet employé travaille aujourd'hui”

TE participants: <Employé, > , <Rayon, >

cardinalités: Employé : min=0, max=1

Rayon : min=0, max=n

attributs: aucun

identifiant: Employé.nom

contraintes d'intégrité: aucune

Page 96: Licence de Sciences et Techniques Unité denseignement BASES DE DONNEES Modélisation dune base de données François Jacquenet Professeur d'Informatique Faculté

96

Description d’un attribut

nom de l'attribut

définition libre de sa sémantique

cardinalités

si attribut simple: domaine de valeurs

si attribut complexe: description des attributs composants

Page 97: Licence de Sciences et Techniques Unité denseignement BASES DE DONNEES Modélisation dune base de données François Jacquenet Professeur d'Informatique Faculté

97

Domaine de valeurs d’un attribut simple

Le domaine de valeurs d’un attribut définit l'ensemble des valeurs permises pour cet attribut.

Le domaine d’un attribut simple peut être un domaine de base: entiers, réels, string, booléen, date, … un domaine de base avec restriction:

Entier [>=1,<=12] pour l'attribut mois un domaine énuméré:

{janvier, février, …, décembre} un domaine de type défini par l’utilisateur

Page 98: Licence de Sciences et Techniques Unité denseignement BASES DE DONNEES Modélisation dune base de données François Jacquenet Professeur d'Informatique Faculté

98

Contraintes d’intégrité sur les attributs

Restrictions de domaine fixes : âge [0 : 130 ]

Restrictions selon le contexte : SI mois {4, 6, 9, 11} ALORS jour [1:30] ,

SINON SI mois=2 ALORS jour [1:29], SINON jour [1:31]

x,y Personne, <x,y> Mariage => x.état-civil = "marié" & y.état-civil = "marié”

x Personne, y Voiture, <x,y> Conduit => x.âge >=18 x Personne, (x.sexe=F OR x.age<18) => x.statut_milit.=NUL

Page 99: Licence de Sciences et Techniques Unité denseignement BASES DE DONNEES Modélisation dune base de données François Jacquenet Professeur d'Informatique Faculté

99

Attributs dérivés

nombre d'enfants =

nombre d'occurrences du TA “Parent” qui lient cette Personne

nomPersonne EnfantParent

nom prénoms nombre d'enfants nom prénoms

2:2

Page 100: Licence de Sciences et Techniques Unité denseignement BASES DE DONNEES Modélisation dune base de données François Jacquenet Professeur d'Informatique Faculté

Comme promis

RECAPITULONS

Page 101: Licence de Sciences et Techniques Unité denseignement BASES DE DONNEES Modélisation dune base de données François Jacquenet Professeur d'Informatique Faculté

101

Revenons à notre premier exemple

Rayon ArticleVend

Affecté Livré par

Employé FournisseurChef de

chef

subord.

NomR étage quantité NomA type

quantité

nom salaire NomF adresse

Page 102: Licence de Sciences et Techniques Unité denseignement BASES DE DONNEES Modélisation dune base de données François Jacquenet Professeur d'Informatique Faculté

102

On y voit des entités

Rayon ArticleVend

Affecté Livré par

Employé FournisseurChef de

chef

subord.

NomR étage quantité NomA type

quantité

nom salaire NomF adresse

Page 103: Licence de Sciences et Techniques Unité denseignement BASES DE DONNEES Modélisation dune base de données François Jacquenet Professeur d'Informatique Faculté

103

On y voit des associations

Rayon ArticleVend

Affecté Livré par

Employé FournisseurChef de

chef

subord.

NomR étage quantité NomA type

quantité

nom salaire NomF adresse

Page 104: Licence de Sciences et Techniques Unité denseignement BASES DE DONNEES Modélisation dune base de données François Jacquenet Professeur d'Informatique Faculté

104

On y voit des cardinalités

Rayon ArticleVend

Affecté Livré par

Employé FournisseurChef de

chef

subord.

NomR étage quantité NomA type

quantité

nom salaire NomF adresse

Page 105: Licence de Sciences et Techniques Unité denseignement BASES DE DONNEES Modélisation dune base de données François Jacquenet Professeur d'Informatique Faculté

105

On y voit des attributs d’entités

Rayon ArticleVend

Affecté Livré par

Employé FournisseurChef de

chef

subord.

NomR étage quantité NomA type

quantité

nom salaire NomF adresse

Page 106: Licence de Sciences et Techniques Unité denseignement BASES DE DONNEES Modélisation dune base de données François Jacquenet Professeur d'Informatique Faculté

106

On y voit des attributs d’association

Rayon ArticleVend

Affecté Livré par

Employé FournisseurChef de

chef

subord.

NomR étage quantité NomA type

quantité

nom salaire NomF adresse

Page 107: Licence de Sciences et Techniques Unité denseignement BASES DE DONNEES Modélisation dune base de données François Jacquenet Professeur d'Informatique Faculté

107

Voilà pour aujourd’hui

Il reste à :

mettre au propre les notes de cours

apprendre le cours en le relisant plusieurs fois

faire encore des exercices

implanter des BD (cf TP)