© int 1 evry, 29-31 mai 2000 principes des bases de données relationnelles du 29 au 31 mai 2000...
Post on 03-Apr-2015
108 Views
Preview:
TRANSCRIPT
© INT 1Evry, 29-31 mai 2000
Principes des Bases de Données Relationnelles
du 29 au 31 mai 2000
INT, Evry
© INT 2Evry, 29-31 mai 2000
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
© INT 3Evry, 29-31 mai 2000
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
© INT 4Evry, 29-31 mai 2000
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
© INT 5Evry, 29-31 mai 2000
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é)
© INT 6Evry, 29-31 mai 2000
Contexte technique BD
Structure en mémoire centrale (MC)
Fichiers
Bases de données
© INT 7Evry, 29-31 mai 2000
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
© INT 8Evry, 29-31 mai 2000
Fichiers
Stockage persistant sur disque
«Gros» volumes de données
Langages de programmation et SGF
Contexte mono-utilisateur (en général)
© INT 9Evry, 29-31 mai 2000
Approche fichier avec PCs
© INT 10Evry, 29-31 mai 2000
Approche fichiers + SGF
© INT 11Evry, 29-31 mai 2000
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
© INT 12Evry, 29-31 mai 2000
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
© INT 13Evry, 29-31 mai 2000
Approche centralisée
© INT 14Evry, 29-31 mai 2000
Approche client/serveur
© INT 15Evry, 29-31 mai 2000
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
© INT 16Evry, 29-31 mai 2000
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
© INT 17Evry, 29-31 mai 2000
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
© INT 18Evry, 29-31 mai 2000
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 »
© INT 19Evry, 29-31 mai 2000
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
© INT 20Evry, 29-31 mai 2000
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
© INT 21Evry, 29-31 mai 2000
Instance d’une BD
Collection de données de la base écrite selon un certain
modèle
Instance du schéma
Dynamique
© INT 22Evry, 29-31 mai 2000
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 »
© INT 23Evry, 29-31 mai 2000
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
© INT 24Evry, 29-31 mai 2000
Métabase
Collection des données qui décrivent la BD
« Valeur du schéma »
© INT 25Evry, 29-31 mai 2000
Apport d’une approche BD
Intégration
Indépendance
Sécurité
Facilités pour l’utilisateur
© INT 26Evry, 29-31 mai 2000
Intégration
Description unique et globale des données
Eviter les redondances
Eviter les incohérences
© INT 27Evry, 29-31 mai 2000
Indépendance
Indépendance entre données et traitements
Séparation entre les descriptions logiques et physiques des
données
© INT 28Evry, 29-31 mai 2000
Sécurité
Contrôle sémantique des données
Protection contre les accès non autorisés
Protection contre les pannes
© INT 29Evry, 29-31 mai 2000
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
© INT 30Evry, 29-31 mai 2000
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
© INT 31Evry, 29-31 mai 2000
Description des données
Trois niveaux de description selon le groupe
ANSI/X3/SPARC (1975)
© INT 32Evry, 29-31 mai 2000
Exemple
© INT 33Evry, 29-31 mai 2000
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.
© INT 34Evry, 29-31 mai 2000
Conception d’une BD
© INT 35Evry, 29-31 mai 2000
Niveau conceptuel (suite)
Quoi ?
© INT 36Evry, 29-31 mai 2000
Niveau conceptuel (suite)
Comment ?
© INT 37Evry, 29-31 mai 2000
Niveau conceptuel (suite)
Principes de construction
– La BD est vue comme une représentation de l’univers du discours
– Distinction entre instance et type
© INT 38Evry, 29-31 mai 2000
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.
© INT 39Evry, 29-31 mai 2000
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
© INT 40Evry, 29-31 mai 2000
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
© INT 41Evry, 29-31 mai 2000
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
© INT 42Evry, 29-31 mai 2000
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
© INT 43Evry, 29-31 mai 2000
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
© INT 44Evry, 29-31 mai 2000
Modélisation des données (suite)
Exemples de modèles
– Entité/Association
– Hiérarchique, Réseau
– Relationnel
© INT 45Evry, 29-31 mai 2000
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
© INT 46Evry, 29-31 mai 2000
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
© INT 47Evry, 29-31 mai 2000
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)
© INT 48Evry, 29-31 mai 2000
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]
© INT 49Evry, 29-31 mai 2000
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)
© INT 50Evry, 29-31 mai 2000
Modèle relationnel (suite)
Avantages
– Indépendance logique/physique
– Langage de manipulation simple
– Basé sur une théorie mathématique solide
– Standard
© INT 51Evry, 29-31 mai 2000
Résumé sur les modèles
© INT 52Evry, 29-31 mai 2000
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
© INT 53Evry, 29-31 mai 2000
But
Simplifier et faciliter l’accès aux données de la base
Assurer une grande sécurité du système d'information
© INT 54Evry, 29-31 mai 2000
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)
© INT 55Evry, 29-31 mai 2000
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
© INT 56Evry, 29-31 mai 2000
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
© INT 57Evry, 29-31 mai 2000
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)
© INT 58Evry, 29-31 mai 2000
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
© INT 59Evry, 29-31 mai 2000
Langage de manipulation des données
Objectif
– Interroger et mettre à jour les données
extraire
ajouter
supprimer
modifier
© INT 60Evry, 29-31 mai 2000
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 »
© INT 61Evry, 29-31 mai 2000
Interface avec un LPG
Problème d’un LMD
– Uniquement interrogation et mise à jour des données
– Pas de « calculs » sur les données
© INT 62Evry, 29-31 mai 2000
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
© INT 63Evry, 29-31 mai 2000
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)
© INT 64Evry, 29-31 mai 2000
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
© INT 65Evry, 29-31 mai 2000
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
© INT 66Evry, 29-31 mai 2000
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
© INT 67Evry, 29-31 mai 2000
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
© INT 68Evry, 29-31 mai 2000
Schéma global
top related