BD (notes de cours).doc
VIII. Exercices de synthèse ... les formulaires, fiches... existant; dictionnaire des
données. ? MERISE ... C. Inconvénients de MERISE ...... A. Exercice employés. ...
Soit la base de données mémorisant les informations au sujet des employés des
...
Part of the document
Université Louis-Pasteur de Strasbourg
Département d'informatique
Bases de Données
Sylvain BRANDEL
Pôle API
Boulevard Sébastien Brant
67 400 ILLKIRCH
bureau C 126
tél : 03 90 24 45 68
e-mail : brandel@dpt-info.u-strasbg.fr
Notes de cours
(DESS CCI)
(Imprimé le 27 décembre 2005)
Table des matières
Chapitre 1 : BD et SGBD 3
I. Introduction 3
II. Analyse 3
III. Bases de données 6
IV. Système de Gestion des Bases de Données (SGBD) 7
Chapitre 2 : Le modèle relationnel 19
I. Définitions 19
II. Langages d'interrogation 20
III. Dépendances fonctionnelles 29
IV. Normalisation de relation 34
V. Insertion - suppression 41
VI. SQL 42
Chapitre 3 : Le modèle Entités / Associations 45
I. Entité 45
II. Association 45
III. Cardinalités et fonctionnalités 46
IV. Attribut 48
V. Règles de normalisation 49
VI. Passage du modèle E/A au modèle relationnel 50
VII. Concepts complémentaires} 52
VIII. Exercices de synthèse 55
BD et SGBD
Références :
Bases de Données objet et relationnel Introduction aux bases de
données, modèle relationnel
Georges Gardarin Richard Grin (support de cours)
éd. Eyrolles Université de Nice Sophia-Antipolis
1 Introduction
BD, c'est quoi ?
Déf. : Une BD est un ensemble de données modélisant les objets d'une partie
du monde réel et servant de support à une application informatique.
( ensemble :
. structuré
. permettant l'extraction d'informations de manière sélective par
plusieurs utilisateurs
Exemple : annuaire (Nom, Prénom, âge, CP, ville)
. d'abord un tableau (fichier) ( redondance
. 2ème tableau (CP, ville)
. 3ème tableau (âge) ? ( redondance calculée
Deux types d'opérations :
. Manipulation (utilisateur)
. Définition (concepteur, administrateur)
Tout ensemble de données ne justifie pas forcément une BD.
Exemple : CDs audio
. suffisamment de CDs pour nécessiter une indexation informatique
. mais si le seul but est d'imprimer la liste, un éditeur de textes
suffit
Déf. : Un SGBD est un logiciel permettant d'interagir avec une BD.
Exemples de SGBD : Access, Oracle. Pas SQL.
2 Analyse
Avant de penser BD, poser des questions, étudier, analyser les besoins.
Exemple : CD audio ( informatiser. Pourquoi ? dans quel but ? quand ?
comment ?
( analyse.
Exemple : Ecole. Dialogue avec la directrice.
. pour obtenir des règles de gestion
. pour étudier les formulaires, fiches... existant
. dictionnaire des données
( MERISE
1 Pourquoi MERISE ?
Problèmes des grosses applications :
. applications non coordonnées :
. redondance
. synonymes
. nombreuses interfaces
. difficultés de MAJ
. applications "touffues" :
. astuces de programmes, GOTO, optimisations ponctuelles
. absence de dossier
. absence de concertation ( résultats différents des souhaits
2 Principes de base
Méthode globale et intégrée :
. repenser en terme de SAI (Système d'Automatisation de l'Information)
et d'organisation
. intégrer les différents utilisateurs
Séparation Données / Traitements : analyses conduites séparément puis
confrontation
3 niveaux de modélisation, invariance décroissant (plus le niveau est
élevé, et plus le système est stable) :
. niveau conceptuel
. niveau organisationnel
. niveau technique
1 Niveau Conceptuel : "QUOI ?"
Que faire ? avec quelles données ?
( MCD (Modèle Conceptuel des Données) et MCT (Modèle Conceptuel
des Traitements)
1 MCD
aspect statique du Système d'Information, schéma entité / associations.
Entité : collection d'objets ayant des propriétés analogues et possédant un
identifiant.
Exemple : CLASSE < id-classe, nb-élèves, année >
Association : Lien logique entre plusieurs entités.
2 MCT
ce qu'il faut faire : QUOI (pas OU, QUAND ( organisationnel, pas COMMENT (
opérationnel).
Evénement : compte-rendu fait au SI que quelque chose s'est produit dans
l'univers extérieur ou dans le SI.
Les événements peuvent être :
. externes (par exemple une commande)
. internes (par exemple une facture)
Opération : actions accomplies par le SI en réaction à un (ou des)
événement(s).
2 Niveau Organisationnel : "QUI, QUAND, OU ?
( MLD (Modèle Logique des Données) et MOT (Modèle Organisationnel des
Traitements)
1 MLD
"Représentation du MCD en fonction de l'état de l'art technologique"
(Tardieu)
= MCD repensé.
2 MOT
Modéliser :
. les notions de temps et de durée
. les postes et leur responsabilités
. les lieux et leurs ressources
Exemples de règles d'organisation :
. à chaque livraison, le magasinier contrôle la marchandise livrée
. l'inventaire est effectué tous les ans les 29 et 30 décembre
3 Niveau Technique : "COMMENT ?"
Intègre les moyens techniques, matériels et logiciels.
( MPhD (Modèle Physique des Données) et MOpT (Modèle
opérationnel des Traitements)
1 MPhD
proposer une solution technique optimale pour l'implantation physique des
données et la description de leurs liens.
2 MopT
intégrer les contraintes techniques dans l'organisation des traitements.
3 Inconvénients de MERISE
Lourdeur :
. produit beaucoup de documents
. lourd pour des petites applications
Par rapport aux étudiants :
. lourdeur sur les exemples pédagogiques
. sentiment de flou : haut niveau d'abstraction, et méthodologie
rigoureuse mais non déterministe (possibilité de production de
différents algorithmes)
3 Bases de données
BD : Collection de représentation de la réalité sous forme de données inter-
reliées :
. cohérente, structurée
. avec une redondance calculée
. centralisée
1 Les précurseurs des BD : les systèmes de fichiers
Dans une entreprise, chaque service avait ses propres fichiers, développés
en fonction de ses besoins
( informations communes, sans que cela soit géré.
( redondance non gérée.
2 Redondance
Problèmes :
. volume de données important (moins grave actuellement : mémoires de
masse importantes)
. temps de saisie et de mise à jour : par exemple, si on dispose de 3
fichiers clients (factures, BL, étiquettes), la saisie d'un client
doit être effectuée trois fois, avec des risques d'erreur (fautes de
frappe entre deux saisies)
. difficultés de tenir à jour les informations pour "coller" à la
réalité
( manque de cohérence.
3 Cohérence
Etre juste par rapport à une certaine réalité, c-à-d intégrité des données.
La réalité doit être fixée sous forme de règles ou contraintes d'intégrité.
La BD est cohérente si elle respecte les contraintes d'intégrité énoncées
(dépendantes des applications).
Les règles définissant les liens entre les données de la base décrivent la
réalité.
Exemples de contraintes d'intégrité : BD clients / fournisseurs / produits,
avec commandes clients et fournisseurs :
. couleur autorisée pour un produit ({blanc, bleu, noir }
. chaque client, chaque fournisseur, chaque produit doit être identifié
de manière unique dans toute la base (( numérotation explicite)
. pour la gestion des commandes, les clients et produits intervenant
dans la transaction doivent exister
. tout client sauvegardé dans la base a passé au moins une commande
Les contraintes sont posées au départ :
. elles définissent la structure de la base
. elles doivent être vérifiées en permanence
4 Centralisation
La BD doit satisfaire une grande variété de demandes de renseignements
exprimée par de nombreux utilisateurs.
Les utilisateurs ont des exigences de réponse qui doivent être compatibles
avec leurs conditions de travail.
( BD : entité commune, centrale, à laquelle accèdent tous les utilisateurs.
L'utilisateur doit pouvoir travailler comme il l'a toujours fait, avec sa
propre vision de la BD.
4 Système de Gestion des Bases de Données (SGBD)
Un SGBD est une ensemble de logiciels permettant aux utilisateurs de
manipuler efficacement des données dans une grande masse d'information
partagée avec d'autres utilisateurs.
Différence avec les systèmes de fichiers : description des données séparée
de leur utilisation (description : définition des types par des noms, des
formats, des caractéristiques ; utilisation : interrogations, mises à
jour).
Le système est en fait un composant de plus bas niveau, englobé dans le
SGBD.
1 Historique
4 générations. Le début se situe vers 1965 avec le programme Apollo d'IBM.
1 1ère génération : fin des années 60
Exemple : TOTAL, IDMS.
Modèles réseau ou hiérarchique, organisés autour de types d'articles
constituant les n?uds d'un graphe, les arcs étant des types de pointeurs.
1 Modèles hiérarchiques
Les données sont représentées sous forme d'une structure arborescente
d'enregistrements. Cette structure est conçue avec des pointeurs et
détermine les chemins d'accès aux données.
Avantages :
. structure de donnée facile à comprendre
. chemins d'accès fixes : peu de commandes, simplicité des commandes
Inconvénients :
. organisation non naturelle
. contrôle de cohérence délicat
. coût élevé de la recherche, dû à l'unicité du chemin d'accès
2 Modèles réseau
La stru