Vous êtes sur la page 1sur 43

Chapitre I

Introduction aux Bases de données


Concepts de base et terminologie

© Pr. Habib Ounalli


Département d’Informatique
Faculté des Sciences de Tunis
habib.ounelli@fst.rnu.tn

11/09/2017 (c) H. Ounalli (F.S.T) Introduction aux BD 1


Bases de Données (BD) et Systèmes de Gestion de BD
• Base de données
1.une collection de données (généralement un grand volume)
2.Inter-reliées
3.cohérentes
4.satisfaire simultanément plusieurs utilisateurs en un temps
acceptable (temps de réponse).
• La BD est exploitée avec un Système de Gestion de BD (SGBD)

• Une BD 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 selon plusieurs architectures:
• Client-serveur
• N-tiers
• Centralisée ou Distribuée
• Parallèle
• Etc, …

11/09/2017 (c) H. Ounalli (F.S.T) Introduction aux BD 2


Exemples de Bases de Données
• Applications classiques de gestion
• Facturation, comptabilité, paie, Stock,...
• Gestion d’un hôpital
• Gestion bancaire, Universitaire, ...
• Ingénierie (conception, architecture,...)
• contrôle de processus (Gestion de Production)
• bibliothèques électroniques
• BD Web
• Etc.
• Bases d’information hétérogènes
• Informations quelconques, multimédia, Structurées, semi structurées
(facebook, twitter, Google, …)
• Applications transactionnelles
• Gestion des réservations
• Transport de passagers (train, avion, voiture, ...)
• Réservations Hôtels, Spectacles
• Jusqu’à 1965 : uniquement des systèmes de gestion de fichiers (SGF)
• À partir de 1965 : apparition du concept de BD

11/09/2017 (c) H. Ounalli (F.S.T) Introduction aux BD 3


Données Inter-reliées

Schéma conceptuel selon le modèle Entité-Association (EA)


11/09/2017 (c) H. Ounalli (F.S.T) Introduction aux BD 4
Données cohérentes
• Il faut pouvoir exprimer toutes les règles qui permettent de valider les
valeurs pouvant être enregistrées dans la BD
• Objectif: éviter toute incohérence entre le monde réel et les données
stockées dans la BD

• Par exemple:
• Il ne faut jamais donner la même place dans le même train à 2 clients
• Les arrêts d’un train sont numérotés de façon continue (il ne peut y avoir
pour un train donné un arrêt no 3 s’il n'y a pas un arrêt no 2 et un arrêt no 1)
• La date de réservation pour un train doit correspondre à un jour de
circulation de ce train
• Le numéro de train dans une réservation (ou un arrêt) doit correspondre à
un train existant
• L’heure de départ d’une gare doit être postérieure à l’heure d’arrivée dans
cette gare
• L’heure d’arrivée à un arrêt doit être postérieure à l’heure de départ de
l’arrêt précédent

• Toutes ces règles sont appelées CONTRAINTES D’INTÉGRITÉ

11/09/2017 (c) H. Ounalli (F.S.T) Introduction aux BD 5


Données Partagées entre plusieurs Utilisateurs

Base de données

Programme 1

Fichier 1
SGBD
Programme 2
Fichier 2

Fichier 3 Programme 3

11/09/2017 (c) H. Ounalli (F.S.T) Introduction aux BD 6


qu’est-ce qu’un SGBD ?

Un SGBD met à la disposition de l’utilisateur


1. un outil pour décrire l’ensemble des données à
stocker: langage de description des données ou LDD
2. Un outil pour dialoguer (interroger) avec la base pour
rechercher, sélectionner, et modifier des données:
Langage de manipulation des données ou LMD.
• Attention : ne pas confondre BD et SGBD

11/09/2017 (c) H. Ounalli (F.S.T) Introduction aux BD 7


Commercialisation des systèmes relationnels

11/09/2017 (c) H. Ounalli (F.S.T) Introduction aux BD 8


Système de Gestion de Bases de Données (SGBD)
• Définir la BD: Spécifier les types de données, la structure, les
contraintes…
• ex: structure de Billet, de ses champs,…
• Construire la BD
• Stocker les données sur disque
• Manipuler la BD
• Récupérer des données stockées (requêtes sur la BD)
• ex: liste des billets de train
• Mettre à jour les données
• ex: changer l'heure de départ d'un train
• Maintenir la BD
• Gestion des données (concurrence, fiabilité,…) et des
utilisateurs (droits d’accès et de manipulation)

11/09/2017 (c) H. Ounalli (F.S.T) Introduction aux BD 9


Objectif principal des BD: éviter la redondance
Redondance des informations sur le metteur en scène  Anomalies de mise à jour
- insérer d’un nouveau film avec un MES déjà existant
- supprimer un film -> on perd les infos sur le MES (s’il a un seul film)
- modifier l’année de naissance d’un MES qui a plusieurs films
Une solution à ces anomalies :
• représenter individuellement les films et les réalisateurs, de manière à ce
qu’une action sur l’un n’entraîne pas systématiquement une action sur l’autre ;
• définir une méthode d’identification d’un film ou d’un réalisateur, qui
permette d’assurer que la même information est représentée une seule fois ;
• préserver le lien entre les films et les réalisateurs, mais sans introduire de
redondance.

11/09/2017 (c) H. Ounalli (F.S.T) Introduction aux BD 10


Solution: utiliser 2 tables avec des liens (clé étrangère)

11/09/2017 (c) H. Ounalli (F.S.T) Introduction aux BD 11


Exemple d’une « bonne » BD relationnelle
Table Client
noClient nomClient adresseClient noTéléphone
10 Hilali Ali Sousse (999)999-9999
20 Derbel Ridha Tunis (888)888-8888
30 Yasine Saad Tunis (777)777-7777

Table Compte
noCompte solde dateOuverture noClient
100 1000.00 5/05/1999 10
200 2000.00 10/10/1999 20
300 1000.00 10/10/1999 10
400 5.00 20/7/2000 30
600 10.00 15/10/2000 30

Table Prêt
noPrêt montantPrêt dateDébut tauxIntérêt fréquence noClient
Paiement
1000 10000.00 10/6/2000 10 12 10
2000 20000.00 20/7/2000 12 52 30
3000 5000.00 15/8/2000 12 12 10

11/09/2017 (c) H. Ounalli (F.S.T) Introduction aux BD 12


Quand utiliser une BD ?
• Dans certains cas, il convient de faire appel à l'approche BD lorsque:
• Les données sont très volumineuses
• les données à gérer représentent plusieurs objets (ou entités du
monde réel (exemple : étudiants, cours, enseignants, salles, ...)
• possèdent de nombreuses liens (ou associations) entre elles
(exemple : un étudiant suit un cours, un cours est assuré par un
enseignant, ...).

• il existe des cas où les données à gérer, bien que importantes en


volume, sont homogènes :
• les abonnés d'une revue, liste des contacts dans un tel. portable
• Le catalogue des produits vendus par un magasin ... .
• Dans ces cas, on peut utiliser de simples fichiers (le fichier des
abonnés, ...) et on utilise un système de gestion de fichiers
(SGF), moins complexe qu'un SGBD.

11/09/2017 (c) H. Ounalli (F.S.T) Introduction aux BD 13


Ce qu’on demande à une BD: Exemple de la SNCF
• Gestion des réservations de billets de trains

Train: numéro train


Billet gare départ
heure départ
nom client
destination finale
numéro train
heure d’arrivée
date
jours
classe
No wagon
Numéros places
départ: - gare numéro train
- heure No arrêt
gare d’arrivée Arrêt : gare
heure départ
heure d’arrivée

11/09/2017 (c) H. Ounalli (F.S.T) Introduction aux BD 14


Les Besoins: Description
• 1) Décrire les données de l’application (trains, trajets et
réservations) sans faire référence à une solution
informatique particulière
• modélisation conceptuelle  schéma conceptuel

• 2) Élaborer une description équivalente pour le stockage


des données dans le SGBD choisi
• modélisation logique  schéma logique
• Langage de Définition des Données (LDD)
• Exemple: Les commandes de définition des données de SQL

11/09/2017 (c) H. Ounalli (F.S.T) Introduction aux BD 15


Les Besoins: Mise à jour et Interrogation
• Créer la base de données initiale avec en insérant les données
représentant le réseau SNCF
• Insérer au fur et à mesure les données sur les réservations.
• Modifier si besoin et éventuellement supprimer toute donnée déjà
rentrée
• langage de mise à jour de données: insertion, modification, suppression

• Répondre à toute demande d’information portant sur les données


contenues dans la base: On parle d’interrogation de la BD (querying
the DB)
• Exemple de requêtes:
• Belhaj Ali a t-il une réservation pour aujourd’hui ? Si oui, donner les informations
connues sur cette réservation.
• Quels sont les horaires des trains de Tunis à Mahdia entre 9h et 10h le dimanche ?
• Donner les destinations au départ de Tunis sans arrêts intermédiaires.
• etc.
• On utilise le Langage de Mise à jour des Données (LMD) du SGBD
(comme par exemple SQL)
• Exemple SQL ( Définition + Mise à jour + Interrogation)
11/09/2017 (c) H. Ounalli (F.S.T) Introduction aux BD 16
Les autres Besoins
• fiabilité
• Il ne faut pas que les informations (par exemple, les réservations) soient
perdues à cause d’une panne quelconque: erreur de programmation, panne
système, panne de l’ordinateur, coupure de courant, …
• contrôle de concurrence
• Il ne faut pas qu’une action faite pour un utilisateur (par exemple,
l’enregistrement d’une réservation) soit perdue du fait d’une autre action
faite simultanément par un autre utilisateur (réservation de la même place).
• confidentialité
• Toute information doit pouvoir être protégée contre l’accès par des
utilisateurs non autorisés (en lecture et en écriture)
• Interdire par exemple aux clients de modifier les numéros des trains ou les
horaires ou leur réservation.
• Garantie de confidentialité
• efficacité
• Le temps de réponse du système doit être acceptable et raisonnable
• assez rapide pour assumer la charge de travail attendue
• Mécanismes d’optimisation

11/09/2017 (c) H. Ounalli (F.S.T) Introduction aux BD 17


Notion de modèle de données
• Les bases de données sont structurées selon des modèles.
• Un modèle de données sert à décrire une BD avec 3 concepts (ou
outils)
1. Des structures de données pour organiser les données qui vont figurer
dans la future BD
2. Des contraintes d’intégrité que doivent satisfaire ces données
3. Des opérateurs permettant de manipuler ces données (un langage comme
SQL par exemple)
• Le modèle le + utilisé actuellement est le MODÈLE RELATIONNEL
• Les différents types de modèles
• Modèles conceptuels
• description de la bd à un niveau abstrait proche de la perception des utilisateurs 
usage limité à la conception de la BD

• Modèles d’implémentation ou modèle logique


• description de la BD au niveau application
• Exemple: des tables dans le modèle relationnel

• Modèle physique
• description de la BD au niveau interne (informatique)  Fichiers, pointeurs, …

11/09/2017 (c) H. Ounalli (F.S.T) Introduction aux BD 18


Classification des modèles

11/09/2017 (c) H. Ounalli (F.S.T) Introduction aux BD 19


Historique des modèles d’implémentation
• Historiquement, les modèles d’implémentation
ont été définis comme suit, dans l’ordre
chronologique :
1. Modèle hiérarchique (structure de données
arbre)
2. Modèle réseau (structure de données: graphe)
3. Modèle relationnel (structure de données:
tableau de lignes ou nuplets )
4. Modèle objet (structure de données: classes,
attributs, méthodes)

11/09/2017 (c) H. Ounalli (F.S.T) Introduction aux BD 20


Exemple de SGBD selon le modèle

11/09/2017 (c) H. Ounalli (F.S.T) Introduction aux BD 21


Représentation des données selon le modèle

11/09/2017 (c) H. Ounalli (F.S.T) Introduction aux BD 22


Principe d’indépendance physique
• La manipulation des données doit se faire
indépendamment de leur structure de stockage interne
• On peut modifier la structure physique sans que les
utilisateurs soient affectés et sans modification des
programmes

11/09/2017 (c) H. Ounalli (F.S.T) Introduction aux BD 23


Principe d’indépendance logique
• Une application travaille sur une représentation logique des
seules données qu'elle manipule
• Le SGBD assure la correspondance avec les données réelles
• Les programmes ne doivent pas être revus lors de la
modification de données qu'ils n'utilisent pas.

• Exemple : Les données d'un hôpital : médecins, malades,


chambres, …
• Application n° 1 : Suivi des malades (Nom, N° SS, N° Chambre,
Médecin)
• Application n° 2 : Données d'un médecin (Nom, N°SS, N°Chambre,
Thérapie)
• Application n° 3 : Gestion du personnel : les médecins (Nom, Grade,
Spécialité, Salaire)

11/09/2017 (c) H. Ounalli (F.S.T) Introduction aux BD 24


Architecture ANSI/SPARC

11/09/2017 (c) H. Ounalli (F.S.T) Introduction aux BD 25


Architecture ANSI/SPARC
• Niveau interne dépendant du SGBD
• Organisation physique des données

• Niveau conceptuel indépendant du SGBD


• Vue abstraite des données
• On y distingue le niveau logique, dépendant du type de SGBD
(hiérarchique, réseau, relationnel, objet) du niveau conceptuel
plus proche de l'utilisateur

• Niveau externe
• Vue partielle des données, sous-ensemble du niveau
conceptuel, pour une application ou un groupe d'utilisateurs

11/09/2017 (c) H. Ounalli (F.S.T) Introduction aux BD 26


Le schéma conceptuel
• décrit les données selon un modèle conceptuel
indépendamment d’un SGBD particulier.

• Exemple: Dans un SGBD relationnel, le schéma conceptuel décrit


toutes les tables qui sont stockées dans la BD.

• Un exemple simple d’une BD d’une université


• Les tables contiennent des informations
• sur les entités, comme les étudiants et professeurs, et
• sur les associations, telles que l'inscription des élèves dans les cours .
• Tout étudiant est décrit par un enregistrement (un nuplet) dans une table
étudiants.
• Schéma Conceptuel de la BD d’une université
• Etudiant : nom, prénom, date de naissance, n°étudiant
• Enseignant : nom, prénom, statut, n°compte_bancaire
• Cours : nomC, cycle, nom_enseignant
• Inscription : n°étudiant, nom_cours, note1, note2

11/09/2017 (c) H. Ounalli (F.S.T) Introduction aux BD 27


Le schéma physique
• ajoute des détails de stockage supplémentaires
• décrit la façon dont les tables décrites dans le schéma
conceptuel sont effectivement stockées sur le disque
• Les organisations à utiliser pour stocker les relations
• Les index pour accélérer les opérations de recherche de
données.

• Exemple de schéma physique pour la BD de l’université


• Stockez toutes les relations comme des enregistrements non
triés.
• Créer des index sur les colonnes étudiants, professeurs et les
associations avec les Cours, la colonne sal de la Faculté, et la
colonne capacité des salles.

11/09/2017 (c) H. Ounalli (F.S.T) Introduction aux BD 28


Les schémas externes
• Les Schémas externes sont généralement décrits avec le même
langage LDD que celui du modèle de données du SGBD
• Elles permettent l'accès à des données personnalisées accédées par
des utilisateurs individuels ou groupes d'utilisateurs (service
scolarité, service personnel, service financier, etc.).

• Toute BD a exactement
• un schéma conceptuel et
• un seul schéma physique car il n'a qu'un seul ensemble de relations stockées
• plusieurs schémas externes, chacun adapté à un groupe particulier
d'utilisateurs.

• Chaque schéma externe se compose d'une collection de tables


et/ou de plusieurs vues du schéma conceptuel.
• Un utilisateur peut traiter une vue comme une relation et pose des
questions sur les enregistrements de la vue même si les données de
la vue ne sont pas stockés de façon explicite et sont calculés sur
demande.
11/09/2017 (c) H. Ounalli (F.S.T) Introduction aux BD 29
Les différents utilisateurs des BD.
1) Les développeurs de SGBD construisent les logiciels
SGBD pour des fournisseurs comme IBM ou Oracle.

2) les utilisateurs finaux souhaitent stocker et utiliser les


données dans un SGBD. Ils proviennent d'un nombre varié
d’horizons.
• les données croient en complexité et en volume, leur
gestion est de plus en plus réalisée par des SGBD.
• Les utilisateurs finaux utilisent des applications écrites
par des programmeurs et nécessitent donc peu de
connaissances techniques sur les SGBD

11/09/2017 (c) H. Ounalli (F.S.T) Introduction aux BD 30


Les différents utilisateurs des BD.
3) les utilisateurs avertis, qui font un usage plus vaste d'un
SGBD, tels que l'écriture de leurs propres requêtes,
nécessitent une compréhension plus approfondie des
SGBD.
4) Les programmeurs d'applications
développent des packages qui facilitent l'accès aux données
pour les utilisateurs finaux, qui ne sont pas professionnels
de l'informatique, à l'aide de langages hôtes et/ou des
outils fournis par les vendeurs de SGBD

• Des générateurs de rapports, des tableurs, de outils


de statistiques, etc.

11/09/2017 (c) H. Ounalli (F.S.T) Introduction aux BD 31


5) L’administrateur de la BD
• Une BD personnelle est typiquement maintenue par la personne
qui la possède et l'utilise.
• Les BD d'entreprise sont généralement assez importante et
suffisamment complexes que la tâche de leur conception et de
maintenance est confiée à un professionnel appelé l'administrateur
de BD (Data Base Administrator ou DBA).
• Le DBA est responsable de nombreuses tâches essentielles:
• Conception des schémas conceptuel et physiques: Le DBA doit interagir avec
les utilisateurs du système pour comprendre les données qui doivent former
la future BD et la manière de les exploiter
• décider des relations a stocker et comment les stocker (schéma physique).
• concevoir les schémas externes les plus largement
utilisés
• Sécurité et autorisation:
• veiller à ce que les accès non autorisés soient interdits.
• En général, tout le monde ne devrait pas accéder à toutes les données.
• Dans un SGBD relationnel, les utilisateurs peuvent être autorisés à accéder
uniquement à certaines vues et relations.

11/09/2017 (c) H. Ounalli (F.S.T) Introduction aux BD 32


L’administrateur de la BD
• La disponibilité des données et la récupération des pannes:
• Le DBA doit prendre des mesures de sorte que si le système tombe en
panne, les utilisateurs peuvent continuer à accéder à autant de
les données non corrompues que possible: disponibilité
• Le DBA doit aussi travailler à restaurer les données à un état cohérent
après une panne: réparation des pannes
• Le SGBD offre le support pour ces fonctions, mais le DBA est
responsable de la mise en œuvre des procédures de sauvegarde des
données périodiquement et tenir des registres de l'activité du système
(pour faciliter la récupération d'une panne)
• « Tuning » du SGBD:
• Les besoins des utilisateurs sont susceptibles d'évoluer avec le temps.
• Le DBA est responsable de la modification de la BD, en particulier les
schémas conceptuel et physique afin d'assurer une performance
adéquate au fur et à mesure de l’évolution des exigences des
utilisateurs.

11/09/2017 (c) H. Ounalli (F.S.T) Introduction aux BD 33


Cycle de vie d'une BD: Les 4 phases
• Conception de la base avec un modèle conceptuel
• Résultat: Schéma Conceptuel
• Choix du SGBD et transformation conceptuel  logique
• Implantation des données
• Schéma Logique  Schéma Interne (avec le LDD)
• population de la BD (saisie des données existantes)
• « Tuning » du SGBD par le DBA
• Utilisation (avec le LMD)
• Schémas Externes
• Interrogation (écrire des requêtes)
• développement des programmes d’application
• mises à jour (insertion, suppression, modification)
• Maintenance (correction, évolution)
11/09/2017 (c) H. Ounalli (F.S.T) Introduction aux BD 34
Cycle de vie d'une BD

11/09/2017 (c) H. Ounalli (F.S.T) Introduction aux BD 35


Cycle de vie d'une BD : Conception
• Phase de réflexion et d'analyse sur la manière de structurer les
données en fonction des besoins de l’application
• Objectif: Déterminer et décrire le futur contenu de la BD:
• Quelles sont les infos importantes pour l’application?
• Quelles sont leurs propriétés (type, CI, …) ?
• Quelles sont les interrogations à faire sur les données ?
• Le Résultat est le SCHEMA CONCEPTUEL de la BD selon un modèle
conceptuel comme: Entité Association, Merise, UMl

11/09/2017 (c) H. Ounalli (F.S.T) Introduction aux BD 36


Cycle de vie d'une BD : Implantation et exploitation
• Description des données au SGBD choisi
• schéma conceptuel -> schéma logique
• schéma logique -> schéma interne
• Insertion des données initiales (existantes)
• Définition des schémas externes
• Interrogation
• Ali est il inscrit au cours de BD?
• Quelle est la date de naissance de Ali ?
• Mise à jour
• ajouter de nouvelles informations,
• supprimer des informations périmées, plus nécessaires,
• modifier le contenu des informations
• Corrective: Supprimer les données erronées, redondantes...
• Maintenance
• Évolutive
• Faire évoluer la structure des données en cas de besoin
• ex: Ajouter la colonne "adresse" à Étudiant

11/09/2017 (c) H. Ounalli (F.S.T) Introduction aux BD 37


Conclusion: conception (design) du schéma logique

Objectif de ce cours : mettre l’accent sur le design ou conception d’une BD en


considérant le SGBD comme une boite noire !

11/09/2017 (c) H. Ounalli (F.S.T) Introduction aux BD 38


Objectifs du cours 1er semestre
II) Conception de la base de données
• description des données : schéma conceptuel
• formalisme conceptuel : modèle entité-association (EA)

II) implantation de la base de données


• formalisme logique : le modèle relationnel
• Les concepts de base + algèbre relationnelle
• Passage du modèle EA -> vers le modèle relationnel
• Le langage standard des BD : SQL (niveau de base)
• Son LDD
• Son LMD

11/09/2017 (c) H. Ounalli (F.S.T) Introduction aux BD 39


AVANT LES BD
L’approche par les fichiers
A lire en dehors du cours

11/09/2017 (c) H. Ounalli (F.S.T) Introduction aux BD 40


Avant les BD : utilisation des fichiers
• L’utilisation de fichiers impose à l’utilisateur de connaître :
• le mode d’accès (séquentielle, indexée, …)
• la structure physique des enregistrements
• la localisation des fichiers qu’il utilise afin de pouvoir accéder aux informations dont il a besoin.

• Pour des applications nouvelles


• écrire de nouveaux programmes
• créer de nouveaux fichiers qui contiendront peut-être des informations déjà présentes dans d’autres
fichiers.

• Toute modification de la structure des enregistrements (ajout d’un champ par exemple)
entraîne la réécriture de tous les programmes qui manipulent ces fichiers.
• De telles applications sont
• rigides,
• contraignantes
• longues et coûteuses à mettre en œuvre

• Les données associées sont :


• mal définies et mal désignées,
• redondantes
• peu accessibles de manière ponctuelle
• peu fiables

11/09/2017 (c) H. Ounalli (F.S.T) Introduction aux BD 41


Les limites à l’utilisation des fichiers

• La prise de décision nécessite d’être bien informé sur la situation et donc d’avoir des informations à jour et
disponibles immédiatement.

• Les utilisateurs souhaitent


• des systèmes d’informations globaux, cohérents, directement accessibles
• Pas besoin de demander à un programmeur de leurs écrire des programmes
• Besoin de réponses immédiates aux questions qu’ils posent.
• Pas de données inaccessibles à des non spécialistes
• Problèmes
• Redondance des données et incohérences
• Isolation des données et accessibilité
• Un accès aux données = un programme
• Atomicité et environnement multi utilisateurs
• Sécurité et protection des données

• Source des difficultés avec les fichiers


• La description des données est intégré dans les programmes
• Absence de contrôle pour l’accès et la manipulation des données

• Apparition du concept de bases de données et de Systèmes


de Gestion de BD
11/09/2017 (c) H. Ounalli (F.S.T) Introduction aux BD 42
Des Systèmes de Gestion de Fichiers (SGF) aux SGBD

• gestionnaire de fichiers: composante de tout système d’exploitation


Application de gestion des comptes Application de gestion des prêts

Fichier des Fichier des Fichier des


Fichier des prêts
comptes transactions transactions

Mise à jour en lot Mise à jour en lot


des comptes des prêts

Fichier des
Fichier des prêts
comptes
mis à jour
mis à jour

11/09/2017 (c) H. Ounalli (F.S.T) Introduction aux BD 43 43