2. 1. Introduction aux Base de données et SGBD
CHAPITRE
2. Algèbre relationnel et les requêtes SQL
3. Application avec Microsoft office Access
3. Objectif
• Savoir qu’est ce qu’un SGBD;
• Comprendre l’apport des bases de données;
• Connaître le modèle de données;
• Connaître le modèle relationnel;
• Mettre en œuvre une base de données : prise en compte
des problème d’optimisation, de gestion des droits
d’accès.
• Comprendre les problème liés à la conception de gros
systèmes d’information.
5. I. LES INSUFFISANCES DE L’APPROCHE
TRADITIONNELLE « Fichiers classiques »
Dans une approche traditionnelle d’une application
informatique, la structure, le contenu, ainsi que les supports de
fichiers sont définis dans un ou plusieurs programmes et sont
fonction de ceux-ci.
Mais ces fichiers qui ont été construits pour répondre aux besoins
de l’application, possèdent la plupart du temps des éléments
communs.
Ainsi, toute modification d’une donnée doit être opérée
plusieurs fois, afin de maintenir la cohérence entre différents
fichiers.
7. L’utilisation de cette approche comporte les principaux défauts
suivants :
1. Il y’a redondance d’informations dans les fichiers.
2. A chaque mise à jour un programme s’exécute.
3. Les programmes exigent des enregistrements dont la
structure est fonction de la nature de l’application.
CONCEPT DE BASE DE DONNÉES
A cause des insuffisances de l’approche traditionnelle, une
tendance s’est développée, pour combiner toutes les
informations importantes de l’entreprise dans un seul
« réservoir de données, qui n’est en fait qu’un ensemble
organisé et intégré de données. Cette base de données servira au
stockage des données et sera entièrement centralisée.
Dans l’idéal il n’existe qu’un exemplaire de chaque élément de
données.
8. La principale caractéristique de cette nouvelle approche de
gestion de donnée est le renversement de la hiérarchie
« Traitement – Donnée » ; c’est-à-dire le fait de briser la
dépendance entre les traitements et les données.
Saisie de données Stockage Extraction Utilisation
9. L’apport des concepts de base de données devra assurer les
grandes fonctions suivantes :
1. L’intégration des données afin d’éviter l’incohérence de
données dupliquées.
2. La séparation entre les moyens de stockage physique des
données et la logique des programmes.
3. Un contrôle unique de toutes les données afin de permettre
l’utilisation simultanée par plusieurs utilisateurs.
4. Des facilités pour le stockage, la modification, la
réorganisation, la consultation … , sans restriction aux
utilisateurs.
5. Des contrôles de sécurité afin d’empêcher l’accès illégal à
certaines données.
6. Des contrôles d’intégrité pour prévenir de fausses
manipulations.
7. La compatibilité avec les principaux langages de
programmation.
10. III. Définitions :
On définit une base de données comme un ensemble de
données structuré, enregistrées sur les support accessibles par
l’ordinateur, pour satisfaire simultanément plusieurs
utilisateurs de façon sélective et en temps opportun.
Autrement, base de données (BD) = ensemble de données
accessibles et exploitables au moyen d’un ensemble de
programmes.
Une BD est faite pour enregistrer des faits, des opérations au
sein d'un organisme (administration, banque, université,
hôpital, ...).
11. Quelles données ?
Les données sont omniprésentes autour de nous ...
• Base de données sur des films.
• Base de données bibliothécaire.
• Location de voitures / Réservation de place d’avion
• Sécurité sociale (carte Chifa), Hôpitaux, ...
• Communications téléphoniques (opérateurs).
• Systèmes d’information géographique.
Exemple :
Les données sont omniprésentes autour de nous ... dans l’entreprise
•Les clients
•Les produits
•Les commandes
•Les factures
12. IV. Fonctions d’un SGBD
Le logiciel qui permet à un utilisateur d’inter-agir avec une telle base de données est
un système de gestion de base de données (SGBD) qui permet principalement
d’organiser les données sur le support périphérique (disque, disquette, bande etc.) et
fournit les procédures de recherche et de sélection de ces mêmes données.
1. La fonction description
Le SGBD doit mettre à la disposition de l’utilisateur un outil pour décrire l’ensemble
des données qui seront stockées dans la base.
2. La fonction utilisation
Elle a pour but d’offrir à l’utilisateur une interaction avec la base de données sous
forme de dialogue pour sélectionner et mettre à jour les données.
3. La fonction intégrité
Le SGBD doit offrir à l’utilisateur la possibilité de définir des règles qui permettent de
maintenir l’intégrité de la base de données.
4. La fonction confidentialité
Le SGBD doit offrir des mécanismes permettant de vérifier les droits d’accès des
utilisateurs.
5. La fonction concurrence d’accès
Le SGBD doit offrir des mécanismes qui permettent de détecter les cas où il y’aurait
conflit d’accès pour une même donnée par
des utilisateurs différents et de traiter ces cas de conflits.
13. V. Les différents niveaux de représentation d’une base de données
Il existe 3 niveaux de représentation d’une base de données
• Le niveau interne avec le schéma physique.
• Le niveau conceptuel avec le schéma conceptuel.
• Le niveau externe avec les schémas externes qui correspondent à
différents groupes d’utilisateurs.
6. La fonction sécurité de fonctionnement
En cas d’incident ayant pour origine le matériel ou le logiciel la base de
données n’est plus opérationnelle ; afin d’assurer le redémarrage du système
lorsque l’incident a été supprimé, le SGBD doit permettre la prise de point de
contrôle pour remettre la base de données dans un état correct.
16. Modèles de données
Un modèle de données est un ensemble de concepts pour décrire les
données du monde réel, les liens entre les données et la sémantique
des données.
Qu’est-ce qu’un modèle de données ? Tout SGBD est conçu
autour d’un modèle de données bien défini. Il s’agit de la
combinaison de trois éléments :
– Une structure, qui correspond à l’organisation logique des
données, la forme sous laquelle les utilisateurs vont les percevoir ou
les représenter.
– Des contraintes d’intégrité, que l’on peut définir sur les données,
afin d’en assurer l’intégrité et la cohérence avec le monde réel et les
besoins des applications.
– Des langages de manipulation des données, pour les mises à
jour et les interrogations.
17. On distingue généralement deux catégories de modèles de données :
Les modèles orientés information ->définition du schéma conceptuel
modèle entité-association et ses dérivés (MERISE, ...)
les modèles orientés données ->mise-en-œuvre du SGBD
modèle relationnel, modèle hiérarchique, modèle réseau
18. 2.2 Modèle Conceptuel de données (MCD)
Après la phase d’analyse, nous pouvons commencer à représenter les
informations sous forme conceptuelle. Le modèle Conceptuel de données
(MCD) que nous allons construire contient deux éléments principaux: les
entités et les relations.
Le modèle Entité-Association
EA en français, ER en anglais (pour Entity Relationship), c’est un
formalisme retenu par l'ISO pour décrire l'aspect conceptuel des données à
l’aide d’entités et d’associations.
– Structure : Entités (avec des attributs) et associations entre des entités.
– Contraintes d’intégrité : identifiants, cardinalités sur les associations.
– Manipulation : aucun.
La construction du MCD se fait en quatre étapes:
a. repérage des entités,
b. construction des entités, choix des propriétés,
c. Construction des relations,
d. Choix des cardinalités.
19. 1. Entité et type d’entité
Entité : représentation d’un objet du monde réel ayant une existence propre
Type d’entités (TE) : représentation d’un ensemble d’entités perçues comme
similaires et ayant les mêmes caractéristiques
20. Repérage des entités :
Une entité est un composant du problème : une personne, une facture,
un livre, ... C'est la représentation d'un objet matériel ou immatériel
pourvu d'une existence propre et conforme aux choix de gestion de
l'entreprise. Comme dit plus haut, ce que l'on considère comme entité
est un type général (ex : l'entité personne représente toutes les
personnes) à ne pas confondre avec une occurrence d'entité (Jean
Martin étant une personne, on le considère comme une occurrence de
l'entité personne). Une entité doit avoir une existence
indépendamment de toute autre entité.
21. Association et type d’associations
Association : représentation d’un lien entre plusieurs objets
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.
23. Une association est caractérisée par :
Un rôle pour chacun des types d’entités;
Un nom éventuellement suivi d’une flèche précisant le sens de
lecture;
Des cardinalités indiquant le nombre d’objets li´es par une
association;
Dans une association chaque objet joue un rôle déterminé,
association binaire : 2 rôles
24. 4. Cardinalité:
Elles expriment le nombre de fois ou l’occurrence d’une entité
participe aux occurrences de la relation.
La cardinalité minimale (0 ou 1) exprime le nombre de fois
minimum qu’une occurrence d’une entité participe aux
occurrences d’une relation.
La cardinalité maximale (1 ou n) exprime le nombre de fois
maximal qu’une occurrence d’une entité participe aux
occurrences de la relation.
Contraintes de cardinalité
Une personne peut ne pas avoir de voiture, en avoir 1, 2,· · ·
,n : 0 :n
Une voiture a un et un seul propriétaire : 1 :1
26. Deux rôles (au moins) lient le même type d’entité
Une personne femme est mariée à personne Marie
27. L’identifiant
Une de ces propriétés a un rôle bien précis, c’est l’identifiant
nommé aussi la clé.
L’identifiant permet de connaître de façon sûre et unique
l’ensemble des propriétés qui participent à l’entité. Par exemple,
le fait de connaître la ville d’un client permet il de connaître son
nom ? La réponse est non. La connaissance du nom du client
permet elle de connaître sa ville ? La réponse est toujours non,
car en cas d’homonymie la confusion entre un Durand Max et un
Durand Raymond est totale.
Il faut donc trouver, ou inventer, une propriété qui lorsque sa
valeur est connue permet la connaissance de l’ensemble des
valeurs qui s’y rattachent de façon formelle.
Ainsi, lorsque le numéro du client est connu, son nom, son
prénom et toutes les valeurs des autres propriétés qui s’y
rattachent sont connues de façon sûre et unique.
28. Introduction au Modèle Logique des Données
Le Modèle Logique des Données (MLD) est la suite normale du processus
Merise. Son but est de nous rapprocher au plus près du modèle physique.
Pour cela, nous partons du Modèle Conceptuel des Données et nous lui
enlevons les relations, mais pas n’importe comment, il faut en effet respecter
certaines règles. Voici la procédure à suivre.
1. Cas (0, n), (1,1) ou (1,n), (0,1)
Voici un modèle conceptuel de départ :
Nous devons supprimer la relation Elever, cela se réalise de façon tout à fait
mécanique. L’entité ayant la cardinalité
de type 1,1 ou 0,1 absorbe l’identifiant de l’entité la plus forte (0, n ou 1, n).
Cet identifiant est alors appelé la clé étrangère.
Voici le Modèle Logique des Données découlant du Modèle conceptuel
précédent :
29. 2. Cas (0,n), (0,n) ou (1,n), (1,n)
Illustrons ce cas sur le Modèle Conceptuel des Données suivant :
30. Dans le cas où la cardinalité maximale est n de chaque côté de la relation,
celle-ci se transforme en entité et absorbe les identifiants de chaque entité
reliée. Les identifiants ainsi absorbés forment la nouvelle clé de l’entité.
Cette nouvelle clé est donc formée par la concaténation des clés étrangères
des entités reliées.
31. 4. Règles simples de passage du MCD au MLD
• L’entité qui possède la cardinalité maximale égale à 1,
recevra l’identifiant ou les identifiants des entités ayant les
cardinalités maximales les plus fortes.
• Les relations ayant toutes leurs entités reliées avec des
cardinalités maximales supérieures à 1, se transformeront
en entité en absorbant les identifiants des entités jointes.
• Toute relation porteuse de propriétés se transformera en
entité et absorbera comme clé étrangère les identifiants
des entités qui lui sont liées.
Modèle Physique des Données
Construire le Modèle Physique des Données consiste à
transformer le Modèle Logique des Données en une suite
de
relations. Cette étape finalise le processus de traitement
des données. L’implémentation des bases de données
peut
32. Exercice d’Application
• On veut représenter la gestion de la SACEM :
Nous devons représenter :
Des livres avec : numéro du livre (ISBN), Titre du livre
Des auteurs avec : Numéro de l’auteur, nom de l’auteur
Des éditeurs avec : Numéro d’éditeur, nom de l’éditeur
Des dépôts avec : Numéro de dépôt, nom du dépôt
• Attention : ici un « livre » n’est pas le « livre physique » (un
exemplaire) mais plutôt une « édition »
• L’investigation du domaine a permis de définir les règles
suivantes :
un livre peut être :
Écrit par plusieurs auteurs
Édité par plusieurs éditeurs, mais une seul fois par chacun
d’entre eux. Pour distinguer, on donne alors l’année éditions
Stocké dans plusieurs dépôts, et cela pour chaque éditeur.
• Chaque livre stocké est stocké avec une quantité définie.
• Donner le schéma entité-association et les éventuels contraintes
d’intégrité correspondant à cet énoncé.
33. Exercice:
Un historien souhaite établir des statistiques sur des soldats de
la Première Guerre mondiale. Pour chaque soldat, outre l'état-
civil, il souhaite avoir la trace :
de la date de son décès si celui-ci est survenu suite aux
combats
des blessures reçues (type et date de la blessure, en plus de la
bataille où elle a été infligée. Les batailles seront référencées
dans une liste comportant le lieu, les dates de début et de fin)
des grades obtenus (avec les dates)
de l'unité de rattachement (avec les dates)
Etablir le MCD, le MLD et le MPD adéquats.
34. • Schéma : description des données selon un modèle
(ensemble de concepts qui permettent de décrire la structure
de la BD et ses contraintes)
• Instance de BD : Etat de la BD à un instant donné (données
dont la description est réalisé par le schéma)
• Modèles de données de différents niveaux :
– Conceptuel (description du SI)
– Logique (interface avec le SGBD)
– Physique (fichiers),
Au niveau logique, les modèles proposent :
• Un langage de définition du données (structure et
contraintes) (LDD);
• Un langage de manipulation de données (LMD) (Langage
de requêtes);
Les SGBD permettent de construire des interfaces
graphiques, à formulaires,
36. Dans un schéma relationnel, on a besoin de systèmes spécifiques pour
conserver et manipuler les données.
- Les données sont représentées dans des tables
• Les lignes sont des entités
• Les colonnes sont des propriétés
- Le découpage en tables demande une analyse et une optimisation
- L’analyse doit aller au-delà des besoins immédiats (abstraction)
Base de données = ensemble de tables
- Chaque table a un nom unique (ex : Film)
- Chaque table contient les données relatives à des entités de même nature.
- Chaque ligne (enregistrement) d’une table décrit les données relatives à
une entité.
- Chaque colonne d’une table décrit une propriété des entités (ex : Prix).
- Les lignes d’une table sont distinctes.
- Les noms de table et de colonnes constituent le schéma de la base.
- Les lignes (entités) constituent le contenu de la base.