Chapitre 1 : Introduction aux BD et SGBD · SGBD Relationnel Objet XML Autres Modèle Physique...
Transcript of Chapitre 1 : Introduction aux BD et SGBD · SGBD Relationnel Objet XML Autres Modèle Physique...
Introduction Les entreprises gèrent des volumes de données très grands
(Giga, Terra, Péta) octets
Numériques, Textuelles, Multi-média (images, films,...)
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
Les données sont structurées et identifiées
Données élémentaires ex: Votre salaire, Votre note en BD
Données composées ex: Votre CV, vos résultats de l'année
Identifiant humain ex: CIN ou machine: ASUSK55V,
Les trois dimensions d'une application
3
Interface
Données
SGBD
Bases de Données
Fichiers
Langages de programmation /
manipulation de données
Stations de travail
Traitements
Fichiers : Présentation
Définition
Un fichier est une unité de stockage logique de
l’information.
Abstraction des propriétés physiques des dispositifs de
stockage
la correspondance est établie par le SE
Attributs des fichiers
Nom, taille, type, protection, date, propriétaire, ...
Opérations sur les fichiers :
Création, Ecriture/Lecture, Suppression ,Concaténation ...
4
Fichiers : Type et structures
Type de fichiers
exécutable, commande, texte, ...
Certains SE supportent et reconnaissent le type de fichiers
Windows utilise les suffixes des noms de fichiers : .exe,
.bat, .txt, …
Unix ne supporte pas le typage des fichiers
Structure interne d’un fichier
suite d’enregistrements
suite d’octets (Unix, MS-DOS)
5
Approche fichier avec PCs
6
Bibliothèque Service social
Appli
En Cobol
Appli
en Java
Appli
en C
Fichiers Elèves
et UVs
Fichiers Elèves
et Livres
Fichiers Elèves
et Chambres
Direction des études
Approche fichiers + SGF
7
Application bibliothèque
SGF
Fichier Elèves
* 2
Description du fichier des Elèves
Edition du fichier Elèves
par ordre alphabétiques
Programme 1
Description du fichier des Elèves
Mise à jour du fichier Elèves
via nom élève
Programme 2
Problèmes de l’approche fichier
Difficulté à saisir les liens entre les données
Pas de partage de données entre les utilisateurs
Pas de vision globale des données
Redondance des données
Risque d'incohérence des données
Pas d'indépendance entre les données et les traitements
Problème de gestion de la sécurité des données
Confidentialité
Multiplicité des traitements, des langages, des matériels
Maintenance et gestion de pannes difficile
8
Un peu d'histoire sur les BD
Années 60:
Récipients logique de données fichiers sur dique
Accès séquentiel puis sur clé
Lire (Nomf, Article), Ecrire (Nomf, Article)
Lire (Nomf, Article, Clé), Ecrire (Nomf, article, Clé)
Années 70:
Avènement des Bases de Données Réseaux (BD)
Ensemble de fichiers reliés par des pointeurs
Langage d'interrogation par navigation
Années 80:
Avènement des Bases de Données Relationnelles (BDR)
Relations entre ensemble de données
Langage d'interrogation par assertion logique
9
L’approche ‘‘Bases de données’’ Définition
Une base de données est un ensemble structuré de données
enregistrées sur des supports accessibles par l’ordinateur
pour satisfaire simultanément plusieurs utilisateurs de façon
sélective et en un temps opportun.
C’est un ensemble de données non redondantes logiquement
liées et placées en ensemble, et qui permettent d’être
utilisées par des applications différentes,
Ensemble des données informatiques structurées suivant un
schéma de données, directement accessibles par des
utilisateurs différents, concurrents et compétiteurs.
10
Approche BD centralisée
11
Terminaux
PC Windows
PC Linux
PC
NT
Appli C
Appli JavaAppli Cobol
SGBD
Elèves
Uvs
Livres
Chambres
Description
BD
BD
Approche BD client/serveur
12
PC Windows
PC Linux
PC
NT
Appli C
Appli Java
Appli Cobol Elèves
Uvs
Livres
Chambres
Description
BD
BD
SGBD
Apports de l’approche BD
Intégration :
Description unique et globale des données
Eviter les redondances
Eviter les incohérences
Indépendance :
Indépendance entre données et traitements
Séparation entre les descriptions logiques et physiques des données
13
Apports de l’approche BD
Sécurité : Contrôle sémantique des données
Protection contre les accès non autorisés
Protection contre les pannes
Facilités pour l’utilisateur : Partage des données
Vision « haut niveau » et « personnalisée » des données
Manipulation « aisée » des données
Accès efficaces aux données
Répartition des données et des traitements
14
Modélisation des données
Modèle de données :
Ensemble de concepts pour décrire :
Les données
Les liens entre les données
La sémantique des données
En général, un ensemble d’opérations est associé pour manipuler les données
Formalisme de description :
Textuel
Graphique
Mathématique
Exemples de modèles :
Entité/association [Chen 76]
Hiérarchique/réseau
Relationnel
Objet, relationnel-objet15
Modèles BD
16
Modèle Entité/Association [Chen 76]
1,1
0,1
0,1
0,n
3,n1,n
UV
code
nbH
coord
Eleve
num
nom
age
adresse
Livre
cote
titre
Chambre
no
prix
S’inscrire
note
Emprunter
datePret
Louer
Modèles BD
17
Critique du modèle Entité/Association
Avantages
Sémantique riche
Extension aux concepts
objets (héritage, ...)
Aspect visuel
Modèle de conception de
BD
Inconvénients
Uniquement un modèle de
description de données
Pas de langage de
manipulation associé
Pas de SGBD E/A
Pas un modèle
d’implantation de BD
Modèles BD
18
Modèle hiérarchique
Système IMS d’IBM conçu à la fin des années 60
pour le programme Appolo (NASA)
Exemple
UV
Élève
ChambreLivre Elève
UV
Modèles BD
19
Modèle hiérarchique (suite) Schéma BD
Structure arborescente (forêt)
BD Collection d’enregistrements reliés par des pointeurs
Langage de manipulation Navigationnel et procédural
Utilisation de pointeurs
(Exemple du langage DL/1 du système IMS)
Problèmes : Pas d’indépendance logique/physique
Redondance des données, risques d’incohérence
Modèles BD
20
Modèle réseau
Modèle défini par le groupe DBTG du comité
CODASYL en 1971 (revu en 1978)
Exemple
Modèles BD
Chambre
Élève
InscritLivre
UV
21
Modèle réseau (suite) Schéma BD
Structure de graphe orienté acyclique (DAG)
BD
Collection d’enregistrements reliés par des pointeurs
Langage de manipulation
Navigationnel et procédural
Utilisation de pointeurs
Standard CODASYL 71, 78
Systèmes
IDS2 d’Honeywell (1975), Total de Cincom (1974), Adabas de Soft. Ag (1978)
Problèmes
Pas d’indépendance logique/physique
Modèles BD
22
Modèle relationnel
[CODD 70] « A Relational Model for Large Shared Data Banks »
Exemple
Élève(num, nom, adresse, age)
UV(code, nbH, coord)
Inscrit(numElève, codeUV, note)
Livre(côte, titre, numElève, datePrêt)
Chambre(no, prix, numElève)
Modèles BD
23
Modèle relationnel (2)
« MLD » Ecole
UV
CODE
NBH
COORD
ELEVE
NUM
NO
NOM
AGE
ADRESSE
LIVRE
COTE
NUM
TITRE
DATEPRET
CHAMBRE
NO
NUM
PRIX
INSCRIT
CODE
NUM
NOTE
Modèles BD
24
Modèle relationnel (3) Schéma BD
Structure de relation
BD
Ensemble d’enregistrements reliés par des valeurs
Langage de manipulation
Ensembliste
Déclaratif
Standard international [ SQL 86, 89, 92 ou SQL2]
Prototypes de recherche
System/R chez IBM (1976), Ingres à Berkeley (1976)
Systèmes commerciaux
SQL/DS et DB2 d’IBM (1982), Oracle (1983), Ingres (1983), Informix (1981), Sybase (1984), SqlServer (1998)
MySQL (1995)
Access
Modèles BD
25
Modèle relationnel (suite)
Avantages
Indépendance logique/physique
Langage de manipulation simple
Basé sur une théorie mathématique solide
Standard
Modèles BD
Modélisation du réel
26
Réel
Modèle
conceptuel
• Indépendant du
modèle de données
• Indépendant du
SGBD
Modèle
logique
•Dépendant du
modèle de données
• Indépendant du
SGBD
Relationnel Objet XML Autres
Modèle
Physique
•Dépendant du
modèle de données
•Dépendant du SGBD
• Organisation physique des données
• Structures de stockage des données
• Structures accélératrices (index)
Médecin effectue Visite
BD ET SGBD
BD :
Collection de données décrites selon un certain
modèle
SGBD :
Système logiciel gérant les données d’une BD, selon
un modèle fixé
Un SGBD doit permettre la définition, la manipulation
et le contrôle des données
27
28
But et moyens d’un SGBD
But :
Simplifier et faciliter l’accès aux données de la base
Assurer une grande sécurité du système d'information
Moyens :
En offrant une vision de « haut niveau » des données, via un
modèle logique des données
En se chargeant de faire la correspondance avec la vision de «
bas niveau » des données (structures de stockage et méthodes
d’accès)
29
Fonctionnalités d’un SGBD
Langage de définition et de manipulation des données (LDD + LMD)
Gestion de l’intégrité définition des CI, Trigger
Gestion de la persistance
Structures de stockage et méthodes d’accès cluster, index
Gestion de la concurrence (transaction, verrouillage)
Gestion de la sécurité de fonctionnement transaction, journaux, mécanisme de reprise sur panne
Gestion des droits identification, attribution de droits
Optimisation algorithme, statistiques
Interface avec les langages de programmation
30
Fonctionnalités d’un SGBD (suite)
Gestion de versions des BD
Gestion de la répartition
Gestion d’objets complexes (image, document,
...)
Gestion de connaissances, règles de déduction
Environnement de développement (AGL)
Les niveaux des BD
31
Vues externes
chaque vue représente
la partie de la bd relative
à chaque utilisateur / application
Schéma conceptuel
vue globale de la base :
les données stockées
et les relations parmi les données
Schéma physique
décrit comment les données sont stockées
dans la bd + les index
R1(A number(10), B string, …, primary key (A), ...)
….
Rn (X number(15), Y string, …, primary key (X), …)
Schéma logique
Représente un modèle de données
conforme au modèle ciblé de SGBD
(par ex. SGBDR)
33
Architecture d’un SGBD
Définition des
schémas de la BDManipulation de la BD
Programmeur d’applicationAdministrateur Utilisateur terminal
BDMétabase
Traducteur LDD Traducteur LMD
Noyau SGBD
SGBD
34
LDD
Définition logique des données Schéma conceptuel global
Schémas des vues utilisateur
Structure des données et liens entre les données
Définition physique des données Schéma physique des données
Méthodes de placements et d’accès
Contrôle des données Contraintes d’intégrité
Droits d’accès
35
LMD
Objectif
Interroger et mettre à jour les données (extraire, ajouter, supprimer, modifier )
Style procédural
Exprimer la séquence des opérations d’accès aux données pour obtenir le résultat
Modèle hiérarchique et réseau
Langage navigationnel
Norme CODASYL 71, 78 pour modèle réseau
Dépendant du niveau physique
Intégration dans un LPG (Cobol pour modèle réseau)
Style déclaratif
Exprimer l’information souhaitée sans dire la façon dont on accède à l’information
Modèle relationnel
Langage ensembliste
Indépendant du niveau physique
Norme SQL 86, 89, 92
SQL « seul » et SQL « intégré » dans un LPG « classique »