© 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 1 download

Transcript of © INT 1 Evry, 29-31 mai 2000 Principes des Bases de Données Relationnelles du 29 au 31 mai 2000...

© 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