1 rappels [mode de compatibilité] - inriapucheral/enseignements_fichiers/cosy...module bases de...

14
Module Bases de Données Avancées MASTER COSY 1 Année 2014/2015 P. Pucheral et L. Yeh Module Bases de données Avancées Rappels des concepts de base et perspectives 1. Architectures internes des gestionnaires de données (concepts, mise en œuvre dans les peta-bases et pico-bases) - Modèles de stockage et d’indexation - Evaluation et optimisation de requêtes 2 - Modèles et protocoles transactionnels - Cohérence et réplication 2. Données semi-structurées et XML - XML Schema, XQuery et optimisation - Indexation XML - Médiation XML - Systèmes Pair-à-Pair Eléments de bibliographie (1 ère partie) Présents à la bibliothèque UVSQ - Gardarin G., "Bases de données", Ed. Eyrolles, 5 ème édition, 2003. - Ozsu, T., Valduriez P., “Principles of Distributed Database Systems”, Prentice-Hall, 2nd edition, 1999. Nouvelle édition 2011 (Springer) 3 - J. Besancenot, M. Cart, J. Ferrié, R. Guerraoui, P. Pucheral, B. Traverson, "Les systèmes transactionnels : concepts, normes et produits", Ed. Hermès, 1997. Disponible sur le Web - Fundamentals of Database Systems, 6th Ed, Elmasri and Navathe, Addison Wesley, 2011 Rappels des concepts de base en 1 heure chrono (ou tout ce que vous n’auriez pas dû oublier pendant les vacances ...) 1. Objectifs des SGBD 2. Principales fonctions d’un SGBD 3. Architecture fonctionnelle de référence 4. Le modèle relationnel et SQL 5. Architectures physiques de SGBD 6. Orientations de recherche

Upload: others

Post on 15-Mar-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 1 rappels [Mode de compatibilité] - Inriapucheral/Enseignements_fichiers/COSY...Module Bases de Données Avancées MASTER COSY 1 Année 2014/2015 P. Pucheral et L. Yeh Module Bases

Module

Bases de Données Avancées

MASTER COSY

1

Année 2014/2015

P. Pucheral et L. Yeh

Module Bases de données Avancées

Rappels des concepts de base et perspectives

1. Architectures internes des gestionnaires de données(concepts, mise en œuvre dans les peta-bases et pico-bases)

− Modèles de stockage et d’indexation

− Evaluation et optimisation de requêtes

2

− Evaluation et optimisation de requêtes

− Modèles et protocoles transactionnels

− Cohérence et réplication

2. Données semi-structurées et XML− XML Schema, XQuery et optimisation

− Indexation XML

− Médiation XML

− Systèmes Pair-à-Pair

Eléments de bibliographie (1 ère partie)

• Présents à la bibliothèque UVSQ

− Gardarin G., "Bases de données", Ed. Eyrolles, 5ème édition, 2003.

− Ozsu, T., Valduriez P., “Principles of Distributed Database Systems”, Prentice-Hall,

2nd edition, 1999. Nouvelle édition 2011 (Springer)

3

− J. Besancenot, M. Cart, J. Ferrié, R. Guerraoui, P. Pucheral, B. Traverson, "Les

systèmes transactionnels : concepts, normes et produits", Ed. Hermès, 1997.

• Disponible sur le Web

− Fundamentals of Database Systems, 6th Ed, Elmasri and Navathe, Addison Wesley,

2011

Rappels des concepts de base en 1 heure chrono

(ou tout ce que vous n’auriez pas dû oublier pendant les vacances ...)

1. Objectifs des SGBD

2. Principales fonctions d’un SGBD2. Principales fonctions d’un SGBD

3. Architecture fonctionnelle de référence

4. Le modèle relationnel et SQL

5. Architectures physiques de SGBD

6. Orientations de recherche

Page 2: 1 rappels [Mode de compatibilité] - Inriapucheral/Enseignements_fichiers/COSY...Module Bases de Données Avancées MASTER COSY 1 Année 2014/2015 P. Pucheral et L. Yeh Module Bases

Un système d’information sans SGBD (1)Un système d’information sans SGBD (1)

DupontSymptomes : yTurlututu : sqjSymptomes : yTurlututu : sddAnalyses : xxx

DupondTurlututusqjskSymptom: yyyyAnalyses xxxx

TurlututudhjsdAnalyses :xx C

hiru

Sof

tCom

ptaSoft

ChirurgieComptabilité

Plusieurs applications�plusieurs formats et langages�difficulté de maintenance

�manque d’interopérabilité

5

DuipontTurlututu : sq

SymptomyyyyAnalysesxxxx

Turlututudhjsd

Duhpon

Symptomes : yyAnalyses : xxxx

Symptomes : yy

ConsultS

oft Psy

chia

Sof

t

PsychiatrieConsultations

Redondance des données �incohérence

Pas de facilité d’interrogation �toute question doit être prévue et

programmée

�coût de développement élevé

�redondance de code

�difficulté d’évolution

Un système d’information sans SGBD (2)Un système d’information sans SGBD (2)

DupontSymptomes : yTurlututu : sqjSymptomes : yTurlututu : sddAnalyses : xxx

DupondTurlututusqjskSymptom: yyyyAnalyses xxxx

TurlututudhjsdAnalyses :xx C

hiru

Sof

tCom

ptaSoft

ChirurgieComptabilité

Gestion simpliste des droits�violation de la confidentialité

Gestion simpliste du

6

DuipontTurlututu : sq

SymptomyyyyAnalysesxxxx

Turlututudhjsd

Duhpon

Symptomes : yyAnalyses : xxxx

Symptomes : yy

ConsultS

oft Psy

chia

Sof

t

PsychiatrieConsultations

parallélisme�blocage du système ou bien incohérence en cas d ’accès simultanés

Pas de tolérance aux fautes�incohérence en cas de panne

L’approche Bases de données

2- Indépendance Physique

10 - Standards

1- Description canonique

7

BD8 - Concurrence

d’accès

9 - Tolérance aux pannes

7 - Confidentialité des données

3- Indépendance Logique

6 - Intégrité des données

5 - Optimisation de requêtes

4 – Langage de manipulation

O1: Description canonique des données

� Description cohérente, unique et centralisée des donnéesmanipulées par l’ensemble des applications constituant lesystème d’information.

— Perception globale du système d'information=> augmentation du niveau d’informatisation

8

=> augmentation du niveau d’informatisation

=> nouveaux traitements (aide à la décision, analyse de données, …)

— Factorisation de la description des données et de leurcomportement (contraintes d’intégrité …)

— Elimination de la redondance=> redondance coûteuse en place et source d’incohérence

=> redondance système reste nécessaire pour : fiabilité, performance de consultation, disponibilité en environnement réparti ou mobile

Page 3: 1 rappels [Mode de compatibilité] - Inriapucheral/Enseignements_fichiers/COSY...Module Bases de Données Avancées MASTER COSY 1 Année 2014/2015 P. Pucheral et L. Yeh Module Bases

Réel

Modèle conceptuel

•Indépendant du modèle de données

•Indépendant du

Modèle conceptuel

9

conceptuel •Indépendant du SGBD

Modèle logique

•Dépendant du modèle de données

•Indépendant du SGBD

Codasyl Relationnel Objet XML

Modèle Physique

•Dépendant du modèle de données

•Dépendant du SGBD

• Organisation physique des données

• Structures de stockage des données

• Structures accélératrices (index)

Médecin effectue Visite

Modélisation Relationnelle

DocteursId-D Nom Prénom

1 Dupont Pierre

2 Durand Paul

3 Masse Jean

…. …….. ……

VisitesId-D Id-P Id-V Date Prix

1 2 1 15 juin 250

1 1 2 12 août 180

PrescriptionsId-V Ligne Id-M Posologie

1 1 12 1 par jour

1 2 5 10 gouttes

2 1 8 2 par jour

2 2 12 1 par jour

2 3 3 2 gouttes

1010

2 2 3 13 juillet 350

2 3 4 1 mars 250

PatientsId-P Nom Prénom Ville

1 Lebeau Jacques Paris

2 Troger Zoe Evry

3 Doe John Paris

4 Perry Paule Valenton

…. ……. ……. …….

2 3 3 2 gouttes

…. …. …. …………

MédicamentsId-M Nom Description

1 Aspegic 1000 ……………………………..

2 Fluisédal ……………………………..

3 Mucomyst ……………………………..

…. …….. ……………………………..

O2: indépendance physique

� Indépendance des programmes d'applications vis à vis desstructures de stockage des fichiers.

— Description logique des données, en termes d'entités etd’association, donnant une vision conceptuelle desdonnées (séparation claire du monde réel et du monde

11

données (séparation claire du monde réel et du mondeinformatique)

— Possibilité de modifier les structures de stockage (fichiers,index, chemins d'accès, …) sans modifier les programmes;

— Ecriture des applications par des non-spécialistes des fichiers et des structures de stockage;

— Meilleure portabilité des applications et indépendance vis à vis du matériel.

Réel

Modèle conceptuel

•Indépendant du modèle de données

•Indépendant du

Modèle physique

12

conceptuel •Indépendant du SGBD

Modèle logique

•Dépendant du modèle de données

•Indépendant du SGBD

Codasyl Relationnel Objet XML

Modèle Physique

•Dépendant du modèle de données

•Dépendant du SGBD

• Organisation physique des données

• Structures de stockage des données

• Structures accélératrices (index)

Médecin effectue Visite

Page 4: 1 rappels [Mode de compatibilité] - Inriapucheral/Enseignements_fichiers/COSY...Module Bases de Données Avancées MASTER COSY 1 Année 2014/2015 P. Pucheral et L. Yeh Module Bases

O3: indépendance logique

� Possibilité de modifier la structure conceptuelle globale dela base sans modifier les vues particulières de chaquegroupe d'utilisateurs.

— Chaque application ou groupe d'applications désire utiliserses propres structures logiques de données en fonction de

13

ses propres structures logiques de données en fonction deses propres besoins;

— Chaque application établit une description des donnéesqu'elle utilise:

• Les données décrites restent virtuelles (vues);

• Le SGBD se charge de leur faire correspondre desdonnées réelles.

O3 – Exemples d’indépendance Logique

Les applications peuvent définir des vues logiques de la BD

Gestion des médicaments Cabinet du Dr. Masse

Visites

2

1

Id -D

1 mars

15 juin

Date

250

250

Prix

4

1

Id -V

3

2

Id -P

Visites

2

1

Id -D

1 mars

15 juin

Date

250

250

Prix

4

1

Id -V

3

2

Id -P

PatientsPatients

…………….….….

5

12

Id -M

10 gouttes

1 par jour

Posologie

2

1

Ligne

1

1

Id -V

Prescription

…………….….….

5

12

Id -M

10 gouttes

1 par jour

Posologie

2

1

Ligne

1

1

Id -V

PrescriptionNombre_Médicaments

Id-M Nom Description Nombre

1 Aspegic 1000 …………………………….. 30

2 Fluisédal …………………………….. 20

14

… …… … ..… .

PrénomNomId-D

JeanM asse3

PaulDurand2

PierreDupont1

Docteu r

… …… … ..… .

PrénomNomId-D

JeanM asse3

PaulDurand2

PierreDupont1

Docteu r

V isites

2

2

1

1

Id-D

1 m ars

13 ju illet

12 août

15 ju in

Date

250

350

180

250

Pr ix

4

3

2

1

Id -V

3

2

1

2

Id -P

V isites

2

2

1

1

Id-D

1 m ars

13 ju illet

12 août

15 ju in

Date

250

350

180

250

Pr ix

4

3

2

1

Id -V

3

2

1

2

Id -P

… … .… … .… .

PaulePerry4

PrénomNomId-P

JohnDoe3

ZoeTroger2

JacquesLebeau1

Patients

… … .… … .… .

PaulePerry4

PrénomNomId-P

JohnDoe3

ZoeTroger2

JacquesLebeau1

Patients

… … … …… .… .… .

2 gouttes332

12

8

5

12

Id -M

1 par jour

2 par jour

10 gouttes

1 par jour

Posologie

2

1

2

1

L igne

2

2

1

1

Id-V

Prescription

… … … …… .… .… .

2 gouttes332

12

8

5

12

Id -M

1 par jour

2 par jour

10 gouttes

1 par jour

Posologie

2

1

2

1

L igne

2

2

1

1

Id-V

Prescription

… … … … … … … … … … … ..… … ..… .

Descript ionNomId-M

… … … … … … … … … … … ..M ucom yst3

… … … … … … … … … … … ..F lu isédal2

… … … … … … … … … … … ..Aspegic 10001

M édicament

… … … … … … … … … … … ..… … ..… .

Descript ionNomId-M

… … … … … … … … … … … ..M ucom yst3

… … … … … … … … … … … ..F lu isédal2

… … … … … … … … … … … ..Aspegic 10001

M édicament

…….…….….

PrénomNomId -P

ZoeTroger2

JacquesLebeau1

Patients

…….…….….

PrénomNomId -P

ZoeTroger2

JacquesLebeau1

Patients

……………………………..……..….

DescriptionNomId -M

……………………………..Mucomyst3

……………………………..Fluisédal2

……………………………..Aspegic 10001

Médicament

……………………………..……..….

DescriptionNomId -M

……………………………..Mucomyst3

……………………………..Fluisédal2

……………………………..Aspegic 10001

Médicament3 Mucomyst …………………………….. 230

…. …….. …………………………….. …..

O4: Langage de manipulation

• Les non-informaticiens doivent pouvoir manipuler lesdonnées à partir de la seule connaissance du monde réelet de la modélisation qui en est faite

• Mais les non-informaticiens font-ils des requêtes SQL ?

• La manipulation se fait via un langage déclaratif• La question déclare l’objectif sans décrire la méthode

15

• La question déclare l’objectif sans décrire la méthode

• Le langage suit une norme commune à tous les SGBD

• SQL : Structured Query Langage

• Exemple de requête SQLRetrouver le nom et le n° de téléphone de tous les pédiatres

Select Nom, TelFrom DocteurWhere Specialite = ‘Pédiatre’

O5: Optimisation de requêtes

• Traduction automatique des requêtes déclaratives en programmes procéduraux (composition d’opérateurs élémentaires)

• Optimisation automatique de ces programmes− Exploitation des propriétés des opérateurs élémentaires

16

− Exploitation des propriétés des opérateurs élémentaires − Gestion centralisée des chemins d'accès (index, hachages, …)

• Economie de l'astuce des programmeurs− milliers d'heures d'écriture et de maintenance de logiciels.

• Course aux performances mesurées en transactions parseconde (TPS) sur des "benchmark" standardisés (TPC).

Page 5: 1 rappels [Mode de compatibilité] - Inriapucheral/Enseignements_fichiers/COSY...Module Bases de Données Avancées MASTER COSY 1 Année 2014/2015 P. Pucheral et L. Yeh Module Bases

O6: Intégrité sémantique des données

• Objectif : Détection automatique des mises à jour erronées

• Contrôle sur les données élémentaires − Contrôle de types: Nom alphabétique

− Contrôle de valeurs: Salaire mensuel entre 1 et 10k€

17

Contrôle de valeurs: Salaire mensuel entre 1 et 10k€

• Contrôle sur les relations entre les données− Relations entre données élémentaires : Prix de vente > Prix d'achat

− Relations entre objets : Un électeur est inscrit sur une seule liste électorale

• Avantages− simplification du code des applications− sécurité renforcée par l'automatisation− mise en commun des contraintes

O7: Confidentialité des données

— Objectif : garantir la confidentialité de certaines informations et les protéger contre la dégradation

− Dossier médical, procédé de fabrication, salaire des employés ...

— Plusieurs niveaux :

18

— Plusieurs niveaux :− Authentification des usagers

− Privilèges d'accès aux objets de la base

− Chiffrement et hachage crytographique des données

— Usagers : utilisateurs, rôles

— Objets : objet réel ou virtuel, procédure ...

Confidentialité des données

Service des ressources humaines

Employés(intranet)

Public(internet)

5485

Poste

Jim

Prénom

Ricks

NomId-E

1

19

890

Masse

Salariale

Nombre

d’employés

4

160

380

120

230

Salaire

Paris

Chartres

Versailles

Paris

Ville

4049

5489

1254

5485

Poste

Joe

Zoe

Jack

Jim

Prénom

Doe

Lerich

Trock

Ricks

Nom

……….4

AdresseId-E

……….3

……….2

……….1

4049

5489

1254

Joe

Zoe

Jack

Doe

Lerich

Trock

4

3

2

O8: Accès concurrents aux données— Objectif : assurer l’Isolation des transaction, c.à.d que

différentes applications partageant les mêmes donnéesdoivent pouvoir s'ignorer et travailler de manièreasynchrone.

— Le SGBD garantit la sérialisabilité des accès: l'effet d'uneexécution simultanée de transactions doit être le mêmeque celui d'une exécution séquentielle.

20

que celui d'une exécution séquentielle.

< T1 || T2 …|| Tn > ≡≡≡≡ < T1; T2; … Tn >

— Les transactions exécutées en parallèle ne doivent pasentrer en conflit lecture-écriture ou écriture-écriture, afind’éviter :

• des pertes de mises à jour

• des introductions d’incohérence

• des lectures non reproductibles

Page 6: 1 rappels [Mode de compatibilité] - Inriapucheral/Enseignements_fichiers/COSY...Module Bases de Données Avancées MASTER COSY 1 Année 2014/2015 P. Pucheral et L. Yeh Module Bases

O9: Tolérance aux pannes

— Le SGBD doit assurer la pérennité et la cohérence desdonnées en présence de pannes multiples:

− Transaction Failure : Contraintes d'intégrité, Annulation

− System Failure : Panne de courant, Crash serveur …

− Media Failure : Perte du disque

21

− Media Failure : Perte du disque

− Communication Failure : Défaillance du réseau

— Ceci implique l’Atomicité des transactions de mises à jourqui doivent être totalement exécutées ou pas du tout.

— Ceci implique également des mécanismes de repriseassurant la Durabilité des effets des transactions validées.

10 – Respect des standards

• L’approche bases de données est basée sur plusieurs standards

− Langage de manipulation (SQL1, SQL2, SQL3)

− Communication SQL CLI (ODBC / JDBC)

− Transactions (X/Open DTP, OSI-TP)

22

− Transactions (X/Open DTP, OSI-TP)

• Force des standards− Portabilité des applications

− Interopérabilité des systèmes

3. Architecture de référence

• De nombreuses architectures fonctionnelles ont été proposées

• Ces architectures dépendent souvent du modèle de données utilisé

23

• ANSI/X3/SPARC est une architecture de référence mais sa normalisation a échouée.

• L'architecture ANSI/X3/SPARC repose sur un concept fondamental: la distinction de 3 niveaux de schémas

ANSI/X3/SPARC : principes

Admin.Entreprise

Admin.BD

Admin.Application

Processeurde schémaConceptuel

Processeurde schéma

Interne

Processeurde schéma

ExterneDICTIONNAIRE

Constructionde la BD

24

Interne

TransformateurConceptuel

Interne

TransformateurExterne

Conceptuel

Programme

d’applicationSystème

d’E/S

Programmeur.d’application

Exploitationde la BD

Dictionnaire et Méta-base sont synonymes

Page 7: 1 rappels [Mode de compatibilité] - Inriapucheral/Enseignements_fichiers/COSY...Module Bases de Données Avancées MASTER COSY 1 Année 2014/2015 P. Pucheral et L. Yeh Module Bases

Architecture fonctionnelle d'un SGBD

Analyse syntaxique Analyse sémantique Gestion des schémas

Modification de requêtes Contrôle d'intégrité Contrôle d'autorisation

Ordonnancement

META-BASE

ANALYSEUR

TRADUCTEUR

25

Ordonnancement Optimisation Elaboration d'un plan

Exécution du plan Méthodes d'accès Gestion de transactions

BD

OPTIMISEUR

EXECUTEUR

4. Le modèle relationnel

• Concepts descriptifs– Domaine : caractérise un ensemble de valeurs– Relation : sous-ensemble du produit cartésien d'une

liste de domaines– Tuple : ligne d'une relation–

26

–– Attribut : colonne d'une relation

• Exemple de relation (ou Table)

Tuple

Attribut variant sur le domaine Ville

Patients

Id-P Nom Prénom Ville

1 Lebeau Jacques Paris

2 Troger Zoe Evry

3 Doe John Paris

4 Perry Paule Valenton

…. ……. ……. …….

Base de données relationnelle

Docteurs

Id-D Nom Prénom

1 Dupont Pierre

2 Durand Paul

3 Masse Jean

…. …….. ……

Visites

Id-D Id-P Id-V Date Prix

1 2 1 15 juin 250

1 1 2 12 août 180

Prescriptions

Id-V Ligne Id-M Posologie

1 1 12 1 par jour

1 2 5 10 gouttes

2 1 8 2 par jour

2 2 12 1 par jour

27

2 2 3 13 juillet 350

2 3 4 1 mars 250

Patients

Id-P Nom Prénom Ville

1 Lebeau Jacques Paris

2 Troger Zoe Evry

3 Doe John Paris

4 Perry Paule Valenton

…. ……. ……. …….

2 3 3 2 gouttes

…. …. …. …………

Médicaments

Id-M Nom Description

1 Aspegic 1000 ……………………………..

2 Fluisédal ……………………………..

3 Mucomyst ……………………………..

…. …….. ……………………………..

Clé, clé étrangère et schéma

• Clé : groupe d'attributs minimum qui détermine un tuple unique dans une relation

PATIENTS (IdP, NOM, PRENOM, VILLE)

• Clé étrangère : groupe d'attributs apparaissant comme clé dans un autre

28

• Clé étrangère : groupe d'attributs apparaissant comme clé dans un autre relation

VISITES (IdV, IdD, IdP, DATE, PRIX)

VISITES.IdD référence DOCTEURS.IdDVISITES.IdP référence PATIENTS.IdP

Page 8: 1 rappels [Mode de compatibilité] - Inriapucheral/Enseignements_fichiers/COSY...Module Bases de Données Avancées MASTER COSY 1 Année 2014/2015 P. Pucheral et L. Yeh Module Bases

Algèbre relationnelle

• UN ENSEMBLE D'OPERATIONS DE BASE EST FORMALISE− Restriction, Projection, Produit Cartésien, Union, Intersection,

Différence

29

• CES OPERATIONS PERMETTENT D'EXPRIMER TOUTES LES REQUETES SOUS FORME D'EXPRESSIONS ALGEBRIQUES

• ELLES SONT LA BASE DU LANGAGE SQL

Restriction

Patients

Id-P Nom Prénom Ville

1 Lebeau Jacques Paris

2 Troger Zoe Evry

3 Doe John Paris

Patients

Id-P Nom Prénom Ville

1 Lebeau Jacques Paris

2 Troger Zoe Evry

3 Doe John Paris

σσσσ

30

Patients de la ville de Paris, noté en algèbre:

σ Ville=‘Paris’ (Patients)

3 Doe John Paris

4 Perry Paule Valenton

3 Doe John Paris

4 Perry Paule Valenton

Projection

Patients

Id-P Nom Prénom Ville

1 Lebeau Jacques Paris

2 Troger Zoe Evry

3 Doe John Paris

ππππPatients

Id-P Nom Prénom Ville

1 Lebeau Jacques Paris

2 Troger Zoe Evry

3 Doe John Paris

31

3 Doe John Paris

4 Perry Paule Valenton

Nom et prénom des patients, noté en algèbre:

Π Nom, Prénom (Patients)

3 Doe John Paris

4 Perry Paule Valenton

JointurePatients

Id-P Nom Prénom Ville

1 Lebeau Jacques Paris

2 Troger Zoe Evry

3 Doe John Paris

4 Perry Paule Valenton

Visites

Id-D Id-P Id-V Date Prix

1 2 1 15 juin 250

1 1 2 12 août 180

2 2 3 13 juillet 350

2 3 4 1 mars 250

32

Id-P Nom Prénom Ville Id-D Id-P Id-V Date Prix

1 Lebeau Jacques Paris 1 1 2 12 août 180

2 Troger Zoe Evry 1 2 1 15 juin 250

2 Troger Zoe Evry 2 2 3 13 juillet 350

3 Doe John Paris 2 3 4 1 mars 250

Notation algébrique:

Patients Id-P=Id-P

Visites

Au fait, qu’appelle-t-on Jointure externe gauche (Left-Outer-Join) ?

Page 9: 1 rappels [Mode de compatibilité] - Inriapucheral/Enseignements_fichiers/COSY...Module Bases de Données Avancées MASTER COSY 1 Année 2014/2015 P. Pucheral et L. Yeh Module Bases

Union, Intersection, Différence

• Relation X Relation --> Relation (notées: ∪, ∩∪, ∩∪, ∩∪, ∩ , -)

• OPERATIONS ENSEMBLISTES S'APPLIQUANT A DES RELATIONS DE MEME SCHEMA

33

• EXTENSION: Union externe (OUTER UNION)− s'applique à des relations de schémas différents

− on ramène les deux relations au même schéma en ajoutant des valeurs nulles

Exemple de plan d’exécution

Select Nom, Prénom

From Patients, Visites

Where Patients.Id-P = Visites.Id-P

and Patients.Ville = ’Paris’

ππππ

σσσσ

ππππ

ππππ

σσσσππππ

σσσσ

34

and Patients.Ville = ’Paris’

and Visites.Date = ’15 juin’ σσσσ

Patients Visites

σσσσ

Visites

σσσσ

Patients

Optimisation

5. Le langage SQL

Le langage SQL (Structured Query Language) comprend trois parties :

1. Le langage de définition de données (Tables, Vues, Droits, Intégrité)

35

Intégrité)

2. Le langage de manipulation de données (Sélections, Modifications, Insertions, Suppressions)

3. L'intégration aux langages de programmation

EXEMPLE DE BASE DE DONNEES

36

Page 10: 1 rappels [Mode de compatibilité] - Inriapucheral/Enseignements_fichiers/COSY...Module Bases de Données Avancées MASTER COSY 1 Année 2014/2015 P. Pucheral et L. Yeh Module Bases

SELECT: forme générale

SELECT [DISTINCT | ALL ] { * | <value exp.> [, <value exp.>]...}

FROM relation [variable], relation [ variable]…

[WHERE <search condition>]

37

[GROUP BY <attribute> [,<attribute>]...]

[HAVING <search condition>]

[ORDER BY <attribute.>[.{ASC | DESC}] [,<attribute.>[.{ASC | DESC}] ]...]

Forme de la condition de recherche

<search condition> ::= [NOT]

<nom_colonne> θ constante <nom_colonne><nom_colonne> LIKE <modèle_de_chaîne>

<nom_colonne> IN <liste_de_valeurs>

<nom_colonne> θ (ALL ANY SOME) <liste_de_valeurs>EXISTS <liste_de_valeurs>

38

EXISTS <liste_de_valeurs>UNIQUE < liste_de_valeurs>

<nom_colonne> MATCH [UNIQUE ] <liste_de_valeurs><nom_colonne> BETWEEN constante AND constante

<search condition> AND OR <search condition>

avec

θ ::= < = > ≥ ≥ ≥ ≥ ≤ ≤ ≤ ≤ <><><><>

Remarque: <: <: <: <liste_de_valeurs> peut être dynamiquement déterminée par une requête

Exemples de requêtes

Liste des patients ayant un RDV avec le docteur ‘Du pont’ ���� NomPat

SELECT DISTINCT P.NomPat FROM PAT P, RDV R, DOC D WHERE P.NumPat = R.NumPat and R.NumDoc = D.NumDoc and D.NomDoc = ‘Dupont’;

Et celle-ci ?

SELECT P.NomPat FROM PAT P WHERE P.NumPat in

39

SELECT P.NomPat FROM PAT P WHERE P.NumPat in(SELECT R.NumPat FROM RDV R WHERE R.NumDoc in

(SELECT D.NumDoc FROM DOC WHERE D.NomDoc = ‘Dupont’));

Et celle-là ?

SELECT P.NomPat FROM PAT P WHERE EXISTS(SELECT * FROM RDV R WHERE P.NumPat = R.NumPat and EXISTS

(SELECT * FROM DOC D WHERE R.NumDoc=D.NumDoc and D.NomDoc = ‘Dupont’));

L’imbrication est un moyen de décomposer une requête complexe en sous-requêtes plus simples

Calculs d'agrégats

Les fonctions d’agrégation (Count, Sum, Avg, Min, Max) permettent de réaliser des calculs sur des ensembles de données

• Calcul de statistiques globaux− Nombre de patients : SELECT count(*) FROM PAT− Prix moyen des médicaments : SELECT avg(Prix) FROM MED

• Calcul de statistiques par groupe

40

• Calcul de statistiques par groupe− Nombre de patients par ville :SELECT VillePat, count(*) NbPatient FROM PAT GROUP BY VillePat

− Et celle-ci ?SELECT VillePat FROM PAT, RDV WHERE PAT.NumPat = RDV.NumPat and Motif = ‘mal de tête’ GROUP BY VillePat HAVING count( DISTINCT(NumPat)) > 10

Page 11: 1 rappels [Mode de compatibilité] - Inriapucheral/Enseignements_fichiers/COSY...Module Bases de Données Avancées MASTER COSY 1 Année 2014/2015 P. Pucheral et L. Yeh Module Bases

Évaluation « sémantique » d’une requête SQL

1. FROM Réalise le produit cartésien des relations

2. WHERE Réalise restriction et jointures

3. GROUP BY

41

3. GROUP BY Constitue les partitions (e.g., tri sur l’intitulé du groupe)

4. HAVING Restreint aux partitions désirées

5. SELECT Réaliser les projections/calculs finaux

6. ORDER BY Trier les tuples résultat

XXX

XXX

YYY

ZZZ

XXX

XXX

YYY

ZZZ

AGG1

AGG2

AGG3

XXX

ZZZ

AGG1

AGG3

AGG1 ZZZ

AGG3 XXX

Beaucoup d’autres choses dans SQL

• Création de tables

• Contraintes d’intégrité

• Triggers

• Vues

42

• Contrôle d’accès

• Programmation SQL

• …

Architecture physique des SGBD

• Une floraison de vocabulaire et d’architectures− BD centralisée

− BD client/serveur

− BD 3-tiers

− BD répartie

43

− BD répartie

− BD hétérogène

− BD sur le Cloud

− …

Architecture centralisée

• Des terminaux clients passifs

• Un réseau

• Un serveur central− grande puissance (‘mainframe’)

− Maintient la base et les applications

Terminaux passifs

réseau

44

MainframeSGBD

Appli 1 Appli 2 Appli n

données

le minitel, mais aussi Google ☺Exemple d’instance de cette architecture?

Page 12: 1 rappels [Mode de compatibilité] - Inriapucheral/Enseignements_fichiers/COSY...Module Bases de Données Avancées MASTER COSY 1 Année 2014/2015 P. Pucheral et L. Yeh Module Bases

Architecture client-serveur

Clients intelligents

Appli 1Appli 2

Appli n

• Des clients intelligents− Font tourner les applications

• Un réseau

• Un serveur de données− Maintient la base

45

serveur

SGBD

réseau

donnéescode

Client messagerieExemple d’instance de cette architecture?

Architecture 3-tiers

réseau

• Des clients− Concentrés sur la présentation

• Un réseau

• Un serveur d’application− Exécute le code applicatif

• Un serveur de données− Maintient la base

− Sur la même machine ou des machines différentes

Serveur

46

Serveurde données SGBD

donnéescode

Appli WebExemple d’instance de cette architecture?

Appli 1 Appli 2 Appli nServeur

d’application

Architecture répartie

Appli 1Appli 2

Appli n

• Des clients intelligents− Font tourner l’application

− Interagissent avec ‘1 SGBD’

(l’application ne voit pas que sa requête est réacheminée)

• Un réseau

• Des serveurs− Une même base

− Gèrent chacun une partition

47

SGBD 1.1

donnéescode

SGBD 1.2

donnéescode

− Gèrent chacun une partition

Agences d’une société Exemple d’instance de cette architecture?

Architecture hétérogène

Appli 1 Appli 2 Appli n

• Des clients intelligents− Interagissent avec ‘1 médiateur’

• Un médiateur− Interroge les sources

− Nettoyage, intégration, etc.

• Des sources de données− Données hétérogènes

• Type, schéma, etc.

48

Source 1 : SGBD

donnéescode

Source 2 : serveur Web

donnéescode

Médiateur

Kelkoo

• Type, schéma, etc.

− Gestion des données différente…

Exemple d’instance de cette architecture?

Page 13: 1 rappels [Mode de compatibilité] - Inriapucheral/Enseignements_fichiers/COSY...Module Bases de Données Avancées MASTER COSY 1 Année 2014/2015 P. Pucheral et L. Yeh Module Bases

Architecture en Cloud

• Virtualisation de l’approche centralisée avec mutualisation des ressources matérielles et logicielles

• Objectif = élasticité « Pay as you go »

• DaaS: Database as a Service

Terminaux

réseau

49

MainframeSGBD

Appli 1 Appli 2 Appli n

données

Amazon EC2Exemple d’instance de cette architecture?

Architecture ‘Diffuse’

• Smart body, smart home, smart city, sensor networks …

• Les données sont partout

• Une gestion de données totalement décentralisée

50Internet des objetsExemple d’instance de cette architecture?

Applications traditionnelles des SGBD

• OLTP (On Line Transaction Processing)− Cible des SGBD depuis leur existence

− Banques, réservation en ligne ...

− Très grand nombre de transactions en parallèle

51

− Très grand nombre de transactions en parallèle

− Transactions simples

• OLAP (On Line Analytical Processing)− Entrepôts de données, DataCube, Data Mining …

− Faible nombre de transactions

− Transactions très complexes

Applications nouvelles …

• DB in the (very) large (Peta-base)− NoSQL: sélections/màj simples sur tables géantes

• ex: BigTable (Google), Cassandra (Facebook), Dynamo (Amazon) …• Performance/scalabilité au détriment de la cohérence

− Big Data: analyse de gigantesques volumes de données faiblement structurées• Parallélisation/distribution massive des traitements : map/reduce

• DB in the (very) small (Pico-base)

52

• DB in the (very) small (Pico-base)− Réseaux de capteurs, smart city, internet des objets : calcul d’agrégats,

optimisation de ressources …− Véhicules : recherche places libres, prédiction de traffic, alertes …− BD personnelles : études épidémiologiques, enquêtes …

• Nouvelles formes d’acquisition de données− Intelligence ambiante : acquisition automatique de flux de données, préservation

de la vie privée− BD participatives : (ex: Wikipedia), administration distribuée, data provenance,

versions− DB Crowdsourcing : multitude d’acteurs humains capturant des données

cognitives (critères subjectifs) ou difficiles à accumuler de façon automatique

Page 14: 1 rappels [Mode de compatibilité] - Inriapucheral/Enseignements_fichiers/COSY...Module Bases de Données Avancées MASTER COSY 1 Année 2014/2015 P. Pucheral et L. Yeh Module Bases

• Stockage et indexation− Données semi-structurées : stockage, indexation, interrogation de docs XML− Données non structurées : recherche par le contenu, index multidimensionnels,

relations spatio-temporelles − Données en flux : Big Data, données issues de capteurs

• Gestion/optimisation de requêtes− Requêtes continues, personnalisation, critères approximatifs, publish/subscribe, etc

Encore de la recherche sur les noyaux de SGBD / gestionnaires de données ?

53

− Requêtes continues, personnalisation, critères approximatifs, publish/subscribe, etc

• Nouvelles architectures matérielles− SGBD grandes mémoires (RAM)− Bases de données en Flash− Bases de données embarquées− Parallélisme massif, cloud computing, réplication, cohérence− Économie d’énergie

• Protection des données− Chiffrement, HSM, audit, rétention limite des données …