principes des bases de données relationnelles du 29 au 31 mai 2000 int, evry
TRANSCRIPT
Principes des Bases de Données Relationnelles
du 29 au 31 mai 2000
INT, Evry
Evry, 29-31 mai 2000
2
© INT
Programme
• Introduction aux BD et aux SGBD
• Le modèle relationnel
• Le langage de requête SQL
• La conception d’une BD relationnelle
• Protection des informations
• Perspectives des BD
Evry, 29-31 mai 2000
3
© INT
Objectifs du cours• Montrer l’intérêt d’une approche BD
• Présenter le modèle relationnel
• Proposer une démarche de conception
• Présenter les SGBD relationnels et les outils associés
• Faire le point sur les différentes architectures de mise en œuvre des SGBD relationnels
• Evoquer les évolutions des bases de données
Evry, 29-31 mai 2000
4
© INT
Programme
Introduction aux BD et aux SGBD
• Le modèle relationnel
• Le langage de requête SQL
• La conception d’une BD relationnelle
• Protection des informations
• Perspectives des BD
Evry, 29-31 mai 2000
5
© INT
Bases de données et SI
• BD: support technique pour la gestion des SI
• BD: environnement de développement des SI
• BD: élément stratégique dans l’architecture des SI (fonctionnalités, évolution, fiabilité, sécurité)
Evry, 29-31 mai 2000
6
© INT
Contexte technique BD
• Structure en mémoire centrale (MC)
• Fichiers
• Bases de données
Evry, 29-31 mai 2000
7
© INT
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-utilisateur
Evry, 29-31 mai 2000
8
© INT
Fichiers
• Stockage persistant sur disque
• «Gros» volumes de données
• Langages de programmation et SGF
• Contexte mono-utilisateur (en général)
Evry, 29-31 mai 2000
9
© INT
Approche fichier avec PCs
Evry, 29-31 mai 2000
10
© INT
Approche fichiers + SGF
Evry, 29-31 mai 2000
11
© INT
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
Evry, 29-31 mai 2000
12
© INT
Bases de données
• Stockage persistant sur disque
• «Très gros» volumes de données
• Langage de requêtes et langages de programmation et SGBD
• Contexte multi-utilisateurs
Evry, 29-31 mai 2000
13
© INT
Approche centralisée
Evry, 29-31 mai 2000
14
© INT
Approche client/serveur
Evry, 29-31 mai 2000
15
© INT
Notions de base
• Les données
• Modèle de données
• Schéma d’une BD
• Instance d’une BD
• Contraintes d’intégrité
• Système de gestion de bases de données
• Métabase
Evry, 29-31 mai 2000
16
© INT
Les 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
Evry, 29-31 mai 2000
17
© INT
Les données (suite)
• 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
Evry, 29-31 mai 2000
18
© INT
Les données (suite)
• 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 »
Evry, 29-31 mai 2000
19
© INT
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
Evry, 29-31 mai 2000
20
© INT
Schéma d’une BD
• Description des données de la base, conformément à un modèle
• Schéma réseau, schéma relationnel, ...
• Statique en général
Evry, 29-31 mai 2000
21
© INT
Instance d’une BD
• Collection de données de la base écrite selon un certain modèle
• Instance du schéma
• Dynamique
Evry, 29-31 mai 2000
22
© INT
Contraintes d’intégrité
• 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 »
Evry, 29-31 mai 2000
23
© INT
Système de gestion de bases de données
• 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
Evry, 29-31 mai 2000
24
© INT
Métabase
• Collection des données qui décrivent la BD
• « Valeur du schéma »
Evry, 29-31 mai 2000
25
© INT
Apport d’une approche BD
• Intégration
• Indépendance
• Sécurité
• Facilités pour l’utilisateur
Evry, 29-31 mai 2000
26
© INT
Intégration
• Description unique et globale des données
• Eviter les redondances
• Eviter les incohérences
Evry, 29-31 mai 2000
27
© INT
Indépendance
• Indépendance entre données et traitements
• Séparation entre les descriptions logiques et physiques des données
Evry, 29-31 mai 2000
28
© INT
Sécurité
• Contrôle sémantique des données
• Protection contre les accès non autorisés
• Protection contre les pannes
Evry, 29-31 mai 2000
29
© INT
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
Evry, 29-31 mai 2000
30
© INT
Une architecture de référence pour les SGBD
• Description des données
• Exemple
• Conséquences
• Conception d’une BD
• Niveau conceptuel
• Niveau interne
• Niveau externe
Evry, 29-31 mai 2000
31
© INT
Description des données• Trois niveaux de description selon le
groupe ANSI/X3/SPARC (1975)
Evry, 29-31 mai 2000
32
© INT
Exemple
Evry, 29-31 mai 2000
33
© INT
Conséquences• Indépendance physique
– Indépendance entre les structures de stockage et les structures de données
– Pourvoir 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.
Evry, 29-31 mai 2000
34
© INT
Conception d’une BD
Evry, 29-31 mai 2000
35
© INT
Niveau conceptuel (suite)
• Quoi ?
Evry, 29-31 mai 2000
36
© INT
Niveau conceptuel (suite)
• Comment ?
Evry, 29-31 mai 2000
37
© INT
Niveau conceptuel (suite)
• Principes de construction– La BD est vue comme une représentation de l’univers
du discours
– Distinction entre instance et type
Evry, 29-31 mai 2000
38
© INT
Niveau conceptuel (suite)
• Principes de construction (suite)– Distinction entre entités et association:
• Entité: élément concret ou abstrait du domaine d’application qui a une existence intrinsèque.
• Association: lien entre deux ou plusieurs entités.
Evry, 29-31 mai 2000
39
© INT
Niveau interne• Structure de stockage supportant les données = niveau
physique.• Dépendant du SGBD• Les données sont organisées en fichiers• Un fichier est composé d’enregistrements• Un enregistrement est composé de champs• Les données sont accédées par des index, des chaînages, ...• La conception ne prend pas en compte les problèmes de
performance
Evry, 29-31 mai 2000
40
© INT
Niveau externe• Une vue particulière de la BD par un utilisateur ou un groupe• Vue = Sous-schéma = schéma externe• En général, une vue = un sous-ensemble du schéma conceptuel• Indépendance logique• Sécurité, confidentialité• Facilité de manipulation• La définition d’une vue décrit les règles de passage entre les
éléments du schéma conceptuel et les éléments de la vue
Evry, 29-31 mai 2000
41
© INT
Modélisation et modèles pour les bases de données
• Modélisation des données
• Les modèles pour les bases de données
Evry, 29-31 mai 2000
42
© INT
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
Evry, 29-31 mai 2000
43
© INT
Modélisation des données (suite)
• Modèle BD– Modèle permettant la description et la
manipulation des données– Modèle implanté via un SGBD
• Formalisme de description– Textuel– Graphique– Mathématique
Evry, 29-31 mai 2000
44
© INT
Modélisation des données (suite)
• Exemples de modèles– Entité/Association– Hiérarchique, Réseau– Relationnel
Evry, 29-31 mai 2000
45
© INT
Modèle Entité/Association [Chen 7]
• Exemple de modèle
Eleve
Code_elev Nom_Elev
AppartientSalle
Classe
No_ClasseFait cours
NotationNote
Matiere
Code_Matiere
ProfCode_prof
Code_categNomprof
Nom_Categ
1,n
1,1
1,n
1,n
1,n
0,n
0,n
1,n
Evry, 29-31 mai 2000
46
© INT
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
Evry, 29-31 mai 2000
47
© INT
Modèle relationnel
• [CODD 70] « A Relational Model for Large Shared Data Banks »
• Exemple– Employé(No_ss, Nom, Adresse, Age, salaire)– Projet(No, Libellé, Chef_projet)– Travaille_sur(No_employé, No_projet)
Evry, 29-31 mai 2000
48
© INT
Modèle relationnel (suite)
• Schéma BD– Structure de relation
• BD– Ensemble d’enregistrements reliés par des valeurs
• Langage de manipulation– Ensembliste
– Déclaratif
– Standard international [ SQL 8, 89]
Evry, 29-31 mai 2000
49
© INT
Modèle relationnel (suite)• 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)
Evry, 29-31 mai 2000
50
© INT
Modèle relationnel (suite)
• Avantages– Indépendance logique/physique– Langage de manipulation simple– Basé sur une théorie mathématique solide– Standard
Evry, 29-31 mai 2000
51
© INT
Résumé sur les modèles
Evry, 29-31 mai 2000
52
© INT
Qu’est-ce qu’un SGBD ?
• But • Moyen • Fonctionnalités de
base• Autres fonctionnalités• Langage de définition
• Langage de manipulation des données
• Interface avec un LPG• Les utilisateurs d’un
SGBD • Schéma global
Evry, 29-31 mai 2000
53
© INT
But
• Simplifier et faciliter l’accès aux données de la base
• Assurer une grande sécurité du système d'information
Evry, 29-31 mai 2000
54
© INT
Moyen
• 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)
Evry, 29-31 mai 2000
55
© INT
Fonctionnalités de base• 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
Evry, 29-31 mai 2000
56
© INT
Fonctionnalités de base (suite)
• Gestion de la sécurité de fonctionnement transaction, journaux, mécanisme de reprise
• Gestion des droits identification, attribution de droits
• Optimisation algorithme, statistiques
• Interface avec les langages de programmation
Evry, 29-31 mai 2000
57
© INT
Autres 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)
Evry, 29-31 mai 2000
58
© INT
Langage de définition• 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
Evry, 29-31 mai 2000
59
© INT
Langage de manipulation des données
• Objectif– Interroger et mettre à jour les données
• extraire
• ajouter
• supprimer
• modifier
Evry, 29-31 mai 2000
60
© INT
Langage de manipulation des données (suite)
• 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 8, 89, 92– SQL « seul » et SQL « intégré » dans un LPG «
classique »
Evry, 29-31 mai 2000
61
© INT
Interface avec un LPG
• Problème d’un LMD– Uniquement interrogation et mise à jour des
données– Pas de « calculs » sur les données
Evry, 29-31 mai 2000
62
© INT
Interface avec un LPG (suite)• Solution
– Interfacer le LMD avec un LPG – Diverses techniques d’interfaçage (précompilation, ....)– 2 approches langages hôtes:
• Par intégration d'un langage d'accès à la BD dans un langage de programmation
– SEQUEL et le langage C– Embedded SQL– 2 possibilités:
» Précompilation des requêtes à la BD» Interprétation à l'exécution
• Par extension d'un langage de programmation – PASCAL R
Evry, 29-31 mai 2000
63
© INT
Interface avec un LPG (suite)
• Exemples– LMD réseau interface normalisée avec COBOL– LMD relationnel interfaces normalisées entre
SQL et • Cobol, Pascal, Fortran, PL/1 (1986)
• Ada, C (1989)
Evry, 29-31 mai 2000
64
© INT
Les utilisateurs d’un SGBD
• L ’administrateur BD– Contexte de travail: les 3 niveaux.– Utilise LDD (définition de la BD avec le LDD)– Définit les schémas logiques et physiques
(structures de stockage + stratégies d’accès)– Définit les CI + droits d’accès– Définit vues– Utilise le DD
Evry, 29-31 mai 2000
65
© INT
Les utilisateurs d’un SGBD (suite)
• Le développeur d’applications– Contexte de travail: niveau externe– Utilise le LMD + LPG– Ecrit des programmes pour interroger, mettre à
jour et traiter les données– Connaît les schémas logiques et physiques
Evry, 29-31 mai 2000
66
© INT
Les utilisateurs d’un SGBD (suite)
• L ’utilisateur terminal– Contexte de travail: niveau externe– « Averti »: interroge la BD en utilisant LMD– « Naïf »: utilise les programmes d’application
Evry, 29-31 mai 2000
67
© INT
Les utilisateurs d’un SGBD (suite)
• Le concepteur– Contexte de travail: niveau conceptuel– Construction du schéma conceptuel avec un
modèle de données
Evry, 29-31 mai 2000
68
© INT
Schéma global