Vous êtes sur la page 1sur 73

Systèmes

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

Présentation 2 Modèle Entité-Relation


Modèle
Entité-
Relation 3 Modèle relationnel
Modèle
relationnel

Algèbre 4 Algèbre relationnelle


relationnelle

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

Algèbre • Langage de définition/manipulation des données : SQL.


relationnelle
• Aperçu de méthodes de modélisation : MERISE, UML.
SQL
Interrogation
Tri et
• Sécurité et intégrité des données.
groupement de
lignes
Sélections
imbriquées
Manipulation
Objectifs :
des données
Definition de
données • Comprendre l’utilité et le fonctionnement des modèles
Contrôle et
gestion
conceptuels et relationnels.
SGBD • Savoir utiliser un SGBD et connaı̂tre le langage SQL.
Un SGBD
hospitalier : • Faire le lien avec les techniques de modélisation et de
CACHÉ
3/73 simulation.
Systèmes
d’information
et bases de
données
Base de données
V. Augusto

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

Modèle Une SGBD doit assurer :


relationnel

Algèbre • la définition des bases et des  objets  contenus ;


relationnelle

SQL • la manipulation des données ;


Interrogation
Tri et • la confidentialité ;
groupement de
lignes
Sélections • l’intégrité ;
imbriquées
Manipulation
des données • la sécurité.
Definition de
données

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

Présentation 2 Modèle Entité-Relation


Modèle
Entité-
Relation 3 Modèle relationnel
Modèle
relationnel

Algèbre 4 Algèbre relationnelle


relationnelle

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

Contrôle et • Type de données 6= Valeur de l’attribut.


gestion

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

Modèle • Subit une intervention de type 1 :N


relationnel
•  dans une salle opératoire sont opérés plusieurs patients 
Algèbre
relationnelle •  un patient n’est opéré que dans une seule salle
SQL opératoire 
Interrogation
Tri et
• Est opéré par de type N :M
groupement de
lignes •  chaque patient peut être opéré par plusieurs
Sélections
imbriquées
Manipulation
chirurgiens 
des données •  chaque chirurgien peut opérer plusieurs patients 
Definition de
données
• Suit un traitement de type 1 :N
Contrôle et
gestion •  un patient peut suivre plusieurs traitements 
SGBD •  un traitement n’est pris que par un seul patient 
Un SGBD
hospitalier :
CACHÉ
11/73
Systèmes
d’information
et bases de
données 1 Présentation
V. Augusto

Présentation 2 Modèle Entité-Relation


Modèle
Entité-
Relation 3 Modèle relationnel
Modèle
relationnel

Algèbre 4 Algèbre relationnelle


relationnelle

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

Algèbre • Rigueur des concepts permettant l’utilisation des outils


relationnelle
mathématiques et algorithmiques.
SQL
Interrogation • Modèle adéquat au niveau conceptuel : indépendance
Tri et
groupement de
lignes physique-logique.
Sélections
imbriquées
Manipulation
• Offre des LMD (langages de manipulation de données)
des données
Definition de non-procéduraux.
données

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

SGBD Schéma de relation :


Un SGBD
hospitalier :
Soit la relation r : R(A1 : D1 , A2 : D2 , . . . , An : Dn ).
CACHÉ
14/73
Systèmes
d’information
et bases de
données
Représentation
V. Augusto

Présentation

Modèle Entité : Schéma de relation :


Entité-
Relation
Patient(nom : chaine, prenom :
Modèle
Patient chaine, dateNaissance : date)
relationnel nom
Algèbre
prenom Attributs :
relationnelle

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

Présentation Clé étrangère d’une relation :


Modèle
Entité-
Groupe d’attributs qui apparaı̂t comme clé primaire dans une
Relation
autre relation.
Modèle
relationnel
Exemple :
Algèbre
relationnelle

SQL Patient nom prenom dateNaissance idTraitement


Interrogation
Tri et
Duss Jean-Claude 16/04/1952 2
groupement de
lignes Leblanc Juste 08/12/1947 5
Sélections
imbriquées Perrin François 16/08/1934 42
Manipulation
des données
Definition de
données SGBD totalement relationnel :
Contrôle et Un SGBD est dit  totalement relationnel  lorsqu’il assure les
gestion
trois CI et lorsqu’il fournit une interface d’interrogation ayant la
SGBD

Un SGBD
puissance du langage algébrique.
hospitalier :
CACHÉ
17/73
Systèmes
d’information
et bases de
données
MCD → MLDR
V. Augusto

Présentation Règles de passage du MCD au MLDR :


Modèle
Entité- 1 Les entités du MCD deviennent des relations, leurs
Relation

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

Présentation 2 Modèle Entité-Relation


Modèle
Entité-
Relation 3 Modèle relationnel
Modèle
relationnel

Algèbre 4 Algèbre relationnelle


relationnelle

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

Algèbre Patient nom prenom Traitement id nom


relationnelle
Duss Jean-Claude 1 Duss
SQL
Interrogation
Leblanc Juste 2 Leblanc
Tri et
groupement de
Perrin François 3 Pommier
lignes
Sélections
imbriquées R3 = {P[nom], T [id]|Patient(P) ∧ Traitement(T ) ∧ (P[nom] =
Manipulation
des données T [nom])}
Definition de
données SELECT Patient.nom, Traitement.id FROM Patient,
Contrôle et
gestion Traitement WHERE Patient.nom=Traitement.nom
SGBD nom idTraitement
Un SGBD
hospitalier :
Duss 1
CACHÉ
25/73 Leblanc 2
Systèmes
d’information
et bases de
données
Exercice
V. Augusto

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

Présentation 2 Modèle Entité-Relation


Modèle
Entité-
Relation 3 Modèle relationnel
Modèle
relationnel

Algèbre 4 Algèbre relationnelle


relationnelle

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

Modèle Obtenir le nom et le prénom de tous les patients


Entité-
Relation SELECT nom,prenom
Modèle FROM Patient
relationnel

Algèbre Obtenir l’ensemble des informations relatives aux


relationnelle
traitements
SQL
Interrogation SELECT *
Tri et
groupement de
lignes
FROM Traitement
Sélections
imbriquées
Manipulation
des données
Lister les noms des patients de plus de 30 ans
Definition de
données SELECT nom
Contrôle et FROM Patient
gestion

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

Modèle Obtenir les traitements dont la posologie est ’1 fois par


Entité-
Relation jour’ ou ’2 fois par jour’
Modèle SELECT *
relationnel
FROM Traitement
Algèbre
relationnelle WHERE posologie=’1 fois par jour’ OR posologie=’2 fois par
SQL jour’
Interrogation
Tri et
groupement de
lignes
Obtenir le nom des patients ayant entre 20 et 30 ans et
Sélections
imbriquées commençant par ’A’
Manipulation
des données
Definition de
SELECT nom
données
FROM Patient
Contrôle et
gestion WHERE age BETWEEN 20 AND 30 AND nom LIKE ’A%’
SGBD

Un SGBD
hospitalier :
CACHÉ
31/73
Systèmes
d’information
et bases de
données
Recherche avec jointure
V. Augusto

Présentation SELECT [ALL|DISTINCT] chaine de sélection


Modèle FROM liste de tables
Entité-
Relation [WHERE condition]
Modèle
relationnel
Quels sont les noms des patients opérés dans la salle 1 :
Algèbre
relationnelle SELECT nom
SQL FROM Patient,SalleOperatoire
Interrogation
Tri et
groupement de
WHERE SalleOperatoire.id=1 (sélection)
lignes
Sélections AND SalleOperatoire.id=Patient.idSO (jointure)
imbriquées
Manipulation
des données
Definition de
Quels sont les noms des patients dont la posologie du
données
traitement est ’1 fois par jour’ :
Contrôle et
gestion SELECT nom
SGBD
FROM Patient,Traitement
Un SGBD
hospitalier : WHERE Traitement.posologie=’1 fois par jour’ (sélection)
CACHÉ
32/73 AND Patient.nom=Traitement.nomPatient (jointure)
Systèmes
d’information
et bases de
données
Expressions SQL
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 SELECT [ALL|DISTINCT] chaine de sélection


Modèle FROM liste de tables
Entité-
Relation [WHERE condition]
Modèle [ORDER BY liste de colonnes [ASC|DESC]] (mise en forme)
relationnel
ou
Algèbre
relationnelle [GROUP BY liste de colonnes [HAVING condition]] (moyen de
SQL trouver un résultat)
Interrogation
Tri et
groupement de
lignes
Sélections
Clauses :
imbriquées
Manipulation
des données • ORDER BY : tri par ordre croissant ou décroissant.
Definition de
données
• GROUP BY : réarrange la table en groupes de lignes à
Contrôle et
gestion raison d’un groupe pour chaque valeur différente associée
SGBD à la liste de colonnes.
Un SGBD
hospitalier :
• HAVING : premet de spécifier une condition qui sera
CACHÉ
34/73 évaluée pour chaque groupe.
Systèmes
d’information
et bases de
données
Sélections imbriquées
V. Augusto

Présentation

Modèle Sous-requête indépendante :


Entité-
Relation
• IN : insertion d’une requête interne.
Modèle
relationnel

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

Modèle UPDATE nom de table


relationnel

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

Présentation Création de relations


Modèle CREATE TABLE nom de la table (éléments de la table)
Entité-
Relation

Modèle Création de bases de données


relationnel

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

Présentation 2 Modèle Entité-Relation


Modèle
Entité-
Relation 3 Modèle relationnel
Modèle
relationnel

Algèbre 4 Algèbre relationnelle


relationnelle

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

Modèle Assurer la confidentialité des données :


relationnel

Algèbre • Contrôler les flux de données (déclencheurs, cryptage).


relationnelle
→ Interdire l’accès à certaines colonnes/enregistrements.
SQL
Interrogation • Contrôler les autorisations d’accès.
Tri et
groupement de
lignes → Accorder ou retirer des privilèges à des sujets ou sur
Sélections
imbriquées des objets.
Manipulation
des données
Definition de
données

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

SQL Mode de vérouillage :


Interrogation
Tri et
groupement de
lignes
• Exclusif (X) : tout autre accès au granule est interdit.
Sélections
imbriquées • Partagé (S) : consultation possible (lecture) mais MAJ
Manipulation
des données
Definition de
impossible.
données

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

SGBD Mise à jour non perdue


Un SGBD
hospitalier :
CACHÉ
51/73
Systèmes
d’information
et bases de
données
Intégrité face aux pannes
V. Augusto

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

Contrôle et • à quelle fréquence ?


gestion
• avec ou sans journal ?
SGBD

Un SGBD • quelle quantité de travail est-on prêt à perdre ?


hospitalier :
CACHÉ
53/73
Systèmes
d’information
et bases de
données 1 Présentation
V. Augusto

Présentation 2 Modèle Entité-Relation


Modèle
Entité-
Relation 3 Modèle relationnel
Modèle
relationnel

Algèbre 4 Algèbre relationnelle


relationnelle

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

Présentation Intégrité des données :


Modèle
Entité- • Assurer la qualité des données enregistrées.
Relation

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

Contrôle et • → Verrouillage en cas de modification.


gestion

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

Présentation 2 Modèle Entité-Relation


Modèle
Entité-
Relation 3 Modèle relationnel
Modèle
relationnel

Algèbre 4 Algèbre relationnelle


relationnelle

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

Modèle • Développé et commercialisé par InterSystems.


relationnel

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

Contrôle et • Framework de développement web 2.0 en natif.


gestion

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

Algèbre • Toutes les données sont accessibles en SQL ou en objet.


relationnelle

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

Présentation Principales applications par ordre d’importance :


Modèle
Entité- • Systèmes d’Informations Hospitaliers et laboratoires
Relation pharmaceutiques :
Modèle
relationnel
• 60 % des hôpitaux dans le monde ;
Algèbre
• 10 plus grands hôpitaux US ;
relationnelle • 70 % des laboratoires d’analyses ;
SQL • 60 % des fournisseurs majeurs d’applications Santé.
Interrogation
Tri et
groupement de
• Administrations
lignes
Sélections
imbriquées
• Finance/Assurance
Manipulation
des données
Definition de
• Bibliothèques
données

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

Modèle Maintenance, mise à jour et sauvegarde


Entité-
Relation
• Maintenance de la base de données en temps réel.
Modèle
relationnel • Solutions de sauvegarde (logicielles et matérielles).
Algèbre
relationnelle • Accès concurrentiel permettant mises à jour sans risque
SQL d’incohérence.
Interrogation
Tri et
groupement de
lignes
Sélections
Portabilité
imbriquées
Manipulation
des données • Capacité d’adaptation à un SGBD tiers.
Definition de
données
• Récupération et conversion de données sans risque de
Contrôle et
gestion pertes.
SGBD
• Cohabitation avec les méthodes de gestion de données
Un SGBD
hospitalier : actuelles ou inamovibles.
CACHÉ
73/73