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

Post on 03-Apr-2015

108 Views

Category:

Documents

2 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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 : Francois.Jacquenet@univ-st-etienne.frWeb : http://eurise.univ-st-etienne.fr/~fj

Mais avant :

Qu’avons nous appris la

semaine dernière ?

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é

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…

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

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

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

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

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

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

11

TRES IMPORTANT

La qualité

de la conception

de la BD

est un facteur critique

de réussite

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

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

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,

...

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

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)

...

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

18

ET MAINTENANT

Le modèle

Entité

Association(entity-relationship)

19

Généralités

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

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

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

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

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

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

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

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

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

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

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É

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é à

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

32

Association ternaire

Client Produitachète

Fournisseur

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

33

Association ternaire cyclique

Emprunteur

Personne Emprunt BanqueGarant

34

Population d’un TE et TA

Personne Maisonachète

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

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

37

Population d’un TE et TA

Personne Maisonachète0:n 1:1

38

Valeurs et notations des cardinalités

Minimum Maximum

0 1

1 1

0 n

1 n

n m

Personne VoiturePossède

39

Autres notations possibles

Pour les liens

0:1

1:1

0:n

1:n

m:n

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

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

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

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.

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

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.

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

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 :

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

49

Autres notations existantes

Employé

Employé

Pour les entités et leurs attributs

nom

salaire

nom salaire

Employé

nom

salaire

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

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

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)

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

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

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

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

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

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.

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

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.

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

?

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.

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?

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.

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

?

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.

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

?

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.

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

?

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.

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

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.

73

TE livre et ses attributs

Livretitre

numéro

auteurs

éditeurétat date-achat

1:1

1:n

liste

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.

75

Le TE client et ses attributs

Clientnuméro

nom

caution

adresse

n° rue ville

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

77

Les types d’association

ClientLivre

date-emprunt date-retour

emprunté emprunteurEmprunte

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

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.

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

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

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

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

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

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

86

Généralisation multiple

Etudiant AllocataireSalarié

Personne Employé

…….

Etudiant salarié

salarié

étudiants

Étudiants salariés

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

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

88

Héritage et inclusion

Carré a Rectangleab

Carré

bRectanglea

CI: a=bRectangle b

Carré a

BD LPOO

mauvais

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} )

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

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

………

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

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)

….

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

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

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

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

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

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

Comme promis

RECAPITULONS

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

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

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

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

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

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

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)

top related