Vous êtes sur la page 1sur 73

Bases de Données

Kokou Yétongnon

Richard Chbeir

Université de Bourgogne

Bases de Données Kokou Yétongnon Richard Chbeir Université de Bourgogne
Bases de Données Kokou Yétongnon Richard Chbeir Université de Bourgogne

Credits and References

Crédits : Cours basés sur des notes

de l’équipe de Bases de données de l’Ecole Polytechnique Fédérale de Lausanne

de Richard Chbeir, Kokou Yétongnon (équipe bases de

données du Laboratoire LE2I)

Concepts généraux

Concepts généraux Les besoins Qu’est ce qu’un SGBD, une BD? Architecture d’un SGBD Cycle de vie

Les besoins

Qu’est ce qu’un SGBD, une BD? Architecture d’un SGBD Cycle de vie d’une BD Plan du cours

généraux Les besoins Qu’est ce qu’un SGBD, une BD? Architecture d’un SGBD Cycle de vie d’une

Exemples classiques d'applications BD

Gestion des informations d’une université ou institut

: personnels, étudiants, cours, inscriptions

Système de réservation de train

Système de réservation de billets d'avion

Système de réservation de billets de spectacle

Gestion des comptes clients d’une banque

Gestion des commandes à Amazon.com

Exemple Réservation de train (fictif)

Gestion des réservations de billets de trains

5

Billet =

numéro train gare départ heure départ

destination finale

heure d’arrivée jours

numéro train

no arrêt

gare heure départ heure d’arrivée

nom client numéro train date

classe

no wagon numéros place départ: - gare

- heure

gare d’arrivée

Train =

numéro train date classe no wagon numéros place départ: - gare - heure g are d’arrivée
numéro train date classe no wagon numéros place départ: - gare - heure g are d’arrivée

Arrêt =

Bases de données

Bases de données traditionnelles

données textuelles, numériques, …

Bases de données multi-média

données multi-média

Bases de données géographique

données géolocalisées

Data warehouse (intégration de plusieurs bases de données)

Définition

Base de Données (Data Base)

Elle représente un ensemble de données de l’entreprise mémorisé par un ordinateur selon un modèle de données.

Banque de données (Data Bank)

Elle représente l’ensemble des informations mémorisées relatif à un domaine de connaissances scientifique, économique ou culturel, et cela, d’une façon aussi exhaustive que possible.

Entrepôt de données (Data Warehouse)

Un ensemble de données de l'entreprise permettant de faciliter la prise de décision : analyse en ligne, corrélation de données etc…

Base de Connaissances (Knowledge Base)

Elle regroupe un ensemble de BD utilisées par des systèmes experts

(intelligents).

Les besoins

Les besoins
Les besoins

Besoins de description

1 - Décrire les données de l’application (trains, trajets et réservations) sans faire référence à une

solution informatique particulière

modélisation conceptuelle

2 - Élaborer une description équivalente pour le stockage des données dans le SGBD choisi

modélisation logique

langage de description de données (LDD)

Besoins de manipulation

3a - Créer la base de données initiale avec les

données représentant le réseau train

langage permettant l’insertion de données

3b - Créer au fur et à mesure les données sur les

réservations. Modifier si besoin et éventuellement

supprimer toute donnée déjà rentrée

langage de manipulation de données (LMD) (insertion, modification, suppression)

Besoins d’interrogation

4 - Répondre à toute demande d’information portant sur les

données contenues dans la base. Par exemple:

a) Durand Julien a-t-il une réservation pour aujourd’hui ?

Si oui, donner les informations connues sur cette réservation.

b) Quels sont les horaires des trains de Lausanne à Montreux entre 9h et 10h le dimanche ?

c) Donner les destinations au départ de Lausanne sans arrêts intermédiaires.

Langage de requête (langage d’interrogation)

Besoins d’exactitude / cohérence

5 Exprimer toutes les règles qui contraignent les valeurs pouvant être enregistrées de façon à éviter toute erreur qui peut être détectée. Par

exemple:

Il ne faut jamais donner la même place dans le même train à 2 clients

Les arrêts d’un train sont numérotés de façon continue (il ne peut y avoir pour un train donné un arrêt no 3 s’il n'y a pas un arrêt no 2 et un arrêt no 1)

La date de réservation pour un train doit correspondre à un jour de circulation de ce train

Le numéro de train dans une réservation / arrêt doit correspondre à un train existant

L’heure de départ d’une gare doit être postérieure à l’heure d’arrivée dans cette gare

L’heure d’arrivée à un arrêt doit être postérieure à l’heure de départ de l’arrêt précédent

Langage d’expression de contraintes d’intégrité

Besoins de garanties

6 - Il ne faut pas que les informations (par exemple, les

réservations) soient perdues à cause d’un dysfonctionnement

quelconque: erreur de programmation, panne système, panne de l’ordinateur, coupure de courant, …

Garantie de fiabilité

7 - Il ne faut pas qu’une action faite pour un utilisateur (par exemple, l’enregistrement d’une réservation) soit perdue du fait d’une autre action faite simultanément pour un autre utilisateur (réservation de la même place).

Garantie de contrôle de concurrence

Besoins de confidentialité

8 - Toute information doit pouvoir être protégée contre l’accès par des utilisateurs non autorisés

- en lecture

- en écriture

Interdire par exemple aux clients de modifier les numéros des trains ou les horaires ou leur réservation.

Garantie de confidentialité (privacy)

Besoin defficacité

9-10

Le temps de réponse du système doit être conforme aux besoins:

en intéractif: pas plus de 3 secondes en programmation: assez rapide pour assumer la charge de travail attendue (nombre de transactions par jour)

Mécanismes d’optimisation

Éventuellement, répartition / duplication des données sur plusieurs sites

Définitions

Définitions et Terminologie

Qu’est ce qu’un SGBD, une BD?

Définitions Définitions et Terminologie Qu’est ce qu’un SGBD, une BD?
Définitions Définitions et Terminologie Qu’est ce qu’un SGBD, une BD?

Définition

Système

Quelque chose, qui fait quelque chose, est doté d’une structure, évolue dans le

temps, dans un environnement, pour quelque chose

Donnée

(Lemoigne)

Ensemble de valeurs dont on ne connaît pas les interrelations (Ex: 1982 Jean)

Information

Ensemble de valeurs porteur d’une signification (Ex: Jean est né en 1982 )

Définition

Modèle de données

Définition  Modèle de données – Ensemble de concepts et de règles permettant de décrire un

Ensemble de concepts et de règles permettant de décrire un

système d’information

Les modèles les plus connus

Modèle hiérarchique Modèle réseau

Modèle E-A (ou modèle ER)

Modèle relationnel

Object Modeling Technique (OMT)

Unified Modeling Language (UML)

Le modèle Entité-Association

Défini en 1975 par P. Chen

Largement utilisé dans les méthodes de conception de SI (dont MERISE)

Association orchestre   nom-formation nom-chef 0-N cardinalité mini cardinal. maxi soliste nom-soliste

orchestre

 

nom-formation

nom-chef

0-N

orchestre   nom-formation nom-chef 0-N cardinalité mini cardinal. maxi soliste nom-soliste

cardinalité

mini

cardinal.

maxi

soliste

nom-soliste

spécialité

Entité

concert lieu date
concert
lieu
date

0-N

œuvre

titre

compositeur

œuvre titre compositeur

0-N

attribut

associations

Concepts:

Types d’entité

Types d’association

Attributs rattachés aux types d’objets ou

Cardinalités min-max des types d’association

– Identifiant
– Identifiant

Le modèle Entité-Association

Défini en 1975 par P. Chen

Largement utilisé dans les méthodes de conception de SI (dont MERISE)

Association orchestre   nom-formation nom-chef 0-N cardinalité mini cardinal. maxi soliste nom-soliste

orchestre

 

nom-formation

nom-chef

0-N

orchestre   nom-formation nom-chef 0-N cardinalité mini cardinal. maxi soliste nom-soliste

cardinalité

mini

cardinal.

maxi

soliste

nom-soliste

spécialité

Entité

concert lieu date
concert
lieu
date

0-N

 

0-N

œuvre

titre

titre
 
 

compositeur

attribut

Concepts:

Types d’entité

Types d’association

Attributs rattachés aux types d’objets ou associations

Cardinalités min-max des types d’association

Identifiant
Identifiant
–

Le modèle relationnel

Notions de base

EMPLOYE

EMPLOYE

n°Employé

nomEmpl

qualif

codeFct

 

125

Dupond

OP1

AM2

134

Durand

OQ2

AP3

145

Dupond

OP3

BM2

Relation ou table
Relation ou table

Le modèle relationnel

Notions de base

EMPLOYE n°Employé nomEmpl qualif codeFct 125 Dupond OP1 AM2 134 Durand OQ2 AP3 Nom de
EMPLOYE
n°Employé
nomEmpl
qualif
codeFct
125
Dupond
OP1
AM2
134
Durand
OQ2
AP3
Nom de la
Relation ou table
145
Dupond
OP3
BM2

Le modèle relationnel

Notions de base

EMPLOYE n°Employé nomEmpl qualif codeFct 125 Dupond OP1 AM2 134 Durand OQ2 AP3 Attribut (champ
EMPLOYE
n°Employé
nomEmpl
qualif
codeFct
125
Dupond
OP1
AM2
134
Durand
OQ2
AP3
Attribut (champ
145
Dupond
OP3
BM2
ou rubrique)

Bases de données (BD)

BD = Ensemble de données reliées entre elles et utilisables

avec un programme particulier appelé : Système de Gestion

de Bases de Données

Ensemble de données :

Structuré

Cohérent

L'ensemble des données a une signification (pas n'importe quelles

données)

Intégré

elles sont regroupées au sein d’un même ensemble

Partagé

utilisées par plusieurs utilisateurs et/ou types d’utilisateurs

Défini pour les besoins d’une application

Univers du discours

Système de Gestion de Bases de Données (SGBD)

SGBD: ensemble de programmes i.e. software permettant de

:

Définir la BD

Spécifier les types de données, la structure, contraintes…

ex: structure de Billet, de ses champs,…

Construire la BD:

Stocker les données sur disque

Manipuler la BD

Récupérer des données stockées (requêtes sur la BD)

ex: liste des billets de train

Mettre à jour les données

ex: changer l'heure de départ d'un train

Maintenir la BD

Gestion des données (concurrence, fiabilité,…) et des utilisateurs (droits)

Les 7 caractéristiques d’un SGBD

1. Persistance

2. Gestion du disque et de la mémoire

3. Partage des données 4. Fiabilité

5. Sécurité

6. Indépendance Logique / Physique

7. Langage de requêtes ad hoc

1. Persistance

« écrit sur le disque » Les SGBDs ne connaissent pas les données temporaires.

Une donnée est persistante si elle survit à la fin du

programme qui l’a créée.

Dans les SGBD classiques, la persistance est systématique.

2. Gestion du disque et de la mémoire

Masse de données trop importante pour être stockée en mémoire centrale.

=> Mise en place de techniques pour minimiser les accès disques (optimisation des performances) :

Gestion de buffers / cache,

regroupement des données sur le disque,

optimisation des requêtes,

index

3. Partage des données

Concurrence au niveau des données, des schémas

et des index.

Données utilisées par beaucoup d’utilisateurs.

Chacun doit avoir l’impression qu’il est seul Mais les données doivent rester cohérentes

4. Fiabilité

Les données doivent être durables et fiables. Proposer des mécanismes de détection des erreurs

algorithmes RAID

Contraintes

Offrir des mécanismes de récupération des données

Journalisation,

Procédure de reprise après panne, …

5. Sécurité

N’importe qui ne doit pas pouvoir faire n’importe

quoi sur n’importe quelles données.

Identification et droits des utilisateurs

Autorisations : lire, écrire… Classification des données (protection)

6. Indépendance Logique / Physique

Organisation physique de la BD transparente aux

programmeurs d’applications

L’organisation des données doit être modifiable sans reprendre les applications qui les utilisent

7. Langage de requêtes ad hoc

Les requêtes doivent être:

simples à écrire,

déclaratives (juste dire ce qu’on veut sans préciser comment c’est obtenu),

optimisées automatiquement par le processeur de requêtes

Architecture d’un SGBD

Architecture d’un SGBD
Architecture d’un SGBD

Architecture d’un SGBD

Architecture d’un SGBD Interface d’accès physique Interface utilisateur SGBD BD Définition contenu BD/

Interface

d’accès

physique

Architecture d’un SGBD Interface d’accès physique Interface utilisateur SGBD BD Définition contenu BD/

Interface

utilisateur

Interface d’accès physique Interface utilisateur SGBD BD Définition contenu BD/ Interrogation BD/MAJ BD

SGBD

BD
BD

Définition contenu BD/ Interrogation BD/MAJ BD

Objectifs: Convivialité de l'interface, puissance des langages

de définition et manipulation

données

Stockage / accès aux données

Objectif:

Optimisation des

performances

SGBD: Boite noire interagissant d'un côté avec

35 utilisateurs et de l'autre avec la base de données

Objectif fondamental du SGBD

Indépendance Programme/données:

Indépendance entre données sur disque et utilisateurs (programmes, humains) des données

Possibilité pour un administrateur système de modifier ses choix en matière d'organisation des données, pour améliorer les performances, sans que cela ait un impact sur les utilisateurs (leurs requêtes d'interrogation ou de mise à jour, ou leurs programmes d'application qui utilisent la base de données).

Possibilité pour un utilisateur de modifier sa vue de la base et ses traitements sans avoir à se soucier des choix qui ont été opérés au niveau interne en matière de fichiers

-> Vision plus fine de l'architecture

Trois couches Utilisateurs SGBD Couche externe Couche logique Couche interne Dialogue BD Données Contrôle
Trois couches Utilisateurs SGBD Couche externe Couche logique Couche interne Dialogue BD Données Contrôle

Trois couches

Trois couches Utilisateurs SGBD Couche externe Couche logique Couche interne Dialogue BD Données Contrôle
Trois couches Utilisateurs SGBD Couche externe Couche logique Couche interne Dialogue BD Données Contrôle

Utilisateurs

SGBD

Couche

externe

Couche

logique

Couche

interne

Dialogue

Utilisateurs SGBD Couche externe Couche logique Couche interne Dialogue BD Données Contrôle Stockage 37
BD
BD

Données

Contrôle

Stockage

Trois couches

Niveau externe

dialogue avec les utilisateurs

analyse des demandes de l'utilisateur

contrôle des droits d'accès de l'utilisateur

présentation des résultats

Niveau interne

stockage des données dans les supports physiques

gestion des structures de mémorisation (fichiers)

gestion des accès (gestion des index, des clés,

)

niveau intermédiaire:

fonctions de contrôle global:

optimisation globale des requêtes

gestion des conflits d'accès simultanés de la part de plusieurs utilisateurs

contrôle général de la cohérence de l'ensemble

coordination et suivi des processus en cours

garantie du bon déroulement des actions entreprises même en cas de panne

Pour chaque couche

Modèle de données

ensemble des concepts qui permettent de décrire les données d'une base et les règles d'utilisation de ces concepts.

Schéma d’une BD

Description d’une base de données obtenues en employant un modèle de données.

Modèles

Un modèle différent pour:

Niveau externe

Niveau logique

Niveau physique

+ niveau conceptuel

Niveau logique

Schéma logique: description des données

présentes dans la base de données dans les

concepts du modèle utilisé par le SGBD choisi

On appelle modèle logique le modèle sur lequel est

construit un SGBD.

relationnel

objet

Exemple de schéma logique

Un institut de formation permanente

Schéma logique (SL) relationnel:

Étudiant ( nom, prénom, date naissance, n°étudiant)

Enseignant (nom, prénom, statut, no_compte)

Cours ( nomC, cycle, nom_enseignant)

Inscription ( n°étudiant, nomC, note1, note2)

Exemple

Un institut de formation permanente

Schéma conceptuel (SC) entité-association

Inscrit
Inscrit
Enseigne
Enseigne
Enseigna
Enseigna
Enseigna

Enseigna

nomC, cycle

Cours
Cours

Cours

Cours
Cours
Cours

notes

Étudiant
Étudiant

Étudiant

Étudiant

nom, prénom,

date de

naissance,

n°étudiant

nt

nom, prénom,

statut,

n°compte_bancair

e

Niveau externe

Un schéma externe par groupe d’utilisateurs, définissant la vue de la base pour ces utilisateurs

Avantages de cette approche :

simplicité

protection (confidentialité)

Dans les SGBD actuels, le modèle de données employé pour décrire les schémas externes est le même que celui du schéma logique

Exemple de schémas externes

Schéma logique:

Étudiant ( nom, prénom, date naissance, n°étudiant)

Enseignant (nom, prénom, statut)

Cours ( nomC, cycle, nom_enseignant)

Inscription ( n°étudiant, nomC, note1, note2)

Schéma externe du professeur de base de données :

ÉtudiantBD (nom, prénom, note1, note2, note_finale)

tel que Étudiant _BD résulte de la combinaison de Étudiant et

Inscription du SL, tels qu'il existe une Inscription de cet étudiant pour le cours BD (n°étudiant dans Étudiant = n°étudiant dans

Inscription et nomC dans Inscription = BD),

et tel que note_finale = (note1 + note2)/2

Schémas externes: le service personnel

Schéma externe du service de gestion du personnel enseignant :

Professeur (nom, prénom, nocompte, nombre_de_cours,

liste(nom_cours))

tel que Professeur résulte de la combinaison de Enseignant et Cours du SL,

tels que liste(nom_cours) est la liste de nomC qui se trouvent dans Cours tel que nom_enseignant dans Cours = nom dans Enseignant, et

tel que nombre_de_cours = Cardinalité (liste(nom_cours))

Niveau interne

Choix des structures de stockage des données par

les administrateurs système

Schéma interne : description des choix d’enregistrement des données dans les fichiers.

Fait appel à un nouveau modèle, le modèle interne,

où les concepts sont ceux de fichier, organisation de

fichier, index, chemin d'accès, clé,

Schéma interne: exemple

Étudiant :

fichier FEtud,

contenu : nom, prénom, date de naissance, n°étudiant indexé sur n°étudiant, index secondaire sur nom+prénom

Enseignant + Cours : fichier FEnsCours, contenu : nom, prénom, statut, n°compte_bancaire, liste(nomC, cycle) tel que nom_enseignant dans Cours = nom dans Enseignant

indexé sur nom,

deux index secondaires, l'un sur nomC, l'autre sur cycle

Inscription : fichier FInscrits, contenu : n°étudiant, nom_cours, note1, note2 indexé sur n°étudiant, index secondaire sur nom_cours

Résumé: 3 types de schémas

Résumé: 3 types de schémas SGBD Couche externe Couche logique Couche interne Schéma externe: prof BD

SGBD

Couche externe

Couche logique

Couche interne

Schéma externe: prof BD

Etudiant _BD : nom,

note1…

tel que:

note=(note1+note2)/2

Schéma externe: SGP

Professeur : nom, prénom tel que Prof est combinaison de Enseignant et Cours

Schéma interne (SI) Etudiant:fichier FEtud, contenu : nom indexé sur n°étudiant

Inscription:fichierFInscrits contenu : n°étud, nom indexé sur n°étudiant…

Schéma logique (SL)

Etudiant (nom, Enseignant(nom

, n°étudiant

logique (SL) Etudiant (nom, Enseignant(nom , n°étudiant ,statut, n°cpte Cours(nomC, cycle, nom_ensgt

,statut,

n°cpte

Cours(nomC, cycle, nom_ensgt

Inscription(n°étud,cours,note1

Dialogue

Contrôle

Stockage

BD

BD

BD
,statut, n°cpte Cours(nomC, cycle, nom_ensgt Inscription(n°étud,cours,note1 Dialogue Contrôle Stockage BD 49
,statut, n°cpte Cours(nomC, cycle, nom_ensgt Inscription(n°étud,cours,note1 Dialogue Contrôle Stockage BD 49

En résumé

Comment un SGBD gère les données?

3 Schémas

– Schéma Conceptuel (La réalité) •description des entités, de leurs relations et de leurs contraintes
– Schéma Conceptuel (La réalité)
•description des entités, de leurs relations et de leurs contraintes
•utilisation d’un modèle conceptuel (ex: ER)
•schéma global

Schéma interne (La technique) description de la structure physique de rangement de la base gestion des liens entre les données utilisation d’un modèle physique décrivant le mode de rangement et d’accès des données (ex: modèle relationnel)

et d’accès des données (ex: modèle relationnel) – Schéma externe (L’interprétation) •présentation
– Schéma externe (L’interprétation) •présentation des programmes aux applications •portion du schéma
– Schéma externe (L’interprétation)
•présentation des programmes aux applications
•portion du schéma conceptuel adapté à une classe d’usagers

Schéma externe 1

Schéma externe 2

Schéma externe 3

50 Utilisateurs

mapping 1 Schéma externe 2 Schéma externe 3 50 Utilisateurs Schéma conceptuel mapping Schéma Interne Concepteur

Schéma externe 2 Schéma externe 3 50 Utilisateurs mapping Schéma conceptuel mapping Schéma Interne Concepteur

Schéma

conceptuel

mapping

3 50 Utilisateurs mapping Schéma conceptuel mapping Schéma Interne Concepteur (Designer) Administrateur (DBA)
Schéma Interne
Schéma
Interne

Concepteur (Designer)

Administrateur (DBA)

Principe de fonctionnement du SGBD :

un exemple avec le “parcours” d’une requête

Niveau externe:

1) Analyse syntaxique et sémantique d’une requête par rapport au

schéma externe

Niveau logique:

2) Traduction des éléments du schéma externe en éléments du schéma logique dans la requête

3) Contrôles de confidentialité, concurrence

4) Si la requête est acceptée, optimisation et découpage en sous- requêtes élémentaires transférées au niveau interne

Niveau interne

Traduction des sous-requêtes en requêtes physiques

correspondantes.

Comment un SGBD gère les données?

3 Schémas

– Schéma Conceptuel (La réalité) •description des entités, de leurs relations et de leurs contraintes
– Schéma Conceptuel (La réalité)
•description des entités, de leurs relations et de leurs contraintes
•utilisation d’un modèle conceptuel (ex: ER)
•schéma global

Schéma interne (La technique) description de la structure physique de rangement de la base gestion des liens entre les données utilisation d’un modèle physique décrivant le mode de rangement et d’accès des données (ex: modèle relationnel)

et d’accès des données (ex: modèle relationnel) – Schéma externe (L’interprétation) •présentation
– Schéma externe (L’interprétation) •présentation des programmes aux applications •portion du schéma
– Schéma externe (L’interprétation)
•présentation des programmes aux applications
•portion du schéma conceptuel adapté à une classe d’usagers

Schéma externe 1

Schéma externe 2

Schéma externe 3

52 Utilisateurs

mapping 1 Schéma externe 2 Schéma externe 3 52 Utilisateurs Schéma conceptuel mapping Schéma Interne Concepteur

Schéma externe 2 Schéma externe 3 52 Utilisateurs mapping Schéma conceptuel mapping Schéma Interne Concepteur

Schéma

conceptuel

mapping

3 52 Utilisateurs mapping Schéma conceptuel mapping Schéma Interne Concepteur (Designer) Administrateur (DBA)
Schéma Interne
Schéma
Interne

Concepteur (Designer)

Administrateur (DBA)

Cycle de vie d'une base de

données

Cycle de vie d'une base de données
Cycle de vie d'une base de données

Cycle de vie d'une base de données

4 phases:

Conception de la base

-> Schéma Conceptuel

Implantation des données

-> Schéma Logique, Schéma Interne, population de la BD

Utilisation

-> Schémas Externes

interrogation

développement des programmes d’application

mises à jour

Maintenance (correction, évolution)

Phase 1: Conception

Phase de réflexion et d'analyse sur la manière de structurer

les données en fonction des besoins de l’application

Objectif: Déterminer et décrire le futur contenu de la BD:

Quelles sont les infos importantes pour l’application?

Quelles sont leurs propriétés ?

Nécessite un accord des utilisateurs sur la nature et les

caractéristiques des informations

Résultat: SCHEMA CONCEPTUEL

Exemple

Un institut de formation permanente

Schéma conceptuel (SC) entité-association

Inscrit
Inscrit
Enseigne
Enseigne
Enseigna
Enseigna
Enseigna

Enseigna

nomC, cycle

Cours
Cours

Cours

Cours
Cours
Cours

notes

Étudiant
Étudiant

Étudiant

Étudiant

nom, prénom, date de

56 naissance,

nt

nom, prénom,

statut,

n°compte_bancair

Phase 2: Implantation

Transmission de la description des données au

SGBD choisi

schéma conceptuel -> schéma logique

schéma logique -> schéma interne

Au moyen d’un langage de description de données

(LDD) spécifique du SGBD choisi Insertion des données

Phase 3: Utilisation

Définition des schémas externes Requêtes d'interrogation

Paul est il inscrit au cours de BD?

Quelle est la date de naissance de Paul ?

Requêtes de mise à jour

ajouter de nouvelles informations,

supprimer des informations périmées,

modifier le contenu des informations

Au moyen d'un langage de manipulation de données (LMD)

Phase 4: Maintenance

Corrective

Supprimer les données erronées, redondantes

Évolutive

Faire évoluer la structure des données

ex: Ajouter la colonne "adresse" à Étudiant

Architecture Fonctionnelle d’un SGBD

Exploitant Programmeur d’application Utilisateur occasionnel Administrateur de la base

Exploitant

Exploitant Programmeur d’application Utilisateur occasionnel Administrateur de la base

Programmeur

d’application

Exploitant Programmeur d’application Utilisateur occasionnel Administrateur de la base

Utilisateur

occasionnel

Exploitant Programmeur d’application Utilisateur occasionnel Administrateur de la base

Administrateur

de la base

Programme

d’application

Fonctions

Système

Requête

Schéma

Fonctions Système Requête Schéma Utilisateurs Variés 60 Interface Utilisateur Module de

Utilisateurs

Variés

60

Interface

Utilisateur

Module de confidentialité et d’intégrité Module d’implantation Physique Compilateur Langage de Manipulation
Module de confidentialité
et d’intégrité
Module
d’implantation
Physique
Compilateur
Langage de Manipulation
Gestion buffers,
accès concurrents,
de Données
Journalisation,
Validation des données
Sécurité des données
Sauvegarde
et récupération,
Optimiseur de
requêtes
Compilateur du
LDD
SGBD
Traitement des Requêtes
Gestionnaire de fichiers Fichiers Dictionnaire de données
Gestionnaire
de fichiers
Fichiers
Dictionnaire
de données

Diverses architectures de

SGBD

Diverses architectures de SGBD
Diverses architectures de SGBD

Architecture centralisée

Terminal 3
Terminal 3

Serveur

Définition:

Centralisation des traitements et des données

– Centralisation des traitements et des données DB  Avantages – Administration facile 
DB
DB

Avantages

Administration facile

Inconvénients:

SGBD
SGBD

SGBD

SGBD
– Administration facile  Inconvénients : SGBD – Tout dépend du serveur 62 T e r
– Administration facile  Inconvénients : SGBD – Tout dépend du serveur 62 T e r

Tout dépend du serveur

62

Terminal 1

Terminal 2

Architecture distribuée client/serveur pour les BD

Définition:

Centralisation des données

Répartition des traitement

Outil de connectabilité Outil de connectabilité Outil de connectabilité REQUETE RESULTAT Outil de connectabilité
Outil de connectabilité
Outil de connectabilité
Outil de connectabilité
REQUETE
RESULTAT
Outil de connectabilité
SGBD Windows, UNIX, NOVELL
SGBD Windows, UNIX, NOVELL

SGBD Windows, UNIX, NOVELL

SGBD Windows, UNIX, NOVELL
REQUETE RESULTAT Outil de connectabilité SGBD Windows, UNIX, NOVELL Serveur Réseau local Clients REQUETE DB 63

Serveur

Réseau

local

Clients

REQUETE

DB
DB

63

Architecture distribuée client/serveur pour les BD

Avantages

Partage des données par plusieurs utilisateurs géographiquement

éparpillés

Décharger le serveur des traitements propres aux applications (calcul, affichage, etc.)

Décharger les postes de travail de la gestion des données

Possibilité d’utiliser des outils non disponibles (ou non compatibles) sur le

serveur

Administration facile: sécurité, intégrité, réplication, etc.

Architecture répartie client/serveur pour les BD

Définition:

SGBD NT
SGBD NT
client/serveur pour les BD  Définition: SGBD NT DB – Répartition des données – Répartition des

DB

Répartition des données

Répartition des traitement

Répartition des données – Répartition des traitement Clients Outil de connectabilité Outil de connectabilité
Répartition des données – Répartition des traitement Clients Outil de connectabilité Outil de connectabilité

Clients

Outil de connectabilité Outil de connectabilité Outil de connectabilité REQUETE RESULTAT Outil de connectabilité
Outil de connectabilité
Outil de connectabilité
Outil de connectabilité
REQUETE
RESULTAT
Outil de connectabilité
Outil de connectabilité
REQUETE RESULTAT Outil de connectabilité Outil de connectabilité Serveur Réseau local DB SGBD NOVELL 65

Serveur

REQUETE RESULTAT Outil de connectabilité Outil de connectabilité Serveur Réseau local DB SGBD NOVELL 65

Réseau

local

DB
DB
SGBD NOVELL
SGBD NOVELL

SGBD NOVELL

SGBD NOVELL

65

Architecture répartie client/serveur pour les BD

Avantages

Les bases de données peuvent être

Homogènes (même SGBD)

Hétérogènes (SGBD différents)

Décharger le serveur des traitements propres aux applications (calcul, affichage, etc.)

Décharger les postes de travail de la gestion des données

Possibilité d’utiliser des outils non disponibles (ou non compatibles) sur le serveur

Architecture répartie client/serveur pour les BD

Difficultés

Gestion de la répartition des données. Deux méthodes

Sans duplication

Avec duplication. Certaines données peuvent être dupliquées sur certains sites (cache)

Avantages

Minimiser les coûts de communications

Augmenter la disponibilité des données Inconvénient

Mise à jour des données

BD et Internet (ici)

Opera Internet Explorer Netscape Internet ??? ??? http://mon_serveur.iut-dijon.fr Serveur Web IIS, Apache ASP,
Opera
Internet Explorer
Netscape
Internet
???
???
http://mon_serveur.iut-dijon.fr
Serveur Web
IIS, Apache
ASP, VBScript
Java, PHP
SGBD
SGBD
Oracle
Access

Historique

3 générations

SGBD orienté-réseau ou hiérarchique (1960)

SGBD Relationnel (1970): Microsoft Access, Oracle, SQL Serveur, DbaseIV, OpenIngres, Sybase, Informix, etc.

SGBD avancés (1980) : (Orienté-objets, Multimédia, Déductifs, Répartis, etc.). Exemple : O2.

Actuellement, ce sont les SGBD Relationnel-Objets qui dominent (Oracle 8i et 9i, DB2, etc.)

Types des SGBD et Etat du marché

Sous Windows

Access Oracle

SQL Serveur

DbaseIV

Paradox

Sous Unix

Oracle

MySQL (OpenSource)

Postgres (Gratuit)

Informix

Sybase

Sous Mac OS

Quatrième dimension

15 Oracle 35 10 IBM Microsoft Sybase 15 Autres 25 1992 22 Oracle 28 IBM
15
Oracle
35
10
IBM
Microsoft
Sybase
15
Autres
25
1992
22
Oracle
28
IBM
Microsoft
8
Sybase
12
Autres
30
2000

Description du cours

Description du cours
Description du cours

Description du cours:

Conception de la base de données

description des données : schéma conceptuel formalisme conceptuel : modèle entité-association (EA)

Implantation de la base de données

formalisme logique : le modèle relationnel

sa partie structurelle : les relations

son langage de définition de données (DDL) SQL

ses règles de normalisation

Traduction / transformation EA -> relationnel

Description du cours: 2ème partie

Utilisation

Le langages relationnels

l’algèbre relationnelle

les calculs relationnels SQL