principes des bases de données relationnelles du 29 au 31 mai 2000 int, evry

68
Principes des Bases de Données Relationnelles du 29 au 31 mai 2000 INT, Evry

Upload: rodolphe-marais

Post on 03-Apr-2015

112 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: Principes des Bases de Données Relationnelles du 29 au 31 mai 2000 INT, Evry

Principes des Bases de Données Relationnelles

du 29 au 31 mai 2000

INT, Evry

Page 2: 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

Page 3: Principes des Bases de Données Relationnelles du 29 au 31 mai 2000 INT, Evry

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

Page 4: Principes des Bases de Données Relationnelles du 29 au 31 mai 2000 INT, Evry

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

Page 5: Principes des Bases de Données Relationnelles du 29 au 31 mai 2000 INT, Evry

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é)

Page 6: Principes des Bases de Données Relationnelles du 29 au 31 mai 2000 INT, Evry

Evry, 29-31 mai 2000

6

© INT

Contexte technique BD

• Structure en mémoire centrale (MC)

• Fichiers

• Bases de données

Page 7: Principes des Bases de Données Relationnelles du 29 au 31 mai 2000 INT, Evry

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

Page 8: Principes des Bases de Données Relationnelles du 29 au 31 mai 2000 INT, Evry

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)

Page 9: Principes des Bases de Données Relationnelles du 29 au 31 mai 2000 INT, Evry

Evry, 29-31 mai 2000

9

© INT

Approche fichier avec PCs

Page 10: Principes des Bases de Données Relationnelles du 29 au 31 mai 2000 INT, Evry

Evry, 29-31 mai 2000

10

© INT

Approche fichiers + SGF

Page 11: Principes des Bases de Données Relationnelles du 29 au 31 mai 2000 INT, Evry

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

Page 12: Principes des Bases de Données Relationnelles du 29 au 31 mai 2000 INT, Evry

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

Page 13: Principes des Bases de Données Relationnelles du 29 au 31 mai 2000 INT, Evry

Evry, 29-31 mai 2000

13

© INT

Approche centralisée

Page 14: Principes des Bases de Données Relationnelles du 29 au 31 mai 2000 INT, Evry

Evry, 29-31 mai 2000

14

© INT

Approche client/serveur

Page 15: Principes des Bases de Données Relationnelles du 29 au 31 mai 2000 INT, Evry

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

Page 16: Principes des Bases de Données Relationnelles du 29 au 31 mai 2000 INT, Evry

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

Page 17: Principes des Bases de Données Relationnelles du 29 au 31 mai 2000 INT, Evry

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

Page 18: Principes des Bases de Données Relationnelles du 29 au 31 mai 2000 INT, Evry

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 »

Page 19: Principes des Bases de Données Relationnelles du 29 au 31 mai 2000 INT, Evry

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

Page 20: Principes des Bases de Données Relationnelles du 29 au 31 mai 2000 INT, Evry

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

Page 21: Principes des Bases de Données Relationnelles du 29 au 31 mai 2000 INT, Evry

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

Page 22: Principes des Bases de Données Relationnelles du 29 au 31 mai 2000 INT, Evry

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 »

Page 23: Principes des Bases de Données Relationnelles du 29 au 31 mai 2000 INT, Evry

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

Page 24: Principes des Bases de Données Relationnelles du 29 au 31 mai 2000 INT, Evry

Evry, 29-31 mai 2000

24

© INT

Métabase

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

• « Valeur du schéma »

Page 25: Principes des Bases de Données Relationnelles du 29 au 31 mai 2000 INT, Evry

Evry, 29-31 mai 2000

25

© INT

Apport d’une approche BD

• Intégration

• Indépendance

• Sécurité

• Facilités pour l’utilisateur

Page 26: Principes des Bases de Données Relationnelles du 29 au 31 mai 2000 INT, Evry

Evry, 29-31 mai 2000

26

© INT

Intégration

• Description unique et globale des données

• Eviter les redondances

• Eviter les incohérences

Page 27: Principes des Bases de Données Relationnelles du 29 au 31 mai 2000 INT, Evry

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

Page 28: Principes des Bases de Données Relationnelles du 29 au 31 mai 2000 INT, Evry

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

Page 29: Principes des Bases de Données Relationnelles du 29 au 31 mai 2000 INT, Evry

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

Page 30: Principes des Bases de Données Relationnelles du 29 au 31 mai 2000 INT, Evry

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

Page 31: Principes des Bases de Données Relationnelles du 29 au 31 mai 2000 INT, Evry

Evry, 29-31 mai 2000

31

© INT

Description des données• Trois niveaux de description selon le

groupe ANSI/X3/SPARC (1975)

Page 32: Principes des Bases de Données Relationnelles du 29 au 31 mai 2000 INT, Evry

Evry, 29-31 mai 2000

32

© INT

Exemple

Page 33: Principes des Bases de Données Relationnelles du 29 au 31 mai 2000 INT, Evry

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.

Page 34: Principes des Bases de Données Relationnelles du 29 au 31 mai 2000 INT, Evry

Evry, 29-31 mai 2000

34

© INT

Conception d’une BD

Page 35: Principes des Bases de Données Relationnelles du 29 au 31 mai 2000 INT, Evry

Evry, 29-31 mai 2000

35

© INT

Niveau conceptuel (suite)

• Quoi ?

Page 36: Principes des Bases de Données Relationnelles du 29 au 31 mai 2000 INT, Evry

Evry, 29-31 mai 2000

36

© INT

Niveau conceptuel (suite)

• Comment ?

Page 37: Principes des Bases de Données Relationnelles du 29 au 31 mai 2000 INT, Evry

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

Page 38: Principes des Bases de Données Relationnelles du 29 au 31 mai 2000 INT, Evry

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.

Page 39: Principes des Bases de Données Relationnelles du 29 au 31 mai 2000 INT, Evry

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

Page 40: Principes des Bases de Données Relationnelles du 29 au 31 mai 2000 INT, Evry

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

Page 41: Principes des Bases de Données Relationnelles du 29 au 31 mai 2000 INT, Evry

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

Page 42: Principes des Bases de Données Relationnelles du 29 au 31 mai 2000 INT, Evry

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

Page 43: Principes des Bases de Données Relationnelles du 29 au 31 mai 2000 INT, Evry

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

Page 44: Principes des Bases de Données Relationnelles du 29 au 31 mai 2000 INT, Evry

Evry, 29-31 mai 2000

44

© INT

Modélisation des données (suite)

• Exemples de modèles– Entité/Association– Hiérarchique, Réseau– Relationnel

Page 45: Principes des Bases de Données Relationnelles du 29 au 31 mai 2000 INT, Evry

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

Page 46: Principes des Bases de Données Relationnelles du 29 au 31 mai 2000 INT, Evry

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

Page 47: Principes des Bases de Données Relationnelles du 29 au 31 mai 2000 INT, Evry

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)

Page 48: Principes des Bases de Données Relationnelles du 29 au 31 mai 2000 INT, Evry

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]

Page 49: Principes des Bases de Données Relationnelles du 29 au 31 mai 2000 INT, Evry

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)

Page 50: Principes des Bases de Données Relationnelles du 29 au 31 mai 2000 INT, Evry

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

Page 51: Principes des Bases de Données Relationnelles du 29 au 31 mai 2000 INT, Evry

Evry, 29-31 mai 2000

51

© INT

Résumé sur les modèles

Page 52: Principes des Bases de Données Relationnelles du 29 au 31 mai 2000 INT, Evry

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

Page 53: Principes des Bases de Données Relationnelles du 29 au 31 mai 2000 INT, Evry

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

Page 54: Principes des Bases de Données Relationnelles du 29 au 31 mai 2000 INT, Evry

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)

Page 55: Principes des Bases de Données Relationnelles du 29 au 31 mai 2000 INT, Evry

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

Page 56: Principes des Bases de Données Relationnelles du 29 au 31 mai 2000 INT, Evry

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

Page 57: Principes des Bases de Données Relationnelles du 29 au 31 mai 2000 INT, Evry

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)

Page 58: Principes des Bases de Données Relationnelles du 29 au 31 mai 2000 INT, Evry

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

Page 59: Principes des Bases de Données Relationnelles du 29 au 31 mai 2000 INT, Evry

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

Page 60: Principes des Bases de Données Relationnelles du 29 au 31 mai 2000 INT, Evry

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 »

Page 61: Principes des Bases de Données Relationnelles du 29 au 31 mai 2000 INT, Evry

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

Page 62: Principes des Bases de Données Relationnelles du 29 au 31 mai 2000 INT, Evry

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

Page 63: Principes des Bases de Données Relationnelles du 29 au 31 mai 2000 INT, Evry

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)

Page 64: Principes des Bases de Données Relationnelles du 29 au 31 mai 2000 INT, Evry

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

Page 65: Principes des Bases de Données Relationnelles du 29 au 31 mai 2000 INT, Evry

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

Page 66: Principes des Bases de Données Relationnelles du 29 au 31 mai 2000 INT, Evry

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

Page 67: Principes des Bases de Données Relationnelles du 29 au 31 mai 2000 INT, Evry

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

Page 68: Principes des Bases de Données Relationnelles du 29 au 31 mai 2000 INT, Evry

Evry, 29-31 mai 2000

68

© INT

Schéma global