Vous êtes sur la page 1sur 68

Principes des Bases de Données

Relationnelles

du 29 au 31 mai 2000

INT, Evry

© INT Evry, 29-31 mai 2000 1


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 Evry, 29-31 mai 2000 2


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 Evry, 29-31 mai 2000 3


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 Evry, 29-31 mai 2000 4


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 Evry, 29-31 mai 2000 5


Contexte technique BD

 Structure en mémoire centrale (MC)


 Fichiers
 Bases de données

© INT Evry, 29-31 mai 2000 6


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 Evry, 29-31 mai 2000 7


Fichiers

 Stockage persistant sur disque


 «Gros» volumes de données
 Langages de programmation et SGF
 Contexte mono-utilisateur (en général)

© INT Evry, 29-31 mai 2000 8


Approche fichier avec PCs

© INT Evry, 29-31 mai 2000 9


Approche fichiers + SGF

© INT Evry, 29-31 mai 2000 10


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 Evry, 29-31 mai 2000 11


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 Evry, 29-31 mai 2000 12


Approche centralisée

© INT Evry, 29-31 mai 2000 13


Approche client/serveur

© INT Evry, 29-31 mai 2000 14


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 Evry, 29-31 mai 2000 15


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 Evry, 29-31 mai 2000 16


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 Evry, 29-31 mai 2000 17


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 Evry, 29-31 mai 2000 18


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 Evry, 29-31 mai 2000 19


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 Evry, 29-31 mai 2000 20


Instance d’une BD

 Collection de données de la base écrite selon un certain


modèle
 Instance du schéma
 Dynamique

© INT Evry, 29-31 mai 2000 21


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 Evry, 29-31 mai 2000 22


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 Evry, 29-31 mai 2000 23


Métabase

 Collection des données qui décrivent la BD


 « Valeur du schéma »

© INT Evry, 29-31 mai 2000 24


Apport d’une approche BD

 Intégration
 Indépendance
 Sécurité
 Facilités pour l’utilisateur

© INT Evry, 29-31 mai 2000 25


Intégration

 Description unique et globale des données


 Eviter les redondances
 Eviter les incohérences

© INT Evry, 29-31 mai 2000 26


Indépendance

 Indépendance entre données et traitements


 Séparation entre les descriptions logiques et physiques des
données

© INT Evry, 29-31 mai 2000 27


Sécurité

 Contrôle sémantique des données


 Protection contre les accès non autorisés
 Protection contre les pannes

© INT Evry, 29-31 mai 2000 28


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 Evry, 29-31 mai 2000 29


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 Evry, 29-31 mai 2000 30


Description des données
 Trois niveaux de description selon le groupe
ANSI/X3/SPARC (1975)

© INT Evry, 29-31 mai 2000 31


Exemple

© INT Evry, 29-31 mai 2000 32


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 Evry, 29-31 mai 2000 33


Conception d’une BD

© INT Evry, 29-31 mai 2000 34


Niveau conceptuel (suite)

 Quoi ?

© INT Evry, 29-31 mai 2000 35


Niveau conceptuel (suite)

 Comment ?

© INT Evry, 29-31 mai 2000 36


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 Evry, 29-31 mai 2000 37


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 Evry, 29-31 mai 2000 38


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 Evry, 29-31 mai 2000 39


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 Evry, 29-31 mai 2000 40


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 Evry, 29-31 mai 2000 41


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 Evry, 29-31 mai 2000 42


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 Evry, 29-31 mai 2000 43


Modélisation des données (suite)

 Exemples de modèles
– Entité/Association

– Hiérarchique, Réseau

– Relationnel

© INT Evry, 29-31 mai 2000 44


Modèle Entité/Association
[Chen 7]
 Exemple de modèle
Eleve Prof
1,n Notation 0,n
Code_elev Note Code_prof
Nom_Elev Nomprof
1,1 Code_categ
0,n Nom_Categ
Appartient
Matiere
Salle 1,n
1,n Code_Matiere
Classe 1,n
1,n Fait cours
No_Classe

© INT Evry, 29-31 mai 2000 45


Critique du modèle Entité/Association

 Avantages Inconvénients
+ Sémantique riche - Uniquement un modèle de description
+ Extension aux concepts objets de données

(héritage, ...) - Pas de langage de manipulation associé


+ Aspect visuel - Pas de SGBD E/A
+ Modèle de conception de BD - Pas un modèle d’implantation de BD

© INT Evry, 29-31 mai 2000 46


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 Evry, 29-31 mai 2000 47


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 Evry, 29-31 mai 2000 48


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 Evry, 29-31 mai 2000 49


Modèle relationnel (suite)

 Avantages
– Indépendance logique/physique

– Langage de manipulation simple

– Basé sur une théorie mathématique solide

– Standard

© INT Evry, 29-31 mai 2000 50


Résumé sur les modèles

© INT Evry, 29-31 mai 2000 51


Qu’est-ce qu’un SGBD ?

 But  Langage de manipulation des


 Moyen données

 Fonctionnalités de base  Interface avec un LPG

 Autres fonctionnalités  Les utilisateurs d’un SGBD

 Langage de définition  Schéma global

© INT Evry, 29-31 mai 2000 52


But

 Simplifier et faciliter l’accès aux données de la base


 Assurer une grande sécurité du système d'information

© INT Evry, 29-31 mai 2000 53


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 Evry, 29-31 mai 2000 54


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 Evry, 29-31 mai 2000 55


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 Evry, 29-31 mai 2000 56


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 Evry, 29-31 mai 2000 57


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 Evry, 29-31 mai 2000 58


Langage de manipulation des données

 Objectif
– Interroger et mettre à jour les données
 extraire
 ajouter
 supprimer
 modifier

© INT Evry, 29-31 mai 2000 59


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 Evry, 29-31 mai 2000 60


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 Evry, 29-31 mai 2000 61


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 Evry, 29-31 mai 2000 62


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 Evry, 29-31 mai 2000 63


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 Evry, 29-31 mai 2000 64


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 Evry, 29-31 mai 2000 65


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 Evry, 29-31 mai 2000 66


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 Evry, 29-31 mai 2000 67


Schéma global

© INT Evry, 29-31 mai 2000 68

Vous aimerez peut-être aussi