Lic Pro AES 2011
Méthodes de conception de bases de données
Joël Quinqueton Licence Pro LIPAE, Université
Montpellier III
Lic Pro AES 2011
Les méthodes
• Modèle E/A (Entité Association) – Schéma conceptuel
– Schéma SQL
• Implémenter une base de données – Le langage SQL
– Création des tables
– Les requêtes et les formulaires
• Les index et leur rôle dans une base de données
Modèle entité Association
• Entités: celles du monde que l’on veut représenter dans cette base
– Ont des attributs (informations)
• Associations: relient des entités
– Peuvent avoir des propriétés (attributs)Lic Pro AES 2011
Exemple 1
• Gérer un centre de distribution
• 3 types d’objets:
– Fournisseurs – Produits – Livraisons
produits livraisons fournisseurs
Lic Pro AES 2011
Exemple 2
• Gérer un club sportif (sport individuel)
• 3 types d’objets:
– Adhérents – Compétitions – Résultats
adhérents résultats compétitions
Lic Pro AES 2011
Exemple 3
• Gérer un parc automobile
• 3 types d’objets:
– Conducteurs – Véhicules – Cartes grises
conducteurs Carte grise véhicules
Lic Pro AES 2011
Cardinalités des relations
• Pour chaque entité-1: N
1entités-2
• Pour chaque entité-2: N
2entités-1
• On met le minimum (0 ou 1) et le maximum (1 ou N)
Entité-1 N1 association N2 Entité-2
Lic Pro AES 2011
Exemples
produits livraisons fournisseurs
adhérents résultats compétitions
conducteur Carte grise véhicule
1-N 1-N
1-N
1-1 0-N
0-N
Exemple 1 (rappel)
• Gérer un centre de distribution
• 3 types d’objets:
– Fournisseurs – Produits – Livraisons
produits livraisons fournisseurs
Lic Pro AES 2011
Modèle entité association
produits
fournisseurs
livraisons
1-N
1-N
nom ville
prix type
Lic Pro AES 2011
Exemple de schéma
texte texte nombre
Ville Nom
N°
texte nombre
Type N°
nombre nombre nombre
Prix produit Fournis.
fournisseurs
produits
livraisons
Lic Pro AES 2011
Exemple 1: tables
grue 15
poupée 57
avion 14
Type N°
57 57 46
100 15
46
60 57 152
110 15
81
550 14
81
500 14
152
50 57 376
1000 15
152
Prix N° pièce N° four.
fournisseurs
produits
livraisons
Bombay Fisher
46
Pékin Barbie 259
Seychelles Barbie
376
Paris Duplo
81
Pékin Duplo
174
New York Fisher
152
Ville Nom
N°
Lic Pro AES 2011
Passage E/A vers relationnel
• Relation pour chaque Entité ou Association
• Différentes solutions selon la cardinalité
– Pas besoin de relation pour uneassociation (1-1, 1-N) en général – Les entités peuvent être dans une même
relation en cas d’association (1-1,1-1)
Lic Pro AES 2011
Implémenter une base de données
• création, suppression, modification:
– de table – de ligne
• Identifiants
• Contraintes référentielles
• Colonnes obligatoires
• Type des valeurs
Exemple: relations
• Modèle relationnel:
– Fournisseur(n°, nom, ville) – Produit(n°, type)
– Livraison(n°four., n°pièce, prix)
•
Les clés primaires et étrangères sont spécifiéesLic Pro AES 2011
Exemple: schéma SQL
texte texte nombre
Ville Nom
N°
texte nombre
Type N°
nombre nombre nombre
Prix N° pièce N° four.
fournisseurs
produits
livraisons
Lic Pro AES 2011
Création d’une table
• Create table fournisseurs (
– Numero int(6),– Nom varchar(20), – Ville varchar(20) – ) primary key (numero);
Varchar(20) Varchar(20)
Int(6)
Ville Nom
Numero
fournisseurs
Lic Pro AES 2011
Remplissage d’une table
• Insert into
fournisseurs values (152, ‘Fisher’, ‘New York’);
• …
Bombay Fisher
46
Pékin Barbie 259
Seychelles Barbie
376
Paris Duplo
81
Pékin Duplo
174
New York Fisher
152
Ville Nom
N°
Lic Pro AES 2011
Effacement d’une table
• Drop fournisseurs;
– Efface les tuples de la table – Détruit la structure de la table
• Delete * from fournisseurs;
– Efface les tuples de la table
Lic Pro AES 2011
Mise à jour
• Update <table>
– set<att=val>
– where …
• Peut mettre à jour plusieurs tuples
• Exemple:
– Update tab set att=att+1 where att > 10;
Les index
• Manière de localiser une information par son contenu:
– Nom =‘Barbie’?
• Exemples:
– Répertoire, dictionnaire – B-arbre
– Hash-coding (ou hashage)
Lic Pro AES 2011
Dictionnaires
• Savoir si un nom figure dans un Carnet d’adresses contenant N adresses:
– Index à 1 lettre: N/26 étapes en moyenne, taille de l’index = 26
– Index à 2 lettres: N/262 étapes, taille = 262
• Problème: les lettres les plus occupées sont aussi les plus demandées dans les requêtes
Lic Pro AES 2011
Arbres binaires
• Soit une liste de valeurs à indexer – Par exemple une liste de noms
– On la coupe en 2 parties de taille quasi égale – On retient l’élément du milieu, et les deux listes des
précédents et suivants – On recommence sur les sous listes
• Facile à mettre à jour
• Temps d’accès quasi constant (si l’arbre est
« équilibré »)
Lic Pro AES 2011
D, C, A, F, H, Z, M, P, N
• Albert – Coralie
Doris
– Francine• Herbert
» Maureen
» Norbert
» Patrick – Zoé
D
N C
A
F
M Z
P H
Lic Pro AES 2011
Rééquilibrer l’arbre
A, C, D, F, H, M, N, P, Z
A, C, D, F M, N, P, Z
H
Lic Pro AES 2011
B-Arbre obtenu
H
Z P M
N
D F C
A
Mise à jour
H
Z P M
N
D F C
A
G
Lic Pro AES 2011
Exemple 1: tables
57 57 46
1000 15
46
60 57 152
1100 15
81
5500 14
81
5000 14
152
50 57 174
1000 15
152
prix npièce nfour.
fournisseurs
produits
livraisons
Bombay Fisher
46
Pékin Barbie 259
Seychelles Barbie
376
Paris Duplo
81
Pékin Duplo
174
New York Fisher
152
Ville Nom
N°
grue 15
poupée 57
avion 14
Type N°
Lic Pro AES 2011
Les projets 2009
• Association sportive: Loïc et Sébastien
• Association culturelle
– Diffusion (festival): Stéphanie et Cécile – Production (théâtre): Aline et Sylvia
• Association médico-sociale (aide à domicile): Fanny et Fabien
• Association de réinsertion: Nora et Anne
Lic Pro AES 2011
Festival culturel
• Entités pour les spectacles:
– Compagnie – Spectacle – Bénévole – Lieu – Matériel
• Entités pour la buvette – Fournisseur, matière première – Repas: plat + dessert + boissons(s) – Prix
Lic Pro AES 2011
Production théatrale
• Salle fixe, 2 spectacles/semaine, 2 salariés
• Entités pour le spectacle:
– Type de spectateur – Type de prix
– Compagnie, représentation
• Entités pour le bar – Consommation – Fournisseur – Produit
• Entité à placer: bénévole
Lic Pro AES 2011
Association de réinsertion
• Une maison relais
• Entités:
– Actions – Prestations – Partenaires
– Allocataires (« clients »)
Association de services à la personne
• Service aux personnes agées, 20 communes
• Entités:
– Secteur géographique – Activité
– Prestataire – Client – Référent – Matériel
Lic Pro AES 2011
Association sportive
• Curling: équipes de 3, entraineur
• Entités:
– Club – Personne – Équipe – Matériel – Compétition – Patinoire