Documentos de Académico
Documentos de Profesional
Documentos de Cultura
d’information
et bases de
données
V. Augusto
Présentation
Modèle
Entité-
Relation Systèmes d’information et bases de données
Modèle
relationnel
Algèbre
relationnelle Vincent Augusto
SQL
Interrogation
Tri et
École Nationale Supérieure des Mines de Saint-Étienne
groupement de
lignes
Sélections
imbriquées
Manipulation
2010-2011
des données
Definition de
données
Contrôle et
gestion
SGBD
Un SGBD
hospitalier :
CACHÉ
1/73
Systèmes
d’information
et bases de
données 1 Présentation
V. Augusto
SQL
Interrogation 5 SQL
Tri et
groupement de
lignes
Sélections
imbriquées
Manipulation
6 Contrôle et gestion
des données
Definition de
données
Contrôle et 7 SGBD
gestion
SGBD
Un SGBD
8 Un SGBD hospitalier : CACHÉ
hospitalier :
CACHÉ
2/73
Systèmes
d’information
et bases de
données
Présentation
V. Augusto
Contenu du cours :
Présentation • Techniques pour l’analyse et la modélisation de données :
Modèle
Entité-
• Modèle Entité/Association ;
Relation • Modèle relationnel ;
Modèle • Algèbre relationnelle.
relationnel
Présentation
Modèle
Entité-
Relation
Base de données :
Modèle
Collection de données structurées, enregistrée sur la mémoire
relationnel externe, accessible simultanément par plusieurs utilisateurs.
Algèbre
relationnelle
Une base de données doit être :
SQL
Interrogation
Tri et
• indépendente d’applications particulières ;
groupement de
lignes
Sélections
• cohérente ;
imbriquées
Manipulation
des données
• de redondance minimale ;
Definition de
données • accessible simultanément par plusieurs utilisateurs.
Contrôle et
gestion
SGBD
Un SGBD
hospitalier :
CACHÉ
4/73
Systèmes
d’information
et bases de
données
SGBD
V. Augusto
Système de Gestion de Base de Données :
Présentation
Logiciel (ou ensemble de logiciels) capable d’assurer la création
Modèle
Entité- et l’utilisation des bases de données.
Relation
Contrôle et
gestion Utilisation d’un modèle de données :
SGBD Représentation abstraite de l’information et éventuellement des
Un SGBD opérateurs de manipulation de l’information (relationnel,
hospitalier :
CACHÉ hiérarchique, orienté objet).
5/73
Systèmes
d’information
et bases de
données 1 Présentation
V. Augusto
SQL
Interrogation 5 SQL
Tri et
groupement de
lignes
Sélections
imbriquées
Manipulation
6 Contrôle et gestion
des données
Definition de
données
Contrôle et 7 SGBD
gestion
SGBD
Un SGBD
8 Un SGBD hospitalier : CACHÉ
hospitalier :
CACHÉ
6/73
Systèmes
d’information
et bases de
données
Présentation
V. Augusto
Présentation
Ce modèle propose des concepts permettant de décrire un
Modèle
Entité- ensemble de données relatives à un domaine défini afin de les
Relation
intégrer ensuite dans une BD.
Modèle
relationnel ⇒ Création d’un Modèle Conceptuel de Données (MCD).
Algèbre
relationnelle Entité :
SQL
Interrogation
• Ensemble d’objets réels ou abstraits, ayant chacun une
Tri et
groupement de existance propre, partageant un ensemble de propriétés
lignes
Sélections
imbriquées
communes et présentant un intérêt pour l’entreprise.
Manipulation
des données • Distinction entre classe d’entités (l’ensemble) et ses
Definition de
données
occurrences (éléments de l’ensemble).
Contrôle et
gestion • Exemples : personnes, produits, idées, documents, etc.
SGBD
Un SGBD
hospitalier :
CACHÉ
7/73
Systèmes
d’information
et bases de
données
Présentation
V. Augusto
Présentation
Relation :
Modèle
Entité-
Relation
• Association entre deux entités au moins.
Modèle • Relations unaire (entre une entité et elle-même), binaire,
relationnel
Algèbre
ou n-aire.
relationnelle
• Exemple : relation fait partie de entre une infirmière et un
SQL
Interrogation service.
Tri et
groupement de
lignes
Sélections
imbriquées Attributs :
Manipulation
des données
Definition de • Caractéristiques descriptives d’une entité ou d’une relation.
données
SGBD
• Exemple : nom, prénom, âge d’un patient.
Un SGBD
hospitalier :
CACHÉ
8/73
Systèmes
d’information
et bases de
données
Identifiant et cardinalité
V. Augusto
Identifiant ou clé :
Présentation
• Attribut permettant d’identifier de manière unique chaque
Modèle
Entité- occurrence d’une classe d’entités ou de relations.
Relation
• L’identifiant d’une relation est l’union des identifiants des
Modèle
relationnel entités qu’elle met en relation.
Algèbre
relationnelle • Si une entité est identifiable par plusieurs identifiants, l’un
SQL d’eux est choisi comme clé primaire.
Interrogation
Tri et
groupement de
lignes
Sélections
Cardinalités :
imbriquées
Manipulation
des données • Caractérisation des types de relations (fonctionnalité).
Definition de
données • Représentation au moyen de deux valeurs (Cmin , Cmax ) :
Contrôle et
gestion • 1 : 1 pour les correspondances bijectives ;
SGBD
• 1 : n pour les correspondances de type parent-enfants ;
Un SGBD
• n : 1 pour les correspondances surjectives ;
hospitalier : • m : n pour les correspondances de type croisé (produit
CACHÉ
9/73 cartésien).
Systèmes
d’information
et bases de
données
Exemple de MCD : le bloc
V. Augusto opératoire
Présentation • La cadre-infirmière du bloc doit connaitre pour chaque
Modèle
Entité-
patient son nom, son prénom et sa pathologie.
Relation • Chaque patient est opéré par un certain chirurgien dans
Modèle
relationnel
une certain salle opératoire à une certaine date.
Algèbre
• Chaque patient suit un traitement médical particulier.
relationnelle
SQL
Interrogation
Tri et
groupement de
lignes
Sélections
imbriquées
Manipulation
des données
Definition de
données
Contrôle et
gestion
SGBD
Un SGBD
hospitalier :
CACHÉ
10/73
Systèmes
d’information
et bases de
données
Exemple de MCD : le bloc
V. Augusto opératoire
Présentation
Modèle
Entité- Associations :
Relation
SQL
Interrogation 5 SQL
Tri et
groupement de
lignes
Sélections
imbriquées
Manipulation
6 Contrôle et gestion
des données
Definition de
données
Contrôle et 7 SGBD
gestion
SGBD
Un SGBD
8 Un SGBD hospitalier : CACHÉ
hospitalier :
CACHÉ
12/73
Systèmes
d’information
et bases de
données
Présentation
V. Augusto
Présentation
Modèle
Intérêt du modèle relationnel :
Entité-
Relation • Utilisation facile des schémas de données (forme
Modèle tabulaire).
relationnel
Contrôle et
gestion ⇒ Création d’un Modèle Logique de Données Relationnel
SGBD (MLD Relationnel).
Un SGBD
hospitalier :
CACHÉ
13/73
Systèmes
d’information
et bases de
données
Définitions
V. Augusto
Présentation
Attribut :
Modèle
Un attribut Ai est un identificateur (un nom) décrivant une
Entité-
Relation
information stockée dans une base.
Modèle
relationnel Domaine :
Algèbre Le domaine Di d’un attribut est l’ensemble de ses valeurs
relationnelle
admissibles.
SQL
Interrogation
Tri et
groupement de
Relation :
lignes
Sélections Une relation est un sous-ensemble du produit cartésien de
imbriquées
Manipulation
des données
n > 0 domaines d’attributs. Elle peut être représenté sous la
Definition de
données
forme d’un tableau dans lequel les n attributs sont les titres des
Contrôle et n colonnes.
gestion
Présentation
SQL
dateNaissance nom, prenom, dateNaissance
Interrogation
Tri et
groupement de
lignes
Relation sous forme tabulaire :
Sélections
imbriquées
Manipulation
des données Patient nom prenom dateNaissance
Definition de
données Duss Jean-Claude 16/04/1952
Contrôle et
gestion
Leblanc Juste 08/12/1947
SGBD
Perrin François 16/08/1934
Un SGBD
hospitalier :
CACHÉ
15/73
Systèmes
d’information
et bases de
données
Définitions
V. Augusto
Clé primaire d’une relation :
Présentation Une clé primaire est un ensemble d’attributs K vérifiant :
Modèle
Entité-
• Unicité : les valeurs des clés primaires sont uniques et non
Relation
nulles.
Modèle
relationnel • Minimalité : aucun attribut composant K ne peut être
Algèbre
relationnelle
enlevé sans perdre la propriété d’unicité.
SQL
Interrogation Contrainte d’intégrité :
Tri et
groupement de
lignes Propriété devant être vraie sur toutes les extensions du schéma
Sélections
imbriquées de la relation :
Manipulation
des données
Definition de • CI de domaine : contrôle syntaxique et sémantique des
données
Contrôle et
valeurs associées aux attributs.
gestion
• CI d’entité : concerne les valeurs de la clé primaire
SGBD
(unicité, minimalité).
Un SGBD
hospitalier :
CACHÉ
• CI de référence : la valeur d’un groupe d’attributs est la
16/73
clé primaire d’une autre relation.
Systèmes
d’information
et bases de
données
Définitions
V. Augusto
Un SGBD
puissance du langage algébrique.
hospitalier :
CACHÉ
17/73
Systèmes
d’information
et bases de
données
MCD → MLDR
V. Augusto
Modèle
propriétés deviennent des attributs. L’identifiant de l’entité
relationnel devient la clé primaire.
Algèbre
relationnelle 2 Une association de type 1 :N disparaı̂t : l’identifiant d’une
SQL entité est incorporé dans la relation correspondant à
Interrogation
Tri et l’autre entité (si l’association est porteuse de propriétés,
groupement de
lignes
Sélections
elles migrent également).
imbriquées
Manipulation
des données
3 Une association de type N :M devient une relation R. La
Definition de
données
clé primaire de R est obtenue en concaténant les
Contrôle et identifiants des entités qui participent à l’association R.
gestion
Les propriétés de l’association R deviennent des attributs
SGBD
de R.
Un SGBD
hospitalier :
CACHÉ
18/73
Systèmes
d’information
et bases de
données
Exercice
V. Augusto
Présentation
Modèle
Entité-
Relation Construire les MCD et MLDR correspondants à la
Modèle description suivante :
relationnel
Algèbre
L’objectif consiste à construire le MCD d’un aéroport. Les
relationnelle pilotes (identifiant, nom, années d’expérience) sont affectés à
SQL
Interrogation
des vols. Un vol est identifié par un identifiant chiffré, une ville
Tri et
groupement de
de départ, une ville d’arrivée, une heure de départ et une heure
lignes
Sélections d’arrivée. Un avion est réquisitionné pour chaque vol, identifié
imbriquées
Manipulation
des données
par un identifiant chiffré, un nom, une capacité et une
Definition de
données localisation.
Contrôle et
gestion
SGBD
Un SGBD
hospitalier :
CACHÉ
19/73
Systèmes
d’information
et bases de
données 1 Présentation
V. Augusto
SQL
Interrogation 5 SQL
Tri et
groupement de
lignes
Sélections
imbriquées
Manipulation
6 Contrôle et gestion
des données
Definition de
données
Contrôle et 7 SGBD
gestion
SGBD
Un SGBD
8 Un SGBD hospitalier : CACHÉ
hospitalier :
CACHÉ
20/73
Systèmes
d’information
et bases de
données
Présentation
V. Augusto
Présentation
Modèle
Entité-
Relation Langage algébrique :
Modèle
relationnel • Collection d’opérations formelles qui agissent sur des
Algèbre
relationnelle
relations pour produire d’autres relations.
SQL • Modèle relationnel basé sur la théorie des ensemble :
Interrogation
Tri et
utilisation d’opérateurs classiques de manipulation des
groupement de
lignes ensemble (union, intersection, différence, produit
Sélections
imbriquées
Manipulation
cartésien).
des données
Definition de
données
• Introduction d’opérateurs propres aux bases de données.
Contrôle et
gestion
SGBD
Un SGBD
hospitalier :
CACHÉ
21/73
Systèmes
d’information
et bases de
données
Opérations de base
V. Augusto Soient 2 relations R1 et R2 de même schéma.
Présentation Union (opérateur d’extension)
Modèle
Entité-
Opération binaire portant sur R1 et R2 produisant une relation
Relation
R3 de même schéma ayant pour t-uples ceux appartenant à R1
Modèle
relationnel et R2 . R3 = R1 ∪ R2 .
Algèbre
relationnelle Différence (opérateur de restriction)
SQL
Interrogation
Opération binaire portant sur R1 et R2 produisant une relation
Tri et
groupement de
R3 de même schéma ayant pour t-uples ceux appartenant à R1
lignes
Sélections mais pas à R2 . R3 = R1 − R2 .
imbriquées
Manipulation
des données Soient 2 relations R1 et R2 de schémas quelconques.
Definition de
données
Contrôle et
Produit cartésien
gestion Opération binaire portant sur R1 et R2 produisant une relation
SGBD R3 ayant pour schéma la concaténation des attributs de R1 et
Un SGBD
hospitalier :
R2 et pour t-uples les combinaisons des relations opérandes.
CACHÉ
22/73 R3 = R1 × R2 .
Systèmes
d’information
et bases de
données
Opérations relationnelles
V. Augusto
Projection
Présentation Opération unaire portant sur R1 qui produit une relation R2 en
Modèle enlevant du schéma de R1 tous les attributs non mentionnés en
Entité-
Relation opérande et en éliminant les t-uples en double.
Modèle
relationnel
R2 = ΠAi ,Aj ,Ak (R1 ).
Algèbre
relationnelle
Patient nom prenom dateNaissance
SQL
Duss Jean-Claude 16/04/1952
Interrogation Leblanc Juste 08/12/1947
Tri et
groupement de Perrin François 16/08/1934
lignes
Sélections
imbriquées
Manipulation
des données
R2 = {P[nom, prenom]|Patient(P)}
Definition de
données SELECT nom, prenom FROM Patient
Contrôle et
gestion nom prenom
SGBD Duss Jean-Claude
Un SGBD Leblanc Juste
hospitalier :
CACHÉ Perrin François
23/73
Systèmes
d’information
et bases de
données
Opérations relationnelles
V. Augusto
Sélection
Présentation Opération unaire portant sur R1 qui produit une relation R2 de
Modèle même schéma ayant pour t-uples ceux vérifiant la condition
Entité-
Relation donnée en opérande. σcond (R1 ) = R2 .
Modèle
relationnel Patient nom prenom dateNaissance
Algèbre
relationnelle
Duss Jean-Claude 16/04/1952
Leblanc Juste 08/12/1947
SQL
Interrogation Perrin François 16/08/1934
Tri et
groupement de Duss Jean-Marie 19/04/1956
lignes
Sélections
imbriquées
Manipulation
des données R2 = {P[nom, prenom]|Patient(P) ∧ (P[nom] =0 Duss 0 )}
Definition de
données SELECT nom, prenom FROM Patient WHERE nom=’Duss’
Contrôle et
gestion
nom prenom dateNaissance
SGBD
Duss Jean-Claude 16/04/1952
Un SGBD
hospitalier : Duss Jean-Marie 19/04/1956
CACHÉ
24/73
Systèmes
d’information
et bases de
données
Opérations relationnelles
V. Augusto
Jointure
Présentation Opération binaire portant sur R1 et R2 consistant à rapprocher
Modèle les t-uples des 2 relations selon un critère C pour former une
Entité-
Relation relation R3 qui contient l’ensemble des t-uples du produit
Modèle cartésien R1 × R2 vérifiant le critère C . R3 = R1 1 R2 .
relationnel
Présentation
Modèle
Entité-
Relation
Répondre aux questions suivantes grâce à l’algèbre
Modèle relationnelle :
relationnel
Algèbre 1 Quels sont les numéros des pilotes qui conduisent un vol ?
relationnelle
2 Quels sont les numéros et capacités des avions nommés
SQL
Interrogation Airbus ?
Tri et
groupement de
lignes 3 Donner pour chaque vol son numéro et le nom du pilote.
Sélections
imbriquées
Manipulation 4 Quels sont les noms des pilotes qui conduisent tous les
des données
Definition de
données
airbus ?
Contrôle et
gestion
SGBD
Un SGBD
hospitalier :
CACHÉ
26/73
Systèmes
d’information
et bases de
données 1 Présentation
V. Augusto
SQL
Interrogation 5 SQL
Tri et
groupement de
lignes
Sélections
imbriquées
Manipulation
6 Contrôle et gestion
des données
Definition de
données
Contrôle et 7 SGBD
gestion
SGBD
Un SGBD
8 Un SGBD hospitalier : CACHÉ
hospitalier :
CACHÉ
27/73
Systèmes
d’information
et bases de
données
Présentation
V. Augusto
SQL (Structured Query Language :
Présentation
• Créé par IBM en 1979 pour System R .
Modèle
Entité-
Relation
• Langage hybride, combinaison de l’algèbre relationnelle et
Modèle du calcul relationnel.
relationnel
• Langage déclaratif , non-procédural.
Algèbre
relationnelle
• Permet l’interrogation d’une base de données.
SQL
Interrogation
Tri et
groupement de
lignes
Langage normalisé :
Sélections
imbriquées
Manipulation • LID : Langage d’Intégration des Données (sélection).
des données
Definition de
données • LMD : Langage de Manipulation des Données.
Contrôle et
gestion
• LDD : Langage de Définition des Données (ajout,
SGBD suppression).
Un SGBD • LCD : Langage de Contrôle des Données et des
hospitalier :
CACHÉ
28/73
utilisateurs.
Systèmes
d’information
et bases de
données
Recherche
V. Augusto
Présentation
Modèle
Entité- SELECT [ALL|DISTINCT] chaine de sélection
Relation
FROM nom de table [SYNONYME]
Modèle
relationnel [WHERE condition]
Algèbre
relationnelle
SQL
Paramètres :
Interrogation
Tri et • La chaine de sélection est la liste des colonnes sur
groupement de
lignes
Sélections
lesquelles on fait une projection.
imbriquées
Manipulation
des données
• La clause FROM précise la table sur laquelle la recherche
Definition de
données est faite.
Contrôle et
gestion
• La clause WHERE précise une condition pour critère de
SGBD sélection.
Un SGBD
hospitalier :
CACHÉ
29/73
Systèmes
d’information
et bases de
données
Recherche : exemples (1/2)
V. Augusto
Présentation
SGBD
WHERE age>30
Un SGBD
hospitalier :
CACHÉ
30/73
Systèmes
d’information
et bases de
données
Recherche : exemples (2/2)
V. Augusto
Présentation
Un SGBD
hospitalier :
CACHÉ
31/73
Systèmes
d’information
et bases de
données
Recherche avec jointure
V. Augusto
Présentation
Modèle
Fonctions de calcul
Entité-
Relation • COUNT (*) compte le nombre d’éléments d’une sélection.
Modèle
relationnel • SUM|AVG|MIN|MAX (*) permettent le calcul de sommes,
Algèbre de moyennes, de minimum et de maximum.
relationnelle
SQL
Interrogation
Tri et
Expressions caractères
groupement de
lignes
Sélections • UPPER (expression)
imbriquées
Manipulation
des données • LOWER (expression)
Definition de
données
• SUBSTRING (expression FROM debut FOR longueur )
Contrôle et
gestion • POSITION (expression 1 IN expression 2 )
SGBD
Un SGBD
hospitalier :
CACHÉ
33/73
Systèmes
d’information
et bases de
données
Tri et groupement de lignes
V. Augusto
Présentation
Algèbre
relationnelle Condition ALL/ANY :
SQL
Interrogation
Possible quand la sous-requête retourne un ensemble de
Tri et
groupement de
valeurs.
lignes
Sélections
imbriquées
• ALL : l’évaluation de la comparaison est vraie pour toutes
Manipulation
des données les valeurs obtenues dans une colonne sélectionnée.
Definition de
données
• ANY : l’évaluation de la comparaison est vraie pour au
Contrôle et
gestion moins une valeur du résultat de la sous-requête.
SGBD
Un SGBD
hospitalier :
CACHÉ
35/73
Systèmes
d’information
et bases de
données
Ajout de données
V. Augusto
Présentation
Modèle
Entité- INSERT INTO nom de table [(liste de colonnes)]
Relation
VALUES (liste de valeurs) | expression de sélection
Modèle
relationnel
Algèbre
relationnelle
Ajout d’un patient dans la base :
SQL INSERT INTO Patient (nom,prenom,dateNaissance)
Interrogation
Tri et VALUES (’Bono’,’Jean’,’01/03/1970’)
groupement de
lignes
Sélections
imbriquées Ajout d’une partie des patients dans une autre table :
Manipulation
des données
Definition de
INSERT INTO PatientBis
données
SELECT *
Contrôle et
gestion FROM Patient
SGBD WHERE age>80
Un SGBD
hospitalier :
CACHÉ
36/73
Systèmes
d’information
et bases de
données
Modification de données
V. Augusto
Présentation
Modèle
Entité-
Relation
Algèbre
SET liste de colonnes valeur
relationnelle [WHERE condition]
SQL
Interrogation
Tri et
groupement de Modification de l’âge d’un patient :
lignes
Sélections
imbriquées UPDATE Patient
Manipulation
des données SET age=age-2
Definition de
données WHERE nom=’Duss’
Contrôle et
gestion
SGBD
Un SGBD
hospitalier :
CACHÉ
37/73
Systèmes
d’information
et bases de
données
Suppression de données
V. Augusto
Présentation
Modèle
Entité- DELETE FROM nom de table
Relation
[WHERE condition]
Modèle
relationnel
Algèbre
relationnelle
Supprimer tous les patients dont la pathologie est ’AVC’ :
SQL DELETE FROM Patient
Interrogation
Tri et WHERE pathologie=’AVC’
groupement de
lignes
Sélections
imbriquées
Supprimer tous les patients dont l’opération a lieu dans la
Manipulation
des données salle de type A :
Definition de
données
DELETE FROM Patient
Contrôle et
gestion WHERE idSalle IN (SELECT id FROM SalleOperatoire
SGBD WHERE type=’A’)
Un SGBD
hospitalier :
CACHÉ
38/73
Systèmes
d’information
et bases de
données
Création
V. Augusto
Algèbre
Permet le regroupement de définitions de domaines, de
relationnelle relations, de contraintes, de vues, de privilèges se rapportant à
SQL une même application.
Interrogation
Tri et
groupement de
CREATE SCHEMA nom de la base [liste d’éléments]
lignes
Sélections
imbriquées
Manipulation
des données
Définition de vues :
Definition de
données Table virtuelle, dynamique, calculée à partir des relations de la
Contrôle et base de données par une requête.
gestion
SGBD
CREATE VIEW nom de la vue (éléments de la table)
Un SGBD
AS (spécification de la requête)
hospitalier :
CACHÉ
39/73
Systèmes
d’information
et bases de
données
Exercice
V. Augusto
Algèbre relationnelle → SQL :
Présentation Traduire en SQL les requêtes de l’exercice précédent.
Modèle
Entité- Écrire les requêtes SQL suivantes :
Relation
Modèle
relationnel
1 Quel est le nom du pilote le plus expérimenté ?
Algèbre 2 Lister par ordre alphabétique le nom des pilotes.
relationnelle
SQL
3 Indiquer le nombre de vols au départ de chaque ville.
Interrogation
Tri et 4 Indiquer le nombre de vols au départ de chaque ville,
groupement de
lignes
Sélections
assurés par au moins deux pilotes différents.
imbriquées
Manipulation
des données
5 Indiquer les numéros des pilotes qui conduisent des airbus.
Definition de
données 6 Indiquer les numéros et la capacité des avions airbus
Contrôle et
gestion
sachant que l’on ne retiendra que ceux de capacité
SGBD
supérieure aux boeing.
Un SGBD 7 Quels sont les numéros des pilotes qui conduisent un
hospitalier :
CACHÉ airbus ?
40/73
Systèmes
d’information
et bases de
données 1 Présentation
V. Augusto
SQL
Interrogation 5 SQL
Tri et
groupement de
lignes
Sélections
imbriquées
Manipulation
6 Contrôle et gestion
des données
Definition de
données
Contrôle et 7 SGBD
gestion
SGBD
Un SGBD
8 Un SGBD hospitalier : CACHÉ
hospitalier :
CACHÉ
41/73
Systèmes
d’information
et bases de
données
Contrôle de concurrence et gestion
V. Augusto des défaillances
Présentation
Modèle
Entité-
Relation
Objectif d’un SGBD :
Modèle
relationnel Permettre à plusieurs utilisateurs de travailler en parallèle en
Algèbre donnant à chacun l’illusion de travailler seul.
relationnelle
SQL
Interrogation
Conséquence :
Tri et
groupement de
lignes
Mise en œuvre de protocoles permettant :
Sélections
imbriquées • de synchroniser les traitements concurrents ;
Manipulation
des données
Definition de • d’annulerou de compléter les effets partiels des activités
données
Contrôle et
interrompues par les défaillances.
gestion
→ Protocoles transactionnels.
SGBD
Un SGBD
hospitalier :
CACHÉ
42/73
Systèmes
d’information
et bases de
données
Contrat de cohérence
V. Augusto transactionnel
Présentation
Transaction :
Modèle
Entité- Script décrivant des opérations (Lecture/Écriture) sur les objets
Relation
du SI.
Modèle
relationnel
Algèbre
Propriétés d’une transaction :
relationnelle
SQL
A Atomicité : une transaction est soit validée, soit
Interrogation
Tri et
abandonnée.
groupement de
lignes
Sélections
C Cohérence : une transaction préserve la cohérence des
imbriquées
Manipulation
objets qu’elle manipule (ressort de l’utilisateur).
des données
Definition de
données
I Isolation : les effets d’une transaction sont invisibles aux
Contrôle et transactions concurrentes.
gestion
SGBD
D Durabilité : les effets d’une transaction validée sont
Un SGBD permanents.
hospitalier :
CACHÉ
43/73
Un SI est dit transactionnel s’il assure les propriétés A, I et D.
Systèmes
d’information
et bases de
données
Confidentialité
V. Augusto
Présentation
Modèle
Entité-
Relation
Contrôle et
gestion
SGBD
Un SGBD
hospitalier :
CACHÉ
44/73
Systèmes
d’information
et bases de
données
Cohérence
V. Augusto
Présentation
Modèle
Entité-
Relation Assurer la cohérence des données :
Modèle Contrôle sémantique assuré par les contraintes d’intégrité :
relationnel
Algèbre
• CI structurelles (CI de domaine, d’entité, de référence).
relationnelle
• CI applicatives : conditions que doit vérifier un
SQL
Interrogation sous-ensemble d’information pour affirmer qu’elles sont
Tri et
groupement de
lignes
cohérentes.
Sélections
imbriquées
Manipulation
des données Base de données cohérente :
Definition de
données Base de donnée dont l’ensemble des CI est respecté.
Contrôle et
gestion
SGBD
Un SGBD
hospitalier :
CACHÉ
45/73
Systèmes
d’information
et bases de
données
Isolation
V. Augusto
Présentation
Transaction :
Modèle
Entité- Unité de traitement séquentiel executée pour le compte d’un
Relation
usager qui, appliqué à une BD cohérente, restitue une BD
Modèle
relationnel cohérente.
Algèbre
relationnelle Action élémentaire :
SQL
Interrogation
Lecture ou écriture de données, manipulation de données.
Tri et
groupement de
lignes
Sélections
Problèmes soulevés par les accès concurrents aux données :
imbriquées
Manipulation Soient deux transactions T1 et T2 :
des données
Definition de T1 : Lire A ; A ← A + 1 ; Ecrire A ; Lire B ; B ← B + 1 ; Ecrire B ;
données
Contrôle et
T2 : Lire A ; Afficher A ; Lire B ; Afficher B ;
gestion Que se passe-t-il si ces transactions sont exécutées
SGBD simultanément ?
Un SGBD
hospitalier :
CACHÉ
46/73
Systèmes
d’information
et bases de
données
Problème 1 : mise à jour perdue
V. Augusto
Présentation
Modèle
Entité-
T1 T2
Relation
Modèle
relationnel
Lire A → a1 A = 10
Algèbre Lire A → a2
relationnelle
a2 + 1 → a2
SQL
Interrogation
Ecrire a2 → A
Tri et
groupement de a1 + 1 → a1
lignes
Sélections
imbriquées
Ecrire a1 → A A = 11
Manipulation
des données
Definition de
données
Dépendence Écriture/Écriture
Contrôle et
gestion
SGBD
Un SGBD
hospitalier :
CACHÉ
47/73
Systèmes
d’information
et bases de
données
Problème 2 : lecture impropre
V. Augusto T1 T2
Présentation
Modèle Lire A → a1 A = 10
Entité-
Relation a1 + 1 → a1
Modèle Ecrire a1 → A A = 11
relationnel
Lire A → a2
Algèbre
relationnelle Afficher a2 A = 11
SQL Lire B → b2
Interrogation
Tri et Afficher b2 B = 10
groupement de
lignes
Sélections
Lire B → b1 B = 10
imbriquées
Manipulation b1 + 1 → b1
des données
Definition de
données
Ecrire b1 → B B = 11
Contrôle et
gestion
SGBD
CI : A = B
Un SGBD
hospitalier :
CACHÉ
Dépendence Écriture/Lecture
48/73
Systèmes
d’information
et bases de
données
Contrôle des accès concurrents
V. Augusto
Présentation
Contrôleur :
Modèle
Entité- Le contrôleur (scheduler) du SGBD est chargé de contrôler
Relation
l’accès des transactions à certaines parties de la BD.
Modèle
relationnel
Algèbre
Granule :
relationnelle Unité de la BD dont l’accès est contrôlé par le contrôleur
SQL (enregistrement, fichier).
Interrogation
Tri et
groupement de
lignes Principe de résolution des accès concurrents :
Sélections
imbriquées
Manipulation
Éviter la génération d’exécutions incorrectes en faisant attendre
des données
Definition de les transactions qui veulent exécuter des opérations
données
Contrôle et
conflictuelles sur un même granule.
gestion → Ne laisse s’exécuter simultanément que des opérations
SGBD
compatibles.
Un SGBD
hospitalier :
CACHÉ
49/73
Systèmes
d’information
et bases de
données
Verouillage de données
V. Augusto
Présentation
Modèle
Entité-
Relation Verrou :
Modèle
relationnel
Marque posée par une transaction sur le granule qu’elle désire
Algèbre
lire ou écrire afin d’en limiter ou d’en interdire l’accès.
relationnelle
Contrôle et
gestion
SGBD
Un SGBD
hospitalier :
CACHÉ
50/73
Systèmes
d’information
et bases de
données
Verouillage : exemple
V. Augusto
Présentation T1 T2
Modèle
Entité-
Relation Lock (A, X )
Modèle Lire A → a1
relationnel
Algèbre
a1 + 1 → a1 Lock (A, X )
relationnelle Ecrire a1 → A (attente)
SQL
Interrogation
Unlock (A) (attente)
Tri et
groupement de
Lire A → a2
lignes
Sélections a2 + 2 → a2
imbriquées
Manipulation
des données
Ecrire a2 → A
Definition de
données Unlock (A)
Contrôle et
gestion
Présentation
Modèle
Entité-
Relation • Garantie des propriétés de durabilité (D) et d’atomicité
Modèle
relationnel (A).
Algèbre • Assurer la cohérence de la BD en dépit des pannes
relationnelle
SQL
logicielles ou matérielles.
Interrogation
Tri et
groupement de
lignes
Sélections
Types de pannes :
imbriquées
Manipulation
des données • Défaillance logicielle : erreur de programme, abandon de
Definition de
données transaction, redémarrage de l’application.
Contrôle et
gestion • Défaillance machine : redémarrage du système.
SGBD
Un SGBD
hospitalier :
CACHÉ
52/73
Systèmes
d’information
et bases de
données
Mécanismes de reprise sur panne
V. Augusto
Présentation
Deux utilitaires sont proposés par le SGBD :
Modèle
Entité- • Journal des transactions : fichier sauvegardé sur mémoire
Relation
secondaire contenant les informations nécessaires à la
Modèle
relationnel reprise (valeurs des données et modifications effectuées).
Algèbre
relationnelle
• Points de reprise : sauvegarde complète de la BD et du
SQL
journal à intervalles réguliers.
Interrogation
Tri et
yyy yyy . . .
groupement de
lignes
Sélections
imbriquées
Manipulation
Problème :
des données
Definition de Quelle politique de sauvegarde ?
données
SQL
Interrogation 5 SQL
Tri et
groupement de
lignes
Sélections
imbriquées
Manipulation
6 Contrôle et gestion
des données
Definition de
données
Contrôle et 7 SGBD
gestion
SGBD
Un SGBD
8 Un SGBD hospitalier : CACHÉ
hospitalier :
CACHÉ
54/73
Systèmes
d’information
et bases de
données
Présentation
V. Augusto
Présentation
Modèle
Entité- Système de Gestion de Bases de Données :
Relation
Modèle
relationnel
• Logiciel capable d’assurer la création et l’utilisation des
Algèbre
bases de données.
relationnelle
• Fonction assurées :
SQL
Interrogation
• définition des bases de données et des
Tri et objets contenus ;
groupement de
lignes
Sélections • manipulation des données ;
imbriquées
Manipulation • intégrité ;
des données
Definition de • confidentialité ;
données
• sécurité.
Contrôle et
gestion
SGBD
Un SGBD
hospitalier :
CACHÉ
55/73
Systèmes
d’information
et bases de
données
Définition et manipulation
V. Augusto Définition des données :
Présentation
• Via un langage de description des données (LDD) ou une
Modèle
Entité-
interface graphique.
Relation
• Description de la nature des données et de leurs liens logiques.
Modèle
relationnel
• Schéma d’une base = sa description en LDD.
Algèbre
relationnelle
• Sous-schéma d’une base = partie visible par un programme ou
SQL
Interrogation
un groupe de programmes.
Tri et
groupement de
lignes
Sélections
imbriquées
Manipulation des données :
Manipulation
des données
Definition de
données
• Assurer la communication entre la BD et les clients (utilisateurs
Contrôle et
ou programmes) : recherche, création, modification, suppression.
gestion
• Via un langage de manipulation des données (LMD), une
SGBD
interface graphique ou un langage hôte (C, C++, Java).
Un SGBD
hospitalier :
CACHÉ • Via une interface web.
56/73
Systèmes
d’information
et bases de
données
Intégrité et confidentialité
V. Augusto
Modèle
• Assurer les CI spécifiées lors de la création de la base.
relationnel
• Assurer les CI spécifiées seulement au niveau logique et
Algèbre
relationnelle assurées par la programmation.
SQL
Interrogation
Tri et
groupement de
lignes
Confidentialité des données :
Sélections
imbriquées • Assurée par le biais de mots de passe et de privilèges
Manipulation
des données
Definition de
d’accès.
données
Contrôle et
• Assurée aussi par l’utilisation des sous-schémas de BD.
gestion
• Nécessaire dans le cas d’accès de plusieurs utilisateurs à la
SGBD
Un SGBD
base.
hospitalier :
CACHÉ
57/73
Systèmes
d’information
et bases de
données
Sécurité et gestion des accès
V. Augusto
Présentation
Sécurité de fonctionnement :
Modèle
Entité-
Relation • Permettre la remise rapide de la base en état opérationnel
Modèle lors d’un incident matériel ou logiciel.
relationnel
Algèbre
• Assurée par le dédoublement (réplication) ou la
relationnelle journalisation et ré-exécution automatique.
SQL
Interrogation
Tri et
groupement de
lignes
Gestion des accès concurrents :
Sélections
imbriquées
Manipulation
• Assurer la cohérence des données en cas des accès
des données
Definition de simultanés sur une même donnée.
données
SGBD
• → Permission d’accès multiple en lecture.
Un SGBD
hospitalier :
CACHÉ
58/73
Systèmes
d’information
et bases de
données
Implémentation physique des
V. Augusto SGBD
Présentation
Modèle
Entité-
• Il existe une grande indépendance entre la couche
Relation abstraite que constitue le SGBD et la couche physique que
Modèle
relationnel
sont le ou les fichiers constituant une base de données.
Algèbre • Il n’existe pas d’ordre spécifique pour les tables dans une
relationnelle
SQL
base ou pour les colonnes dans une table, même si le
Interrogation SGBD en donne l’apparence.
Tri et
groupement de
lignes
Sélections
imbriquées
Types de SGBD :
Manipulation
des données
Definition de
données
• SGBD fichier : utilisent un service de fichiers associés à
Contrôle et un protocole de réseau afin d’accéder aux données.
gestion
• SGBD client/serveur : utilisent une application
SGBD
Un SGBD
centralisée dite serveur de données.
hospitalier :
CACHÉ
59/73
Systèmes
d’information
et bases de
données
Schéma d’utilisation de SGBD
V. Augusto (1/3)
Présentation
Modèle
Entité-
Relation
Modèle
relationnel
Algèbre
relationnelle
SQL
Interrogation
Tri et
groupement de
lignes
Sélections
imbriquées
Manipulation
des données
Definition de
données
Contrôle et
gestion
SGBD
Un SGBD
hospitalier :
CACHÉ
60/73
Systèmes
d’information
et bases de
données
Schéma d’utilisation de SGBD
V. Augusto (2/3)
Présentation
Modèle
Entité-
Relation
Modèle
relationnel
Algèbre
relationnelle
SQL
Interrogation
Tri et
groupement de
lignes
Sélections
imbriquées
Manipulation
des données
Definition de
données
Contrôle et
gestion
SGBD
Un SGBD
hospitalier :
CACHÉ
61/73
Systèmes
d’information
et bases de
données
Schéma d’utilisation de SGBD
V. Augusto (3/3)
Présentation
Modèle
Entité-
Relation
Modèle
relationnel
Algèbre
relationnelle
SQL
Interrogation
Tri et
groupement de
lignes
Sélections
imbriquées
Manipulation
des données
Definition de
données
Contrôle et
gestion
SGBD
Un SGBD
hospitalier :
CACHÉ
62/73
Systèmes
d’information
et bases de
données 1 Présentation
V. Augusto
SQL
Interrogation 5 SQL
Tri et
groupement de
lignes
Sélections
imbriquées
Manipulation
6 Contrôle et gestion
des données
Definition de
données
Contrôle et 7 SGBD
gestion
SGBD
Un SGBD
8 Un SGBD hospitalier : CACHÉ
hospitalier :
CACHÉ
63/73
Systèmes
d’information
et bases de
données
Présentation
V. Augusto
Présentation
Modèle
Entité-
Caché en quelques mots :
Relation
Algèbre
• Base de données objet-relationnelle très répandue dans le
relationnelle milieu hospitalier.
SQL
Interrogation • Avantages : fiabilité, flexibilité, simplicité, faible
Tri et
groupement de
lignes
administration.
Sélections
imbriquées • API serveur personnalisable.
Manipulation
des données
Definition de • Services web en natif.
données
SGBD
Un SGBD
hospitalier :
CACHÉ
64/73
Systèmes
d’information
et bases de
données
Présentation
V. Augusto
Présentation
Fusion des accès Objet et Relationnel :
Modèle
Entité-
Relation • Caché est une base de données relationnelle (SQL) et une
Modèle base de donnée orientée objet.
relationnel
SQL
Interrogation Définition Objet Définition SQL
Tri et
groupement de
lignes Class Patient { CREATE TABLE Patient (
Sélections
imbriquées property name as %String ; name varchar(50),
Manipulation
des données
Definition de
property age as %Integer ; age integer
données
} )
Contrôle et
gestion ⇒ Dictionnaire de données
SGBD Un seul jeu de données
Un SGBD
hospitalier :
CACHÉ
65/73
Systèmes
d’information
et bases de
données
Modèles relationnel et objet
V. Augusto
Présentation
Modèle
Entité-
Relation Modèle relationnel :
Modèle
relationnel • SQL avec extensions objet (syntaxes simplifiées).
Algèbre
relationnelle
• Accessible avec ODBC, JDBC et ADO.Net.
SQL
Interrogation
Tri et
groupement de
Modèle objet :
lignes
Sélections
imbriquées • Héritage multiple, spécialisation, polymorphisme.
Manipulation
des données
Definition de
• Langage de script spécifique (Caché Object Script).
données
Contrôle et
gestion
SGBD
Un SGBD
hospitalier :
CACHÉ
66/73
Systèmes
d’information
et bases de
données
Plateforme intégrée côté serveur
V. Augusto
Présentation
Caractéristiques :
Modèle
Entité- • serveur d’applications ;
Relation
• accès natif Objet ou
Modèle
relationnel SQL sans mapping
Algèbre
relationnelle
Objet-Relationnel ou
SQL
Relationnel-Objet.
Interrogation
Tri et
groupement de
lignes
Sélections
imbriquées
Manipulation
des données
Definition de
données
Contrôle et
gestion
SGBD
Un SGBD
hospitalier :
CACHÉ
67/73
Systèmes
d’information
et bases de
données
Architecture
V. Augusto
Présentation
Modèle
Entité-
Relation
Modèle
relationnel
Algèbre
relationnelle
SQL
Interrogation
Tri et
groupement de
lignes
Sélections
imbriquées
Manipulation
des données
Definition de
données
Contrôle et
gestion
SGBD
Un SGBD
hospitalier :
CACHÉ
68/73
Systèmes
d’information
et bases de
données
Projection Objets
V. Augusto
Présentation
Modèle
Entité- • Génération des proxies de ses classes dans différents
Relation
langages cibles.
Modèle
relationnel
• Disponible pour C++, Java, etc.
Algèbre
relationnelle
SQL
Interrogation
Tri et
groupement de
lignes
Sélections
imbriquées
Manipulation
des données
Definition de
données
Contrôle et
gestion
SGBD
Un SGBD
hospitalier :
CACHÉ
69/73
Systèmes
d’information
et bases de
données
Applications
V. Augusto
Contrôle et
• Gestion hôtelière
gestion
• Fret Aérien
SGBD
Un SGBD
• Industrie...
hospitalier :
CACHÉ
70/73
Systèmes
d’information
et bases de
données
Implantations dans les hôpitaux
V. Augusto français
Présentation • CHU de Nantes
Modèle
Entité-
• CHU de Nice
Relation • CH d’Arras
Modèle
relationnel • CH de Roubaix
Algèbre • Groupe Hospitalier Saint Vincent de Strasbourg
relationnelle
• CH de Toulon
SQL
Interrogation • CH de Hyères
Tri et
groupement de
lignes
• CH de Guingamp
Sélections
imbriquées • CH de Lannion
Manipulation
des données • CH de Saint Brieuc
Definition de
données
• CH de Quimper
Contrôle et
gestion • CH de Selestat
SGBD • CH de Digne
Un SGBD • Maternité Régionale Adolphe Pinard
hospitalier :
CACHÉ
71/73
• CH de la Côte Basque...
Systèmes
d’information
et bases de
données
Application aux systèmes
V. Augusto hospitaliers
Présentation
Modèle
Entité-
Confidentialité et sécurisation des données
Relation
• Informatisation du dossier médical du patient.
Modèle
relationnel
• Accès restreint selon l’utilisateur (droits et privilèges).
Algèbre
relationnelle • Gestion des accès concurrentiel (verrou).
SQL
Interrogation
Tri et
groupement de
lignes
Simplicité d’administration et faible coût de possession
Sélections
imbriquées
Manipulation • Interfaces de gestion simples.
des données
Definition de
données • Mise en place de formulaires et/ou d’applications web
Contrôle et (ASP, PHP).
gestion
SGBD
• Personnalisation des interfaces de saisie en fonction de
Un SGBD l’utilisateur.
hospitalier :
CACHÉ
72/73
Systèmes
d’information
et bases de
données
Application aux systèmes
V. Augusto hospitaliers
Présentation