Date post: | 03-Apr-2015 |
Category: |
Documents |
Upload: | serge-bouchard |
View: | 105 times |
Download: | 0 times |
Introduction
INT
2
Introduction
Notion de bases de données slide 7 Contexte technique Apport BD Terminologie BD Domaines d’application
Les modèles de données pour BD slide 27 Architecture de référence slide 40 Qu’est-ce qu’un SGBD ? slide 45
3
Contexte technique BD
Structure en mémoire centrale (MC) Fichiers Bases de données
Notion de bases de donnéesContexte technique
4
Structure en MC
PrincipesStockage des données dans la mémoire volatile d’un
ordinateur Problèmes
Stockage temporaire«Petits» volumes de donnéesLangages de programmationContexte 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 PCsBibliothèque Service social
AppliEn Cobol
Applien Java
Applien C
Fichiers Étudiantset UVs
Fichiers Étudiants et Livres
Fichiers Étudiants et Chambres
Direction des études
Notion de bases de donnéesContexte technique
7
Approche fichiers + SGF
Application bibliothèque
SGF
Fichier Étudiants
Notion de bases de donnéesContexte technique
* 2
Description du fichier des ÉtudiantsÉdition du fichier Étudiants
par ordre alpha
Programme 1
Description du fichier des Étudiants
Mise à jour du fichier Étudiants 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
ÉtudiantsUvsLivresChambres
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 ÉtudiantsUvsLivresChambres
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Éviter les redondancesÉviter les incohérences
Indépendance :Indépendance entre données et traitementsSé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 utilisateursInterrogent 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éelLes liens entre les donnéesLa 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 baseLe 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
ClassificationNotion 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éseauModè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
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
Avantages Sémantique riche Extension aux concepts
objets (héritage, ...) Aspect visuel
Modèle de conception 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 Étudiant
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(numÉtudiant, codeUV, note)Livre(côte, titre, numÉtudiant, datePrêt)Chambre(no, prix, numÉtudiant)
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)
AvantagesIndépendance logique/physiqueLangage de manipulation simpleBasé sur une théorie mathématique solideStandard
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 - Étudiant- Livre
Schéma externe pour appli Direction des études - Étudiant- UV
Schéma externe pour appli Service social - Étudiant- 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 SGBDQu’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ébutselect 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 met à jour 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 ?