Vous êtes sur la page 1sur 67

Conception des

Bases de Données

II2
1
Année Universitaire 2021/2022 hela.boukef.benothman@ensi-uma.tn
Chapitre2

Introduction
aux bases de données

2
Plan du Chapitre
 Introduction
 Définitions
 Base de données/Banque de données
 Caractéristiques et Avantages des BD
 Administrateur d’une BD
 Des SGF aux SGBD
 Systèmes de Gestion des Bases de Données
 Fonctions, Objectifs et Avantages d’un SGBD
 Les vues en BD
 Opérations sur les données
 Architecture d’un SGBD
 Serveurs de BD 3
Introduction (1/3)

 Début de l’informatique
 Nécessité de systèmes pour calculer (équations
différentielles)
 Tendance actuelle
 gestion de grosses quantités d’information
 Problème! comment stocker et manipuler ces
données?
 DONNES BASE DE DONNES
 LOGICIEL SGBD
4
Introduction (2/3)

 Historique des bases de données


 jusqu‘en 1960 organisation classique en fichiers
 Fin 1960 apparition des premiers SGBD,
systèmes réseaux et hiérarchiques
 début 1970 2ème génération des SGBD ,
systèmes relationnels
 Début 1980 3ème génération des SGBD,
systèmes orientés objets

5
Introduction (3/3)

 Les Bases de Données sont nécessaires à tous les


domaines d'activité : industrie, commerce, services,
recherche scientifique, …
 Leur succès est lié aux avancées scientifiques et
technologiques en gestion de l'information et des
communications
 Les Systèmes de Gestion des Bases de Données
(SGBD) sont parmi les systèmes logiciels les plus
complexes

6
Exemples
de grandes applications
 Systèmes bancaires, d'assurance, commerciaux
 Bases de données bibliographiques
 Systèmes de compagnies aériennes
 Bases de données scientifiques, techniques
 Biologie
 Astronomie
 Produits industriels
 Applications de divers domaines : santé, transports,
tourisme, …

7
Définitions (1/2)

 Une base de données est un ensemble, en


général volumineux, d’informations, avec une
caractéristique essentielle : on souhaite les
mémoriser de manière permanente

8
Définitions (2/2)

 Déf1 : Une base de données : un ensemble


de données structurées et intercorrélées,
enregistrées avec le minimum de redondance
et pouvant être traitées par une ou plusieurs
applications, de façon optimale.
 Déf2 : Une base de données, usuellement
abrégée en BD, est un ensemble structuré et
organisé permettant le stockage de grandes
quantités d'informations afin d'en faciliter
l'exploitation (ajout, mise à jour, recherche de
données). 9
Base de données/
Banque de données
 la base de données est un ensemble de
données structurées au même titre que la
banque de données.
 La différence est que la banque de données
est uniquement offerte pour consultation des
utilisateurs alors qu'au niveau des bases de
données, une exploitation (recherche, saisie,
modification des configurations du
programme,...) est possible.
10
Caractéristiques (1/2)
 D’un point de vue logique:
 Une BD est un ensemble d’informations:
 structurées,
 qui doit traiter d’un domaine de gestion particulier,
 qui doit être d’une certaine exhaustivité,
 qui doit avoir une certaine unicité, pas de redondance,
 qui doit être persistant
 D’un point de vue physique:
 Les données sont implantées sur une mémoire
auxiliaire (Disque dur, …).
11
Caractéristiques (2/2)
 Indépendance des données vis-à-vis des
applications
 Les données doivent être accessibles par tout
utilisateur
 Utilité d’une base de données
 Mettre les données à disposition pour toute
opération de saisie, de mise à jour ou de
consultation
 Assurer la sécurité des données

12
Avantages d’une BD (1/4)

 Pour palier :
 À la lourdeur d’accès aux données
 Au manque de sécurité
 Au non contrôle de la concurrence
 L’utilisateur attend d’une BD:
 Beaucoup d’informations, moins d’efforts: pour
permettre de gérer efficacement et facilement une
grande quantité d’informations en toute sécurité
 Plus de rapidité
 Moins d’erreurs
 Plus de facilités pour les recherches 13
Avantages d’une BD (2/4)

 Les bases de données offrent un certain nombre


d’avantages dans la gestion des données d’une
organisation :
 Elimination et contrôle de la redondance des données
 Maintien de l’intégrité et de la cohérence des données
(mécanisme de l’intégrité référentielle, par exemple),
 Contrôle des accès aux données :
 garantie d’une meilleure protection des données,
 partage plus aisé des données,
 contrôle de la concurrence des accès,
14
Avantages d’une BD (3/4)
 standardisation de l’accès aux données :
 les applications sont développées suivant un standard
commun,
 les applications accèdent aux données à partir de
procédures communes,
 amélioration de la quantité et de la qualité
interprétées à partir des données (langage de
manipulation de données),
 mise à jour des données plus aisée grâce d’une
part à l’indépendance des données par rapport
aux applications et, d’autre part, au langage de
manipulation, 15
Avantages d’une BD (4/4)

 Récupération des données facilitée suite à


une panne logicielle ou matérielle.
 En d’autres termes, « les bases de données
assurent une gestion de données exactes,
complètes et disponibles à tout moment,
depuis n’importe où et dans la forme voulue
».

16
Administrateur d’une BD
(1/2)
 L'administrateur de bases de données est
chargé du maintien et de l'évolution des bases
de données constituant le système
d’information de l'entreprise.
 Le rôle d’un administrateur de bases de
données:
 mettre en forme l’architecture de base
 Définir la structure des données
 Choisir les supports de stockage
17
Administrateur d’une BD
(2/2)

 Organiser le transfert des données,


 Veiller à la sécurité de l’ensemble des
données
 Prévoir les procédures d’accès et
d’interrogation pour les différents utilisateurs.
 Prévoir les mises à jour.

18
Des SGF aux SGBD
Système de Gestion de Fichiers Système de Gestion des Bases
de Données

Saisie Traitement Fichier2

Saisie Traitements
+ Base de
Fichier1 Contrôles Données

Etats de
Saisie Traitement Sortie Etats de
Sortie 19
Système de Gestion des
Bases de Données SGBD (1/8)

 Pour pouvoir gérer efficacement une


base de données, un logiciel de haut
niveau qui permet de manipuler les
informations stockées dans une base de
données est nécessaire

Système de Gestion des Bases de Données


SGBD
20
SGBD (2/8)

 Déf1 : Toutes les opérations sur une


base de données sont permises grâce
au SGBD, qui définit, manipule et
contrôle les données.
 Différents modèles de SGBD existent,
mais depuis de nombreuses années,
c'est le modèle relationnel (SGBDR) qui
s'est imposé comme standard. Les
logiciels les plus connus du marchés sont
tous de ce type (Access, Oracle,
SQLServer, Informix, MySQL, …)
21
SGBD (3/8)
 Déf2: Un SGBD est un ensemble de services
(applications logicielles). Il permet la gestion des
bases de données indépendamment de son
domaine d’application.
 Déf3: Un SGBD est un logiciel permettant le
stockage et la manipulation des bases de
données, en :
 permettant l'accès aux données de façon simple
 autorisant l’accès aux informations à de
multiples utilisateurs
 manipulant les données présentes dans la base
de données (insertion, suppression,22
modification)
SGBD (4/8)

 Structure d’un SGBD (1/5)

Interface Interface
Utilisateurs d’accès
SGBD BD

-Analyse, vérification -Stockage, accès


des requêtes aux données
-Convivialité de l’interface -Optimisation des
performances 23
SGBD (5/8)
 Structure d’un SGBD (2/5)

La couche externe permet :


- dialogue avec les utilisateurs
- vues associées à chaque groupe d’utilisateurs
Couche Externe La couche logique permet :
- contrôle global
- structure globale des données
Couche Logique La Couche physique permet :
- stockage des données sur des supports
physiques,
Couche Interne
ou physique - gestion des structures de mémorisation
et d'accès (gestion des index, des clés,...)

BD 24
SGBD (6/8)

 Structure d’un SGBD (3/5)


 Le Niveau physique consiste à :
 Gérer des données, des index, …
 Partager des données
 Gérer la concurrence d’accès
 Effectuer la reprise sur pannes (fiabilité)
 Distribuer les données

25
SGBD (7/8)

 Structure d’un SGBD (4/5)


 Le niveau logique consiste à :
 Définir la structure de données : Langage de
Définition (Description) de Données (LDD)
 Consulter et mettre à Jour les données :
Langages de Requêtes (LR) et Langage de
Manipulation de Données (LMD)
 Gérer la confidentialité (sécurité)
 Maintenir l’intégrité

26
SGBD (8/8)

 Structure d’un SGBD (5/5)


 Le niveau externe consiste à :
 Gérer les vues
 Gérer l’environnement de programmation
 Proposer des interfaces conviviales
 Proposer des outils d’aides et des outils de saisie
d’impression d’états.

27
Fonctions d’un SGBD (1/2)

 Décrire les données qui seront stockées


 Manipuler ces données (ajout, modifications,
suppression)
 Consulter les données et traiter les
informations obtenues (sélection, tri, calcul, …)
 Définir les contraintes d’intégrité sur les
données (contraintes de domaines,
d’existence, …)
28
Fonctions d’un SGBD (2/2)

 Définir des protections d’accès (mot de


passe, autorisations, …)
 Résoudre les problèmes d’accès multiples
aux données (blocages, …)
 Prévoir des procédures de reprise en cas
d’incident (sauvegardes, journaux)

29
Objectifs d’un SGBD (1/6)

 Facilité d’utilisation
 Résolution rapide des requêtes
 Confidentialité
 Sécurité

30
Objectifs d’un SGBD (2/6)

 Indépendance Physique
 Possibilité de modifier l'organisation physique
(structures de stockages) sans modifier les
programmes.
 Portabilité des applications et indépendance vis à
vis du matériel.
 Indépendance Logique
 Possibilité de modifier le schéma conceptuel sans
modifier les programmes.
 Possibilité d'évolution de la base de données sans
réécriture des applications (ajout de champs, ajout de
31
relation, renommage de champs).
Objectifs d’un SGBD (3/6)

 Manipulation facile des données


 Manipulations des données par des
utilisateurs qui n'ont pas la connaissance de
l'organisation de la base.
 Utilisation d’un langage déclaratif (SQL :
Structured Query Langage)
 Possibilité d’avoir différentes vues
 Les vues permettent d’implémenter
l’indépendance logique en permettant de
créer des relations virtuelles
32
Objectifs d’un SGBD (4/6)

 Exécution et optimisation
 Traduction automatique des questions
déclaratives en programmes procéduraux
Utilisation de l’algèbre relationnelle
 Optimisation automatique des requêtes
 Intégrité logique
 Permet la détection des mises à jour erronées
 Consiste à effectuer un contrôle sur les données
élémentaires (contrôle sur les types, les valeurs,
…) et sur les relations entre les données 33
Objectifs d’un SGBD (5/6)
 Intégrité physique
 Assure l‘intégrité des transactions et garantit
la durabilité des effets des transactions
effectuées
 Partage des données
 Permet une utilisation simultanée des
données
 Isolation et cohérence des données
 Chacun a l’impression d’être seul => Isolation
34
 Gestion des accès concurrents => Cohérence
Objectifs d’un SGBD (6/6)

 Confidentialité
 Permet de Protéger les données de la BD
contre des accès non autorisés
 Les niveaux de confidentialité:
 Par mot de passe : connexion restreinte aux
usagers
 Par privilèges d’accès aux objets de la BD
 Standardisation
 Portabilité
 Interopérabilité
35
Avantages d’un SGBD

 Assurer l’indépendance, la sécurité, la


confidentialité et l’intégrité des données
 Réduire les temps de développement des
applications
 Gérer les données persistantes
 Contrôler les accès concurrents
 Assurer les opérations de reprise sur panne
36
Les Vues en BD (1/5)

 Définition : Une vue est une table


virtuelle qui permet d’avoir une
perception simplifiée de la Base de
Données.
 Les vues permettent l’extraction de
données de la base en fonctions d’une
requête.

37
Les Vues en BD (2/5)

 La notion de vue est liée au concept de


privilège d ’accès.
 Elle permet une grande souplesse
d’accès aux informations.
 Un groupe d’utilisateurs  Une vue sur
laquelle les membres du groupe
reçoivent des droits spécifiques.

38
Les Vues en BD (3/5)

 Utilité
Les vues permettent:
 De simplifier des requêtes complexes
 De ne donner accès qu’à une partie de
l’information (seul le créateur de la vue pourra
avoir accès à la totalité des données)
 De résoudre des problèmes de confidentialité
 De garantir l’intégrité d’une base
39
Les Vues en BD (4/5)

 Avantages:
 Simplification et personnalisation de la base
de données : chaque groupe d ’utilisateurs
voit des tables simples.
 Confidentialité : un groupe d ’utilisateurs
peut se voir interdire des accès à des parties
de la base (sans qu’il le sache) car il a accès
seulement à certaines vues (pour effectuer
des opérations sur lesquelles il a eu des
droits également)
40
Les Vues en BD (5/5)

 Indépendance application/schémas conceptuels


Par exemple lors de l’ajout d’un enregistrement,
on modifie la table de base mais on ne change
rien à la vue.
 Possibilité d’introduction de contraintes
d’intégrité.

41
Opérations sur les données (1/13)

 Pour l’utilisateur, une bonne requête a les


caractéristiques suivantes :
 Tout d’abord elle s’exprime facilement (L’idéal serait de
pouvoir utiliser le langage naturel, mais celui-ci présente trop
d’ambiguités.
 Le langage doit être simple et ne devrait pas demander
d’expertise technique (syntaxe compliquée, structures de
données, implantation particulière ...).
 Il est également souhaitable de ne pas attendre trop
longtemps (à charge pour le SGBD de fournir des
performances acceptables).
 Surtout, la réponse doit être fiable. 42
Opérations sur les données (2/13)
LDD Langage de Définition des Données (1/4)

 Le langage de définition de données


LDD est un langage orienté au niveau de
la structure de la base de données.
 Les commandes manipulent les structures
de données non les données en elles
mêmes .
Le LDD décrit la structure en
incluant les contraintes
43
Opérations sur les données (3/13)
LDD Langage de Définition des Données (2/4)

 Etapes de définition des données:


 Etape 1 : Définir le domaine des données
(ensemble des valeurs que peut prendre
une donnée : nombre, chaîne de caractères,
date, booléen)
 Etape 2 : Regrouper des données ayant un
lien conceptuel au sein d'une même entité.
 Etape 3 : Définir les liens entre plusieurs
entités de nature différente.
 Etape4 : Ajouter des contraintes de valeur
sur les données. 44
Opérations sur les données (4/13)
LDD Langage de Définition des Données (3/4)

 Exemple 1 : Les domaines de données


 On décide de stocker des données
définissant des personnes dans une base de
données
 On définira les données de l'entité personne
comme ceci :
 Numéro de carte d’identité : numérique
 Nom : chaîne de caractères
 Prénom : chaîne de caractères
 Date de naissance : date. La date de naissance
doit être forcément antérieure à la date du jour. 45
Opérations sur les données (5/13)
LDD Langage de Définition des Données (4/4)

 Exemple 2 : contraintes sur les données


 nom varchar(15) not null;
 âge number between 0 and 120;
 débit = crédit;

46
Opérations sur les données (6/13)

LMD Langage de Manipulation des Données (1/7)

 Un langage de manipulation de données


(LMD) est l'ensemble des commandes
concernant la manipulation des données dans
une base de données.
 Il existe 4 opérations classiques ou requêtes
qui correspondent à des commandes du LMD :
 La création
 La modification
 La destruction.
 La recherche. 47
Opérations sur les données (7/13)

LMD Langage de Manipulation des Données (2/7)

 Ainsi, Un ordre LMD est exécuté lorsque :


 Vous ajoutez des lignes à une table
 Vous modifiez des lignes existantes dans une
table
 Vous supprimez des lignes d’une table

48
Opérations sur les données (8/13)

LMD Langage de Manipulation des Données (3/7)

 Insertion d’une ligne dans une table :


 Quand une table est créée, elle ne contient
aucune donnée.
 La première chose à faire est l’insertion des
données sans quoi la BD n’a aucune utilité.
 Les données sont conceptuellement
insérées ligne par ligne.

49
Opérations sur les données (9/13)

LMD Langage de Manipulation des Données (4/7)

 Modifications des lignes dans une table :


 La modification des données est appelée mise à
jour.
 Il est possible de mettre à jour une ligne spécifique,
toutes les lignes ou un sous-ensemble des lignes de
la table. Chaque colonne peut être actualisée
séparément.
 Pour réaliser une mise à jour, 3 informations sont
nécessaires:
 Le nom de la table et de la colonne à mettre à jour
 La nouvelle valeur de la colonne
50
 Les lignes à mettre à jour
Opérations sur les données (10/13)

LMD Langage de Manipulation des Données (5/7)

 Suppression des lignes dans une table :


 Comme pour l’insertion, la suppression ne
peut se faire que par ligne entière.
 La suppression des lignes se fait en indiquant
les conditions à remplir par les lignes à
supprimer.
 On peut supprimer un groupe de lignes qui
remplissent une condition ou toutes les lignes
d’une table en une seule fois.

51
Opérations sur les données (11/13)

LMD Langage de Manipulation des Données (6/7)

 Exemple 1 : Insertion d’une ligne dans une table :


 Table Informations_Mag
Nom Colonne Type
Nom_Magasin Char(50)
Ventes Float
effectuées
Date_Vente Date

 Pour insérer une ligne supplémentaire dans la table


représentant les données de ventes pour Ben Arous le 10
janvier 2019, dont les ventes de ce magasin, à ce jour,
s’élevaient à 900DT, il faudra indiquer les valeurs que doit
prendre chacune des colonnes.
52
Opérations sur les données (12/13)

LMD Langage de Manipulation des Données (7/7)

 Exemple 2 : Suppression d’une ligne dans une table :


 Table Informations_Mag
Nom_Magasin Ventes effectuées Date_Vente
Ben Arous 900 DT 10-Jan-2019
Ariana 1250 DT 07-Jan-2019
Ben Arous 2300 DT 08-Jan-2019

 Si nous décidons de ne conserver aucune information de


Ben Arous dans cette table, nous devons indiquer comme
condition de suppression le nom du magasin à supprimer.
Nous obtenons, ainsi, le résultat suivant:
Nom_Magasin Ventes effectuées Date_Vente
Ariana 1250 DT 07-Jan-2019 53
Opérations sur les données (13/13)

 Une bonne partie du travail sur les SGBD


consiste à satisfaire l’ensemble des besoins
vus précédemment.
 Le résultat est ce que l’on appelle un langage
de requêtes, et constitue à la fois un sujet
majeur d’étude et une caractéristique
essentielle de chaque SGBD.
 Le langage le plus répandu à l’heure actuelle
est SQL. 54
Architectures d’un SGBD (1/6)
 Architecture centralisée : le SGBD et les
programmes d’application s’exécutent
sur un même ordinateur central.

Applis
SGBD BD

Mainframe
Terminaux passifs
55
Non ergonomiques
Architectures d’un SGBD (2/6)

 Architecture Client/Serveur 2-Tiers

Application 1

BD
Application 2 SGBD

Application 3
BD
Clients intelligents
56
Architectures d’un SGBD (3/6)
 Architecture Client/Serveur 3-Tiers

Application 1
BD

Application 2 SGBD

Application 3 BD

Couche Couche traitement Couche d’accès 57


présentation
aux données
Architectures d’un SGBD (4/6)
 Architecture répartie
 Une base de données répartie (BDR) est un
ensemble structuré et cohérent de données, stocké
sur des processeurs distincts, et géré par un système
de gestion de bases de données réparties
 Un SGBD réparti est un système pour lequel
l'ensemble des ressources disponibles ne se trouvent
pas au même endroit ou sur la même machine.
 Un système réparti est, donc, un ensemble de
processeurs autonomes, reliés par un réseau de
communication, qui coopèrent pour assurer la
gestion des informations.
58
Architectures d’un SGBD (5/6)
 Le principe est simple : les données et traitements sont
répartis sur différents sites interconnectés par un
réseau de communication.
 Ainsi, la défaillance d'un site ne peut entraîner l'indisponibilité
totale du système et sa probabilité peut être négligée grâce à
la tolérance aux fautes, assurée par la redondance des
informations et des traitements.
 L'autonomie des sites est préservée par ce genre de
système, en permettant à un groupe d'utilisateurs de
créer et de gérer leur propre base de données tout en
autorisant les accès aux autres utilisateurs via le
réseau. L’avantage est, donc, l’amélioration des
performances (traitements placés à l’endroit où se
trouvent les données) 59
Architectures d’un SGBD (6/6)

 L’architecture d’un SGBD a pour but


d’assurer la circulation du flot des ordres
et du flot des données.
 L’architecture diffère selon les différents
SGBD mais l’essentiel demeure
identique et permet de préciser les
grands principes de fonctionnement d’un
SGBD.
60
Serveurs de BD (1/7)

 Serveur OLTP (On-Line Transaction Processing)


 Il s’applique, aux opérations logicielles qui
lisent, écrivent de nouvelles informations et
apportent des modifications en temps réel à
une base de données.
 Concrètement lorsqu’un internaute
commande un billet d’avion, réalise un
virement, réserve une place de spectacles
par exemple, l’OLTP est indispensable.
61
Serveurs de BD (2/7)

 L’OLTP permet à un utilisateur d’utiliser un


poste connecté au serveur de base de
données de façon interactive
 Il épargne au développeur la gestion de
nombre d'embarras possibles (indisponibilité
du serveur, déconnexion intempestive, ...)
 Il permet d’être toujours certain d’avoir des
données justes et à jour dans le système
informatique.
62
Serveurs de BD (3/7)

 La difficulté est ici triple avec les systèmes OLTP :


 Ils doivent permettre l’accès simultané par plusieurs
centaines de personnes ;
 Minimiser le plus possible les arrêts (il faut bien faire
des opération de maintenance) ;
 S’assurer que les données sont à jour.
 Ainsi pour pallier à ces défis, l’OLTP est souvent :
 Décentralisé afin d’être accessible plus facilement
peu importe la localisation géographique
 Distribué sur plusieurs machines fonctionnant
ensemble afin de permettre la maintenance sur une
sans arrêter l’ensemble du système. 63
Serveurs de BD (4/7)

 Les opérations sont exécutées, ainsi, très


rapidement et des verrous et autres
mécanisme de sécurité assurent, si
besoin est, la cohérence, l’intégrité et la
justesse des données et des traitements.

64
Serveurs de BD (5/7)

 Serveur OLAP (On-Line Analytical Processing)


 Désigne une catégorie d'applications et de
technologies permettant de collecter,
stocker, traiter et restituer des données à
des fins d'analyse

65
Serveurs de BD (6/7)

 On se sert des d’applications OLAP lorsque


l’on a besoin de croiser des données et
d’obtenir des informations synthétiques.
 Ce système est beaucoup utilisé en analyse
financière notamment.
 Les applications OLAP se situent en dehors
des applications classiques. Les entreprises
fonctionnent très bien sans elles.

66
Serveurs de BD (7/7)

 Par contre, lorsque le besoin de s’élever un


peu plus, les applications OLAP permettent de
faire parler des données diverses. Ces
applications sont alors placées au-dessus des
autres logiciels et permettent d’interroger les
données issues de ces derniers.
 Utilisation :
 Analyse des ventes et marketting
 Aide à la décision
 Analyse de la qualité, …
67

Vous aimerez peut-être aussi