Upload
claire-prevost
View
108
Download
1
Tags:
Embed Size (px)
Citation preview
1
Introduction
INT Management
2
Introduction
Notion de bases de données slide 11 Contexte technique Apport BD Terminologie BD Domaines d’application
Les modèles de données pour BD slide 31 Architecture de référence slide 44 Qu’est-ce qu’un SGBD ? slide 49
3
Structure en mémoire centrale (MC) Fichiers Bases de données
Notion de bases de donnéesContexte techniqueContexte technique BD
4
Structure en MC
Principes Stockage des données dans la mémoire volatile d’un ordinateur
Problèmes Stockage temporaire «Petits» volumes de données Langages de programmation Contexte mono-processus (mono-utilisateur en général)
Notion de bases de donnéesContexte technique
5
Fichiers
Stockage persistant sur disque «Gros» volumes de données Langages de programmation et SGF Contexte mono-utilisateur (en général)
Notion de bases de donnéesContexte technique
6
Approche fichier avec PCs
Bibliothèque Service social
AppliEn Cobol
Applien Java
Applien C
Fichiers Elèveset UVs
Fichiers Elèves et Livres
Fichiers Elèves et Chambres
Direction des études
Notion de bases de donnéesContexte technique
7
Approche fichiers + SGF
Application bibliothèque
SGF
Fichier Elèves
Notion de bases de donnéesContexte technique
* 2
Description du fichier des Elèves
Edition du fichier Elèves par ordre alpha
Programme 1
Description du fichier des Elèves
Mise à jour du fichier Elèves via nom élève
Programme 2
8
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 Multiplicité des traitements, des langages, des matériels
Notion de bases de donnéesContexte technique
9
Bases de données
Stockage persistant sur disque «Très gros» volumes de données Langage de requêtes et langages de
programmation SGBD Contexte multi-utilisateurs
Notion de bases de donnéesContexte technique
10
Approche centralisée
Terminaux
PC Windows
PC Linux
PC NT
Appli C
Appli JavaAppli Cobol
SGBD
ElèvesUvsLivresChambres
DescriptionBD
BD
Notion de bases de donnéesContexte technique
11
Approche client/serveur
PC Windows
PC Linux
PC NT
Appli C
Appli Java
Appli Cobol ElèvesUvsLivresChambres
DescriptionBD
BD
SGBD
Notion de bases de donnéesContexte technique
12
Apport d’une 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
Notion de bases de donnéesApport BD
13
Apport d’une approche BD (2)
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
Notion de bases de donnéesApport BD
14
Terminologie BD Données Modèle de données BD SGBD Schéma d’une BD Instance d’une BD Contraintes d’intégrité Métabase
Notion de bases de donnéesTerminologie BD
15
Données Une structure
Simple: prix, nom, date Complexe: personne, document, image
Une sémantique Le solde d’un compte courant Une photo de Paris réalisée par le satellite SPOT
Un propriétaire Responsable de la création d’une donnée Définit les règles pour son identification et son intégrité:
« La température de l’air est comprise entre -30° et +40°C » « Le salaire de l’année n est supérieur au salaire de l’année n-1 »
Accorde des droits d’utilisation
Notion de bases de donnéesTerminologie BD
16
Données (2)
Des utilisateurs Interrogent les données
« Quelle était la température à paris le 1er janvier 1997 ? » Mettent à jour les données
« Créditer le compte de M. Monet de 1000 F »
Notion de bases de donnéesTerminologie BD
17
Modèle de données
Ensemble de concepts pour décrire : Les données du monde réel Les liens entre les données La sémantique des données
Ensemble d’opérations pour manipuler les données
Notion de bases de donnéesTerminologie BD
18
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
Notion de bases de donnéesTerminologie BD
19
Schéma et instance d’une BD
Schéma (intention) : Description des données de la base, conformément à un modèle Schéma réseau, schéma relationnel, ... Statique en général.
Instance (extension) : Collection de données de la base écrite selon un certain modèle Instance du schéma Dynamique
Notion de bases de donnéesTerminologie BD
20
CI et Métabase
Contrainte d’intégrité (CI): Règle spécifiée sur les données, pour définir un état
cohérent de la base Le salaire d’un employé doit être supérieur au SMIC
Métabase (dictionnaire de données - DD): Collection des données qui décrivent la BD « Valeur du schéma »
Notion de bases de donnéesTerminologie BD
21
Domaines d’application
Comme élément central : Banques de données (professionnelles, grand public) Systèmes transactionnels (banques, assurances,…) Systèmes d’aide à la décision (tableaux de bord, analyse statistique,…)
Comme élément essentiel : Systèmes d’information et de communication (entreprise,
administration,…) Systèmes de surveillance et de contrôle (télécoms, production,…)
Comme élément auxiliaire : Systèmes de recherche documentaire (textes,sons, graphiques, …) Systèmes XAO (CAO,PAO,EAO,…) Systèmes experts
Notion de bases de donnéesDomaines d’application
22
Classification Notion de bases de donnéesDomaines d’application
Volume de données
Complexité des traitements
Intensité du service
Applications transactionnelles
Go Interrogation + Mise à jour
Temps de réponse < 2 s.
> 100 tps
Application d’aide à la décision
Datewarehouse
Datamining
To Interrogation
Temps de réponse en mn ou h
Notion de tpm
TPC (Transaction Processing Council) Benchmarks systèmes transactionnels
23
Les modèles de données pour les BD Modélisation des données Modèles
Modèle entité/association [Chen 76] Modèle hiérarchique Modèle réseau Modèle relationnel
Modèles BD
24
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 Hiérarchique/réseau Relationnel Objet, relationnel-objet
Modèles BD
25
Modèle Entité/Association [Chen 76]
Modèles BD
code nbH coord
UV
S’inscrire
Élèvenom
age
note
adresse
num
datePrêt
ChambreLivreno
prix
côte
titre
Emprunter Louer
1,n
3,n
0,n
0,1
0,1
1,1
26
Modèle Entité/Association - 2
1,1
0,1
0,1
0,n
3,n1,n
UV
codenbHcoord
Eleve
numnomageadresse
Livre
cotetitre
Chambre
noprix
S’inscrire
note
Emprunter
datePret
Louer
27
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
28
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
29
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
30
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
31
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
32
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
33
Modèle relationnel (2)« MLD » Ecole
UV
CODENBHCOORD
ELEVE
NUMNONOMAGEADRESSE
LIVRE
COTENUMTITREDATEPRET
CHAMBRE
NONUMPRIX
INSCRIT
CODENUMNOTE
Modèles BD
34
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
35
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
36
Une architecture de référence pour les SGBD Description des données : 3 niveaux
d’abstraction Exemple Conséquences Conception d’une BD
Architecture de référence
37
Description des données : 3 niveaux d’abstraction Groupe ANSI/X3/SPARC (1975)
Schéma externe 1 Schéma externe n
Schéma conceptuel
Schéma physique
….
Architecture de référence
38
ExempleArchitecture de référence
Schéma externe pour appli Bibliothèque - Elève- Livre
Schéma externe pour appli Direction des études - Elève- UV
Schéma externe pour appli Service social - Elève- Chambre
Schéma conceptuel
Schéma Physique
Comment les données sont vues par les « utilisateurs »Représentations logiqueMultiples
Globalité des donnéesReprésentation logiqueUnique
Globalité des donnéesReprésentation physique des données. Comment les données sont mémorisées (fichiers, index, …)Unique
39
Conséquences
Indépendance physique Indépendance entre les structures de stockage et les structures
de données Pouvoir modifier l'organisation physique sans modifier les
programmes d’application Exemple: ajouter un index
Indépendance logique Pouvoir modifier le schéma conceptuel sans modifier les
programmes d’application Exemple : ajouter un attribut
Architecture de référence
40
Conception d’une BDArchitecture de référence
41
Qu’est-ce qu’un SGBD ?
But Moyens mis en oeuvre Fonctionnalités Architecture Langage de définition des données (LDD) Langage de manipulation des données (LMD) Interface avec un LPG Java et les SGBD Transaction Les utilisateurs d’un SGBD
Qu’est-ce qu’un SGBD ?
42
But et moyens
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)
Qu’est-ce qu’un SGBD ?
43
Fonctionnalités 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
Qu’est-ce qu’un SGBD ?
44
Fonctionnalités (++)
Gestion de versions Gestion de la répartition Gestion d’objets complexes (image,
document, ...) Gestion de connaissances, règles de déduction Environnement de développement (AGL)
Qu’est-ce qu’un SGBD ?
45
Architecture d’un SGBD Qu’est-ce qu’un SGBD ?
Définition des schémas de la BD
Manipulation de la BD
Programmeur d’applicationAdministrateur Utilisateur terminal
Traducteur LDD Traducteur LMD
Noyau SGBD
BDMétabase
46
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
Qu’est-ce qu’un SGBD ?
47
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 »
Qu’est-ce qu’un SGBD ?
48
Interface avec un LPG Problème d’un LMD
Uniquement interrogation et mise à jour des données Pas de « calculs » sur les données
Solution Interfacer le LMD avec un LPG Diverses techniques d’interfaçage (précompilation, ....)
Exemples LMD réseau interface normalisée avec COBOL LMD relationnel interfaces normalisées entre SQL et
Cobol, Pascal, Fortran, PL/1 (1978) Ada, C (1989) Java (SQLJ)
Qu’est-ce qu’un SGBD ?
49
Java et SGBD
JDBC : API de niveau SQL/CLI avec indépendance des SGBD cibles (pb de pilote)
SQLJ : embedded SQL pour Java Interface de gestion de la persistance des objets
Java (transformation automatique des objets java en structures relationnelles dans les 2 sens)
Qu’est-ce qu’un SGBD ?
50
Notion de transaction
Séquence d’opération élémentaires (lire, écrire) sur la BD
Transaction retrait (noCompte, montant)Début
select solde into s from Comptes where numCompte = noCompte;si s > montant alors Update compte set solde = solde – montant where numCompte = noCompte;donnerArgent(montant);Valider();
SinonImprimer(‘opération impossible’);Annuler();
FinsiFin;
Qu’est-ce qu’un SGBD ?
51
Propriétés des transactions
A : Atomicity C : Consistency I : Isolation D : Durability
Qu’est-ce qu’un SGBD ?
52
Les utilisateurs d’un SGBD
Le concepteur Contexte de travail : niveau conceptuel Construction du schéma conceptuel avec un modèle de données
Administrateur BD Contexte de travail : les 3 niveaux. Définit et màj les schémas logiques Définit les CI + Vues + droits d’accès Définit les schémas physiques (structures de stockage +
stratégies d’accès) Utilise le LDD et DD
Qu’est-ce qu’un SGBD ?
53
Les utilisateurs d’un SGBD (suite) Développeur d’applications
Contexte de travail : niveau externe et conceptuel Utilise le LMD + LPG Écrit des programmes pour interroger, mettre à jour et traiter les
données Connaît les schémas logiques et physiques
Utilisateur terminal Contexte de travail : niveau externe « Averti »: interroge la BD en utilisant un LMD « Naïf »: utilise les programmes d’application
Qu’est-ce qu’un SGBD ?