2 Pages/Page

publicité
F IGURE 1.2 – Disque dur
Quelques concepts de base
1
Une donnée est une représentation de l’information. Une donnée possède un type et
une valeur. Le type de donnée définit la nature du codage et les opérations autorisées sur
une donnée. Une donnée peut être simple ou complexe. Elle est dite simple si elle est non
décomposable, alors qu’elle est dite complexe si elle est composée de données simples ou
complexes.
1.1
Dans ce chapitre vous allez découvrir les SGFs et leurs inconvénients, les bases de données
et leurs avantages, et les systèmes de gestion des bases de données.
Historiquement les premières techniques de gestion des données se basent sur la notion
des fichiers. Un fichier est une collection d’informations numériques réunies sous le même
nom. On parle alors des systèmes de gestion de fichiers (SGF) qui ont été utilisés à partir
des années 50. Vers des années 70 on commence à parler des Systèmes de Gestion des
Bases de Données (SGBD), proposant une philosophie différente de celle des SGFs.
F IGURE 1.1 – Bande Magnétique
Le monde de l’informatique a connu une évolution effervescente depuis l’apparition du
premier ordinateur l’EDVAC en 1945 jusqu’à aujourd’hui. Au début de l’ère informatique,
l’utilisation de l’ordinateur s’est limité à effectuer des calculs. Grâce à l’apparition des supports de stockage comme les bandes magnétiques (Figure 1.1) et les disques durs (Figure
1.2), les informaticiens se sont intéressés à la sauvegarde et à la gestion des données.
Introduction générale
Chapitre 1
1.2. L’APPROCHE FICHIER
2
Faiez CHARFI (ISET Sfax)
E XEMPLE 1.1.
L’approche fichier
Dans l’exemple 1.3 précédent chacune des deux applications utilise un fichier Ventes. On
remarque que ces deux fichiers ont été utilisés au lieu d’un seul. Ceci nous renvoie à certains inconvénients de l’approche par fichier.
Soit deux applications : Paie et Facturation (Figure 1.3). La Facturation se base sur un
fichier Ventes afin de pouvoir générer les factures clients, et la Paie permet de cacluler
le salaire des employés en se basant sur leurs salaires de base (fichier Salaires) et sur le
pourcentage des ventes réalisées (fichier Ventes).
E XEMPLE 1.3.
L’approche fichier est l’approche traditionnelle. Dans cette approche les données des fichiers sont décrites dans les programmes. Chaque application se base sur un ou plusieurs
fichiers.
1.2
Les données doivent être mémorisées pour pouvoir être exploitées ultérieurement. On distingue trois mémoires :
— La mémoire centrale est une mémoire volatile. Il s’agit de la RAM. Cette mémoire
sert à héberger les programmes en cours d’exécution et leurs données.
— La mémoire secondaire est une mémoire permanente. Il s’agit du disque dur. Elle
sert à stocker les données dans des fichiers ou des bases de données.
— La mémoire tertiaire est une mémoire permanente utilisée pour la sauvegarde. Il
s’agit de disque dur externe, disque optique (CD, DVD), clé USB, etc. Ce type de
mémoire sert généralement à transférer les données ou à les dupliquer pour des
raisons de sécurité.
On pose Adr une donnée pour représenter l’adresse d’un étudiant. Adr est de type
chaine de caractères. Un exemple de valeur de l’attribut Adr est : Route Mahdia Km
2,5. Sfax. 3000. TUNISIE. Cette adresse peut être décomposée en un ensemble d’autres
attributs : Rue, Ville, Code postal, et Pays. Par conséquent Adr est une donnée
complexe.
E XEMPLE 1.2.
On pose NCC une donnée pour représenter la note de contrôle continu. NCC est de type
Réel (codée sur 4 octets), les opérations permises sur NCC sont : l’addition, la soustraction, la multiplication et la division. 12,75 est un exemple de valeur de l’attribut NCC.
Systèmes de Gestion des Bases de Données - Notes de Cours
Inconvénients de l’approche par fichier
Système de Gestion de fichiers
Titre
Auteur
Editeur
Date
Un système de gestion des fichiers doit assurer les opérations suivantes :
— Création et destruction d’un fichier.
— Ouverture et fermeture d’un fichier.
— Insertion, modification et suppression d’un article.
— Rechercher un article dans un fichier.
La figure 1.4 montre un exemple qui illustre le contenu du fichier Livre. Ce fichier
comporte trois lignes de données ou encore trois articles.
Le champ CodeLivre permet d’identifier un article du fichier Livre. Par conséquent, ce
champ est appelé Clé.
Code
Cette section présente sommairement la notion de gestion de fichiers. Tout d’abord, rappelez vous qu’un fichier est un ensemble de données semblables physiquement regroupées
sur un support. Un fichier est composé d’un ensemble d’articles. Un article est une unité
d’information associée à une instance d’un fichier. Par exemple, les informations d’un seul
livre du fichier Livre. Un article est composé par un ensemble de rubriques ou de champs.
Par exemple, les articles du fichier Livre sont composés des champs :
1.2.2
Les principaux inconvénients de l’approche par fichier sont :
— Redondance des données : Cette redondance génère certains problèmes, à savoir, la multiplication des tâches de saisies et des mises à jour, la multiplication des
programmes de contrôles, l’augmentation du volume des données sur le support de
stockage physique et l’incohérence des données.
— Impossibilité de partager les données entre les applications car elles ne peuvent
pas accéder simultanément aux fichiers.
— Difficultés d’accès à l’information : Il n’existe pas une seule technique pour accéder aux informations dans un fichier. De plus, les fichiers ne se trouvent pas forcément sur le même support logique ou physique. Il est à noter que le programme
permettant d’extraire une information à partir d’un fichier volumineux peut consommer beaucoup de temps pour réaliser cette tâche.
1.2.1
F IGURE 1.3 – Exemple de l’approche par fichier
Document edité avec LATEX
3
1.3. L’APPROCHE BASE DE DONNÉES
4
Faiez CHARFI (ISET Sfax)
Systèmes de Gestion des Bases de Données - Notes de Cours
INTRODUCTION GÉNÉRALE
Définitions
1.3.1
Les bases de données
Les données doivent être bien structurées pour permettre un développement cohérent des
applications futures, sachant que la structure de stockage des données doit être indépendante des applications. Autrement il y a une séparation entre les données et les traitements. Un utilisateur peut manipuler directement ou via des applications les données stockées. Cette manipulation consiste à réaliser quatre opérations possibles :
— Insertion
— Modification
— Suppression
— Extraction
La figure 1.5 illustre l’approche par base de données. Selon cette figure vous pouvez remarquer que les données sont centralisées, elles sont partagés entre plusieurs applications, et
qu’il n’y a plus redondance.
L’approche Base de données a été proposée pour résoudre les problèmes de l’approche
par fichier, notamment la redondance, l’incohérence, le partage de données et l’accès à l’information. Une base de données est une collection de données qui peuvent être reliées entre
elles, et qui sont stockées sans redondance inutile. Une base de données peut être utilisée
par plusieurs applications.
1.3.2
D ÉFINITION 1.2.
Un système de gestion des bases de données est un logiciel spécialisé pour la gestion
automatisée des bases de données.
D ÉFINITION 1.1.
Une base de données est un ensemble de données qui sont fortement structurées,
persistantes, et dont la structure est définie dans un schéma. Les données d’une base de
données sont gérées par un système de gestion de base de données.
L’approche base de données
1.3
F IGURE 1.4 – Un exemple de fichier de données : Livre.dat
Systèmes de Gestion des Bases de Données - Notes de Cours
Les Systèmes de Gestion des Bases de Données
Les utilisateurs exigent que leurs bases de données soient sécurisées, autrement pas de
risque de perte de données. Pour garantir cette sécurité un SGBD possède des mécanismes de reprise après panne et de journalisation permettant d’assurer la continuité
et la restauration l’état des données suite à des pannes éventuelles.
Extraire une information à partir d’une base de données volumineuse est une tâche qui
peut consommer du temps. Pour garantir un accès rapide et performant aux données, un
SGBD utilise des techniques tel que l’indexation, le hashage, les arbre balancés, etc.
De même un SGBD doit garantir la confidentialité des données de la base, et ceci via
le contrôle des autorisations et des droits d’accès des utilisateurs. Il doit assurer qu’une
base de données soit partagée entre plusieurs utilisateurs en même temps et ceci via des
mécanismes de contrôle d’accès concurrents. L’accès concurrent consiste à gérer des
transactions simultanées sur les même lignes de données toute en préservant la cohérence de la base de données.
Extraction : Un SGBD permet l’interrogation de la base de données, d’une manière interactive ou via des programmes.
Manipulation : La manipulation de données consiste à ajouter, modifier, supprimer et
extraire des données. Un SGBD permet de manipuler les données via un langage
de manipulation de données (LMD). L’interrogation de données peut être effectuée d’une manière interactive via le LMD ou bien avec des programmes. Lors de la
manipulation des données le SGBD doit garantir le contrôle d’intégrité des données.
Description : A partir d’une représentation abstraite des données, le SGBD doit assurer
la description de la structure physique des données. Pour effectuer cette description
un SGBD offre un langage de définition de données (LDD)
Un Système de Gestion de Bases de Données (SGBD) est un ensemble de programmes
permettant d’assurer la gestion et le contrôle automatique des Bases de données. Les principales fonctions que doit assurer un SGBD sont :
1.3.3
F IGURE 1.5 – Approche Base de données
Document edité avec LATEX
5
1.3. L’APPROCHE BASE DE DONNÉES
6
Faiez CHARFI (ISET Sfax)
Systèmes de Gestion des Bases de Données - Notes de Cours
INTRODUCTION GÉNÉRALE
E XEMPLE 1.4.
Accès concurrent : L’admisitrateur et un étudiant veulent accéder simultanément à
la même ligne de données. L’administrateur veut modifier la note de DC et
l’étudiant veut lire toutes ces notes. Une des solution que le SGBD peut effectuer
est de vérrouiller l’accès à la valeur de DC jusuq’à ce que la modification soit
terminée.
L’administrateur peut accéder à toutes les lignes de données des notes des
étudiants. Il a le droit d’ajouter, modifier, supprimer et de lire ces données.
Contrôle et droit d’accès : Un étudiant ne peut accéder qu’aux lignes de données qui
le concerne. Le SGBD ne l’autorise pas à accéder aux données d’un autre étudiant.
L’accès d’un étudiant à ces propres données s’effectue en mode lecture seule.
Contrôle d’intégrité : La valeur de la note de Devoir de Contrôle (NDC) doit être
comprise entre 0 et 20.
Soit une base de données qui gère les données de scolarité. Cette BD contient une table
dans laquelle sont enregistrées les notes des étudiants par module (Figure 1.6).
Plusieurs utilisateurs peuvent accéder à cette base de données. Cet exemple se limite à
deux étudiants, ayant respectivement les matricules 125621 et 125622, et un
administrateur.
F IGURE 1.6 – Exemple d’une base de données
Systèmes de Gestion des Bases de Données - Notes de Cours
Architecture des SGBDs
1. American National Standards Institute
2. Standards Planning And Requirements Committee
— Application 1 : Gestion des notes (MatriculeEtd, CodeMod, CodeMat, NNP, NDC,
NDS, Moyenne)
— Application 2 : Gestion des Enseignants(NSS, Prenom, Nom, Adr, NumTel1,
NumTel2, Specialité)
— Application 3 : Gestion des Livres (CodeLivre, Titre, Auteurs, Editeur,
DateEdit, ISBN)
Les données d’un institut ou école : Enseignants, Etudiants, Notes, Livres, Emprunts,
Salle, etc. Chaque application a une vue de la base de données :
E XEMPLE 1.5. (Indépendance logique)
Indépendance physique : Elle consiste à permettre la modification de la structure de
stockage ou les index sans répercussions sur les applications. Ainsi, les disques, les
méthodes d’accès aux données, et le codage des données ne sont pas apparents aux
utilisateurs (voir Exemple 1.6).
Indépendance logique : Les applications des utilisateurs ont des vues différentes des
données. La modification du schéma logique de la base de données par les administrateurs n’a aucun impact sur les applications et leurs vues (voir Exemple 1.5).
Avec cette architecture il y a une indépendance des données, indépendance logique et
indépendance physique :
F IGURE 1.7 – Architecture d’un SGBD
L’architecture des SGBDs modernes est basée sur l’architecture ANSI 1 /SPARK 2 . C’est
une architecture fonctionnelle qui s’articule sur trois niveaux : interne, conceptuel et externe (Figure 1.7).
1.3.4
Document edité avec LATEX
7
1.4. MODÉLISATION DES DONNÉES
8
Faiez CHARFI (ISET Sfax)
Systèmes de Gestion des Bases de Données - Notes de Cours
INTRODUCTION GÉNÉRALE
Exemples de SGBDs
The Document Foundation
LibreOffice Base
Modélisation des données
Oracle
OpenOffice Base
LGPL
LGPL
Propriétaire
Modèles de données
La figure 1.8 illustre les principales phases de modélisation de données. Avant la conception et l’implémentation d’une application de bases de données, il est nécessaire d’effectuer
des interviews avec les utilisateurs de l’application future. C’est l’étape d’analyse et de captures des besoins. Ces interviews permettent de savoir quel est le besoin en information
1.4.1
La modélisation conceptuelle est une phase importante pour réussir une application de
base de données. Une application de base de données réfère à la base de données et les
applications qui y sont associées. Dans cette section, vous allez découvrir les différentes
étapes nécessaires pour concevoir les données, les différents types de modèles de données,
et un aperçu sur le modèle Entité/Association.
1.4
MicroSoft
Propriétaire
SQLServer
MicroSoft Office Access
GPL
SQLite
MicroSoft
GPL
GPL
Propriétaire
Licence
PostgreSQL
Oracle & MySQL AB
MySQL
Editeur
Oracle
Logo
ORACLE Database
Nom
Le tableau suivant illustre les SGBDs les plus populaires sur marché.
1.3.5
Structure Logique : {Nom, Prénom, Adresse, Fonction, Enfants {Prénom,
Age}}
Structure Physique : Un seul fichier, ou deux fichiers Employé et Enfant, reliés par
des pointeurs.
E XEMPLE 1.6. (Indépendance physique)
Systèmes de Gestion des Bases de Données - Notes de Cours
Modèle Logique de Données (MLD) : Après avoir conçu les données il faut les implémenter sur un SGBD. La modélisation des données dans un SGBD peut être selon
l’un des modèles :
— Réseau
— Hiérarchique
— Relationnel
— Objet
Modèle Conceptuel de Données (MCD) : Ce modèle est obtenu à partir des besoins de
données collectées après la phase de l’analyse et capture des besoins. Le MCD est
une description concise des données requises par les utilisateurs. Le MCD inclut une
description détaillée des Entités, des relations entre elles et des contraintes.
Il existe plusieurs formalismes permettant de créer un MCD : Entité/Association
(E/A), UML, MERISE, SADT/SART, OMT, etc.
F IGURE 1.8 – Principales phases de la conception des données
Après la phase d’analyse on passe par trois étapes de modélisation : Conceptuelle, Logique
et Physique. Un modèle de données correspond à chacune de ces étapes.
et quels sont les règles utilisées pour traiter les informations et pour réaliser les calculs.
A partir de cette étape on peut déterminer le besoin de données, qui est une sorte de dictionnaire de données dans lequel on trouve les descriptions de données récoltées {Attribut,
Type, Taille, Description, Contrainte}.
Systèmes de Gestion des Bases de Données - Notes de Cours
Document edité avec LATEX
9
1.4. MODÉLISATION DES DONNÉES
10
Faiez CHARFI (ISET Sfax)
INTRODUCTION GÉNÉRALE
MLD
Modèle Entité/Association
(NumActeur, NomActeur, PrenomActeur)
(NumFilm, Titre, Réalisateur, Producteur, Catégorie)
(#NumActeur,#NumFilm, Rôle)
Entité/Association
F IGURE 1.9 – Le modèle Entité/Association
Le modèle Entité/Association (E/A) décrit les données en tant que Entités, Associations
et Attributs (Figure 1.9).
1.4.2
Acteur
Film
Joue
UML
MCD
E XEMPLE 1.7. Cet exemple illustre les deux modèles conceptuel et logique des
données. Pour la modélisation conceptuelle, deux formalismes sont présentés :
Entité/Association et UML. Le modèle logique est présenté sous forme de modèle
relationnel.
Modèle Physique de Données (MPD) : Ce modèle est obtenu dans la phase de modélisation physique, qui consiste à spécifier la structure de stockage, les index, les chemins d’accès, et les paramètres de la base de données.
La plupart des SGBDs modernes se basent sur la modélisation relationnelle ou la
modélisation objet. Le type de modèle qui va être utilisé dans cet ouvrage est le modèle relationnel. Le Modèle Logique de Données est la traduction du MCD en vue de
l’implémenter dans un SGBD.
Systèmes de Gestion des Bases de Données - Notes de Cours
Modèle relationnel
La clé de la relation Acteur est NumActeur tout comme l’entité Acteur. La clé de la relation
Film est Numfilm tout comme l’entité Film. Par contre, la clé de la relation Joue est une
clé composée (NumActeur,NumFilm).
Le MLD de l’exemple 1.7 illustre le modèle relationnel qui correspond au modèle E/A du
MCD, qui le précède. Vous pouvez remarquer que les relations Acteur et Film possèdent
les mêmes attributs que les Entités qui leurs correspond. Par contre, la relation Joue possède l’attribut de l’association plus les attributs des Entités participantes, qui constituent
l’identifiant de cette relation.
Le modèle relationnel est l’ensemble des relations permettant de modéliser le monde
réel. De point de vue MCD/MLD, les relations représentent les Entités et les Associations.
Pour traduire un modèle E/A en un modèle relationnel, une entité se transforme en une
relation (avec les mêmes attributs) et une association se transforme en une relation (avec
les mêmes attributs plus les identifiants des Entités participantes).
1.4.3
Le modèle Entité/Association sera traité avec plus de détails dans l’annexe A.
Pour le cas du modèle E/A de l’exemple 1.7, un acteur peut ne pas jouer dans aucun film,
et il joue au maximum dans plusieurs film. Un film peut être joué par au moins un acteur
et au maximum plusieurs acteurs. Dans ce modèle, NumActeur est l’identifiant de l’entité
Acteur et NumFilm est l’identifiant de l’entité Film.
b) Cardinalité maximale : Elle définit le nombre maximal qu’une occurrence d’une
Entité participe aux occurrences de l’association.
a) Cardinalité minimale : Elle définit le nombre minimal qu’une occurrence d’une
Entité participe aux occurrences de l’association.
Cardinalité elle définie le nombre d’associations entre les instances d’entités. Elle est
composée d’une cardinalité minimale et maximale.
Association est une représentation d’un lien entre deux Entités ou plus. Une associations
peut avoir des propriétés (attributs) particulières.
Identifiant est un attribut ou un groupe d’attributs permettant d’identifier une Entité.
Deux occurrences (instances) d’une même Entité ne doivent pas posséder le même
identifiant.
Instance Une entité particulière peut avoir des valeurs pour ces attributs. Les valeurs
des attributs qui décrivent une entité sont considérés comme une instance de l’entité
dans la base de données. Par exemple, (01111110, Ali, 27, 750, Ouvrier) est
une instance de l’Entité Employé.
Attribut est une propriété qui contribue à la description d’une Entité. Par exemple, un
Employé peut être décrit par son numéro de carte d’identité, nom, âge, salaire et
travail.
Entité C’est l’objet basique que représente le modèle E/A, qui est une représentation d’un
objet réel avec une existence indépendante. Une entité peut être un objet matériel
(par exemple, une personne, une maison, une voiture) ou un objet avec une existence
immatérielle (par exemple, un travail, un cours). Un entité est décrite par son nom et
ses attributs.
Document edité avec LATEX
11
1.4. MODÉLISATION DES DONNÉES
12
Faiez CHARFI (ISET Sfax)
Systèmes de Gestion des Bases de Données - Notes de Cours
INTRODUCTION GÉNÉRALE
Omar
Lotfi
02222220
03333330
440
850
Travail
Apprentit
Technicien
Ouvrier
Modélisation Physique des Données
Dans le modèle physique, est une description détaillé des données en vue de leurs implémentation. Par rapport au modèle logique, le modèle physique comporte des informations
supplémentaires, tel que :
— Clé primaire
— Type des attributs
— Taille des attributs
— Format des valeurs attributs
— Contraintes d’intégrité
— Valeur par défaut
— Indexation
— etc.
Dans les sections précédentes, nous avons présenté le modèle Entité/Association en
tant que représentation du modèle conceptuel des données (MCD) et le modèle relationnel
en tant que modèle logique des données (MLD). Le modèle physique des données (MPD)
est l’implémentation du MLD avec les outils offerts par le SGBD. Les figures 1.10 et 1.11
montrent l’implémentation de la table PERSONNE dans le SGBD MySQL et le gestionnaire de données MS Access.
1.4.4
L’un des facteurs de popularité du modèle relationnel sont ces avantages, dont nous citons :
— Simplicité de représentation des données sous forme de tables.
— Les opérations réalisées sur les données sont des opérations relationnelles utilisant
des assertions et se basant sur l’algèbre relationnelle.
— Indépendances physique et logique
— Maintien de l’intégrité : Les contraintes d’intégrité sont définies au niveau du schéma
de données.
22
34
750
Ali
01111110
27
Table Personne
Nom Age Salaire
NumCIN
E XEMPLE 1.8.
Soit la relation Personne(NumCIN, Nom, Age, Salaire, Travail).
La table Personne, suivante, représente les données de cette relation.
Les données d’une relations sont représentées sous la forme d’une Table, comme indiqué
dans l’exemple 1.8 suivant.
Systèmes de Gestion des Bases de Données - Notes de Cours
Il est à noter que l’implémentation du modèle physique des données dépend des spécificités
du SGBD et elle peut changer d’un SGBD à un autre.
F IGURE 1.11 – Implémentation de la relation Personne avec MS Access
F IGURE 1.10 – Implémentation de la relation Personne avec phpMyAdmin/MySQL
Document edité avec LATEX
13
1.5. EXERCICES
14
Faiez CHARFI (ISET Sfax)
Systèmes de Gestion des Bases de Données - Notes de Cours
INTRODUCTION GÉNÉRALE
Exercices
16. Quels sont les progiciels équivalents à Access et qui peuvent fonctionner sous Linux ?
15. Pourquoi MicroSoft Office Access est considéré comme un Gestionnaire de Base de
Données et non pas un SGBD ?
14. Citez les noms de quelques SGBDs ?
13. Quels sont les avantages du modèle relationnel ?
12. Quelle est la différence entre une Association et la relation qui implémente cette
association ?
11. Quelle est la différence entre une Entité et une association ?
10. Quel est le modèle logique adopté dans cet ouvrage ?
9. Quels sont les modèles conceptuels les plus populaires ?
8. Expliquer le principe d’indépendance physique et logique.
7. Quels sont les différents modèles de données ?
6. Quels sont les différents niveaux de données ?
5. Quels sont les avantages d’une base de données relationnelle ?
4. Quels sont les avantages d’un SGBD ?
3. Quels sont les avantages des bases de données ?
2. Quelle est la différence entre un SGF et un SGBD ?
1. Quelle est la différence entre une Base de données et un SGBD ?
1.5
Systèmes de Gestion des Bases de Données - Notes de Cours
Téléchargement