Vous êtes sur la page 1sur 74

Bases de Données :

« Concepts fondamentaux »

David Célestin FAYE

UFR SAT/UGB
david-celestin.faye@ugb.edu.sn

8 mai 2023
Objectif général du cours 2

Objectifs
Etudier les bases de données selon différents points de vue :
utilisateur, concepteur, administrateur et développeur de
base de données
Comprendre les principes des systèmes de gestion de bases
de données (SGBD) relationnels et leurs langages - en
particulier SQL
Apprendre la méthode pour construire des applications sur
un SGBD - la modélisation
Prérequis quasi nuls(bon sens)
Plan du cours 3

1 Introduction : Concepts fondamentaux(2H)


Historique
Architecture et fonction d’un SGBD
2 Etude du Modèle relationnel(6H)
Etude des dépendances fonctionelles
Théorie de la normalisation
3 Algebre relationnel(2H)
Opérateurs de l’algèbre
Equivalences syntaxiques
4 Langage SQL(6H)
Définition de structures
Interrogation
Mise à jour
Introduction 4
Z Les entreprises gèrent des volumes de données très grands
Giga (109 ), Tera (1012 ), Péta (1015 )-octets
Numériques, Textuelles, Multi-média (images, films,...)

Z Il faut pouvoir facilement


Archiver les données sur mémoires secondaires permanente
Retrouver les données pertinentes à un traitement
Mettre à jour les données variant dans le temps
Z Le tout efficacement, rapidement, partout etc...
Z Par exemple :
les emprunts dans une bibliothèque,
les salaires des employés dans une entreprise,
les comptes dans une banque,
les réservations de places dans les avions,...
Pourquoi étudier les bases de données (BD) ? 5
Avant
salariés d’une entreprise, données bancaires, etc...
Aujourd’hui les BD sont partout :
recherches Google
réseaux sociaux : Twitter, Facebook
musique : Spotify, Soundcloud, Discogs
vidéo : YouTube, DailyMotion, IMDb
photo : Flickr, Picasa
commerce : Amazon, eBay
voyage : Expedia, TripAdvisor, AirBnB
encyclopédies : Wikipedia, DBpedia
bases de données médicales et scientifiques
exploration de données (data mining)
etc...
Données 6

Z Données
représentation d’un fait à l’aide d’un code binaire stocké
dans la mémoire de l’ordinateur

Z Type de données (data type)


Ensemble d’objets qui possèdent des caractéristiques
similaires et manipulables par des opérations identiques.
Donnée simple : entier, réel, chaîne de caractères, réel,
etc.
Donnée de type complexe : composée de données de
types simples
Donnée de type multimédia : texte, image, son, vidéo.
Données 7

Z Données
Elément effectif, réel, correspondant à une type de données.
Synonymes : Occurence, Instance.
Z Exemple : Type de données
Entier = {0, 1, 2, ..., N }
V ehicule = (immatriculation, marque, type, couleur)

Z Exemple : Données
L’entier 486
Le véhicule (DK6543-A, Renault, Megane, Bleu)
Information 8

Z Information
« Renseignement que l’on obtient sur quelqu’un ou sur
quelque chose »
« Ensemble de données, de connaissances se rapportant à un
sujet précis. »

Z Donnée
Information quelconque
Ex : Cet étudiant s’appelle modou
Relation, entre des informations
Ex : Marie étudie l’architecture
Les relations apportent une structure.
Système d’Information 9
Z Entreprise : système complexe dans lequel transitent de très
nombreux flux d’informations.
des données :clients, quantité en stock
des dépendances entre informations : facture⇒
produits
la circulation d’informations
liste service
commande→ entrepôt→ → ...
produits livrés facturation
des règles de gestion : facture⇒ client,...
Z dispositif de maîtrise de ces flux ⇒ qualité de service
satisfaisante
Enjeu de toute entreprise
Mettre en place un système destiné à collecter, mémoriser,
traiter et distribuer l’information (avec un temps de réponse
bref). Ce système d’information assurera le lien entre deux
autres systèmes de l’entreprise : le système opérant et le système
de pilotage
Le système d’information dans l’entreprise 10
Informations Résultats de
économiques Système de Pilotage L'entreprise

décisions Infos traitées

Infos Système d' Information Infos

décisions Infos collectées

Matières Système Opérant Produits


premières finis

Système d’information
Ensemble des éléments(ordinateurs, postes de travail, règles et
méthodes,etc.) chargés de stocker et de traiter informations
d’une organisation.
Objectifs : Améliorer le traitement de l’information dans une
organisation (Traitement, collecte,saisie, transmission
stockage,etc.)
Système d’Information 11
Definition
Un système d’information (noté SI) représente l’ensemble des
éléments participant à la gestion, au stockage, au traitement, au
transport et à la diffusion de l’information au sein d’une
organisation.

Z But d’un Système d’Information


Rationaliser
l’acquisition,
le stockage,
la recherche et
la distribution de l’Information

Z Remarque :
D’avantage d ’informations ont été produites
ces dernières 30 années
que durant les 5000 ans précédents
Le système d’information dans l’entreprise 12
Le système d’information
doit décrire (on dit encore représenter) le plus fidèlement
possible le fonctionnement du système opérant
doit intégrer une base d’information dans laquelle seront
mémorisés la description des objets, des règles et des
contraintes du système opérant
est doté d’un mécanisme (appelé processeur d’information)
destiné à piloter et à contrôler les changements de la base
d’informations

Base
d'informations

Faits et événements Processeur


État de la base d'informations d'informations
Fichiers 13

Z Utilisés par les premières applications informatiques pour


l’archivage des données

Z Ensemble de données qui peut être manipulé par


plusieurs utilisateurs ayant une vue unique sur ces données

Z Ensemble d’enregistrements physiques (ou articles eux


même composés de champs)
Système de Gestion de Fichiers 14
Les données sont stockées dans des fichiers
différentes méthodes d’accès (séquentiel, indexé, haché, etc.)
un fichiers peut être utiliseé par plusieurs programmes

Programme A
Données

Fichier 1
Système
Programme A de
Données Gestion
de
Fichiers
Fichier 2
Programme A
Données
Les SGF et leurs limites 15

Caractéristiques

Comptabilité Chirurgie

Problèmes

Consultation Psychiatrie
Les SGF et leurs limites : Format des fichiers 16

Dupont Dupond
Symptomes : y
Turlututu : sqj
Turlututusqjsk
Symptom: yyyy
Analyses xxxx
Caractéristiques
Symptomes : y
Turlututu : sdd Turlututudhjsd
Analyses : xxx Analyses :xx

Plusieurs applications
►Plusieurs formats
►Plusieurs langages

Problèmes

►Difficultés de gestion
Duhpon Duipont
Turlututu : sq

Symptomes : yy Symptomyyyy
Analyses : xxxx Analysesxxxx

Symptomes : yy Turlututudhjsd
Les SGF et leurs limites : Redondance (données) 17

Dupont Dupond
Symptomes : y
Turlututu : sqj
Turlututusqjsk
Symptom: yyyy
Analyses xxxx
Caractéristiques
Symptomes : y
Turlututu : sdd Turlututudhjsd
Analyses : xxx Analyses :xx

Plusieurs applications
►Plusieurs formats
►Plusieurs langages
Redondance des données

Problèmes
Duhpon
►Difficultés de gestion
Duipont
Turlututu : sq ►Incohérence des données
Symptomes : yy Symptomyyyy
Analyses : xxxx Analysesxxxx
Symptomes : yy Turlututudhjsd
Les SGF et leurs limites : Interrogations 18

Dupond
Caractéristiques

ComptaSoft

ChiruSoft
Dupont
Turlututusqjsk
Symptomes : y Symptom: yyyy
Turlututu : sqj Analyses xxxx
Symptomes : y
Turlututu : sdd Turlututudhjsd
Analyses : xxx Analyses :xx
Plusieurs applications
►Plusieurs formats
►Plusieurs langages
Redondance des données
Pas de facilité d’interrogation

Problèmes
►Difficultés de gestion
►Incohérence des données
►Couts elevés
PsychiaSoft
ConsultSoft

Duhpon Duipont
Turlututu : sq

Symptomes : yy
Symptomyyyy
Analysesxxxx
►Maintenance difficile
Analyses : xxxx
Turlututudhjsd
Symptomes : yy
Les SGF et leurs limites : Pannes 19

Dupond
Caractéristiques

ComptaSoft

ChiruSoft
Dupont
Turlututusqjsk
Symptomes : y Symptom: yyyy
Turlututu : sqj Analyses xxxx
Symptomes : y
Turlututu : sdd Turlututudhjsd
Analyses : xxx Analyses :xx
Plusieurs applications
►Plusieurs formats
►Plusieurs langages
Redondance des données
Pas de facilité d’interrogation

Problèmes
►Difficultés de gestion
PsychiaSoft ►Incohérence des données
Duipont ►Couts elevés
ConsultSoft

Duhpon Turlututu : sq

Symptomes : yy
Symptomyyyy
Analysesxxxx ►Maintenance difficile
►Gestion des pannes
Analyses : xxxx
Turlututudhjsd
Symptomes : yy
Les SGF et leurs limites : Partage de données 20

Caractéristiques

ComptaSoft
Dupont Dupond

ChiruSoft
Turlututusqjsk
Symptomes : y Symptom: yyyy
Turlututu : sqj
Symptomes : y
Turlututu : sdd
Analyses xxxx

Turlututudhjsd
Plusieurs applications
Analyses : xxx Analyses :xx

►Plusieurs formats
►Plusieurs langages

Redondance des données


Pas de facilité d’interrogation
Redondance de code

Problèmes
►Difficultés de gestion
ConsultSoft

Duhpon Duipont
Turlututu : sq
PsychiaSoft
►Incohérence des données
Symptomes : yy
Analyses : xxxx
Symptomyyyy
Analysesxxxx
►Couts elevés
Symptomes : yy Turlututudhjsd ►Maintenance difficile
►Gestion des pannes??
►Partage de données??
Les SGF et leurs limites : Partage de données 21
Caractéristiques

ComptaSoft
Dupont Dupond

ChiruSoft
Turlututusqjsk
Symptomes : y Symptom: yyyy
Turlututu : sqj Analyses xxxx

Plusieurs applications
Symptomes : y
Turlututu : sdd Turlututudhjsd
Analyses : xxx Analyses :xx

►Plusieurs formats
►Plusieurs langages

Redondance des données


Pas de facilité d’interrogation
Redondance de code

Problèmes
►Difficultés de gestion
►Incohérence des données
►Couts elevés
ConsultSoft

Duhpon Duipont PsychiaSoft


Symptomes : yy
Turlututu : sq

Symptomyyyy
►Maintenance difficile
►Gestion des pannes??
Analyses : xxxx Analysesxxxx

Symptomes : yy Turlututudhjsd

►Partage de données??
►Confidentialité???
En résumé 22
Z Lourdeur d’accès aux données : en pratique, pour chaque
accès il faudrait écrire un programme.

Z Manque de sécurité

Z Pas de contrôle de concurrence : dans un environnement


Multi-Utilisateur, des problèmes de concurrence se posent

Z Redondance des informations, Saisies multiples : une même


information peut être enregistrée dans plusieurs fichiers
différents. Ceci cause des délais de mise à jour, peut
emmener les diverses applications à travailler sur des
données contradictoires et multiplie les possibilités d’erreurs
de mise à jour
⇒D’où le recours à un logiciel chargé de gérer les fichiers
constituant la BD et de fournir les fonctionnalités de
protection, de sécurité et des interfaces d’accès aux données.
Bases de données 23
Z Ensemble structuré de données
mémorisé sur un support permanent
cohérent, intégré, partagé
pouvant être manipulé par plusieurs utilisateurs ayant des
vues différentes sur ces données.

Z Regroupement d’un ensemble de fichiers partagés par des


utilisateurs ayant des vues différentes
Z BD : stockage persistent des données (disque,...) par
opposition à un stockage transitoire (mémoire volatile).
Z Caractéristiques :
Grandes quantités et persistance ;
La base de données doit pouvoir être interrogée et modifiée
aisément ;
Gestion sûre d’accès fréquents et multiples (transactions).
Bases de données 24
Z Les bases de données sont une composante essentielle des
systèmes informatiques modernes :
systèmes d’informations de gestion (banques, assurance,
gestion comptable, gestion de stocks, gestion commerciale,
gestion de production, etc.)
bibliothèques électroniques, mises à disposition
d’informations à travers le Web
BD scientifiques
nouveaux domaines d’application ( systèmes téléphoniques,
systèmes multimédias (image, son, video), géomatique (base
de donnnées géographiques), entrepôt de données

Z Rôle des BDs dans les Systèmes d’Information


Représentations (Modélisation et Codage)
Stockage (Pérennité)
Recherche (Exacte ou Floue)
Objectifs des Bases de Données 25

Z Centralisation logique de l’information


Non redondance (la même information ne doit pas figurer
plusieurs fois dans la BD)
Unicité de la saisie
Contrôles centralisés

⇒ Ce qui diminue les risques d’erreurs de mise à jour et les


incohérences

Z Indépendance données traitement


Objectifs des Bases de Données 26
Z Indépendance données traitement
Fichier_
1

PROG1 : PROG2 : PROGn :


Fichier_1 Fichier_1 Fichier_1
{ A, { A, { A,
B, B, .. ... .. ... B,
C, C, .... C,
D D D
} } }
... ... ...

Fichier_1

NOUVPROG:
Fichier_1
{ A,
PROG1 : PROG2 : PROGn : B,
Fichier_1 Fichier_1 Fichier_1 C,
{ A, { A, { A, D,
B, B, .. ... .. ... B, E}
C, C, .... C, ...
D D D ...........
} } }
...
... ... ...
........... ........... ...........
Objectifs des Bases de Données 27

Z Partage des données (accessibilité à plusieurs utilisateurs


simultanés)
confidentialité (login, mot de passe)
autorisation d’accès (lecture, écriture)
accès concurrents

Z Intégrité des données


règles permettant d’éliminer des données incorrectes
(contrainte d’intégrité référentielle, unicité de
l’identifiant...).
Système de gestion de bases de données (SGBD) 28

• ensemble coordonné de logiciels permettant de stocker des


données dans une base et de les récupérer .

• Interface entre programme d’application des utilisateurs


d’une part et Base de données d’autre part.

SGBD

BD

SGBD

• Sert à masquer à l’utilisateur les détails complexes et


fastidieux liés à la gestion des fichiers - Interrogation,
cohérence, partage, gestion de pannes, etc.
Fonctions d’un SGBD 29
Z Décrire les données qui seront stockées
Z Gérer les données
Manipuler des données (ajout, modification, suppression
d’informations) ,
Assurer la cohérence (ou intégrité) des données (contraintes
de domaines, d’existence, etc.),
Assurer la confidentialité des données (mots de passe,
autorisation...),
Résoudre des problèmes d’accès multiples aux données
(blocages, transactions parallèles),
Prévoir des procédures de reprise en cas de panne ( copies
de sauvegarde, journaux)
Z Obtenir des renseignements à partir des données stockées au
moyen de requêtes (sélection, tri, calcul, agrégation, etc.),

Z Permettre l’écriture d’applications indépendantes de


l’implémentation physique des données
La qualité d’un SGBD, c’est aussi 30

Z Gérer des données importantes (datawarehouse,


datamining)
Z Gérer des données réparties sur plusieurs serveurs
Z Accepter un grand nombre de connexions
Z Les temps de réponse !
Z La reprise après panne (dans un état cohérent), système de
réplication,. . .
Z L’ergonomie
Z Le prix
Types de SGBD
Z Modèle hiérarchique : (années 60)-Première
31
génération
données représentées sous forme d’une structure
arborescente
structure conçue avec des pointeurs et détermine les
chemins d’accès aux données

Z Modèle réseau : (années 70)-Première génération


données peuvent être visualisée sous la forme d’un graphe
structure conçue avec des pointeurs et détermine le chemin
d’accès aux données

Hiérarchique/réseau : programmes dépendants de la


structure logique de la base et du chemin d’accès aux
données
Types de SGBD 32
Z Modèle Relationnel(années 70)-Deuxième
génération
données une représentées sous forme de tables
Il n’y a pas de pointeur qui fige la structure de la base.

Z Modèle Objet(fin années 90)-Troisième génération


données représentées sous forme d’objets au sens donné par
les langages orientés objet.
Z Modèle Déductif
Structure : celle du modèle relationnel à laquelle on ajoute
des règles de déduction.
Manipulation : langages logiques comme Datalog.
Contrairement aux langages du modèle relationnel, il admet
la récursivité.
Historique-La montée en puissance 33
Z 1960 : Modèle primitifs
fichiers
index
hiérarchies
Z 1970 : Modèle à deux niveaux
Modèle réseau
CODASYL
Modèle relationnel
Alpha,R,SEQUEL
QBE, Ingres,...
Z 1980 : Modèle à 3 niveaux
généralisation relationnelle
Optimisation locale
Normalisation SQL :SPARC,ANSI
Z 1990 : Domination relationnelle
Optimisation globale
Normalisation SQL :ISO
Répartition et distribution
Apparition des BDOO
Historique-La Théorie relationnelle 34

Z1969-1976
Recherche
Travaux de Tedd Codd
Travaux de Chris Date
...
Prototypes
Systèmes R(IBM)
INGRES
SEQUEL(IBM)
QBE(IBM)
SQL
ORACLE
...
Historique-La Théorie relationnelle 35

Z1976-2015
Evolution
Normalisation
OLAP(Codd)
Travaux d’Ullman
Travaux de Date
Temporalité(Snodgrass & Lorentzos
Co-relationalité(NoSQL)
Néo-relationalité(NewSQL)
Historique-La crise 1985-2005 36

Z Grandeur et décadence du modèle relationnel


ANSI SQL 89
ANSI SQL 92
ANSI SQL 99
Z Parallélement une approche objet qui ne s’impose pas
CORBA
ODMG
Z La souplesse et ses limites
XML( années 2000)
Z La poursuite d’une normalisation de moins en moins suivie
ISO 9075 :2003
ISO 9075 :2008
ISO 9075 :2011
Historique-Les défis
Z Intégrer le flou 37
apparition des BD NoSQL (Not Only SQL) avec le Web 2.0.
Google-Bigtable, Facebook-Cassandra, Amazon-Dynamo,
etc.
Z Intégrer le temps
BCDM
ITL et TRM
Z Intégrer l’intégration
MOLAP,ROLAP,HOLAP,DOLAP
Dimensionalité(étoiles et flocons)
Entrepôts(ETL et médiateurs)

Vers une renaissance du modèle relationnel avec newSQL ?


D, Vertica , Hanna, VoltDB

Z Retour du relationnel pur avec NewSQL grâce à


sa capacité à maintenir les propriétés ACID
sa capacité à modéliser la temporalité( logique des
intervalles
ses performances insurpassées(grâce aux représentations
verticales et maillées)
Les SGBD relationnels 38
Z basé sur le concept de Relation de la théorie des ensembles
Les données sont organisées sous forme de tableaux de
valeurs (Tables) indépendants (plus de pointeurs)

Z SQL (Structured Query Language), langage standard de


manipulation (LMD) et de description des données (LDD)

Z Principaux SGBD relationnels


sur mini et gros systèmes :Oracle, DB2, Sybase, Ingres,
Informix, SQL Server
sur micro : Access, Paradox, FoxPro, FileMaker, 4D
freewares et sharewares :MySQL, MSQL, Postgres,
InstantDB
Z Les SGBDR représentent 80% du marché
Architecture ANSI/SPARC 39
Z permet d’isoler les différents niveaux d’abstraction
nécessaires pour un SGBD.

SGBD

Couche externe Couche logique Couche interne

Schémas Schémas Schémas


Externes Logique Interne

BD

Utilisateurs Dialogue Contrôle Stockage

Interface Utilisateur Interface d'accès aux données


Architecture ANSI/SPARC 40
Les 3 couches du SGBD 41

Z Niveau physique (interne) :


défini par le schéma physique qui indique comment
l’information est enregistrée sur les mémoires auxiliaires
décrit une réalité physique ( la seule de toute l’architecture)
Z Niveau logique (conceptuel).
définit la structure des données : langage de description des
données (LDD) ; consultation et mise à jours des données :
Langage des requêtes (LR) et langage de Manipulation de
Données (LMD) ; gestion de la confidentialité ; maintien de
l’intégrité. Il n’y a qu’un seul schéma conceptuel.
Niveau externe :
dialogue avec les utilisateurs, analyse de leurs demandes,
contrôle des droits d’accès et présentation des résultats
environnement de programmation (intégration avec un
langage de programmation)
La représentation de la base de données est composée de
plusieurs schémas externes.
Indépendance données - programmes 42

Z indépendance données - programmes : capacité de modifier


le schéma de la base de données à un niveau donné, sans
remettre en cause le schéma aux niveaux supérieurs :

Z indépendance logique :
on peut changer le niveau conceptuel sans remettre en cause
les schémas externes ou les programmes d’application
L’ajout ou le retrait de nouveaux concepts ne doit pas
modifier des éléments qui n’y font pas explicitement
référence

Z indépendance physique :
on peut changer le schéma physique sans remettre en cause
le schéma conceptuel (et les schémas externes)
On peut modifier l’organisation physique des fichiers,
rajouter ou supprimer des méthodes d’accès.
Indépendance physique 43

Z Indépendance des programmes d’applications vis à


vis du modèle physique :
• Possibilité de modifier les structures de stockage
(fichiers, index, chemins d’accès, ...) sans modifier les
programmes ;

• Ecriture des applications par des non-spécialistes des


fichiers et des structures de stockage ;

• Meilleure portabilité des applications et indépendance vis


à vis du matériel.
Indépendance Logique 44

Z Les applications peuvent définir des vues logiques de la


BD

Z Possibilité pour chaque application d’ignorer les besoins


des autres (bien que partageant la même BD).

Z Possibilité d’évolution de la base de données sans


réécriture des applications : ajout de champs, ajout de
relation, renommage de champs.

Z Possibilité d’intégrer des applications existantes sans


modifier les autres.

Z Possibilité de limiter les conséquences du partage :


Données confidentielles.
Cycle de vie d’une base de données 45
Monde réel
Modèle Modèle
Conceptuel Logique de
De données Données
(MCD) (MLD)
Langage de
description
Concevoir
Concevoir Créer
Créerla
lastructure
structure de données
(LDD)

Requêtes
Spécifiques
Concepteur
Implanter
Implanter
Maintenir

Langage de Administrateur Outils


manipulation
d'indexation
de données
Utilisateur SGBD,...
(LMD)
Manipuler Optimiser
Optimiser
Notion de modèle de données 46

Z Formalisme qui définit la structure, la sémantique et les


opérations d’une base de données

Z Tout SGBD est conçu autour d’un modèle de données bien


défini reposant sur 3 é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 d’interrogation de données, pour les requêtes
en lecture, et des langages de manipulation des données,
pour les mises à jour.
Notion de modèle de données 47

Z trois niveaux de modélisation pour les bases de données :


Le modèle conceptuel
pour la conception d’applications
permet de décrire le réel selon une approche ontologique,
sans prendre en compte les contraintes techniques.
Le modèle logique pour l’utilisation de la BD, supporteé
par un SGBD
permet de décrire une solution, en prenant une orientation
informatique générale (type de SGBD typiquement), mais
indépendamment de choix d’implémentation précis.
Le modèle physique
pour l’implantation du SGBD
Il correspond aux choix techniques, en terme de SGBD
choisi et de sa mise en oeuvre (programmation,
optimisation, etc.).
Modélisation à plusieurs niveaux 48

Réel

Indépendant du
Modèle modèle de données

conceptuel Indépendant du
SGBD Médecin effectue Visite

Dépendant du
Modèle modèle de données
Codasyl Relationnel Objet XML
logique Indépendant du
SGBD

Dépendant du
Modèle modèle de données
 Organisation physique des données
 Structures de stockage des données
Physique Dépendant du
SGBD  Structures accélératrices (index)
Exemple de formalisme 49
Z Modélisation conceptuelle

Le modèle Entité-Association (Chen) a été le plus répandu


dans le cadre de la conception de bases de données.
Le modèle UML, qui se généralise pour la conception en
informatique, se fonde sur une approche objet.

Z Modélisation logique
Le modèle relationnel est le modèle dominant.
Le modèle relationnel-objet (adaptation des modèles
relationnel et objet au cadre des SGBD) est actuellement en
pleine croissance.
Le modèle objet "pur" reste majoritairement au stade
expérimental et de la recherche.
Des modèles plus anciens (hiérarchique, réseau, etc.) ne sont
plus guère utilisés aujourd’hui.
Notion de schéma de données 50

Z ensemble de définitions exprimées en langage de


description de données (DDL - Data Definition
Language)

Z permet de décrire la structure d’une base de données, en


décrivant l’ensemble des types de données de la base

Z L’occurrence d’une base de données est constituée de


l’ensemble des données correspondant aux types du schéma
de la base

Z Exemple : Schéma de base de données


Etudiant (NumEtud, nom, ville)
Module(NumMod, titre)
Inscription(NumEtud, NumMod, date)
Notion de schéma de données 51

données de la base à un instant donné


manipulées par un langage de manipulation de
données (DML - Data Manipulation Language)
Z Exemple : Instance de base de données
Etudiant (172, Diop, ’Dakar’)
Etudiant (173, Fall, ’Thies’)
Etudiant (174, Lam, ’Louga’)
Module(1, ’SGBD’)
Module(1, ’Systèmes d’exploitation’)
Inscription(172, 1, 2002)
Inscription(172, 2, 2002)
Inscription(173, 1, 2001)
Inscription(174, 2, 2002)
en résumé : Modèle/Schéma/Données 52

Modèle (cadre de définition) : concepts utilisés pour


structurer et définir les données.

Schéma (type) : description de l’organisation des données


et de leur type. Il ne varie pas au cours de l’utilisation de la
base de données.

Instance (extension) : contenu réel de la base de données


à un moment fixé.
Types d’utilisateurs d’une base de données 53
Z administrateur(gère des schémas et données)
chargé du contrôle de la base de données
permet l’accès aux données aux applications/individus qui y
ont droit
chargé des sauvegardes et des procédures de reprise après
panne.
Z programmeur(élabore des logiciels)
utilise la base de données pour construire ses applications
a le droit de créer de nouvelles tables et les structures
associées (vues, index, cluster, etc.)
Z utilisateur final(formule des requêtes)
n’a accès qu’aux données qui lui sont utiles
droits accordés par l’administrateur : consultation,
modification, suppression de données.
sait ce qu’il veut,
ne sait pas forcément ce qu’il faut faire pour l’obtenir,
ne veut pas savoir comment ça marche,
veut en faire un minimum pour faire tourner son
application.
Langages et interfaces d’un SGBD 54
Langages de conception : E/A, UML
Utilisation : conception haut-niveau d’applications (données
et traitements)
Langages base de données : SQL, XQuery, SPARQL, ...
langages déclaratifs : l’utilisateur spécifie quoi (et non
comment)
puissance d’expression limitée (par rapport à un langage de
programmation comme C ou Java)
utilisation : définition schémas, interrogation et
mises-à-jour, administration
Langages de programmation : PL/SQL, Java, PHP, ...
langages impératifs avec une interface SQL
langage complet (au sens d’Alan Turing)
utilisation : programmation d’applications complètes
En résumé .... 55

Conception

Modèle Conceptuel Modèle logique Modèle Physique


Schéma conceptuel et Schéma interne Schéma interne pour
schémas externes indépendant d'un SGBD un SGBD particulier

Exemples Exemples Exemples


-E/A -Relationnel -Oracle
-UML -Objet -MySQL
-Réseau -PostgreSQL
-Hiérarchique -DB2
-Access
-SQLServer
Evolution des architectures des SGBD 56
On peut diviser le système en 3 couches :

Interface Windows, KDE,


graphique Gnome, Web/cgi ...

Application C, C++, VB, C#,


Java, Delphi,...

SGBD SQL
Evolution des architectures des SGBD 57
Architecture Mainframe (1960)
premiers systèmes
Les 3 couches sont implémentées sur la même machine
Systèmes propriétaires, non standardisés
Terminaux passifs

Mainframe
Interface

Application

SGBD
Evolution des Client/Serveur
Architecture architectures des SGBD
(années 70) 58
Apparue avec :
Serveurs puissants
Ordinateurs de bureautique répandus au sein de l’entreprise
Réseaux locaux rapides
Avantage
Technologie standard
Milieu hétérogène
Client Interface

Application
SQL

Client Client

Réseau
Réseaulocal
local

Serveur BD
SGBD
Evolution des architectures des SGBD 59

Architecture Client/Serveur « 2-tiers »(2 strates)


2 couches : client et serveur
Fonction de présentation à la charge du client exclusivement
Calcul réparti entre client et serveur
Logiciel client spécifique au serveur
Données accessibles via le serveur
Evolution des architectures des SGBD 60
Architecture Client/Serveur « 2-tiers »(2 strates)
Client
Interface

Application

Middleware
Application

Réseau
Réseaulocal
local

Serveur BD
Middleware

SGBD

Ex. de Middleware :
SQL*Net (Oracle)
ODBC « Open DataBase Connectivity »(Microsoft)
HTTP : middleware non transactionnel
Evolution des architectures des SGBD 61

Architecture Client/Serveur « 2-tiers »(2 strates)


Avantages
Architecture simple à développer
Données centralisées
Interface utilisateur riche

Inconvénients
Client lourd
Logiciel spécifique au serveur
⇒ contrôle des évolutions de versions et d’applications
Aspect propriétaire de l’application client (entreprises
volatiles)
⇒ problème de viabilité à long terme
Evolution des architectures des SGBD 62

Architecture client/serveur « 3-tiers »


3 couches :
couche présentation des données associée au client (client
« léger »)
couche traitement des données assurée par un serveur
d’applications web
couche données liée au serveur de base de données (SGBD)
Evolution des architectures des SGBD 63
Architecture client/serveur « 3-tiers »
Client
(browser) Interface

Internet
Internet

Serveur
Application
d'applications
Middleware
Application

Réseau
Réseaulocal
local

Serveur de
données Middleware

SGBD
Evolution des architectures des SGBD 64

Architecture client/serveur « 3-tiers »


Avantages
Séparation Client / Serveur / SGBD
⇒ spécialisation des développeurs sur chaque tiers de
l’architecture
Client léger (navigateur)
⇒ requêtes client plus simples
Facilité de maintenance
Portabilité du tiers serveur
⇒ meilleure évolutivité des applications
Inconvénients
Architecture plus complexe
Coûts plus élevés au départ
Evolution des architectures
BD décisionnelles, entrepôts des SGBD data
de données« 65
warehouse »
Aide à la décision dans l’entreprise :
données hétérogènes agrégées
données thématiques
données historisées : ⇒ non modifiables dans le
datawarehouse
Datawarehouse

Analyse(OLAP)
Fouille de données

Extraction,Filtrage
Transformation
Synthèse,fusion
Système de production

BD Opérationnelle BD Opérationnelle BD Opérationnelle


(OLTP) (OLTP) (OLTP)
Evolution des architectures des SGBD 66

BD décisionnelles, entrepôts de données« data


warehouse »
OLTP (On Line Transaction Processing)
Cible des SGBD depuis leur existence
Banques, réservation en ligne ...
Très grand nombre de transactions en parallèle
Transactions simples
OLAP (On Line Analytical Processing)
Entrepôts de données, DataCube, Data Mining...
Faible nombre de transactions
Transactions très complexes
Evolution des architectures des SGBD 67
Base de données distribuées

Client Application
Middleware
Application

Réseau
Réseau

Serveur de Middleware
données BD
locale
SGBD réparti

Réseau
Réseau

Serveur de Middleware
données BD
locale
SGBD réparti
Evolution des architectures des SGBD 68
Systèmes Peer-to-Peer

Client
Client
Serveur
Serveur

Réseau de communication

Client Client

Serveur Serveur
Client
Serveur
Evolution des architectures des SGBD 69

Base de données parallèles


Evolution des architectures des SGBD 70

Avantages du modèle relationnel


Simplicité de la structure
Bases de données normalisées
ACID : transactions sécurisées, données cohérentes
Inconvénients du modèle relationnel
Langage mal adapté aux structures de données complexes
(ex : données multimédia)
Les jointures de tables sont coûteuses sur des tables
volumineuses
Evolution des architectures des SGBD 71

Extension objet des modèles relationnels :


Conserve les acquis du relationnel
Définit des sous-types par héritage
Utilisation de règles logiques pour le maintien de cohérence
Exemple : Oracle 8, DB2
Meilleur support d’Internet et du Web
interrogation d’objets multimédia distribués
extraction de connaissances : fouille de données
analyse multidimensionnelle
NoSQL (« Not Only SQL »)
Evolution des architectures des SGBD 72
NoSQL
Bases de données non relationnelles qui manipulent
d’énormes volumes de données (« Big Data ») adaptées aux
applications manipulant des pages web : analyses,
statistiques, etc.
bases de données distribuées
SQL n’est en général pas utilisé
ne garantissent pas ACID : le maintien de la cohérence des
données distribuées est très coûteux en temps
Les grands acteurs d’Internet utilisent NoSQL :
Facebook utilise Cassandra (2500 fois plus rapide que
MySQL) :
Google utilise « Big Table »(SGBD orienté colonnes adapté
aux « Big Data »
Amazon (Dynamo), LinkedIn (Project Voldemort)
Les bases de données 73
Connaître les bases de données c’est connaître :
Les modèles de ddonneés : entité/association, réseau,
hiérarchique, relationnel, orienté-objet, modèles
sémantiques.

Les langages de requêtes : fondements théoriques (logiques


du premier ordre, algèbres diverses) et les langages comme
SQL, SQL3, Datalog, OQL, . . .

Les techniques de stockage : sur disque, sur bande.

L’organisation des fichiers : index, arbre-B, hachage,...

L’architecture : centralis’e, distribuée, sur d’autres bases


accessibles par réseau.

Les techniques d’évaluation et d’optimisation de requêtes.


Que doit-on savoir pour utiliser un SGBD ? 74

Définition du schéma de données en utilisant les modèles de


données du SGBD.

Opérations sur les données : insertion, destruction,


recherche, mise à jour, à l’aide du Langage de Requête
(SQL)

Partages les données entre plusieurs utilisateurs


(mécanisme de transaction).

Optimiser les performances, par le réglage de l’organisation


physique des données

Vous aimerez peut-être aussi