20
Partie 1 - Place de l’informatique Partie 2 - Les bases de données Partie 3 - Bases sur les BD Partie 4 - Conception des BD Partie 5 - Manipulation : SQL Partie 6 - PHP / MySQL Introduction Modèle Entité- Association Types d'entités Attributs Types d'associations Exemples de schéma conceptuel Exemple détaillé 4 - Conception d’une base de données Informatique - Bases de données A. Cornuéjols 2011 72 /170

Chapitre 3

Embed Size (px)

Citation preview

Page 1: Chapitre 3

72 /170Informatique - Bases de données A. Cornuéjols 2011

4 - Conception d’une base de données

3.5 Types d'associations3.6 Exemples de schéma conceptuel3.7 Exemple détaillé

3.1 Introduction3.2 Modèle Entité-Association3.3 Types d'entités3.4 Attributs

Partie 5 - Manipulation : SQLPartie 6 - PHP / MySQL

Partie 1 - Place de l’informatiquePartie 2 - Les bases de données Partie 3 - Bases sur les BD Partie 4 - Conception des BD

Page 2: Chapitre 3

73 /170Informatique - Bases de données A. Cornuéjols 2011

L'esprit humain n'est pas conçu pour réfléchir en termes de tables !

On constate rapidement que les structures d'un schéma relationnel constituent unsupport inadéquat pour exprimer naturellement ces besoins.

Encore faut-il que le schéma des tables satisfasse les besoins des utilisateurs desdonnées !

Comment construire une base de données ?• définir les tables, les contraintes, les index, etc.

• introduire les données dans ces tables (ceci est un autre problème).

4.1 Pourquoi est-ce difficile de concevoir une BD

74 /170Informatique - Bases de données A. Cornuéjols 2011

Gestion des étudiants dansun établissement supérieur.

4.1 Pourquoi est-ce difficile de concevoir une BD

Page 3: Chapitre 3

75 /170Informatique - Bases de données A. Cornuéjols 2011

=> Modélisation

Le monde = ce dont on parle = l'univers du discours = la partie du réel au sujet delaquelle on désire enregistrer de l'information = le domaine d'application

Le monde est perçu comme formé d'entités, dotées de propriétés et en

associations les unes avec les autres.

Il faut un autre langage pour exprimer naturellement les informations que doit

contenir une base de données :

le modèle Entité-association

4.2 Le modèle Entité-Association (E/A)

76 /170Informatique - Bases de données A. Cornuéjols 2011

On construit une base de données (en fait son schéma) en deux phases :

1. on identifie les concepts pertinents du domaine d'application, leurspropriétés et leurs associations

= schéma conceptuel;

2. on traduit le schéma conceptuel en structures de tables

= schéma de la base de données

Que sont les besoins des utilisateurs ?• une base de données qui contienne toutes les données décrivant son

domaine d'application et elles seulement;• la structure de ces données doit être simple, naturelle, expressive, sans

redondance, ...

4.2 Le modèle Entité-Association (E/A)

Page 4: Chapitre 3

77 /170Informatique - Bases de données A. Cornuéjols 2011

Schéma SQL Production duschéma de la BD

Schéma conceptuel

AnalyseconceptuelleÉnoncé

4.2 Le modèle Entité-Association (E/A)

78 /170Informatique - Bases de données A. Cornuéjols 2011

Le modèle Entité-association propose une lecture du monde (le domaine

d'application) simple mais limitée :

• le monde est constitué d'objets ou entités

• les entités sont classées en types d'entités

• les entités d'un type ont des attributs spécifiques

• les entités sont en association les unes avec les autres

• les associations sont classées en types d'associations.

4.2 Le modèle Entité-Association (E/A)

Page 5: Chapitre 3

79 /170Informatique - Bases de données A. Cornuéjols 2011

quelques instances=

population

ACCIDENTVEHICULECONTRATCLIENT

dessin des types

4.3 Types d'entités

80 /170Informatique - Bases de données A. Cornuéjols 2011

NumClient = F010 Nom = TOUSSAINTAdresse = 5, r. Godefroid

quelquesvaleurs

NumClient = B332 Nom = MONTIAdresse = 112, r. Neuve

NumClient = C400 Nom = FERARDAdresse = 65, r. du Tertre

quelques attributs

4.4 Attributs

Page 6: Chapitre 3

81 /170Informatique - Bases de données A. Cornuéjols 2011

attribut obligatoire/facultatif

type d'un attribut

4.4 Attributs - Type et attribut obligatoire/facultatif

82 /170Informatique - Bases de données A. Cornuéjols 2011

quelques instancesdessin des types

ACCIDENTNumAccDateAcc

Montant[0-1]

implique

CONTRATACCIDENT

TypeDateSign

couvre

CONTRAT

NumCtr

VEHICULE

NumVéh Marque Modèle AnnéeCylindrée

signe

CLIENT

NumClient NomAdresse

appartient

CLIENT

4.5 Types d'associations

VEH

ICU

LE

Page 7: Chapitre 3

83 /170Informatique - Bases de données A. Cornuéjols 2011

e5d3e4

e7e3d4 e2d2

e6e1d1

EMPLOYEDEPARTEMENT

EMPLOYEN occupe 1DEPARTEMENT

4.5 Types d'associations - Classe fonctionnelle un-à-plusieurs (1:N)

84 /170Informatique - Bases de données A. Cornuéjols 2011

e5d3e4

e7e3d4e2d2

e6e1d1

EMPLOYEDEPARTEMENT

EMPLOYE1 dirige 1

DEPARTEMENT

4.5 Types d'associations - Classe fonctionnelle un-à-un (1:1)

Page 8: Chapitre 3

85 /170Informatique - Bases de données A. Cornuéjols 2011

p5u3p4

p3p2u2u4

p1u1

PRODUITUSINE

PRODUITN fabrique N

USINE

4.5 Types d'associations - Classe fonctionnelle plusieurs-à-plusieurs (N:N)

86 /170Informatique - Bases de données A. Cornuéjols 2011

Combinaisons admises• [0-1] [0-N]

• [1-1] [0-N]

• [0-1] [0-1]

• [1-1] [0-1]

Contrainte de cardinalité• 1-1

• 0-1

• 0-N

4.5 Types d'associations - Rôle obligatoire/facultatif - Cardinalité

rôle facultati

f

rôle obligatoir

e

Page 9: Chapitre 3

87 /170Informatique - Bases de données A. Cornuéjols 2011

4.5 Types d'associations

88 /170Informatique - Bases de données A. Cornuéjols 2011

4.6 Exemples - Structure administrative

Page 10: Chapitre 3

89 /170Informatique - Bases de données A. Cornuéjols 2011

4.6 Exemples - Gestion d'une bibliothèque

90 /170Informatique - Bases de données A. Cornuéjols 2011

4.6 Exemples - Voyages en train

Page 11: Chapitre 3

91 /170Informatique - Bases de données A. Cornuéjols 2011

3.7 Exemple détaillé

Complément - Outil de dessin de schémas conceptuels

92 /170Informatique - Bases de données A. Cornuéjols 2011

• Des agriculteurs possèdent des parcelles

• Une parcelle a un et un seul propriétaire

• Un agriculteur possède une ou plusieurs parcelles

• Pour exploiter ces parcelles, les agriculteurs font appel à un GIE. Celui-ci fournit de la main d’oeuvre d’appoint, à la journée.

• Cette main d’oeuvre est assurée par des employés du GIE.

• Chaque employé du GIE a un tarif, qui constitue son salaire journalier

Cahier des charges (simplifié)

4.7 Exemple - Conception d’une BD pour un GIE agricole

Page 12: Chapitre 3

93 /170Informatique - Bases de données A. Cornuéjols 2011

• Des agriculteurs possèdent des parcelles

• Une parcelle a un et un seul propriétaire

• Un agriculteur possède une ou plusieurs parcelles

• Pour exploiter ces parcelles, les agriculteurs font appel à un GIE. Celui-ci fournit de la main d’oeuvre d’appoint, à la journée.

• Cette main d’oeuvre est assurée par des employés du GIE.

• Chaque employé du GIE a un tarif, qui constitue son salaire journalier brut.

Cahier des charges (simplifié)

4.7 Exemple - Conception d’une BD pour un GIE agricole

94 /170Informatique - Bases de données A. Cornuéjols 2011

• Le GIE paie ses employés mensuellement, en fonction de leurs

interventions.

• Chaque intervention concerne une parcelle, un employé et un nombre de jours.

• Le système d’information désiré doit pouvoir fournir :

• la liste des agriculteurs

• la liste des employés

• la liste des interventions par employé

• la liste des interventions par agriculteur

Cahier des charges (simplifié) (2)

4.7 Exemple - Conception d’une BD pour un GIE agricole

Page 13: Chapitre 3

4.7 Exemple - Conception d’une BD pour un GIE agricole

Inventaire des données (simplifié)

• Agriculteur : Nom, prénom, lieu de résidence

• Employé GIE : Nom et prénom

• Parcelle : nom, superficie, lieu et

propriétaire

• Employé : numéro insee et salaire journalier

• Interventions : employé, parcelle, date de début, nombre de jours

Comment identifier ?

Informatique - Bases de données A. Cornuéjols 2011 95 /170

IdAgri Nom Prénom Lieu de résidence

1 Dulhac Anne-Marie Arith

2 Martoz Christian Montargy

3 Carrez François Arith

4 Ferrer Mariette Lenoyer

5 Mernaz Francine Lescheraines

6 Martoz Christian Lescheraines

Nom Prénom Lieu de résidence

Dulhac Anne-Marie Arith

Martoz Christian Montargy

Carrez François Arith

Ferrer Mariette Lenoyer

Mernaz Francine Lescheraines

Martoz Christian Lescheraines

96 /170Informatique - Bases de données A. Cornuéjols 2011

Clé primaire

4.7 Exemple - Conception d’une BD pour un GIE agricole

Page 14: Chapitre 3

Ville_Dep Ville_Arr Distance

Aiglun Saint-Auban 25

Aix-les-Bains Chambery 14

Rennes Paris 342

Rennes Saint-Malô 75

Saint-Alban Aiglun 23

Champ Type Extra

Agr_id int(11) auto_increment

Agr_Nom varchar(30)

Agr_Prn varchar(20)

Agr_Resid varchar(50)

Agr-Id Agr_Nom Agr_Prn Agr_Resid

1 Dulhac Anne-Marie Arith

2 Martoz Christian Montargy

3 Carrez François Arith

4 Ferrer Mariette Lenoyer

5 Mernaz Francine Lescheraines

6 Martoz Christian Lescheraines

97 /170Informatique - Bases de données A. Cornuéjols 2011

Table des distances entre villes

Clé primaire : pas nécessairement une seule colonne

4.7 Exemple - Conception d’une BD pour un GIE agricole

98 /170Informatique - Bases de données A. Cornuéjols 2011

Type des attributs (colonnes)

4.7 Exemple - Conception d’une BD pour un GIE agricole

Page 15: Chapitre 3

Par_Idf Par_Nom Par_Lieu Par_Superficie

1 Le Pré au Vent Arith 350

2 Le grand Verger Arith 300

3 Plan des Bauges Montargy 220

4 Les Prés Rus Arith 750

5 Lafosse Montargy 600

Par_Idf Par_Nom Par_Lieu Par_Superficie Par_Prop

1 Le Pré au Vent Arith 350 1

2 Le grand Verger Arith 300 2

3 Plan des Montargy 220 1

4 Les Prés Rus Arith 750 4

5 Lafosse Montargy 600 1

Agr_Id Agr_Nom Agr_Prn Agr_Resid

1 Dulhac Anne-Marie Arith

2 Martoz Christian Montargy

3 Carrez François Arith

4 Ferrer Mariette Lenoyer

5 Mernaz Francine Lescheraines

6 Martoz Christian Lescheraines

99 /170Informatique - Bases de données A. Cornuéjols 2011

Comment indiquer le propriétaire ?

Les parcelles

4.7 Exemple - Conception d’une BD pour un GIE agricole

100/170Informatique - Bases de données A. Cornuéjols 2011

Une relation entredeux tables

ParcellesAgriculteur

Les parcelles et leur propriétaire

4.7 Exemple - Conception d’une BD pour un GIE agricole

Page 16: Chapitre 3

Emp-nss Emp_Nom Emp_prn Emp_tarif

1,75077E+12 Grandet Marc 110

1,82023E+12 Barnier Nicole 115

1,79011E+12 Pernet Henri 119

Agriculteur

Agr_id

Agr_Nom

Agr_Prn

Agr_Resid

Parcelle

Par_id

Par_Nom

Par_Lieu

Par_Sup

Par_Prop

101/170Informatique - Bases de données A. Cornuéjols 2011

ParcellesUne relation 1 à nentre deux tables

Agriculteurn

Clé étrangère

1

Les parcelles et leur propriétaire

4.7 Exemple - Conception d’une BD pour un GIE agricole

102/170Informatique - Bases de données A. Cornuéjols 2011

Quelle clé primaire ?

La table employé

4.7 Exemple - Conception d’une BD pour un GIE agricole

Page 17: Chapitre 3

Int_Emp_nss Int_Par_i d

Int_Deb Int_Nb_Jours

1,75077E+12 1 2004-07-05 5

103/170Informatique - Bases de données A. Cornuéjols 2011

• Un employé peut être amené à travailler sur plusieurs parcelles

• Sur une même parcelle peuvent travailler plusieurs employés(simultanément ou l’un après l’autre)

• C’est une relation plusieurs à plusieurs : on la représente par une nouvelle table

Quelle relation entre les tables parcelle et employé ?

4.7 Exemple - Conception d’une BD pour un GIE agricole

Employé

Agr_id

Agr_Nom

Agr_Prn

Agr_Resid

Intervention

Int_Emp_nss

Int_Par_id

Int_Deb

Int_Nb_Jours

Parcelle

Par_id

Par_Nom

Par_Lieu

Par_Sup

Par_Prop

10Informatique - Bases de données A.

EmployParcell

InterventioL’employé Grandet a

travaillé sur la parcelle du pré au vent, 5 jours

nn11

Les parcelles et les

4.7 Exemple - Conception d’une BD pour un GIE

110

MarcGrandet1,75077E+12

Emp_tarifEmp_prnEmp_NomEmp_nss

Page 18: Chapitre 3

Par_Idf Par_Nom Par_Lieu Par_Superficie Par_Prop

1 Le Pré au Vent

Arith 350 1