SlideShare une entreprise Scribd logo
1  sur  18
Partie 1 - Place de l’inf ormatique
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 / My SQL
3.1 Introduction
3.2 Modèle Entité-Association
3.3Ty pes d'entités
3.4 Attributs
3.5Ty pes d'associations
3.6 Exemples de schéma conceptuel
3.7 Exemple détaillé
4 - Conception d’une base de données
72 /170
4.1 Pourquoi est-ce difficile de concevoir une BD
Gestion des étudiants dans
un établissementsupérieur.
74 /170
4.1 Pourquoi est-ce difficile de concevoir une BD
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).
Encore faut-il que le schéma des tables satisfasse les besoins des utilisateurs des
données !
On constate rapidement que les structures d'un schéma relationnel constituentun
support inadéquat pour exprimer naturellement ces besoins.
L'esprit humain n'est pas conçu pour réfléchir en termes de tables!
73 /170
4.2 Le modèle Entité-Association (E/A)
Il faut un autre langage pour exprimer naturellement les informations que doit
contenir une base de données :
le modèle Entité-association
Le monde est perçu comme formé d'entités, dotées de propriétés et en
associations les unes avec les autres.
Le monde = ce dont on parle = l'univers du discours = la partie du réel au sujet de
laquelle on désire enregistrer de l'information = le domaine d'application
=> Modélisation
75 /170
4.2 Le modèle Entité-Association (E/A)
Que sont les besoins des utilisateurs?
• une base de données qui contienne toutes les données décrivantson
domaine d'application et elles seulement;
• la structure de ces données doit être simple, naturelle, expressive,sans
redondance, ...
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, leurs
proprié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
76 /170
4.2 Le modèle Entité-Association (E/A)
Énoncé
Analyse
conceptuelle
Schéma
conceptuel
Production du
schéma de la BD Schéma SQL
77 /170
4.2 Le modèle Entité-Association (E/A)
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.
78 /170
4.3 Types d'entités
dessin des types
CLIENT CONTRAT VEHICULE ACCIDENT
quelques instances
population
79 /170
4.4 Attributs
quelques attributs
NumClient = C400
Nom = FERARD
Adresse = 65, r. du Tertre
NumClient = B332
Nom = MONTI
Adresse = 112, r. Neuve
quelques
valeurs
NumClient = F010
Nom = TOUSSAINT
Adresse = 5, r. Godefroid
80 /170
4.4 Attributs - Type et attribut obligatoire/facultatif
type d'un attribut
attribut obligatoire/facultatif
81 /170
4.5 Types d'associations
CLIENT
appartient
CLIENT
NumClient
Nom
Adresse
signe
VEHICULE
NumVéh
Marque
Modèle
Année
Cylindrée
CONTRAT
NumCtr
couvre
Type
DateSign
ACCIDENT CONTRAT
implique NumAcc
DateAcc
Montant[0-1]
ACCIDENT
dessin des types quelques instances
82 /170
VEHICULE
4.5 Types d'associations - Classe fonctionnelle un-à-plusieurs (1:N)
DEPARTEMENT
N occupe 1
EMPLOYE
DEPARTEMENT EMPLOYE
d1 e1
e6
d2
e2
d4 e3
e7
e4
d3
e5
83 /170
4.5 Types d'associations - Classe fonctionnelle un-à-un (1:1)
DEPARTEMENT
1 dirige 1
EMPLOYE
DEPARTEMENT EMPLOYE
d1 e1
e6
d2 e2
d4
e3 e7
e4
d3
e5
84 /170
USINE
N fabrique N
PRODUIT
USINE PRODUIT
u1 p1
u4
u2
p2 p3
p4
u3
p5
85 /170
4.5 Types d'associations - Rôle obligatoire/facultatif - Cardinalité
Contrainte de cardinalité
• 1-1
• 0-1
• 0-N
Combinaisons admises
• [0-1] [0-N]
• [1-1] [0-N]
• [0-1] [0-1]
• [1-1] [0-1]
86 /170
4.5 Types d'associations
87 /170
4.6 Exemples - Structure administrative
88 /170
4.6 Exemples - Gestion d'une bibliothèque
89 /170
4.6 Exemples - Voyages en train
90 /170
Complément - Outil de dessin de schémas conceptuels
3.7 Exemple détaillé
91 /170
4.7 Exemple - Conception d’une BD pour un GIE agricole
Cahier des charges (simplifié)
92 /170
4.7 Exemple - Conception d’une BD pour un GIE agricole
Cahier des charges (simplifié)
93 /170
4.7 Exemple - Conception d’une BD pour un GIE agricole
Cahier des charges (simplifié) (2)
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
94 /170
4.7 Exemple - Conception d’une BD pour un GIE agricole
Clé primaire
96 /170
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?
Inf ormatique-Bases dedonné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
4.7 Exemple - Conception d’une BD pour un GIE agricole
Clé primaire : pas nécessairement une seule colonne
Table des distances entre villes
97 /170
4.7 Exemple - Conception d’une BD pour un GIE agricole
Type des attributs (colonnes)
98 /170
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
4.7 Exemple - Conception d’une BD pour un GIE agricole
Les parcelles
Comment indiquer le propriétaire ?
99 /170
4.7 Exemple - Conception d’une BD pour un GIE agricole
Les parcelles et leur propriétaire
Une relation entre
deux tables
100/170
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
4.7 Exemple - Conception d’une BD pour un GIE agricole
Les parcelles et leur propriétaire
Clé étrangère
Une relation 1 à n
entre deux tables
101/170
4.7 Exemple - Conception d’une BD pour un GIE agricole
La table employé
Quelle clé primaire?
102/170
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
Emp_nss Emp_Nom Emp_prn Emp_tarif
1,75077E+12
4.7 Exemple - Conception d’une BD pour un GIE agricole
Les parcelles et les employés
L’employé Grandet a
travaillé sur la parcelle du
pré au vent, 5 jours à partir
du 5 juillet 2004.
Intervention
Parcelle
Employé
104/170
Int_Emp_nss Int_Par_i
d
Int_Deb Int_Nb_Jours
1,75077E+12 1 2004-07-05 5
4.7 Exemple - Conception d’une BD pour un GIE agricole
Quelle relation entre les tables parcelle et employé ?
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
103/170
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
Par_Idf Par_Nom Par_Lieu Par_Superficie Par_Prop
1 Le Pré au
Vent
Arith 350 1

Contenu connexe

Similaire à Chapitre 3

Cahier des charges_de_realisation_de_site_internet
Cahier des charges_de_realisation_de_site_internetCahier des charges_de_realisation_de_site_internet
Cahier des charges_de_realisation_de_site_internetKarim Ayari
 
Conception bd 2
Conception bd 2Conception bd 2
Conception bd 2hassan1488
 
Spark - au dela du dataframe avec Tungsten et Catalyst
Spark - au dela du dataframe avec Tungsten et CatalystSpark - au dela du dataframe avec Tungsten et Catalyst
Spark - au dela du dataframe avec Tungsten et CatalystMathieu Goeminne
 
Paris Tug - Session d'octobre
Paris Tug - Session d'octobreParis Tug - Session d'octobre
Paris Tug - Session d'octobreGeoffrey Felix
 
correction serie fragmentation Exercice 5 (1).pdf
correction serie fragmentation Exercice 5 (1).pdfcorrection serie fragmentation Exercice 5 (1).pdf
correction serie fragmentation Exercice 5 (1).pdfsanialaghoub
 
Création de bases de données
Création de bases de donnéesCréation de bases de données
Création de bases de donnéesRiadh ASSOUAK
 
Bac blanc base de données
Bac blanc base de donnéesBac blanc base de données
Bac blanc base de donnéeslycee
 
Projet BI - 2 - Conception base de données
Projet BI - 2 - Conception base de donnéesProjet BI - 2 - Conception base de données
Projet BI - 2 - Conception base de donnéesJean-Marc Dupont
 
B5270 g formation-essentials-for-ibm-cognos-bi-v10-2
B5270 g formation-essentials-for-ibm-cognos-bi-v10-2B5270 g formation-essentials-for-ibm-cognos-bi-v10-2
B5270 g formation-essentials-for-ibm-cognos-bi-v10-2CERTyou Formation
 
B5270 g formation-essentials-for-ibm-cognos-bi-v10-2
B5270 g formation-essentials-for-ibm-cognos-bi-v10-2B5270 g formation-essentials-for-ibm-cognos-bi-v10-2
B5270 g formation-essentials-for-ibm-cognos-bi-v10-2CERTyou Formation
 
Webinar Axys Consultants et Alteryx pour les utilisateurs d'Excel
Webinar Axys Consultants et Alteryx pour les utilisateurs d'ExcelWebinar Axys Consultants et Alteryx pour les utilisateurs d'Excel
Webinar Axys Consultants et Alteryx pour les utilisateurs d'ExcelAxys
 
Microsoft business-intelligence
Microsoft business-intelligenceMicrosoft business-intelligence
Microsoft business-intelligenceBENJID Mohamed
 
Restitution atelier assistant personnel session LAB du 24/05/16
Restitution atelier assistant personnel session LAB du 24/05/16Restitution atelier assistant personnel session LAB du 24/05/16
Restitution atelier assistant personnel session LAB du 24/05/16LE LAB Pôle emploi
 
Bowia formation-business-object-webintelligence-les-bases-et-perfectionnement
Bowia formation-business-object-webintelligence-les-bases-et-perfectionnementBowia formation-business-object-webintelligence-les-bases-et-perfectionnement
Bowia formation-business-object-webintelligence-les-bases-et-perfectionnementCERTyou Formation
 
Business Intelligence
Business IntelligenceBusiness Intelligence
Business IntelligenceWalid Chamour
 
Prsentationtutoriel 100217133915-phpapp01 (1)
Prsentationtutoriel 100217133915-phpapp01 (1)Prsentationtutoriel 100217133915-phpapp01 (1)
Prsentationtutoriel 100217133915-phpapp01 (1)Eric Bourdet
 
Ol62 g formation-la-base-de-donnees-db2-pour-ibm-i
Ol62 g formation-la-base-de-donnees-db2-pour-ibm-iOl62 g formation-la-base-de-donnees-db2-pour-ibm-i
Ol62 g formation-la-base-de-donnees-db2-pour-ibm-iCERTyou Formation
 
Principes Relationnels et Concepts Oracle
Principes Relationnelset Concepts OraclePrincipes Relationnelset Concepts Oracle
Principes Relationnels et Concepts Oraclewebreaker
 

Similaire à Chapitre 3 (20)

Cahier des charges_de_realisation_de_site_internet
Cahier des charges_de_realisation_de_site_internetCahier des charges_de_realisation_de_site_internet
Cahier des charges_de_realisation_de_site_internet
 
Conception bd 2
Conception bd 2Conception bd 2
Conception bd 2
 
Spark - au dela du dataframe avec Tungsten et Catalyst
Spark - au dela du dataframe avec Tungsten et CatalystSpark - au dela du dataframe avec Tungsten et Catalyst
Spark - au dela du dataframe avec Tungsten et Catalyst
 
Paris Tug - Session d'octobre
Paris Tug - Session d'octobreParis Tug - Session d'octobre
Paris Tug - Session d'octobre
 
correction serie fragmentation Exercice 5 (1).pdf
correction serie fragmentation Exercice 5 (1).pdfcorrection serie fragmentation Exercice 5 (1).pdf
correction serie fragmentation Exercice 5 (1).pdf
 
Création de bases de données
Création de bases de donnéesCréation de bases de données
Création de bases de données
 
Bac blanc base de données
Bac blanc base de donnéesBac blanc base de données
Bac blanc base de données
 
Projet BI - 2 - Conception base de données
Projet BI - 2 - Conception base de donnéesProjet BI - 2 - Conception base de données
Projet BI - 2 - Conception base de données
 
B5270 g formation-essentials-for-ibm-cognos-bi-v10-2
B5270 g formation-essentials-for-ibm-cognos-bi-v10-2B5270 g formation-essentials-for-ibm-cognos-bi-v10-2
B5270 g formation-essentials-for-ibm-cognos-bi-v10-2
 
B5270 g formation-essentials-for-ibm-cognos-bi-v10-2
B5270 g formation-essentials-for-ibm-cognos-bi-v10-2B5270 g formation-essentials-for-ibm-cognos-bi-v10-2
B5270 g formation-essentials-for-ibm-cognos-bi-v10-2
 
Webinar Axys Consultants et Alteryx pour les utilisateurs d'Excel
Webinar Axys Consultants et Alteryx pour les utilisateurs d'ExcelWebinar Axys Consultants et Alteryx pour les utilisateurs d'Excel
Webinar Axys Consultants et Alteryx pour les utilisateurs d'Excel
 
Butterfly airbus presentation
Butterfly airbus presentationButterfly airbus presentation
Butterfly airbus presentation
 
Microsoft business-intelligence
Microsoft business-intelligenceMicrosoft business-intelligence
Microsoft business-intelligence
 
Restitution atelier assistant personnel session LAB du 24/05/16
Restitution atelier assistant personnel session LAB du 24/05/16Restitution atelier assistant personnel session LAB du 24/05/16
Restitution atelier assistant personnel session LAB du 24/05/16
 
Business intelligence
Business intelligenceBusiness intelligence
Business intelligence
 
Bowia formation-business-object-webintelligence-les-bases-et-perfectionnement
Bowia formation-business-object-webintelligence-les-bases-et-perfectionnementBowia formation-business-object-webintelligence-les-bases-et-perfectionnement
Bowia formation-business-object-webintelligence-les-bases-et-perfectionnement
 
Business Intelligence
Business IntelligenceBusiness Intelligence
Business Intelligence
 
Prsentationtutoriel 100217133915-phpapp01 (1)
Prsentationtutoriel 100217133915-phpapp01 (1)Prsentationtutoriel 100217133915-phpapp01 (1)
Prsentationtutoriel 100217133915-phpapp01 (1)
 
Ol62 g formation-la-base-de-donnees-db2-pour-ibm-i
Ol62 g formation-la-base-de-donnees-db2-pour-ibm-iOl62 g formation-la-base-de-donnees-db2-pour-ibm-i
Ol62 g formation-la-base-de-donnees-db2-pour-ibm-i
 
Principes Relationnels et Concepts Oracle
Principes Relationnelset Concepts OraclePrincipes Relationnelset Concepts Oracle
Principes Relationnels et Concepts Oracle
 

Plus de abderrahmane ourahhou

Plus de abderrahmane ourahhou (8)

دليل إدماج التعدد اللغوي في الجماعات الترابية
دليل إدماج التعدد اللغوي في الجماعات الترابيةدليل إدماج التعدد اللغوي في الجماعات الترابية
دليل إدماج التعدد اللغوي في الجماعات الترابية
 
Chapitre 1
Chapitre 1Chapitre 1
Chapitre 1
 
formation de formateurs en informatique et multimedia
formation de formateurs en informatique et multimedia formation de formateurs en informatique et multimedia
formation de formateurs en informatique et multimedia
 
Histoire d'internet
Histoire d'internet Histoire d'internet
Histoire d'internet
 
Langue arabe-et-ingenierie-lingistique
Langue arabe-et-ingenierie-lingistiqueLangue arabe-et-ingenierie-lingistique
Langue arabe-et-ingenierie-lingistique
 
Individual Differences
Individual DifferencesIndividual Differences
Individual Differences
 
status-of-english-language
status-of-english-languagestatus-of-english-language
status-of-english-language
 
2 status-of-english-language
2 status-of-english-language2 status-of-english-language
2 status-of-english-language
 

Dernier

Boléro. pptx Film français réalisé par une femme.
Boléro.  pptx   Film   français   réalisé  par une  femme.Boléro.  pptx   Film   français   réalisé  par une  femme.
Boléro. pptx Film français réalisé par une femme.Txaruka
 
Sidonie au Japon . pptx Un film français
Sidonie    au   Japon  .  pptx  Un film françaisSidonie    au   Japon  .  pptx  Un film français
Sidonie au Japon . pptx Un film françaisTxaruka
 
SUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptx
SUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptxSUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptx
SUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptxssuserbd075f
 
gestion des conflits dans les entreprises
gestion des  conflits dans les entreprisesgestion des  conflits dans les entreprises
gestion des conflits dans les entreprisesMajdaKtiri2
 
Cours ofppt du Trade-Marketing-Présentation.pdf
Cours ofppt du Trade-Marketing-Présentation.pdfCours ofppt du Trade-Marketing-Présentation.pdf
Cours ofppt du Trade-Marketing-Présentation.pdfachrafbrahimi1
 
La nouvelle femme . pptx Film français
La   nouvelle   femme  . pptx  Film françaisLa   nouvelle   femme  . pptx  Film français
La nouvelle femme . pptx Film françaisTxaruka
 
Bolero. pptx . Film de A nnne Fontaine
Bolero. pptx . Film   de  A nnne FontaineBolero. pptx . Film   de  A nnne Fontaine
Bolero. pptx . Film de A nnne FontaineTxaruka
 
COURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdf
COURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdfCOURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdf
COURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdfabatanebureau
 
Computer Parts in French - Les parties de l'ordinateur.pptx
Computer Parts in French - Les parties de l'ordinateur.pptxComputer Parts in French - Les parties de l'ordinateur.pptx
Computer Parts in French - Les parties de l'ordinateur.pptxRayane619450
 

Dernier (10)

Boléro. pptx Film français réalisé par une femme.
Boléro.  pptx   Film   français   réalisé  par une  femme.Boléro.  pptx   Film   français   réalisé  par une  femme.
Boléro. pptx Film français réalisé par une femme.
 
Sidonie au Japon . pptx Un film français
Sidonie    au   Japon  .  pptx  Un film françaisSidonie    au   Japon  .  pptx  Un film français
Sidonie au Japon . pptx Un film français
 
SUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptx
SUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptxSUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptx
SUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptx
 
gestion des conflits dans les entreprises
gestion des  conflits dans les entreprisesgestion des  conflits dans les entreprises
gestion des conflits dans les entreprises
 
Cours ofppt du Trade-Marketing-Présentation.pdf
Cours ofppt du Trade-Marketing-Présentation.pdfCours ofppt du Trade-Marketing-Présentation.pdf
Cours ofppt du Trade-Marketing-Présentation.pdf
 
La nouvelle femme . pptx Film français
La   nouvelle   femme  . pptx  Film françaisLa   nouvelle   femme  . pptx  Film français
La nouvelle femme . pptx Film français
 
Evaluación Alumnos de Ecole Victor Hugo
Evaluación Alumnos de Ecole  Victor HugoEvaluación Alumnos de Ecole  Victor Hugo
Evaluación Alumnos de Ecole Victor Hugo
 
Bolero. pptx . Film de A nnne Fontaine
Bolero. pptx . Film   de  A nnne FontaineBolero. pptx . Film   de  A nnne Fontaine
Bolero. pptx . Film de A nnne Fontaine
 
COURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdf
COURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdfCOURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdf
COURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdf
 
Computer Parts in French - Les parties de l'ordinateur.pptx
Computer Parts in French - Les parties de l'ordinateur.pptxComputer Parts in French - Les parties de l'ordinateur.pptx
Computer Parts in French - Les parties de l'ordinateur.pptx
 

Chapitre 3

  • 1. Partie 1 - Place de l’inf ormatique 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 / My SQL 3.1 Introduction 3.2 Modèle Entité-Association 3.3Ty pes d'entités 3.4 Attributs 3.5Ty pes d'associations 3.6 Exemples de schéma conceptuel 3.7 Exemple détaillé 4 - Conception d’une base de données 72 /170
  • 2. 4.1 Pourquoi est-ce difficile de concevoir une BD Gestion des étudiants dans un établissementsupérieur. 74 /170 4.1 Pourquoi est-ce difficile de concevoir une BD 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). Encore faut-il que le schéma des tables satisfasse les besoins des utilisateurs des données ! On constate rapidement que les structures d'un schéma relationnel constituentun support inadéquat pour exprimer naturellement ces besoins. L'esprit humain n'est pas conçu pour réfléchir en termes de tables! 73 /170
  • 3. 4.2 Le modèle Entité-Association (E/A) Il faut un autre langage pour exprimer naturellement les informations que doit contenir une base de données : le modèle Entité-association Le monde est perçu comme formé d'entités, dotées de propriétés et en associations les unes avec les autres. Le monde = ce dont on parle = l'univers du discours = la partie du réel au sujet de laquelle on désire enregistrer de l'information = le domaine d'application => Modélisation 75 /170 4.2 Le modèle Entité-Association (E/A) Que sont les besoins des utilisateurs? • une base de données qui contienne toutes les données décrivantson domaine d'application et elles seulement; • la structure de ces données doit être simple, naturelle, expressive,sans redondance, ... 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, leurs proprié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 76 /170
  • 4. 4.2 Le modèle Entité-Association (E/A) Énoncé Analyse conceptuelle Schéma conceptuel Production du schéma de la BD Schéma SQL 77 /170 4.2 Le modèle Entité-Association (E/A) 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. 78 /170
  • 5. 4.3 Types d'entités dessin des types CLIENT CONTRAT VEHICULE ACCIDENT quelques instances population 79 /170 4.4 Attributs quelques attributs NumClient = C400 Nom = FERARD Adresse = 65, r. du Tertre NumClient = B332 Nom = MONTI Adresse = 112, r. Neuve quelques valeurs NumClient = F010 Nom = TOUSSAINT Adresse = 5, r. Godefroid 80 /170
  • 6. 4.4 Attributs - Type et attribut obligatoire/facultatif type d'un attribut attribut obligatoire/facultatif 81 /170 4.5 Types d'associations CLIENT appartient CLIENT NumClient Nom Adresse signe VEHICULE NumVéh Marque Modèle Année Cylindrée CONTRAT NumCtr couvre Type DateSign ACCIDENT CONTRAT implique NumAcc DateAcc Montant[0-1] ACCIDENT dessin des types quelques instances 82 /170 VEHICULE
  • 7. 4.5 Types d'associations - Classe fonctionnelle un-à-plusieurs (1:N) DEPARTEMENT N occupe 1 EMPLOYE DEPARTEMENT EMPLOYE d1 e1 e6 d2 e2 d4 e3 e7 e4 d3 e5 83 /170 4.5 Types d'associations - Classe fonctionnelle un-à-un (1:1) DEPARTEMENT 1 dirige 1 EMPLOYE DEPARTEMENT EMPLOYE d1 e1 e6 d2 e2 d4 e3 e7 e4 d3 e5 84 /170
  • 8. USINE N fabrique N PRODUIT USINE PRODUIT u1 p1 u4 u2 p2 p3 p4 u3 p5 85 /170 4.5 Types d'associations - Rôle obligatoire/facultatif - Cardinalité Contrainte de cardinalité • 1-1 • 0-1 • 0-N Combinaisons admises • [0-1] [0-N] • [1-1] [0-N] • [0-1] [0-1] • [1-1] [0-1] 86 /170
  • 9. 4.5 Types d'associations 87 /170 4.6 Exemples - Structure administrative 88 /170
  • 10. 4.6 Exemples - Gestion d'une bibliothèque 89 /170 4.6 Exemples - Voyages en train 90 /170
  • 11. Complément - Outil de dessin de schémas conceptuels 3.7 Exemple détaillé 91 /170 4.7 Exemple - Conception d’une BD pour un GIE agricole Cahier des charges (simplifié) 92 /170
  • 12. 4.7 Exemple - Conception d’une BD pour un GIE agricole Cahier des charges (simplifié) 93 /170 4.7 Exemple - Conception d’une BD pour un GIE agricole Cahier des charges (simplifié) (2) 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 94 /170
  • 13. 4.7 Exemple - Conception d’une BD pour un GIE agricole Clé primaire 96 /170 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? Inf ormatique-Bases dedonné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
  • 14. 4.7 Exemple - Conception d’une BD pour un GIE agricole Clé primaire : pas nécessairement une seule colonne Table des distances entre villes 97 /170 4.7 Exemple - Conception d’une BD pour un GIE agricole Type des attributs (colonnes) 98 /170 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
  • 15. 4.7 Exemple - Conception d’une BD pour un GIE agricole Les parcelles Comment indiquer le propriétaire ? 99 /170 4.7 Exemple - Conception d’une BD pour un GIE agricole Les parcelles et leur propriétaire Une relation entre deux tables 100/170 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
  • 16. 4.7 Exemple - Conception d’une BD pour un GIE agricole Les parcelles et leur propriétaire Clé étrangère Une relation 1 à n entre deux tables 101/170 4.7 Exemple - Conception d’une BD pour un GIE agricole La table employé Quelle clé primaire? 102/170 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
  • 17. Emp_nss Emp_Nom Emp_prn Emp_tarif 1,75077E+12 4.7 Exemple - Conception d’une BD pour un GIE agricole Les parcelles et les employés L’employé Grandet a travaillé sur la parcelle du pré au vent, 5 jours à partir du 5 juillet 2004. Intervention Parcelle Employé 104/170 Int_Emp_nss Int_Par_i d Int_Deb Int_Nb_Jours 1,75077E+12 1 2004-07-05 5 4.7 Exemple - Conception d’une BD pour un GIE agricole Quelle relation entre les tables parcelle et employé ? 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 103/170 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
  • 18. Par_Idf Par_Nom Par_Lieu Par_Superficie Par_Prop 1 Le Pré au Vent Arith 350 1