Title: Introduction aux Bases de donn
1Introduction aux Bases de données
- Informatique appliquée à la gestion EG5
2I. Introduction
- I.1 Exemple de données à manipuler
- La gestion des ressources humaines dune société.
- On a besoin de la liste des employés.
- Employés en changement permanent
- Nouveau recrutement,
- départ (retraite, démission,)
- changement de poste,
3- Pour chaque employé on a besoin denregistrer
certaines informations - le nom et prénom,
- le sexe,
- la date de naissance,
- l'adresse,
- la date de recrutement,
- la fonction dans l'entreprise,
- N dimmatriculation ...
4- Ces informations sont
- consultées plusieurs fois,
- modifiées si nécessaire
- Ajout et suppression
5Entreprise
6- ? doù la nécessité davoir un système de
stockage des données. - Différents manières ont été développées pour le
stockage - A- avant lère informatique
- Le tri manuellement,
- plus le volume des données croît plus la gestion
manuelle devient difficile vue la masse et la
complexité des données.
7- B - Lère informatique
- Utilisation des fichiers informatiques pour
stocker les informations - mais lutilisation de fichiers impose
- à l'utilisateur de connaître larborescence des
fichiers afin de pouvoir accéder aux informations
dont il a besoin, - d'écrire des programmes pour pouvoir
effectivement manipuler ces informations.
8- On a donc recherché des solutions tenant compte
à la fois des désirs des utilisateurs et des
progrès techniques. Cette recherche a abouti au
concept de base de données.
9II. Base de Données
- II.1 Définition
- Une base de données BD, (database DB) est un
ensemble de données, stocké de façon - Exhaustif la base contient toutes les
informations requises pour le service que l'on en
attend - non redondant la même information n'est
présente qu'une seule fois (pas de doublons). - Structuré les données ont des structures bien
définies.
10- Remarques ? Ces données doivent pouvoir être
utilisées par des utilisateurs différents. Ainsi,
la notion de base de données est généralement
couplée à celle de réseau. - ? On parle généralement de Système d'Information
pour désigner toute la structure regroupant les
moyens mis en place pour pouvoir partager des
données.
11II-2 Utilité d'une base de données
Une base de données permet de mettre des données
à la disposition des utilisateurs pour
- une consultation,
- une saisie
- ou bien
- une mise à jour,
- tout en s'assurant des droits accordés aux
utilisateurs.
12- Une base de données peut être locale,
c'est-à-dire utilisable sur une machine par un
utilisateur, - ou bien
- répartie, c'est-à-dire que les informations sont
stockées sur des machines distantes et
accessibles par réseau et par plusieurs
personnes. - Exemple la réservation des billets davions.
-
13- L'avantage majeur de l'utilisation de
bases de données est la possibilité de pouvoir
être accédées par plusieurs utilisateurs
simultanément. - Il existe des bases de données de toutes tailles,
depuis les plus modestes - . une liste des numéros de téléphone utilisée
par une seule personne, - jusqu'aux plus grandes
- . la base des données commerciales d'une société
à activités multiples, avec des Géga octets de
données.
14- On reprend lexemple de la société
- Pour éviter les problèmes de la redondance et
construire une base de données bien structurée et
facilement modifiée, il faut créer deux tableaux
- 1- tableau Produit
15(No Transcript)
16- Et
- 2- Tableau Fournisseurs
17(No Transcript)
18III- La gestion des bases de données III-1
Système de gestion des bases de données (SGBD)
Le contrôle des données et des utilisateurs, se
fait grâce à un système de gestion appelé
système de gestion de bases de données, SGBD
19- (Database management system DBMS).
- Le SGBD est un ensemble de services
(applications, logicielles) permettant de gérer
les bases de données, c'est-à-dire - permettre l'accès aux données de façon simple à
laide de linterrogation de la base - autoriser un accès aux informations à de
multiples utilisateurs
20- manipuler les données présentes dans la base de
données (administration, insertion, suppression,
modification). - Exemples des applications utilisant les SGBD
- Gestion des étudiants dune université,
- Gestion des réservations des places davions,
- Gestion de comptes bancaires, ...
21III-2 Constitution dun système de gestion des
bases de données
- Un SGBD est principalement constitué d'un
- moteur
- interface graphique (ou SGBD externe).
- Le moteur est le coeur du logiciel, c'est à dire
qu'il assure les fonctions essentielles
22- saisir les données,
- les stocker,
- les manipuler,
- etc.
- Il peut être décomposé en deux parties
- un système de gestion de fichiers
- un SGBD Logique.
23- L'interface graphique permet à l'utilisateur de
communiquer commodément avec le logiciel.
24La couche externe (interface graphique) prend
en charge linterface avec les utilisateurs
(analyse des requêtes interrogation,
modification de la BD, contrôle des droits
daccès, présentations des résultats, ...) La
couche logique assure les fonctions de contrôle
global (optimisation des requêtes, gestion des
conflits daccès, contrôle de la cohérence
globale de la base, garantie du bon déroulement
des actions en cas de panne, ...)
25- La couche interne (le système de gestion de
fichiers) qui soccupe du stockage des données
sur les supports physiques et de la gestion des
fichiers et des accès (index, clés, ...).
26III.3 Objectifs dun SGBD
- Parmi les objectifs principaux dun SGBD sont
- Indépendance physique La façon dont les données
sont définies doit être indépendante des
structures de stockages utilisées. - Par exemple les données doivent être définies
indépendamment à ce que on utilise un système
Windows ou Unix ou un réseau Serveur-Client ou un
réseau Domestique, -
27- Indépendance logique Un même ensemble de
données peut être vu différemment par des
utilisateurs différents. Toutes ces visions
personnelles des données doivent être intégrés
dans une vision globale. - Par exemple dans une bibliothèque, un
utilisateur veut lister tout les livres
concernant la macroéconomie, un autre utilisateur
veut lister les livres de la macroéconomie par
auteur, donc se sont les même données manipulées
différemment.
28- Manipulations des données par des non
informaticiens Il faut pouvoir accéder aux
données sans savoir programmer ce qui signifie
des langages "quasi naturels". - Efficacité des accès aux données Ces langages
doivent permettre d'obtenir des réponses aux
interrogations en un temps "raisonnable". Ils
doivent donc être optimisés.
29- Administration centralisée des données Des
visions différentes des données se résolvent plus
facilement si les données sont administrées de
façon centralisée. - Non redondance des données Afin d'éviter les
problèmes lors des mises à jour, chaque donnée ne
doit être présente qu'une seule fois dans la
base. - Cohérence des données Les données sont soumises
à un certain nombre de contraintes d'intégrité
qui définissent un état
30- cohérent de la base. Elles doivent pouvoir être
exprimées simplement et vérifiées automatiquement
à chaque insertion, modification ou suppression
des données. - Partageabilité des données Il s'agit de
permettre à plusieurs utilisateurs d'accéder aux
mêmes données au même moment. Il s'agit alors de
pouvoir
31- permettre à deux (ou plus) utilisateurs de
modifier la même donnée "en même temps" - assurer un résultat d'interrogation cohérent
pour un utilisateur consultant une table pendant
qu'un autre la modifie. - Sécurité des données Les données doivent
pouvoir être protégées contre les accès non
autorisés. Pour cela, il faut pouvoir associer à
chaque utilisateur des droits d'accès aux
données.
32III-3 Les principaux SGBD
- Parmi les Les principaux éditeurs des SGBD, il y
a - IBM (36 ), éditeur de DB2 et Informix
- Oracle (34 ), éditeur dOracle.
- Microsoft (18 ), éditeur de trois SGBD
33- SQL Server est destiné aux gros systèmes,
- Access est un produit de bureautique
professionnelle, - Foxpro est destiné aux développeurs.
- Sybase (lt3 ).
34IV. Exemples de BD
- 1. Gestion des cours et étudiants dune
université Données beaucoup plus complexes, car
faisant intervenir des informations diverses,
liées entre-elles
35- - Informations de type académique, sur les
étudiants (matricule, date dinscription,
section, notes, ...) - Informations de type personnelles, sur les
étudiants (nom, prénom, adresse, ...) - Informations sur les cours dispensés (titre,
pré-requis, matière, langue, enseignant, horaire,
salle, ...)
36- Informations sur les enseignants (nom, prénom,
bureau, téléphone, statut, ...) - Informations sur les cours dispensés (titre,
matière, langue, enseignant, horaire, salle, ...)
- Ensemble de données trop complexe pour être géré
manuellement - il faut faire appel à un SGBD.
37V. Les différents modèles de bases de données
- Il existe cinq modèles de SGBD, différenciés
selon la représentation des données qu'elle
contient - le modèle hiérarchique les données sont classées
hiérarchiquement, selon des relations de type
père-fils. Ce qui génère une structure
arborescente descendante.
38- On doit connaître a priori la structure de
larbre pour avoir accès aux données, si la
structure change les algorithmes doivent changer.
Ce modèle est le premier modèle de SGBD.
39- le modèle réseau Ce modèle repose sur le
principe du regroupement des données de la base.
Les données sont placées a proximité les unes des
autres sur le disque si elles sont reliées
logiquement. Par exemple une commande concernant
des produits doit être placés avec la liste des
produits.
40- le modèle relationnel (SGBDR Système de gestion
de bases de données relationnelles) les données
sont enregistrées dans des tableaux à deux
dimensions (lignes et colonnes). La manipulation
de ces données se fait selon la théorie
mathématique des relations
41Champs
Lignes
42- le modèle déductif les données sont
représentées sous forme de table, mais leur
manipulation se fait par calcul de prédicats
(relations de logique mathématique) - le modèle objet (SGBDO) les données sont
stockées sous forme d'objets, c.à.d. des
structures appelées classes présentant des
données membres. Les champs sont des instances de
ces classes
43Remarque Les modèles relationnels restent les
modèles les plus répandues (environ trois quarts
des bases de données), car elles conviennent bien
à la majorité des besoins des entreprises .
44VI. Concept de base dune base de données
- Le cycle de vie dune base de donnée (BD) se
décompose en trois phases - La conception définition des fonctionnalités,
- Limplantation réalisation effective de la
base, - Lexploitation utilisation et maintenance de
la base.
45A- Conception
- La phase de conception est une phase danalyse et
de modélisation de la problématique à traiter,
qui aboutit à déterminer le futur contenu de la
BD. - La description obtenue, indépendamment des
systèmes de SGBD, utilise un langage formel basé
sur des concepts bien établis, comme les objets,
les liens et les propriétés. Cette description
est appelée - Schéma Conceptuel (des besoins).
46- Lensemble des concepts utilisés par le langage
formel de description choisi est appelé le - Modèle Conceptuel des Données (MCD).
- Un MCD se décompose généralement en deux parties
- Une partie statique décrivant la structure des
données - Une partie dynamique décrivant les opérations
sur les données
47Le modèle conceptuel illustré dans le cours est
le modèle Entité - Association.
- VI.1 Entité - Association
- VI.1.1 Entité
- Une entité est une population dindividus
homogènes. - Exemple les produits ou les articles vendus par
une société peuvent être regroupés dans une même
entité Articles.
48Articles
?
- Ordinateurs
- Imprimantes
- Scanner
-
ceci est possible du fait que ces produits ont
les mêmes caractéristiques (par exemple la
désignation, le prix unitaire, la quantité, etc).
Clients
Fournisseurs
49VI.1.2 Association
- Une association est une liaison qui a une
interprétation précise entre plusieurs entités. - Exemple entre lentité client et article il y a
une liaison qui est Commander un client
commande un article, et entre fournisseurs et
clients il y a la liaison Livrer
Fournisseurs
Commander
Livrer
Articles
Clients
Fig. Associations
50VI.2 Attributs et identifiants
- Un attribut est une propriété (caractéristique)
dune entité ou dune association. - Exemple Dans lexemple de la société, lentité
Articles a des attributs que nous avons déjà
cités - Désignation,
- Quantité,
- prix unitaire,
-
51- Lentité Client peut avoir comme attributs
- adresse client,
- nom et prénom du client,
-
- Les associations Commander et Livrer peuvent
avoir comme attributs - quantité commandée,
- date de livraison,
-
52Chaque individu dune entité doit être
identifiable dune manière unique et sans
ambiguïté, Exemple Lindividu Said Hamidi de
lentité Clients ne peut pas être identifier
dune façon unique par son nom Plusieurs
clients peuvent avoir le même nom
53- chaque entité doit posséder un attribut sans
doublon (ne prenant pas deux fois la même
valeur). Il sagit de - lidentifiant
Remarque Une entité doit posséder au moins un
attribut qui est son identifiant, par contre une
association peut être dépourvu dattributs.
54VI.3 Cardinalité
- La cardinalité dun lien entre une entité et une
association précise le nombre de fois quun
individu de lentité peut être concerné par
lassociation. - Exemples un client peut commander de
1 jusquà n articles. - Un articles peut être commander 0 fois
jusquà m fois
55(No Transcript)
56- Un client ne peut exister que sil commande au
moins un article. - Cardinalité minimale pour le client est 1
- Un article peut exister dans le stock même sil
nest pas commandé par aucun client, - Cardinalité minimale pour larticle est 0.
57VI.4 Règles de modélisation
- Un bon schéma Entités-association doit vérifier
certaines règles dites - règles de modélisation (normalisation)
- Objet Rassembler les données homogènes et
éviter les redondances. - Règ 1 Normalisation des entités Toutes les
entités qui sont remplaçables par une association
doivent être remplacées.
58Deux entités homogènes peuvent être fusionner
Redondance, donc risque dincohérence Les
adresses peuvent ne pas être les même donc où
va-t-on livrer ?
59- Règ 2 Normalisation des noms le nom dune
entité, dune association ou dun attribut doit
être unique. - Règ 3 Normalisation dun identifiant Chaque
entité doit posséder un identifiant. - Règ 4 Normalisation des attributs et des
associations les attributs dune association
doivent dépendre directement des identifiants de
toutes les entités en association et il faut
éliminer les association superflues.
60- Règ 5. Normalisation des cardinalités une
cardinalité minimale est toujours 0 ou 1 (pas 2,
3 ou n) et une cardinalité maximale est toujours
1 ou n (pas 2, 3,).
61Méthodologie de Base
62VII. Implantation
- VII.1 Modèle Logique des Données (MLD)
- La deuxième phase dans la vie dune base de
données est la phase dimplantation qui consiste
en la traduction du MCD en un modèle employé par
le SGBD. - Le nouveau modèle obtenu est appelé le
- Modèle Logique de Données (MLD).
63- Il y a plusieurs modèles logiques selon le SGDB
correspondants (hiérarchique, relationnel,
objet,). -
- VII.2 Modèle logique de données relationnel
(MLDR) - Ce modèle est lié au SGBD relationnel (SGBDR) qui
se base sur le concept de table à deux dimensions
constituées de lignes et champs
64VII.2.1 Tables, lignes et colonnes
- Dans le MLDR
- les entités sont remplacées par les tables
- les colonnes (les champs) représentent les
attributs communs - les lignes contiennent les valeurs des champs
pour chaque ligne.
65Il ny a pas deux lignes identiques dans une
table.
66VII.2.2 Clés Primaires et Étrangères
- Les lignes dune table doivent être identifiées
dune façon unique et précise cest pour cela
quun ou plusieurs champs sont utilisés pour
identifier les lignes. On appelle ce(s) champ(s)
- Clé primaire (identifiant).
- Toute table possède une seule clé primaire.
- La connaissance dune valeur de la clé primaire
délivre de façon unique et certaine celle de
chacun des autres champs de la table.
67- Le champ auquel on applique une clé primaire
acquière les propriétés suivantes - les doublons (deux informations identiques ou
plus) sont désormais interdits par le système - la présence de la clé primaire interdit la
présence d'un champ vide dans un enregistrement,
la valeur "Null" est désormais interdite.
68? Clé Étrangère
- Une clé étrangère, est une clé (donc un champ
permettant d'identifier de façon unique une
ligne) faisant référence à une clé appartenant à
une autre table. - Exemple
La table Clients possède une clé primaire qui est
le champ N client, on remarque que la deuxième
table Commandes contient le même champ N client.
Ce champ sert à établir le lien entre les deux
tables, dans la deuxième table Commande le champ
N Client est dite Clé Étrangère.
69- Propriétés
- Une même table peut contenir plusieurs clés
étrangères mais une seule clé primaire. - Le SGBDR vérifie que les clés étrangères ne
prennent pas de valeurs en dehors de celles
prises par les clés primaires correspondantes.
70- Cette vérification se fait lors de
- linsertion,
- lajout,
- la suppression
- la mise à jour
- des tables,
- on dit que SGBDR garantit
- lintégrité référentielle des données.
71VII.3 Schéma relationnel
- Dans un SGBDR, les tables dune base sont
représentées par un schéma relationnel dans
lequel - les tables sont appelées relations
- et les liens entre les clés étrangères et
primaires sont symbolisés par des connecteurs.
Connecteur
Relations
Schéma relationnel simple entre deux tables
72Traduction dun MCD en un MLDR
- Pour traduire un schéma MCD en un schéma MLDR, il
suffit de suivre les étapes suivantes - Etape 1 Toute entité devient une table
- dans laquelle
- les attributs deviennent les colonnes
- lidentifiant de lentité devient la clé
primaire de la table.
73- Exemple Lentité Article suivante devient la
table Article
Colonnes (Champs)
Clé primaire
Attributs
Identifiant
Entité Article
Table Article
74- Étape 2 Une association binaire de type 1n
devient clé étrangère du côté 11 ou 10 qui
référence la clé primaire de lautre table.
75- Remarque Cette clé étrangère ne peut pas
recevoir la valeur vide si la cardinalité est 11
Étape 3 Une association binaire de type n m
devient une table supplémentaire appelée table de
jonction
76- Lassociation Concerner (1) est traduite par la
table supplémentaire - lignes de commandes.
- Les attributs de lassociation deviennent les
colonnes de la nouvelle table. - La clé primaire est composé de deux clés
étrangères. - La clé primaire de cette dernière table est
constituée des deux clés des tables commandes et
articles.
77- Étape 4 Une association binaire de type 11 se
traduit comme une association de type 1n sauf
que la clé étrangère se voit imposé une
contrainte dunicité qui impose à la colonne
correspondante de ne prendre que des valeurs
distinctes.
78- Lassociation diriger disparaît au profit de la
table services qui comportera un nouveau champ n
employé (comme clé étrangère). -
- !!! Les colonnes de ce champ ne peuvent pas
prendre des valeurs identiques.
Étape 5 Une association non binaire est
traduite par une table supplémentaire
79- La clé primaire est composée dautant de clés
étrangères que dentités en association. - Les attributs de lassociation deviennent les
colonnes de la nouvelle table.
80- Lassociation projeter se traduit par une table
supplémentaire projections. - La clé primaire de cette table est constituée des
clés primaires des autres tables. - lattribut tarif de lassociation projeter
devient une colonne de la table projection.
81VIII. Exploitation
- En phase dexploitation, lutilisation de la BD
se fait au moyen dun langage de manipulation de
données (LMD). - Un LMD permet dexprimer aussi bien des
requêtes dinterrogation que des requêtes de mise
à jour. - Exemple de langage SQL (Structured Query
Langage).
82VIII. Récapitulation
- Finalement on peut schématiser la description
complète dune base de données à laide de 4
types de schémas, dont 3 sont directement
utilisés par le SGBD.
83- Schéma conceptuel cest le Modèle conceptuel de
données (MCD). - Schéma externes Lors de son interaction avec la
BD, chaque utilisateur nest généralement
intéressé que par une partie des données stockées
dans la base. - On lui associe donc un schéma externe (aussi
appelé vue) décrivant le sous-ensemble de la base
auquel il a accès, structuré de façon à répondre
à ses besoins spécifiques.
84- Schéma logique La phase dimplantation
nécessite la traduction du schéma conceptuel dans
un schéma utilisant les concepts du - Modèle logique de données relationnel (MLDR).
- Schéma internes Pour limplantation effective
des données, il faut effectuer les choix relatifs
à leur stockage et leur structuration sur les
mémoires physique, sous la forme dun ensemble de
fichiers.
85- Ces choix sont consignés dans ce quon appelle le
schéma interne de la base de données, qui repose
sur le modèle interne, dont les concepts sont
ceux du système de fichiers utilisé.