cours deug mias 2Łme annØe - i5 · 2009. 9. 11. · base de donnØes cours deug mias 2Łme annØe...

114
Base de données Cours Deug MIAS 2ème année - I5 Version 1.0 - 12/02/02 E. Desmontils [email protected] Faculté des sciences et des techniques Dpt-Info, Bureau 203 Base de données – p.1/64

Upload: others

Post on 07-Mar-2021

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Cours Deug MIAS 2Łme annØe - I5 · 2009. 9. 11. · Base de donnØes Cours Deug MIAS 2Łme annØe - I5 Version 1.0 - 12/02/02 E. Desmontils Emmanuel.Desmontils@irin.univ-nantes.fr

Base de donnéesCours Deug MIAS 2ème année - I5

Version 1.0 - 12/02/02

E. [email protected]

Faculté des sciences et des techniquesDpt-Info, Bureau 203

Base de données – p.1/64

Page 2: Cours Deug MIAS 2Łme annØe - I5 · 2009. 9. 11. · Base de donnØes Cours Deug MIAS 2Łme annØe - I5 Version 1.0 - 12/02/02 E. Desmontils Emmanuel.Desmontils@irin.univ-nantes.fr

Introduction

� Éléments pour introduire les bases de données.

� Caractéristiques des bases de données(propriétés, normalisation).

� Éléments théoriques de base : Algèbrerelationnelle.

� Langage relationnel de référence : SQL.

� Introduction à la conception de basesrelationnelles.

Base de données – p.2/64

Page 3: Cours Deug MIAS 2Łme annØe - I5 · 2009. 9. 11. · Base de donnØes Cours Deug MIAS 2Łme annØe - I5 Version 1.0 - 12/02/02 E. Desmontils Emmanuel.Desmontils@irin.univ-nantes.fr

Plan

� Introduction ;

� Expression relationnelle ;

� Algèbre des relations ;

� SQL ;

� Normalisation ;

� Contexte général des bases de données(généralités, Entité/Association...).

Base de données – p.3/64

Page 4: Cours Deug MIAS 2Łme annØe - I5 · 2009. 9. 11. · Base de donnØes Cours Deug MIAS 2Łme annØe - I5 Version 1.0 - 12/02/02 E. Desmontils Emmanuel.Desmontils@irin.univ-nantes.fr

Introduction

Base de données – p.4/64

Page 5: Cours Deug MIAS 2Łme annØe - I5 · 2009. 9. 11. · Base de donnØes Cours Deug MIAS 2Łme annØe - I5 Version 1.0 - 12/02/02 E. Desmontils Emmanuel.Desmontils@irin.univ-nantes.fr

Constat

� Comment gérer (mémoriser et traiter) un ensembled’étudiants (n

, nom, prénom, groupe, filière...) ?

Première solution : Fichiers typé ou fichiers textes.

Mais comment traiter les requêtes suivantes ?

n de Pierre Dupont ?

les étudiants du groupe 51 ?

moyenne de l’examen des redoublants en I5 ? ...

A chaque nouveau programme, de nouvelles questions ;

A chaque nouvelle question, de nouvelles procédures ;

Traitement dépendant de la structure des données stockéeset du langage de programmation.

Base de données – p.5/64

Page 6: Cours Deug MIAS 2Łme annØe - I5 · 2009. 9. 11. · Base de donnØes Cours Deug MIAS 2Łme annØe - I5 Version 1.0 - 12/02/02 E. Desmontils Emmanuel.Desmontils@irin.univ-nantes.fr

Constat

� Comment gérer (mémoriser et traiter) un ensembled’étudiants (n

, nom, prénom, groupe, filière...) ?

� Première solution : Fichiers typé ou fichiers textes.

Mais comment traiter les requêtes suivantes ?

n de Pierre Dupont ?

les étudiants du groupe 51 ?

moyenne de l’examen des redoublants en I5 ? ...

A chaque nouveau programme, de nouvelles questions ;

A chaque nouvelle question, de nouvelles procédures ;

Traitement dépendant de la structure des données stockéeset du langage de programmation.

Base de données – p.5/64

Page 7: Cours Deug MIAS 2Łme annØe - I5 · 2009. 9. 11. · Base de donnØes Cours Deug MIAS 2Łme annØe - I5 Version 1.0 - 12/02/02 E. Desmontils Emmanuel.Desmontils@irin.univ-nantes.fr

Constat

� Comment gérer (mémoriser et traiter) un ensembled’étudiants (n

, nom, prénom, groupe, filière...) ?

� Première solution : Fichiers typé ou fichiers textes.

� Mais comment traiter les requêtes suivantes ?

� n

de Pierre Dupont ?

� les étudiants du groupe 51 ?

� moyenne de l’examen des redoublants en I5 ? ...

A chaque nouveau programme, de nouvelles questions ;

A chaque nouvelle question, de nouvelles procédures ;

Traitement dépendant de la structure des données stockéeset du langage de programmation.

Base de données – p.5/64

Page 8: Cours Deug MIAS 2Łme annØe - I5 · 2009. 9. 11. · Base de donnØes Cours Deug MIAS 2Łme annØe - I5 Version 1.0 - 12/02/02 E. Desmontils Emmanuel.Desmontils@irin.univ-nantes.fr

Constat

� Comment gérer (mémoriser et traiter) un ensembled’étudiants (n

, nom, prénom, groupe, filière...) ?

� Première solution : Fichiers typé ou fichiers textes.

� Mais comment traiter les requêtes suivantes ?

� n

de Pierre Dupont ?

� les étudiants du groupe 51 ?

� moyenne de l’examen des redoublants en I5 ? ...

� A chaque nouveau programme, de nouvelles questions ;

A chaque nouvelle question, de nouvelles procédures ;

Traitement dépendant de la structure des données stockéeset du langage de programmation.

Base de données – p.5/64

Page 9: Cours Deug MIAS 2Łme annØe - I5 · 2009. 9. 11. · Base de donnØes Cours Deug MIAS 2Łme annØe - I5 Version 1.0 - 12/02/02 E. Desmontils Emmanuel.Desmontils@irin.univ-nantes.fr

Constat

� Comment gérer (mémoriser et traiter) un ensembled’étudiants (n

, nom, prénom, groupe, filière...) ?

� Première solution : Fichiers typé ou fichiers textes.

� Mais comment traiter les requêtes suivantes ?

� n

de Pierre Dupont ?

� les étudiants du groupe 51 ?

� moyenne de l’examen des redoublants en I5 ? ...

� A chaque nouveau programme, de nouvelles questions ;

� A chaque nouvelle question, de nouvelles procédures ;

Traitement dépendant de la structure des données stockéeset du langage de programmation.

Base de données – p.5/64

Page 10: Cours Deug MIAS 2Łme annØe - I5 · 2009. 9. 11. · Base de donnØes Cours Deug MIAS 2Łme annØe - I5 Version 1.0 - 12/02/02 E. Desmontils Emmanuel.Desmontils@irin.univ-nantes.fr

Constat

� Comment gérer (mémoriser et traiter) un ensembled’étudiants (n

, nom, prénom, groupe, filière...) ?

� Première solution : Fichiers typé ou fichiers textes.

� Mais comment traiter les requêtes suivantes ?

� n

de Pierre Dupont ?

� les étudiants du groupe 51 ?

� moyenne de l’examen des redoublants en I5 ? ...

� A chaque nouveau programme, de nouvelles questions ;

� A chaque nouvelle question, de nouvelles procédures ;

� Traitement dépendant de la structure des données stockéeset du langage de programmation.

Base de données – p.5/64

Page 11: Cours Deug MIAS 2Łme annØe - I5 · 2009. 9. 11. · Base de donnØes Cours Deug MIAS 2Łme annØe - I5 Version 1.0 - 12/02/02 E. Desmontils Emmanuel.Desmontils@irin.univ-nantes.fr

Solution

� Séparation entre données et traitementutilisation d’un Système de Gestion de Base

de Données (SGBD)

Exemples des SGBD :Système de réservation (Socrate, systèmes des compagniesaériennes...),

Bases de données bibliographiques et gestion desbibliothèques (catalogue de la BNF ou des BU, librairie ducongrès, Web...),

Vente par correspondance,

Comptes bancaires,

Jeux sur internet...

Base de données – p.6/64

Page 12: Cours Deug MIAS 2Łme annØe - I5 · 2009. 9. 11. · Base de donnØes Cours Deug MIAS 2Łme annØe - I5 Version 1.0 - 12/02/02 E. Desmontils Emmanuel.Desmontils@irin.univ-nantes.fr

Solution

� Séparation entre données et traitementutilisation d’un Système de Gestion de Base

de Données (SGBD)

� Exemples des SGBD :

� Système de réservation (Socrate, systèmes des compagniesaériennes...),

� Bases de données bibliographiques et gestion desbibliothèques (catalogue de la BNF ou des BU, librairie ducongrès, Web...),

� Vente par correspondance,

� Comptes bancaires,

� Jeux sur internet...

Base de données – p.6/64

Page 13: Cours Deug MIAS 2Łme annØe - I5 · 2009. 9. 11. · Base de donnØes Cours Deug MIAS 2Łme annØe - I5 Version 1.0 - 12/02/02 E. Desmontils Emmanuel.Desmontils@irin.univ-nantes.fr

Fonctions d’un SGBD

� Outils permettantd’insérer,de modifier,de supprimer,de contrôleret de rechercherefficacement des données spécifiques dans unegrande masse d’informations.

� Une interface entre les utilisateurs et la mémoiresecondaire facilitant le travail des utilisateurs.

Base de données – p.7/64

Page 14: Cours Deug MIAS 2Łme annØe - I5 · 2009. 9. 11. · Base de donnØes Cours Deug MIAS 2Łme annØe - I5 Version 1.0 - 12/02/02 E. Desmontils Emmanuel.Desmontils@irin.univ-nantes.fr

Fonctions d’un SGBD1. Décrire les données des bases ;

2. Construire les bases ;

3. Interroger les bases ;

4. mettre à jour ;

5. Transformer les représentations des données ;

6. Assurer les contrôles d’intégrité ;

7. Assurer les contrôles de concurrence (multi-utilisateurs,BD réparties...) ;

8. Assurer les contrôles de sécurité.

Base de données – p.8/64

Page 15: Cours Deug MIAS 2Łme annØe - I5 · 2009. 9. 11. · Base de donnØes Cours Deug MIAS 2Łme annØe - I5 Version 1.0 - 12/02/02 E. Desmontils Emmanuel.Desmontils@irin.univ-nantes.fr

Fonctions d’un SGBD1. Décrire les données des bases ;

2. Construire les bases ;

3. Interroger les bases ;

4. mettre à jour ;

5. Transformer les représentations des données ;

6. Assurer les contrôles d’intégrité ;

7. Assurer les contrôles de concurrence (multi-utilisateurs,BD réparties...) ;

8. Assurer les contrôles de sécurité.

Base de données – p.8/64

Page 16: Cours Deug MIAS 2Łme annØe - I5 · 2009. 9. 11. · Base de donnØes Cours Deug MIAS 2Łme annØe - I5 Version 1.0 - 12/02/02 E. Desmontils Emmanuel.Desmontils@irin.univ-nantes.fr

Fonctions d’un SGBD1. Décrire les données des bases ;

2. Construire les bases ;

3. Interroger les bases ;

4. mettre à jour ;

5. Transformer les représentations des données ;

6. Assurer les contrôles d’intégrité ;

7. Assurer les contrôles de concurrence (multi-utilisateurs,BD réparties...) ;

8. Assurer les contrôles de sécurité.

Base de données – p.8/64

Page 17: Cours Deug MIAS 2Łme annØe - I5 · 2009. 9. 11. · Base de donnØes Cours Deug MIAS 2Łme annØe - I5 Version 1.0 - 12/02/02 E. Desmontils Emmanuel.Desmontils@irin.univ-nantes.fr

Fonctions d’un SGBD1. Décrire les données des bases ;

2. Construire les bases ;

3. Interroger les bases ;

4. mettre à jour ;

5. Transformer les représentations des données ;

6. Assurer les contrôles d’intégrité ;

7. Assurer les contrôles de concurrence (multi-utilisateurs,BD réparties...) ;

8. Assurer les contrôles de sécurité.

Base de données – p.8/64

Page 18: Cours Deug MIAS 2Łme annØe - I5 · 2009. 9. 11. · Base de donnØes Cours Deug MIAS 2Łme annØe - I5 Version 1.0 - 12/02/02 E. Desmontils Emmanuel.Desmontils@irin.univ-nantes.fr

Fonctions d’un SGBD1. Décrire les données des bases ;

2. Construire les bases ;

3. Interroger les bases ;

4. mettre à jour ;

5. Transformer les représentations des données ;

6. Assurer les contrôles d’intégrité ;

7. Assurer les contrôles de concurrence (multi-utilisateurs,BD réparties...) ;

8. Assurer les contrôles de sécurité.

Base de données – p.8/64

Page 19: Cours Deug MIAS 2Łme annØe - I5 · 2009. 9. 11. · Base de donnØes Cours Deug MIAS 2Łme annØe - I5 Version 1.0 - 12/02/02 E. Desmontils Emmanuel.Desmontils@irin.univ-nantes.fr

Fonctions d’un SGBD1. Décrire les données des bases ;

2. Construire les bases ;

3. Interroger les bases ;

4. mettre à jour ;

5. Transformer les représentations des données ;

6. Assurer les contrôles d’intégrité ;

7. Assurer les contrôles de concurrence (multi-utilisateurs,BD réparties...) ;

8. Assurer les contrôles de sécurité.

Base de données – p.8/64

Page 20: Cours Deug MIAS 2Łme annØe - I5 · 2009. 9. 11. · Base de donnØes Cours Deug MIAS 2Łme annØe - I5 Version 1.0 - 12/02/02 E. Desmontils Emmanuel.Desmontils@irin.univ-nantes.fr

Fonctions d’un SGBD1. Décrire les données des bases ;

2. Construire les bases ;

3. Interroger les bases ;

4. mettre à jour ;

5. Transformer les représentations des données ;

6. Assurer les contrôles d’intégrité ;

7. Assurer les contrôles de concurrence (multi-utilisateurs,BD réparties...) ;

8. Assurer les contrôles de sécurité.

Base de données – p.8/64

Page 21: Cours Deug MIAS 2Łme annØe - I5 · 2009. 9. 11. · Base de donnØes Cours Deug MIAS 2Łme annØe - I5 Version 1.0 - 12/02/02 E. Desmontils Emmanuel.Desmontils@irin.univ-nantes.fr

Fonctions d’un SGBD1. Décrire les données des bases ;

2. Construire les bases ;

3. Interroger les bases ;

4. mettre à jour ;

5. Transformer les représentations des données ;

6. Assurer les contrôles d’intégrité ;

7. Assurer les contrôles de concurrence (multi-utilisateurs,BD réparties...) ;

8. Assurer les contrôles de sécurité.

Base de données – p.8/64

Page 22: Cours Deug MIAS 2Łme annØe - I5 · 2009. 9. 11. · Base de donnØes Cours Deug MIAS 2Łme annØe - I5 Version 1.0 - 12/02/02 E. Desmontils Emmanuel.Desmontils@irin.univ-nantes.fr

Objectifs d’un SGBD (critères de Codd)

1. Indépendance physique ;

2. Indépendance logique ;

3. Manipulation des données par des langagesnon-procéduraux ;

4. Administration facilité des données ;

5. Efficacité des accès aux données ;

6. Redondance contrôlée des données ;

7. Cohérence des données ;

8. Partage des données ;

9. Sécurité des données.

Base de données – p.9/64

Page 23: Cours Deug MIAS 2Łme annØe - I5 · 2009. 9. 11. · Base de donnØes Cours Deug MIAS 2Łme annØe - I5 Version 1.0 - 12/02/02 E. Desmontils Emmanuel.Desmontils@irin.univ-nantes.fr

Structure d’un SGBDApplications Terminaux Outils

SGBD Externe

SGBD interne

Système de gestion de fichiers

Disques

Base de données – p.10/64

Page 24: Cours Deug MIAS 2Łme annØe - I5 · 2009. 9. 11. · Base de donnØes Cours Deug MIAS 2Łme annØe - I5 Version 1.0 - 12/02/02 E. Desmontils Emmanuel.Desmontils@irin.univ-nantes.fr

Structure d’un SGBD

� SGBD Externe :

� présentation et manipulation des données(concepteurs et utilisateurs),

� gestion des langages de requêtes de hautniveau,

� outils de présentation (états, formes...).

� SGBD Interne :

� placement et assemblage des données,

� gestion des liens et de l’accès rapide ;

Base de données – p.11/64

Page 25: Cours Deug MIAS 2Łme annØe - I5 · 2009. 9. 11. · Base de donnØes Cours Deug MIAS 2Łme annØe - I5 Version 1.0 - 12/02/02 E. Desmontils Emmanuel.Desmontils@irin.univ-nantes.fr

Différents types de SGBD

� Les Bases hiérarchiques : base navigationnelles � gestion depointeurs entre enregistrements (structure arborescente) ;

Les Bases réseaux (20%) : plus ouvert ;

Les Bases relationnelles (75%) : données = tables ; basées surl’algèbre relationnelle et un langage déclaratif (SQL) ;

Les Bases déductives : données = prédicats ; langaged’interrogation = calcul des prédicats et logique du 1er ordre ;

Les Bases objets : données = instances de classes hiérarchisées ;données actives (propres méthodes d’interrogation etd’affectation) ; héritage = mécanisme de factorisation de laconnaissance ;

Les Bases relationnelle-objets.

Base de données – p.12/64

Page 26: Cours Deug MIAS 2Łme annØe - I5 · 2009. 9. 11. · Base de donnØes Cours Deug MIAS 2Łme annØe - I5 Version 1.0 - 12/02/02 E. Desmontils Emmanuel.Desmontils@irin.univ-nantes.fr

Différents types de SGBD

� Les Bases hiérarchiques : base navigationnelles � gestion depointeurs entre enregistrements (structure arborescente) ;

� Les Bases réseaux (20%) : plus ouvert ;

Les Bases relationnelles (75%) : données = tables ; basées surl’algèbre relationnelle et un langage déclaratif (SQL) ;

Les Bases déductives : données = prédicats ; langaged’interrogation = calcul des prédicats et logique du 1er ordre ;

Les Bases objets : données = instances de classes hiérarchisées ;données actives (propres méthodes d’interrogation etd’affectation) ; héritage = mécanisme de factorisation de laconnaissance ;

Les Bases relationnelle-objets.

Base de données – p.12/64

Page 27: Cours Deug MIAS 2Łme annØe - I5 · 2009. 9. 11. · Base de donnØes Cours Deug MIAS 2Łme annØe - I5 Version 1.0 - 12/02/02 E. Desmontils Emmanuel.Desmontils@irin.univ-nantes.fr

Différents types de SGBD

� Les Bases hiérarchiques : base navigationnelles � gestion depointeurs entre enregistrements (structure arborescente) ;

� Les Bases réseaux (20%) : plus ouvert ;

� Les Bases relationnelles (75%) : données = tables ; basées surl’algèbre relationnelle et un langage déclaratif (SQL) ;

Les Bases déductives : données = prédicats ; langaged’interrogation = calcul des prédicats et logique du 1er ordre ;

Les Bases objets : données = instances de classes hiérarchisées ;données actives (propres méthodes d’interrogation etd’affectation) ; héritage = mécanisme de factorisation de laconnaissance ;

Les Bases relationnelle-objets.

Base de données – p.12/64

Page 28: Cours Deug MIAS 2Łme annØe - I5 · 2009. 9. 11. · Base de donnØes Cours Deug MIAS 2Łme annØe - I5 Version 1.0 - 12/02/02 E. Desmontils Emmanuel.Desmontils@irin.univ-nantes.fr

Différents types de SGBD

� Les Bases hiérarchiques : base navigationnelles � gestion depointeurs entre enregistrements (structure arborescente) ;

� Les Bases réseaux (20%) : plus ouvert ;

� Les Bases relationnelles (75%) : données = tables ; basées surl’algèbre relationnelle et un langage déclaratif (SQL) ;

� Les Bases déductives : données = prédicats ; langaged’interrogation = calcul des prédicats et logique du 1er ordre ;

Les Bases objets : données = instances de classes hiérarchisées ;données actives (propres méthodes d’interrogation etd’affectation) ; héritage = mécanisme de factorisation de laconnaissance ;

Les Bases relationnelle-objets.

Base de données – p.12/64

Page 29: Cours Deug MIAS 2Łme annØe - I5 · 2009. 9. 11. · Base de donnØes Cours Deug MIAS 2Łme annØe - I5 Version 1.0 - 12/02/02 E. Desmontils Emmanuel.Desmontils@irin.univ-nantes.fr

Différents types de SGBD

� Les Bases hiérarchiques : base navigationnelles � gestion depointeurs entre enregistrements (structure arborescente) ;

� Les Bases réseaux (20%) : plus ouvert ;

� Les Bases relationnelles (75%) : données = tables ; basées surl’algèbre relationnelle et un langage déclaratif (SQL) ;

� Les Bases déductives : données = prédicats ; langaged’interrogation = calcul des prédicats et logique du 1er ordre ;

� Les Bases objets : données = instances de classes hiérarchisées ;données actives (propres méthodes d’interrogation etd’affectation) ; héritage = mécanisme de factorisation de laconnaissance ;

Les Bases relationnelle-objets.

Base de données – p.12/64

Page 30: Cours Deug MIAS 2Łme annØe - I5 · 2009. 9. 11. · Base de donnØes Cours Deug MIAS 2Łme annØe - I5 Version 1.0 - 12/02/02 E. Desmontils Emmanuel.Desmontils@irin.univ-nantes.fr

Différents types de SGBD

� Les Bases hiérarchiques : base navigationnelles � gestion depointeurs entre enregistrements (structure arborescente) ;

� Les Bases réseaux (20%) : plus ouvert ;

� Les Bases relationnelles (75%) : données = tables ; basées surl’algèbre relationnelle et un langage déclaratif (SQL) ;

� Les Bases déductives : données = prédicats ; langaged’interrogation = calcul des prédicats et logique du 1er ordre ;

� Les Bases objets : données = instances de classes hiérarchisées ;données actives (propres méthodes d’interrogation etd’affectation) ; héritage = mécanisme de factorisation de laconnaissance ;

� Les Bases relationnelle-objets.

Base de données – p.12/64

Page 31: Cours Deug MIAS 2Łme annØe - I5 · 2009. 9. 11. · Base de donnØes Cours Deug MIAS 2Łme annØe - I5 Version 1.0 - 12/02/02 E. Desmontils Emmanuel.Desmontils@irin.univ-nantes.fr

La CNIL

Base de données – p.13/64

Page 32: Cours Deug MIAS 2Łme annØe - I5 · 2009. 9. 11. · Base de donnØes Cours Deug MIAS 2Łme annØe - I5 Version 1.0 - 12/02/02 E. Desmontils Emmanuel.Desmontils@irin.univ-nantes.fr

Le modèle relationnel

Base de données – p.14/64

Page 33: Cours Deug MIAS 2Łme annØe - I5 · 2009. 9. 11. · Base de donnØes Cours Deug MIAS 2Łme annØe - I5 Version 1.0 - 12/02/02 E. Desmontils Emmanuel.Desmontils@irin.univ-nantes.fr

Introduction

� SGBD relationnelles : données en tables (ou relations),requêtes exprimées à l’aide d’opérateurs sur ces tables ;

Avantage : pour un ensemble d’informations à trouver, ondécrit juste les opérateurs sur les relations qui permettent deles atteindre (expressions relationnelles);

Approche beaucoup plus détachée de l’implémentationphysique ;

Simple, facile à comprendre et fidèle à un cadremathématique (algèbre relationnelle, concept de relation dela théorie des ensembles), logique.

Base de données – p.15/64

Page 34: Cours Deug MIAS 2Łme annØe - I5 · 2009. 9. 11. · Base de donnØes Cours Deug MIAS 2Łme annØe - I5 Version 1.0 - 12/02/02 E. Desmontils Emmanuel.Desmontils@irin.univ-nantes.fr

Introduction

� SGBD relationnelles : données en tables (ou relations),requêtes exprimées à l’aide d’opérateurs sur ces tables ;

� Avantage : pour un ensemble d’informations à trouver, ondécrit juste les opérateurs sur les relations qui permettent deles atteindre (expressions relationnelles);

� Approche beaucoup plus détachée de l’implémentationphysique ;

� Simple, facile à comprendre et fidèle à un cadremathématique (algèbre relationnelle, concept de relation dela théorie des ensembles), logique.

Base de données – p.15/64

Page 35: Cours Deug MIAS 2Łme annØe - I5 · 2009. 9. 11. · Base de donnØes Cours Deug MIAS 2Łme annØe - I5 Version 1.0 - 12/02/02 E. Desmontils Emmanuel.Desmontils@irin.univ-nantes.fr

Domaine et t-uple

� Un domaine : ensemble fini ou infini de valeursdistinctes que peut prendre une donnéeélémentaire (entiers, booléens...)

Un n-uplet ou t-uple : élémentdu produit cartésien d’un ensemble de domaines

, ,..., , noté tel que.

Exemple : si et alors

NB : Le produit cartésien peut être généralisé sur desensembles quelconques et, en particulier, des ensembles det-uples.

Base de données – p.16/64

Page 36: Cours Deug MIAS 2Łme annØe - I5 · 2009. 9. 11. · Base de donnØes Cours Deug MIAS 2Łme annØe - I5 Version 1.0 - 12/02/02 E. Desmontils Emmanuel.Desmontils@irin.univ-nantes.fr

Domaine et t-uple

� Un domaine : ensemble fini ou infini de valeursdistinctes que peut prendre une donnéeélémentaire (entiers, booléens...)

� Un n-uplet ou t-uple : élément ��� �� � �� � � � � �

du produit cartésien d’un ensemble de domaines

� , ,..., �, noté � � �� � � � � tel que�� � � � � �.

Exemple : si et alors

NB : Le produit cartésien peut être généralisé sur desensembles quelconques et, en particulier, des ensembles det-uples.

Base de données – p.16/64

Page 37: Cours Deug MIAS 2Łme annØe - I5 · 2009. 9. 11. · Base de donnØes Cours Deug MIAS 2Łme annØe - I5 Version 1.0 - 12/02/02 E. Desmontils Emmanuel.Desmontils@irin.univ-nantes.fr

Domaine et t-uple

� Un domaine : ensemble fini ou infini de valeursdistinctes que peut prendre une donnéeélémentaire (entiers, booléens...)

� Un n-uplet ou t-uple : élément ��� �� � �� � � � � �

du produit cartésien d’un ensemble de domaines

� , ,..., �, noté � � �� � � � � tel que�� � � � � �.

� Exemple : si

��� � ����� �� � �et

��� � � � ! �

alors�� " ��� � �$# ��� %� # ��� ! %� # �� %� # �� ! %� # �� %� #

�� ! % �

� NB : Le produit cartésien peut être généralisé sur desensembles quelconques et, en particulier, des ensembles det-uples.

Base de données – p.16/64

Page 38: Cours Deug MIAS 2Łme annØe - I5 · 2009. 9. 11. · Base de donnØes Cours Deug MIAS 2Łme annØe - I5 Version 1.0 - 12/02/02 E. Desmontils Emmanuel.Desmontils@irin.univ-nantes.fr

Exemples de domaines

� Des domaines :

� nom = {Dupont, Martin, Robert, Denou,Bellamy, ...}

� prénom = {Franck, Isabelle, Adrien, Michelle,Jean, Gustave, ... }

� note = [0..20]

� ...

Des t-uples :nom prénom = {<Dupont,Franck>,<Dupont,Isabelle>, ..., <Martin,Franck>,<Martin, Isabelle>, ... }nom note = {<Dupont,0>, <Dupont,1>... }...

Base de données – p.17/64

Page 39: Cours Deug MIAS 2Łme annØe - I5 · 2009. 9. 11. · Base de donnØes Cours Deug MIAS 2Łme annØe - I5 Version 1.0 - 12/02/02 E. Desmontils Emmanuel.Desmontils@irin.univ-nantes.fr

Exemples de domaines

� Des domaines :

� nom = {Dupont, Martin, Robert, Denou,Bellamy, ...}

� prénom = {Franck, Isabelle, Adrien, Michelle,Jean, Gustave, ... }

� note = [0..20]

� ...

� Des t-uples :

� nom � prénom = {<Dupont,Franck>,<Dupont,Isabelle>, ..., <Martin,Franck>,<Martin, Isabelle>, ... }

� nom � note = {<Dupont,0>, <Dupont,1>... }

� ...Base de données – p.17/64

Page 40: Cours Deug MIAS 2Łme annØe - I5 · 2009. 9. 11. · Base de donnØes Cours Deug MIAS 2Łme annØe - I5 Version 1.0 - 12/02/02 E. Desmontils Emmanuel.Desmontils@irin.univ-nantes.fr

Tables/Relations

� Une table ou relation : sous-ensemble du produitcartésien d’une liste de domaines. Elle estidentifiée par un nom ;

Représentation : tableau dont les lignes sont lest-uples. Les noms de colonne sont les attributs dela table. Chaque attribut est unique ;NB1 : L’ordre des lignes et des colonnes est sans importance ;

NB2 : Tous les t-uples doivent être distincts (notion de clé) ;

Le degré d’une relation : nombre d’attributs( ) ;La cardinalité d’une relation : nombre de t-uples( ou ).

Base de données – p.18/64

Page 41: Cours Deug MIAS 2Łme annØe - I5 · 2009. 9. 11. · Base de donnØes Cours Deug MIAS 2Łme annØe - I5 Version 1.0 - 12/02/02 E. Desmontils Emmanuel.Desmontils@irin.univ-nantes.fr

Tables/Relations

� Une table ou relation : sous-ensemble du produitcartésien d’une liste de domaines. Elle estidentifiée par un nom ;

� Représentation : tableau dont les lignes sont lest-uples. Les noms de colonne sont les attributs dela table. Chaque attribut est unique ;

NB1 : L’ordre des lignes et des colonnes est sans importance ;

NB2 : Tous les t-uples doivent être distincts (notion de clé) ;

Le degré d’une relation : nombre d’attributs( ) ;La cardinalité d’une relation : nombre de t-uples( ou ).

Base de données – p.18/64

Page 42: Cours Deug MIAS 2Łme annØe - I5 · 2009. 9. 11. · Base de donnØes Cours Deug MIAS 2Łme annØe - I5 Version 1.0 - 12/02/02 E. Desmontils Emmanuel.Desmontils@irin.univ-nantes.fr

Tables/Relations

� Une table ou relation : sous-ensemble du produitcartésien d’une liste de domaines. Elle estidentifiée par un nom ;

� Représentation : tableau dont les lignes sont lest-uples. Les noms de colonne sont les attributs dela table. Chaque attribut est unique ;

NB1 : L’ordre des lignes et des colonnes est sans importance ;

NB2 : Tous les t-uples doivent être distincts (notion de clé) ;

Le degré d’une relation : nombre d’attributs( ) ;La cardinalité d’une relation : nombre de t-uples( ou ).

Base de données – p.18/64

Page 43: Cours Deug MIAS 2Łme annØe - I5 · 2009. 9. 11. · Base de donnØes Cours Deug MIAS 2Łme annØe - I5 Version 1.0 - 12/02/02 E. Desmontils Emmanuel.Desmontils@irin.univ-nantes.fr

Tables/Relations

� Une table ou relation : sous-ensemble du produitcartésien d’une liste de domaines. Elle estidentifiée par un nom ;

� Représentation : tableau dont les lignes sont lest-uples. Les noms de colonne sont les attributs dela table. Chaque attribut est unique ;

NB1 : L’ordre des lignes et des colonnes est sans importance ;

NB2 : Tous les t-uples doivent être distincts (notion de clé) ;

Le degré d’une relation : nombre d’attributs( ) ;La cardinalité d’une relation : nombre de t-uples( ou ).

Base de données – p.18/64

Page 44: Cours Deug MIAS 2Łme annØe - I5 · 2009. 9. 11. · Base de donnØes Cours Deug MIAS 2Łme annØe - I5 Version 1.0 - 12/02/02 E. Desmontils Emmanuel.Desmontils@irin.univ-nantes.fr

Tables/Relations

� Une table ou relation : sous-ensemble du produitcartésien d’une liste de domaines. Elle estidentifiée par un nom ;

� Représentation : tableau dont les lignes sont lest-uples. Les noms de colonne sont les attributs dela table. Chaque attribut est unique ;

NB1 : L’ordre des lignes et des colonnes est sans importance ;

NB2 : Tous les t-uples doivent être distincts (notion de clé) ;

� Le degré d’une relation : nombre d’attributs(

& '� � � (

) ;

La cardinalité d’une relation : nombre de t-uples( ou ).

Base de données – p.18/64

Page 45: Cours Deug MIAS 2Łme annØe - I5 · 2009. 9. 11. · Base de donnØes Cours Deug MIAS 2Łme annØe - I5 Version 1.0 - 12/02/02 E. Desmontils Emmanuel.Desmontils@irin.univ-nantes.fr

Tables/Relations

� Une table ou relation : sous-ensemble du produitcartésien d’une liste de domaines. Elle estidentifiée par un nom ;

� Représentation : tableau dont les lignes sont lest-uples. Les noms de colonne sont les attributs dela table. Chaque attribut est unique ;

NB1 : L’ordre des lignes et des colonnes est sans importance ;

NB2 : Tous les t-uples doivent être distincts (notion de clé) ;

� Le degré d’une relation : nombre d’attributs(

& '� � � (

) ;

� La cardinalité d’une relation : nombre de t-uples( )* + '� � � (

ou

,� � � ,

).

Base de données – p.18/64

Page 46: Cours Deug MIAS 2Łme annØe - I5 · 2009. 9. 11. · Base de donnØes Cours Deug MIAS 2Łme annØe - I5 Version 1.0 - 12/02/02 E. Desmontils Emmanuel.Desmontils@irin.univ-nantes.fr

Schéma

� Le schéma d’une relation :

� le nom de la table,

� l’ensemble des noms des attributs,

� les contraintes,

� ...

Le schéma d’une base de données : ensemble desschémas de toutes les tables.

Base de données – p.19/64

Page 47: Cours Deug MIAS 2Łme annØe - I5 · 2009. 9. 11. · Base de donnØes Cours Deug MIAS 2Łme annØe - I5 Version 1.0 - 12/02/02 E. Desmontils Emmanuel.Desmontils@irin.univ-nantes.fr

Schéma

� Le schéma d’une relation :

� le nom de la table,

� l’ensemble des noms des attributs,

� les contraintes,

� ...

� Le schéma d’une base de données : ensemble desschémas de toutes les tables.

Base de données – p.19/64

Page 48: Cours Deug MIAS 2Łme annØe - I5 · 2009. 9. 11. · Base de donnØes Cours Deug MIAS 2Łme annØe - I5 Version 1.0 - 12/02/02 E. Desmontils Emmanuel.Desmontils@irin.univ-nantes.fr

Base de donnée relationnelle

� Une base de donnée relationnelle : base dedonnées dont le schéma est un ensemble deschémas de tables relationnelles et dont lesoccurrences sont des t-uples de ces tables.

� Une expression relationnelle : une expression desyntaxe précise composée de noms de relations,d’attributs, de constantes et d’opérations. Elledécrit une relation.

� Un langage relationnel : permet d’écrire desexpressions relationnelles.

Base de données – p.20/64

Page 49: Cours Deug MIAS 2Łme annØe - I5 · 2009. 9. 11. · Base de donnØes Cours Deug MIAS 2Łme annØe - I5 Version 1.0 - 12/02/02 E. Desmontils Emmanuel.Desmontils@irin.univ-nantes.fr

Exemple de BDRÉtudiants noetu nom prénom

1 28936E Dupont Franck

2 46283B Dupont Isabelle

3 86719E Martin Adrien

4 99628C Robert Adrien

5 99321C Denou Michelle

6 99322C Dupont Isabelle- ./0 1 2 �43 �0 5 687 9 :3; 2 ./ 0 1 2 �43 �0 5 687 <

Base de données – p.21/64

Page 50: Cours Deug MIAS 2Łme annØe - I5 · 2009. 9. 11. · Base de donnØes Cours Deug MIAS 2Łme annØe - I5 Version 1.0 - 12/02/02 E. Desmontils Emmanuel.Desmontils@irin.univ-nantes.fr

Exemple de BDRMatières codemat titre responsable diplôme

1 MIAS2I5 I5 E238 Deug MIAS

2 MIAS2I6 I6 E426 Deug MIAS

3 IUP2MA Automates E238 Licence IUP-MIAGE

4 LIL6 Systèmes E236 Licence Informatique

5 IUP2IS Systèmes E526 Licence IUP-MIAGE

6 MIAS2I3 Math-Info E426 Deug MIAS

7 LIL5 Algo E426 Licence Informatique- .= 30 �4>; > 5 67 ? :3; 2 .= 30 �4>; > 5 687 @

Base de données – p.21/64

Page 51: Cours Deug MIAS 2Łme annØe - I5 · 2009. 9. 11. · Base de donnØes Cours Deug MIAS 2Łme annØe - I5 Version 1.0 - 12/02/02 E. Desmontils Emmanuel.Desmontils@irin.univ-nantes.fr

Exemple de BDRNotes noe codemat noteex notecc

1 99628C MIAS2I5 12 15.5

2 46283B MIAS2I6 8 11

3 46283B MIAS2I5 9.5 2

4 86719E IUP2MA 12 5.5

5 99321C LIL6 18 16.5

6 28936E MIAS2I5 13.5 13.5

7 86719E IUP2IS 8.5 10

8 99628C MIAS2I6 3 6

9 99321C LIL5 15 14.5

10 99322C MIAS2I5 12 15.5

11 28936E MIAS2I6 12 null- .A B0 > 5 687 ? :3 ; 2 .A B0 > 5 6 7 � �

Base de données – p.21/64

Page 52: Cours Deug MIAS 2Łme annØe - I5 · 2009. 9. 11. · Base de donnØes Cours Deug MIAS 2Łme annØe - I5 Version 1.0 - 12/02/02 E. Desmontils Emmanuel.Desmontils@irin.univ-nantes.fr

Exemple de BDR«Tous les étudiants ayant leur moyenne à l’examen deI5»Select noetu, nom, prenom

From Etudiants, Notes, Matieres

Where Etudiants.noetu=Notes.noe And

Matiere.codemat=Notes.codemat And noteex>=10

And titre=’I5’;

Base de données – p.21/64

Page 53: Cours Deug MIAS 2Łme annØe - I5 · 2009. 9. 11. · Base de donnØes Cours Deug MIAS 2Łme annØe - I5 Version 1.0 - 12/02/02 E. Desmontils Emmanuel.Desmontils@irin.univ-nantes.fr

Clé d’une relation (Def. 1)

� L’ensemble d’attributs permettant d’identifier demanière unique un t-uple ;

Permet de différencier chacun des t-uples d’unetable ;Attention : il peut y avoir plusieurs clés possiblespour une relation.

Base de données – p.22/64

Page 54: Cours Deug MIAS 2Łme annØe - I5 · 2009. 9. 11. · Base de donnØes Cours Deug MIAS 2Łme annØe - I5 Version 1.0 - 12/02/02 E. Desmontils Emmanuel.Desmontils@irin.univ-nantes.fr

Clé d’une relation (Def. 1)

� L’ensemble d’attributs permettant d’identifier demanière unique un t-uple ;Permet de différencier chacun des t-uples d’unetable ;

� Attention : il peut y avoir plusieurs clés possiblespour une relation.

Base de données – p.22/64

Page 55: Cours Deug MIAS 2Łme annØe - I5 · 2009. 9. 11. · Base de donnØes Cours Deug MIAS 2Łme annØe - I5 Version 1.0 - 12/02/02 E. Desmontils Emmanuel.Desmontils@irin.univ-nantes.fr

Exemple de BDRÉtudiants noetu nom prénom

1 28936E Dupont Franck

2 46283B Dupont Isabelle

3 86719E Martin Adrien

4 99628C Robert Adrien

5 99321C Denou Michelle

6 99322C Dupont Isabelle

Base de données – p.23/64

Page 56: Cours Deug MIAS 2Łme annØe - I5 · 2009. 9. 11. · Base de donnØes Cours Deug MIAS 2Łme annØe - I5 Version 1.0 - 12/02/02 E. Desmontils Emmanuel.Desmontils@irin.univ-nantes.fr

Exemple de BDRMatières codemat titre responsable diplôme

1 MIAS2I5 I5 E238 Deug MIAS

2 MIAS2I6 I6 E426 Deug MIAS

3 IUP2MA Automates E238 Licence IUP-MIAGE

4 LIL6 Systèmes E236 Licence Informatique

5 IUP2IS Systèmes E526 Licence IUP-MIAGE

6 MIAS2I3 Math-Info E426 Deug MIAS

7 LIL5 Algo E426 Licence Informatique

Base de données – p.23/64

Page 57: Cours Deug MIAS 2Łme annØe - I5 · 2009. 9. 11. · Base de donnØes Cours Deug MIAS 2Łme annØe - I5 Version 1.0 - 12/02/02 E. Desmontils Emmanuel.Desmontils@irin.univ-nantes.fr

Exemple de BDRNotes noe codemat noteex notecc

1 99628C MIAS2I5 12 15.5

2 46283B MIAS2I6 8 11

3 46283B MIAS2I5 9.5 2

4 86719E IUP2MA 12 5.5

5 99321C LIL6 18 16.5

6 28936E MIAS2I5 13.5 13.5

7 86719E IUP2IS 8.5 10

8 99628C MIAS2I6 3 6

9 99321C LIL5 15 14.5

10 99322C MIAS2I5 12 15.5

11 28936E MIAS2I6 12 null

Base de données – p.23/64

Page 58: Cours Deug MIAS 2Łme annØe - I5 · 2009. 9. 11. · Base de donnØes Cours Deug MIAS 2Łme annØe - I5 Version 1.0 - 12/02/02 E. Desmontils Emmanuel.Desmontils@irin.univ-nantes.fr

Algèbre relationnelle et SQL

� Algèbre relationnelle : Codd 70

� Formaliser les opérations sur les ensembles

� SQL : langage relationnel extrêmement répenduSelect From Where ...;

� Opérations de base : ensemble minimald’opérations telles que toute autre opération peutêtre déduite par celles-ci;

� opérations unaires (2) ;

� opérations ensemblistes (3) ;

� Opérations dérivées : opérations définies à partirdes cinq opérateurs de base.

Base de données – p.24/64

Page 59: Cours Deug MIAS 2Łme annØe - I5 · 2009. 9. 11. · Base de donnØes Cours Deug MIAS 2Łme annØe - I5 Version 1.0 - 12/02/02 E. Desmontils Emmanuel.Desmontils@irin.univ-nantes.fr

Opérations de base unaires

� Éliminer des attributs ou des t-uples dans unerelation ;

� Projection : réduire le nombre d’attributs pour negarder que ceux utiles ;

� Sélection : ne garder que les t-uples significatifs.

Base de données – p.25/64

Page 60: Cours Deug MIAS 2Łme annØe - I5 · 2009. 9. 11. · Base de donnØes Cours Deug MIAS 2Łme annØe - I5 Version 1.0 - 12/02/02 E. Desmontils Emmanuel.Desmontils@irin.univ-nantes.fr

Opérations unaires IProjection :

Arguments

C .DFE GH H H G DJI 6

Notation

K 7 LNMOQPR R R P MS . C 6 7

T; B U >V 0 . C G 3E G H H H G 3W 6 7 C . 3E G H H H G 3W 6avec

XZY �

Schéma

K . 3E GH H H G 3 W 6

Valeur t-uples de

C

dont on ne garde que les at-tributs 3E G H H H G 3W , les doublons sont sup-primés.

SQL Select distinct A,C From R;

NB

- . L . C 6 6\[ - . C 6et

] L . C 6 ] [ ] C ]T

3E GH H H G 3W

R

Base de données – p.26/64

Page 61: Cours Deug MIAS 2Łme annØe - I5 · 2009. 9. 11. · Base de donnØes Cours Deug MIAS 2Łme annØe - I5 Version 1.0 - 12/02/02 E. Desmontils Emmanuel.Desmontils@irin.univ-nantes.fr

Exemple de projectionR1 A B C

1 a b c

2 d a f

3 c b d

S1 A B C

1 b g a

2 d a f

Select Distinct A,C From R1;

D G : ' ^ (

A C

1 a c

2 d f

3 c d

Base de données – p.27/64

Page 62: Cours Deug MIAS 2Łme annØe - I5 · 2009. 9. 11. · Base de donnØes Cours Deug MIAS 2Łme annØe - I5 Version 1.0 - 12/02/02 E. Desmontils Emmanuel.Desmontils@irin.univ-nantes.fr

Clé d’une relation (Def. 2)

� Tous les tuples de la relation se distinguent deuxà deux par leur projection selon la clé.

, , _ , :` > ' ( ,

Étudiants noetu nom prénom

1 28936E Dupont Franck

2 46283B Dupont Isabelle

3 86719E Martin Adrien

4 99628C Robert Adrien

5 99321C Denou Michelle

6 99322C Dupont Isabelle

Base de données – p.28/64

Page 63: Cours Deug MIAS 2Łme annØe - I5 · 2009. 9. 11. · Base de donnØes Cours Deug MIAS 2Łme annØe - I5 Version 1.0 - 12/02/02 E. Desmontils Emmanuel.Desmontils@irin.univ-nantes.fr

Opérations unaires IIRestriction ou Sélection :

Arguments

C .DFE GH H H G DJI 6

Notation

K 7 ab . C 6 7 : B � 2b . C 6 7 C .c 6 7

d> ` >V 0 . C G c 6 7 C> 50 ; �V 0 . C G c 6

avecc

uneformule logique sur les attributs (négation,conjonction ou disjonction entre termes de laforme

Dfe gDfh ou

Dfe g3 oùDfe etDfh sont des

attributs, 3 une constante etg

un opérateur decomparaison

Schéma

K . DiE G H H H G DjI 6Valeur t-uples de

Csatisfaisant la qualification Q.

SQL Select * From R Where Q;

NB

- . a . C 6 687 - . C 6

et

] a . C 6 ] [ ] C ]T

c

R

Base de données – p.29/64

Page 64: Cours Deug MIAS 2Łme annØe - I5 · 2009. 9. 11. · Base de donnØes Cours Deug MIAS 2Łme annØe - I5 Version 1.0 - 12/02/02 E. Desmontils Emmanuel.Desmontils@irin.univ-nantes.fr

Exemple de sélectionR1 A B C

1 a b c

2 d a f

3 c b d

S1 A B C

1 b g a

2 d a f

Select * From R1 Where B=’b’;

kQl 7 m n m ' ^ (

A B C

1 a b c

2 c b d

Base de données – p.30/64

Page 65: Cours Deug MIAS 2Łme annØe - I5 · 2009. 9. 11. · Base de donnØes Cours Deug MIAS 2Łme annØe - I5 Version 1.0 - 12/02/02 E. Desmontils Emmanuel.Desmontils@irin.univ-nantes.fr

Opérations de base ensemblistes

� Combinaison de deux relations pour en formerune troisième ;

� Union : regroupement de données similaires ;

� Différence : réduction d’un ensemble dedonnées ;

� Produit cartésien : peu utilisé directement(combinaison de données).

Base de données – p.31/64

Page 66: Cours Deug MIAS 2Łme annØe - I5 · 2009. 9. 11. · Base de donnØes Cours Deug MIAS 2Łme annØe - I5 Version 1.0 - 12/02/02 E. Desmontils Emmanuel.Desmontils@irin.univ-nantes.fr

Opérations ensemblistes IUnion :

Arguments

C .DiE GH H H G DjI 6 d .DiE GH H H G DjI 6

Notation

K 7 C o d 7 p � � B � . C G d 6 7

q; . C G d 67 Dsr r > � 2 . C G d 6

Schéma

K . DFE G H H H G DJI 6

Valeur Union ensembliste surtE u twv u H H H u tI telle que :K7 x0 y0 z C{ 0 z d |SQL Select * From R UNION

Select * from S;

NB

- . C} d 687 - . C 687 - . d 6

et

] C } d ] [ ] C ]�~ ] d ]

T

o

R S

Base de données – p.32/64

Page 67: Cours Deug MIAS 2Łme annØe - I5 · 2009. 9. 11. · Base de donnØes Cours Deug MIAS 2Łme annØe - I5 Version 1.0 - 12/02/02 E. Desmontils Emmanuel.Desmontils@irin.univ-nantes.fr

Exemple d’unionR1 A B C

1 a b c

2 d a f

3 c b d

S1 A B C

1 b g a

2 d a f

Select * From R1 Union Select * From S1;�� � � �

A B C

1 a b c

2 d a f

3 c b d

4 b g a

Base de données – p.33/64

Page 68: Cours Deug MIAS 2Łme annØe - I5 · 2009. 9. 11. · Base de donnØes Cours Deug MIAS 2Łme annØe - I5 Version 1.0 - 12/02/02 E. Desmontils Emmanuel.Desmontils@irin.univ-nantes.fr

Opérations ensemblistes IIDifférence :

Arguments

C .DFE GH H H G DJI 6 d .DFE GH H H G DJI 6

Notation

K 7 Ci� d 7 t � � � . C G d 6 7

C> � B� > . C G d 6 7 = � � 1 5 . C G d 6Schéma

K . DFE G H H H G DJI 6

Valeur Différence ensembliste surtE u twv u H H H u tI telle que :K7 x0 y0 z C� 0 y z d |SQL Select

DiE GH H H G DjI From R

EXCEPT Select

DFE G H H H G DJI

from S;

NB

- . C� d 6 7 - . C 687 - . d 6

et] C� d ] [ ] C ]

T

R S

Base de données – p.34/64

Page 69: Cours Deug MIAS 2Łme annØe - I5 · 2009. 9. 11. · Base de donnØes Cours Deug MIAS 2Łme annØe - I5 Version 1.0 - 12/02/02 E. Desmontils Emmanuel.Desmontils@irin.univ-nantes.fr

Exemple de différenceR1 A B C

1 a b c

2 d a f

3 c b d

S1 A B C

1 b g a

2 d a f

Select * From R1 Except Select * From S1;�� � � �

A B C

1 a b c

2 c b d

Base de données – p.35/64

Page 70: Cours Deug MIAS 2Łme annØe - I5 · 2009. 9. 11. · Base de donnØes Cours Deug MIAS 2Łme annØe - I5 Version 1.0 - 12/02/02 E. Desmontils Emmanuel.Desmontils@irin.univ-nantes.fr

Opérations ensemblistes IIIProduit cartésien :

Arguments

C .DFE GH H H G DJI 6 d . lE GH H H G l � 6

Notation

K 7 C u d 7 T; B 2 . C G d 6 7

T; B 2 1V 0 . C G d 67 K � �> 5 . C G d 6Schéma

K . DFE G H H H G DJI G lE GH H H G l � 6

Valeur Ensemble de tous les t-uples ayant�~ � attributs dont les � premiersforment un t-uple de

Cet les �

derniers un t-uple ded

SQL Select * From R,S;

NB

- . C u d 6 7 - . C 6~ - . d 6

et

] C u d ] 7 ] C ]�� ] d ]

T

u

R S

Base de données – p.36/64

Page 71: Cours Deug MIAS 2Łme annØe - I5 · 2009. 9. 11. · Base de donnØes Cours Deug MIAS 2Łme annØe - I5 Version 1.0 - 12/02/02 E. Desmontils Emmanuel.Desmontils@irin.univ-nantes.fr

Exemple de produit cartésienR1 A B C

1 a b c

2 d a f

3 c b d

S1 A B C

1 b g a

2 d a f

Select * From R1, S1;� " �

R1.A R1.B R1.C S1.A S1.B S1.C

1 a b c b g a

2 a b c d a f

3 d a f b g a

4 d a f d a f

5 c b d b g a

6 c b d d a fBase de données – p.37/64

Page 72: Cours Deug MIAS 2Łme annØe - I5 · 2009. 9. 11. · Base de donnØes Cours Deug MIAS 2Łme annØe - I5 Version 1.0 - 12/02/02 E. Desmontils Emmanuel.Desmontils@irin.univ-nantes.fr

Opérations dérivées

� Intersection ;

� Quotient ;

� Complément ;

� �

-jointure : opération majeure dans les SGBDR ;Elle permet d’enrichir des t-uples et de mettre enrelation des attributs ;

� Jointure naturelle ;

� Semi-jointure ;

� Jointure externe.

Base de données – p.38/64

Page 73: Cours Deug MIAS 2Łme annØe - I5 · 2009. 9. 11. · Base de donnØes Cours Deug MIAS 2Łme annØe - I5 Version 1.0 - 12/02/02 E. Desmontils Emmanuel.Desmontils@irin.univ-nantes.fr

Opérations dérivées IIntersection :

Arguments

C .DiE GH H H G DjI 6 d .DiE GH H H G DjI 6

Notation

K 7 C� d 7 � �0 >; . C G d 6 7

D � 2 . C G d 6

Schéma

K . DFE G H H H G DJI 6

Valeur Intersection ensembliste surtE u twv u H H H u tI telle que :K 7 x0 y0 z C � 0 z d | 7

C� . C� d 687 d� . d� C 6

SQL Select * From R INTERSECT

Select * From S;

NB

- . C� d 687 - . C 687 - . d 6

et] C� d ] [ ] C ]

et

] C� d ] [ ] d ]T

R S

Base de données – p.39/64

Page 74: Cours Deug MIAS 2Łme annØe - I5 · 2009. 9. 11. · Base de donnØes Cours Deug MIAS 2Łme annØe - I5 Version 1.0 - 12/02/02 E. Desmontils Emmanuel.Desmontils@irin.univ-nantes.fr

Exemple d’intersectionR1 A B C

1 a b c

2 d a f

3 c b d

S1 A B C

1 b g a

2 d a f

Select * From R1 Intersect Select * From S1;�� � � �

A B C

1 d a f

Base de données – p.40/64

Page 75: Cours Deug MIAS 2Łme annØe - I5 · 2009. 9. 11. · Base de donnØes Cours Deug MIAS 2Łme annØe - I5 Version 1.0 - 12/02/02 E. Desmontils Emmanuel.Desmontils@irin.univ-nantes.fr

Opérations dérivées IIQuotient :

Arguments

C .DFE GH H H G DJI 6 d .DJ� �E GH H H G DJI 6

Notation

K 7 C y d 7 CZ� d 7 t � � . C G d 6 7

D � 2 . C G d 6

Schéma

K . DFE G H H H G DJ� 6

Valeur t-uples qui concaténés à ceux ded

don-nent toujours un t-uple de

C.

K 7

C y d7 LN� . C 6� LN� . . LN� . C 6 u d 6� C 6

avec � 7 DFE G H H H G DJ�NB

- . C y d 67 - . C 6� - . d 6

et

] C y d ] [ ] C ]Concrètement, permet de chercher tous les t-

uples d’une table satisfaisant une sous-table. Per-

met de chercher les t-uples de

qui vérifient tous

les t-uples de

.

T

R S

Base de données – p.41/64

Page 76: Cours Deug MIAS 2Łme annØe - I5 · 2009. 9. 11. · Base de donnØes Cours Deug MIAS 2Łme annØe - I5 Version 1.0 - 12/02/02 E. Desmontils Emmanuel.Desmontils@irin.univ-nantes.fr

Exemple de quotientR2 A B C D

1 a b c d

2 a b e f

3 b c e f

4 e d e d

5 e d e f

6 a b d e

S2 C D

1 e d

2 e f

�� � � �

A B

1 e d

Base de données – p.42/64

Page 77: Cours Deug MIAS 2Łme annØe - I5 · 2009. 9. 11. · Base de donnØes Cours Deug MIAS 2Łme annØe - I5 Version 1.0 - 12/02/02 E. Desmontils Emmanuel.Desmontils@irin.univ-nantes.fr

Exemple de quotientR2 A B C D

1 a b c d

2 a b e f

3 b c e f

4 e d e d

5 e d e f

6 a b e d

S2 C D

1 e d

2 e f

�� � � �

A B

1 a b

2 e d

Base de données – p.43/64

Page 78: Cours Deug MIAS 2Łme annØe - I5 · 2009. 9. 11. · Base de donnØes Cours Deug MIAS 2Łme annØe - I5 Version 1.0 - 12/02/02 E. Desmontils Emmanuel.Desmontils@irin.univ-nantes.fr

Opérations dérivées IIIComplément :

Arguments

C .DFE GH H H G DJI 6

Notation

K 7 � C 7 A r 0 . C G d 6 7

: B �r . C G d 6

Schéma

K . DFE G H H H G DJI 6

Valeur

K7 x0 y0 z tE u H H H u tI � 0 y z C |7. tE u H H H u tI 6� CNB

- . � C 67 - . C 6

et

] � C ]� ] C ]

T�

R

Base de données – p.44/64

Page 79: Cours Deug MIAS 2Łme annØe - I5 · 2009. 9. 11. · Base de donnØes Cours Deug MIAS 2Łme annØe - I5 Version 1.0 - 12/02/02 E. Desmontils Emmanuel.Desmontils@irin.univ-nantes.fr

Opérations dérivées IV

-jointure (Jointure interne) :Arguments

� �� �¢¡ £ £ £¡ �F¤ ¥ � �¦� ¡ £ £ £¡ ¦�§ ¥

Notation

¨ © �«ª¬ ­ � © ®°¯ ±³² � �¡ �¡ ´ ¥ ©®°¯ ±³² ­ � �¡ � ¥

avec

´

une combinaison logique(

µ¡ ¶¡ ·) de termes de la forme

�¹¸ º¼» ¦¾½ etº¼» ¿ À ©¡ Á¡ ¡ á Ä¡ Å © Æ

Schéma

¨ �� �¢¡ £ £ £¡ �Ǥ ¡ ¦�¢¡ £ £ £¡ ¦È§ ¥

Valeur t-uples de

�«É �

vérifiant la qualification Q.¨ © �ª¬ ­ � © Ê ­ � �«É � ¥SQL Select * From R,S Where Q ;

Select * From R Join S On Q;

NB

º¼» © Ë © Ì Ì : équijointure (sinon innéquijoin-ture) ;�ª¬ ­ �

: autojointure.

T

ª¬ ­

R S

Base de données – p.45/64

Page 80: Cours Deug MIAS 2Łme annØe - I5 · 2009. 9. 11. · Base de donnØes Cours Deug MIAS 2Łme annØe - I5 Version 1.0 - 12/02/02 E. Desmontils Emmanuel.Desmontils@irin.univ-nantes.fr

Exemple de jointure interneR3 A B C

1 1 2 3

2 4 5 6

3 7 8 9

S3 D E

1 3 1

2 6 9

Select * From R3 Join S3 On B<D;Select * From R3, S3 Where B<D;�Í ÎÏ ¦ Á Ð � Í

A B C D E

1 1 2 3 3 1

2 1 2 3 6 9

3 4 5 6 6 9

Base de données – p.46/64

Page 81: Cours Deug MIAS 2Łme annØe - I5 · 2009. 9. 11. · Base de donnØes Cours Deug MIAS 2Łme annØe - I5 Version 1.0 - 12/02/02 E. Desmontils Emmanuel.Desmontils@irin.univ-nantes.fr

Opérations dérivées VJointure naturelle :

Arguments

� ����³¡ £ £¡ �Ǥ ¡ Ñ�³¡ £ £¡ ÑÈÒ ¥ � �¦� ¡ £ £¡ ¦È§ ¡ Ñ� ¡ £ £¡ ÑÈÒ ¥Notation

¨ © �ª¬ �

Schéma

¨ ����³¡ £ £¡ �i¤ ¡ ¦� ¡ £ £¡ ¦Ó§ ¡ Ñ�³¡ £ £¡ ÑÓÒ ¥

Valeur Ensemble de tous les t-uples ayant Ô Õ ² Õ » attributsdont les ² premiers et » derniers forment un t-uple de�

et les Ô Õ » derniers forment un t-uple de�

.¨ © �ª¬ � ©

ÖØ×¼ÙÛÚ ÜÞÝÚ ßS � Êภá â� Ú Ò ãÚ ä�å ßÙ æ çå ßÙ � �«É � ¥ ¥

SQL Select * From R,S Where... ;

Select * From R Natural Join S;

NB Jointure la plus utilisée.

T

ª¬

R S

Base de données – p.47/64

Page 82: Cours Deug MIAS 2Łme annØe - I5 · 2009. 9. 11. · Base de donnØes Cours Deug MIAS 2Łme annØe - I5 Version 1.0 - 12/02/02 E. Desmontils Emmanuel.Desmontils@irin.univ-nantes.fr

Exemple de jointure naturelleR4 A B C

1 a b c

2 d b c

3 b b f

4 c a d

S4 B C D

1 b c d

2 b c e

3 a d b

Select * From R4 Natural Join S4;

Select * From R4, S4 Where R4.B=S4.B And R4.C=S4.C ;�è éê � è

A B C D

1 a b c d

2 a b c e

3 d b c d

4 d b c e

5 c a d b Base de données – p.48/64

Page 83: Cours Deug MIAS 2Łme annØe - I5 · 2009. 9. 11. · Base de donnØes Cours Deug MIAS 2Łme annØe - I5 Version 1.0 - 12/02/02 E. Desmontils Emmanuel.Desmontils@irin.univ-nantes.fr

Opérations dérivées VISemi-jointure :

Arguments

� �� �¢¡ £ £ £¡ �F¤ ¡ Ñ� ¡ £ £ £¡ Ñ�Ò ¥ � �¦� ¡ £ £ £¡ ¦�§ ¡ Ñ�¢¡ £ £ £¡ Ñ�Ò ¥Notation

¨ © �¬ �

Schéma

¨ �� �¢¡ £ £ £¡ �i¤ ¡ Ñ�¢¡ £ £ £¡ ÑÓÒ ¥

Valeur Projection sur les attributs de

de la jointurenaturelle entre

et

.

¨ © �¬ � ©ÖØ× OÚ å å åÚ ×ìë Ú ßOÚ å å åÚ ß¹í � �ª¬ � ¥

T

¬

R S

Base de données – p.49/64

Page 84: Cours Deug MIAS 2Łme annØe - I5 · 2009. 9. 11. · Base de donnØes Cours Deug MIAS 2Łme annØe - I5 Version 1.0 - 12/02/02 E. Desmontils Emmanuel.Desmontils@irin.univ-nantes.fr

Exemple de semi-jointureR4 A B C

1 a b c

2 d b c

3 b b f

4 c a d

S4 B C D

1 b c d

2 b c e

3 a d b

�î Ï � î

A B C

1 a b c

2 d b c

3 c a d

Base de données – p.50/64

Page 85: Cours Deug MIAS 2Łme annØe - I5 · 2009. 9. 11. · Base de donnØes Cours Deug MIAS 2Łme annØe - I5 Version 1.0 - 12/02/02 E. Desmontils Emmanuel.Desmontils@irin.univ-nantes.fr

Opérations dérivées VIIJointure externe :

Arguments

� �� �¢¡ £ £ £¡ �F¤ ¥ � �¦� ¡ £ £ £¡ ¦�§ ¥

Notation

¨ © � 媬 ­ �4ï ¨ © �ñ𪬠­ �4ï ¨ © �ª ¬ ð ­ �avec

´

une combinaison logique (

µ¡ ¶¡ ·) de termesde la forme

�¸ º¼» ¦¾½ et

º¼» ¿ À ©¡ Á¡ ¡ á Ä¡ Å © ÆSchéma

¨ �� �¢¡ £ £ £¡ �i¤ ¡ ¦�¢¡ £ £ £¡ ¦Ó§ ¥

Valeur t-uples de

�«É �

vérifiant la qualification Q.

+ Ajout les t-uples d’une relation (dite directrice) nevérifiant pas la condition en complétant les attributsde l’autre relation par des “null” (vide...). Les deuxrelations peuvent être directrices (position du point).

SQL Select * From R Left Outer Join S On Q;

Select * From R Right Outer Join S On Q;

Select * From R Full Outer Join S On Q;

Select * From R,S Where ...; avec

ò

du côté des at-tributs à compléter

T

媬 ­

R S

Base de données – p.51/64

Page 86: Cours Deug MIAS 2Łme annØe - I5 · 2009. 9. 11. · Base de donnØes Cours Deug MIAS 2Łme annØe - I5 Version 1.0 - 12/02/02 E. Desmontils Emmanuel.Desmontils@irin.univ-nantes.fr

Exemple de jointure externeR4 A B C

1 a b c

2 d b c

3 b b f

4 c a d

S4 B C D

1 b c d

2 b c e

3 a d b

Select * From R4 Left Outer Join S4;Select R4.A,R4.B,R4.C From R4, S4

Where R4.B=S4.B

ò

And R4.C=S4.C

ò;

C ?wó ôõ d ?

A B C D

1 a b c d

2 a b c e

3 d b c d

4 d b c e

5 b b f null

6 c a d bBase de données – p.52/64

Page 87: Cours Deug MIAS 2Łme annØe - I5 · 2009. 9. 11. · Base de donnØes Cours Deug MIAS 2Łme annØe - I5 Version 1.0 - 12/02/02 E. Desmontils Emmanuel.Desmontils@irin.univ-nantes.fr

Opérations de calcul

� Opérations “outils” qui sont des extensions desopérateurs de base et non fonction de cesopérateurs ;

� Comptage ;

� Somme ;

� Moyenne ;

� Minimum ;

� Maximum...

Base de données – p.53/64

Page 88: Cours Deug MIAS 2Łme annØe - I5 · 2009. 9. 11. · Base de donnØes Cours Deug MIAS 2Łme annØe - I5 Version 1.0 - 12/02/02 E. Desmontils Emmanuel.Desmontils@irin.univ-nantes.fr

Opérations de calcul IComptage :Arguments

� �� �¡ £ £ £¡ �F¤ ¥

Notation

¨ © ö¯ Ô» ÷Qø ßOÚ å å åÚ ßí � � ¥ ©ö¯ù ² ÷ ßOÚ å å åÚ ß¹í � � ¥

ou

¨ ©ö¯ Ô» ÷Qø � � ¥

avec

ú ± ¿ û� £ £ » ü¡ Ѹ ¿À �� ¡ £ £ £¡ �F¤ Æ

Schéma

¨ � Ñ� ¡ £ £ £¡ ÑÓÒ¡ ö» ÷ ¥

ou

¨ � ö» ÷ ¥

Valeur Dénombrer les t-uples qui ont une mêmevaleur d’attributs en commun. Si les at-tributs ne sont pas spécifiés, c’est le nom-bre de t-uples.

SQL Select Count(*) From R [Group By ...];

NB

ý � ö¼¯ù ² ÷ � � ¥ ¥ © � ,ý � ö¼¯ù ² ÷ ßOÚ å åÚ ßí � � ¥ ¥ © » Õ �

þ ö¼¯ù ² ÷ � � ¥ þ © � etþ ö¼¯ù ² ÷ ßÿO � � í � � � ¥ þ © þ Ö ßÿO � � í � � � ¥ þ

T

ö¯ù ² ÷ ßOÚ å å åÚ ßñí

R

Base de données – p.54/64

Page 89: Cours Deug MIAS 2Łme annØe - I5 · 2009. 9. 11. · Base de donnØes Cours Deug MIAS 2Łme annØe - I5 Version 1.0 - 12/02/02 E. Desmontils Emmanuel.Desmontils@irin.univ-nantes.fr

Exemple de comptageT A B C

1 a n 17

2 b o 14

3 c n 9

4 d p 13

5 e m 20

6 f m 10

Select Count(*) From T Group By B;

Select Count(*) From T;��� �� �¦ �

B Count

1 n 2

2 m 2

3 o 1

4 p 1

��� �� � �

Count

1 6

Base de données – p.55/64

Page 90: Cours Deug MIAS 2Łme annØe - I5 · 2009. 9. 11. · Base de donnØes Cours Deug MIAS 2Łme annØe - I5 Version 1.0 - 12/02/02 E. Desmontils Emmanuel.Desmontils@irin.univ-nantes.fr

Opérations de calcul IISomme :

Arguments

� ����³¡ £ £ £¡ �Ǥ ¥

Notation

¨ © � ¯ Ô Ôø ßOÚ å å åÚ ß¹í � �¡ � ¥ ©�ù Ô ßOÚ å å åÚ ßí � �¡ � ¥

ou¨ © � ¯ Ô Ôø � �¡ � ¥

avecú ± ¿ û� £ £ » ü¡ Ѹ ¿ À �� ¡ £ £ £¡ �F¤ Æet

� ¿ À ��¡ £ £ £¡ �F¤ Æ

Schéma

¨ � Ñ� ¡ £ £ £¡ ÑÓÒ¡ ö» ÷ ¥

ou

¨ � ö» ÷ ¥Valeur Somme cumulée des valeurs d’un at-

tribu

pour chacune des valeurs dif-férentes des attributs. Si les attributs nesont pas spécifiés, c’est la somme des

pout tout les t-uples de�.

SQL Select Sum(...) From R Group By ...;

NB On peut généraliser au calculs de lamoyenne, du minimum, du maximum...

T

�ù Ô ßOÚ å å åÚ ßí

R

Base de données – p.56/64

Page 91: Cours Deug MIAS 2Łme annØe - I5 · 2009. 9. 11. · Base de donnØes Cours Deug MIAS 2Łme annØe - I5 Version 1.0 - 12/02/02 E. Desmontils Emmanuel.Desmontils@irin.univ-nantes.fr

Exemple de sommeT A B C

1 a n 17

2 b o 14

3 c n 9

4 d p 13

5 e m 20

6 f m 10

Select Sum(C) From T Group By B;

Select Sum(C) From T;� � � ¦ � � �

B Sum

1 n 26

2 m 30

3 o 14

4 p 13

� � � � � �

Sum

1 83

Base de données – p.57/64

Page 92: Cours Deug MIAS 2Łme annØe - I5 · 2009. 9. 11. · Base de donnØes Cours Deug MIAS 2Łme annØe - I5 Version 1.0 - 12/02/02 E. Desmontils Emmanuel.Desmontils@irin.univ-nantes.fr

Expression

� Une expression de l’algèbre relationnelle est uneexpression composée de relations et d’opérateursde l’algèbre relationnelle (de base ou non).

� Le résultat d’une expression est une relation surlaquelle on peut faire une autre opération.

N.B. En SQL, une table peut être une donnée de baseou le résultat d’une expression (notion de vueappelée “view”)

Base de données – p.58/64

Page 93: Cours Deug MIAS 2Łme annØe - I5 · 2009. 9. 11. · Base de donnØes Cours Deug MIAS 2Łme annØe - I5 Version 1.0 - 12/02/02 E. Desmontils Emmanuel.Desmontils@irin.univ-nantes.fr

Exemple d’expressionR1 A B C

1 a b c

2 d a f

3 c b d

S1 A B C

1 b g a

2 d a f

�� ��� ö © Ì� Ì ��� ¦ © Ì� Ì � � � � � �

?

Select A From R1 Where B=’b’ And C=’d’ ;

A B C

1 c b d

A

1 c

Base de données – p.59/64

Page 94: Cours Deug MIAS 2Łme annØe - I5 · 2009. 9. 11. · Base de donnØes Cours Deug MIAS 2Łme annØe - I5 Version 1.0 - 12/02/02 E. Desmontils Emmanuel.Desmontils@irin.univ-nantes.fr

Exemple d’expressionR1 A B C

1 a b c

2 d a f

3 c b d

S1 A B C

1 b g a

2 d a f

�� ��� ö © Ì� Ì ��� ¦ © Ì� Ì � � � � � �

?

Select A From R1 Where B=’b’ And C=’d’ ;C m7 a� � � � � . C � 6

A B C

1 a b c

2 c b d

A B C

1 c b d

A

1 c

Base de données – p.59/64

Page 95: Cours Deug MIAS 2Łme annØe - I5 · 2009. 9. 11. · Base de donnØes Cours Deug MIAS 2Łme annØe - I5 Version 1.0 - 12/02/02 E. Desmontils Emmanuel.Desmontils@irin.univ-nantes.fr

Exemple d’expressionR1 A B C

1 a b c

2 d a f

3 c b d

S1 A B C

1 b g a

2 d a f

�� ��� ö © Ì� Ì ��� ¦ © Ì� Ì � � � � � �

?

Select A From R1 Where B=’b’ And C=’d’ ;C m7 a� � � � � . C � 6

A B C

1 a b c

2 c b dC m m7 a� � � � � . C m 6

A B C

1 c b d

A

1 c

Base de données – p.59/64

Page 96: Cours Deug MIAS 2Łme annØe - I5 · 2009. 9. 11. · Base de donnØes Cours Deug MIAS 2Łme annØe - I5 Version 1.0 - 12/02/02 E. Desmontils Emmanuel.Desmontils@irin.univ-nantes.fr

Exemple d’expressionR1 A B C

1 a b c

2 d a f

3 c b d

S1 A B C

1 b g a

2 d a f

�� ��� ö © Ì� Ì ��� ¦ © Ì� Ì � � � � � �

?

Select A From R1 Where B=’b’ And C=’d’ ;C m7 a� � � � � . C � 6

A B C

1 a b c

2 c b dC m m7 a� � � � � . C m 6

A B C

1 c b d

L�� . a� � � � ��� � � � � � . C � 6 6 7 L� . C m m 6A

1 c

Base de données – p.59/64

Page 97: Cours Deug MIAS 2Łme annØe - I5 · 2009. 9. 11. · Base de donnØes Cours Deug MIAS 2Łme annØe - I5 Version 1.0 - 12/02/02 E. Desmontils Emmanuel.Desmontils@irin.univ-nantes.fr

Propriétés

� !

-jointure, Union et Intersection sont commutatives

-jointure, Union et Intersection sont associatives

Si , alors

Base de données – p.60/64

Page 98: Cours Deug MIAS 2Łme annØe - I5 · 2009. 9. 11. · Base de donnØes Cours Deug MIAS 2Łme annØe - I5 Version 1.0 - 12/02/02 E. Desmontils Emmanuel.Desmontils@irin.univ-nantes.fr

Propriétés

� !

-jointure, Union et Intersection sont commutatives

� !

-jointure, Union et Intersection sont associatives

Si , alors

Base de données – p.60/64

Page 99: Cours Deug MIAS 2Łme annØe - I5 · 2009. 9. 11. · Base de donnØes Cours Deug MIAS 2Łme annØe - I5 Version 1.0 - 12/02/02 E. Desmontils Emmanuel.Desmontils@irin.univ-nantes.fr

Propriétés

� !

-jointure, Union et Intersection sont commutatives

� !

-jointure, Union et Intersection sont associatives

� � ´#" ��� ´� � � � � $ � ´� µ ´#" � � �

Si , alors

Base de données – p.60/64

Page 100: Cours Deug MIAS 2Łme annØe - I5 · 2009. 9. 11. · Base de donnØes Cours Deug MIAS 2Łme annØe - I5 Version 1.0 - 12/02/02 E. Desmontils Emmanuel.Desmontils@irin.univ-nantes.fr

Propriétés

� !

-jointure, Union et Intersection sont commutatives

� !

-jointure, Union et Intersection sont associatives

� � ´#" ��� ´� � � � � $ � ´� µ ´#" � � �

� � ´� � � � � � ´#" � � � $ � ´� ¶ ´#" � � �

Si , alors

Base de données – p.60/64

Page 101: Cours Deug MIAS 2Łme annØe - I5 · 2009. 9. 11. · Base de donnØes Cours Deug MIAS 2Łme annØe - I5 Version 1.0 - 12/02/02 E. Desmontils Emmanuel.Desmontils@irin.univ-nantes.fr

Propriétés

� !

-jointure, Union et Intersection sont commutatives

� !

-jointure, Union et Intersection sont associatives

� � ´#" ��� ´� � � � � $ � ´� µ ´#" � � �

� � ´� � � � � � ´#" � � � $ � ´� ¶ ´#" � � �

� ���¡ £ £ £¡ � Ò �� ´ � � � � $ � ´ � ���¡ £ £ £¡ � Ò � � � �

% � & ' ± ( )+* ' ± ( , '� *- - - * '» .

Si , alors

Base de données – p.60/64

Page 102: Cours Deug MIAS 2Łme annØe - I5 · 2009. 9. 11. · Base de donnØes Cours Deug MIAS 2Łme annØe - I5 Version 1.0 - 12/02/02 E. Desmontils Emmanuel.Desmontils@irin.univ-nantes.fr

Propriétés

� !

-jointure, Union et Intersection sont commutatives

� !

-jointure, Union et Intersection sont associatives

� � ´#" ��� ´� � � � � $ � ´� µ ´#" � � �

� � ´� � � � � � ´#" � � � $ � ´� ¶ ´#" � � �

� ���¡ £ £ £¡ � Ò �� ´ � � � � $ � ´ � ���¡ £ £ £¡ � Ò � � � �

% � & ' ± ( )+* ' ± ( , '� *- - - * '» .

� Si

/ '10 ( ) � '10 � ( , '� *- - - * '» ., alors���¡ £ £ £¡ � Ò �� ´ � � � � $ ���¡ £ £ £¡ � Ò �� ´ � ���°¡ £ £ £¡ � Ò¡ � ½ � � � � �

Base de données – p.60/64

Page 103: Cours Deug MIAS 2Łme annØe - I5 · 2009. 9. 11. · Base de donnØes Cours Deug MIAS 2Łme annØe - I5 Version 1.0 - 12/02/02 E. Desmontils Emmanuel.Desmontils@irin.univ-nantes.fr

Propriétés

� � ´ ��¸ ¥ µ ´ Ì �¦¾½ ¥ � � Î Ï ´ Ì Ì � � $ � ´ ��¸ ¥ � � � Î Ï ´ Ì Ì � ´ Ì �¦¾½ ¥ � � �

si

sinon

Base de données – p.61/64

Page 104: Cours Deug MIAS 2Łme annØe - I5 · 2009. 9. 11. · Base de donnØes Cours Deug MIAS 2Łme annØe - I5 Version 1.0 - 12/02/02 E. Desmontils Emmanuel.Desmontils@irin.univ-nantes.fr

Propriétés

� � ´ ��¸ ¥ µ ´ Ì �¦¾½ ¥ � � Î Ï ´ Ì Ì � � $ � ´ ��¸ ¥ � � � Î Ï ´ Ì Ì � ´ Ì �¦¾½ ¥ � � �

� � ´ � � � � � $ � ´ � � � � � ´ � � �

si

sinon

Base de données – p.61/64

Page 105: Cours Deug MIAS 2Łme annØe - I5 · 2009. 9. 11. · Base de donnØes Cours Deug MIAS 2Łme annØe - I5 Version 1.0 - 12/02/02 E. Desmontils Emmanuel.Desmontils@irin.univ-nantes.fr

Propriétés

� � ´ ��¸ ¥ µ ´ Ì �¦¾½ ¥ � � Î Ï ´ Ì Ì � � $ � ´ ��¸ ¥ � � � Î Ï ´ Ì Ì � ´ Ì �¦¾½ ¥ � � �

� � ´ � � � � � $ � ´ � � � � � ´ � � �

� L32 . C ôõ b d 6 7456

L 2 78 9 . C 6 ô õ b L 2 7: 9 . d 6

si

;< h z c G < h z x DÈe | } x le |

L 2 . L=2 78 9> ? � Ù @ . C 6 ôõ b L 2 7 : 9> ? � Ù @ . d 6 6sinonx De | } x lh |BA c

Base de données – p.61/64

Page 106: Cours Deug MIAS 2Łme annØe - I5 · 2009. 9. 11. · Base de donnØes Cours Deug MIAS 2Łme annØe - I5 Version 1.0 - 12/02/02 E. Desmontils Emmanuel.Desmontils@irin.univ-nantes.fr

Propriétés

� � ´ ��¸ ¥ µ ´ Ì �¦¾½ ¥ � � Î Ï ´ Ì Ì � � $ � ´ ��¸ ¥ � � � Î Ï ´ Ì Ì � ´ Ì �¦¾½ ¥ � � �

� � ´ � � � � � $ � ´ � � � � � ´ � � �

� L32 . C ôõ b d 6 7456

L 2 78 9 . C 6 ô õ b L 2 7: 9 . d 6

si

;< h z c G < h z x DÈe | } x le |

L 2 . L=2 78 9> ? � Ù @ . C 6 ôõ b L 2 7 : 9> ? � Ù @ . d 6 6sinonx De | } x lh |BA c

� �DC � � � � � $ � C � � ¥ � � � � �EC � � ¥ � � �

Base de données – p.61/64

Page 107: Cours Deug MIAS 2Łme annØe - I5 · 2009. 9. 11. · Base de donnØes Cours Deug MIAS 2Łme annØe - I5 Version 1.0 - 12/02/02 E. Desmontils Emmanuel.Desmontils@irin.univ-nantes.fr

Remarque I

� Coût relatifs des opérateurs en terme de quantitéd’information produites (cas général)�

FGH

IJFG

H

KFL

H

MFN

H

OPN

Q

R

Base de données – p.62/64

Page 108: Cours Deug MIAS 2Łme annØe - I5 · 2009. 9. 11. · Base de donnØes Cours Deug MIAS 2Łme annØe - I5 Version 1.0 - 12/02/02 E. Desmontils Emmanuel.Desmontils@irin.univ-nantes.fr

Remarque II

S Coût des opérateurs+ Possibilité de permutter l’ordre des opérations

(Cf. propriétés)Possibilité (et nécessité) de réduireconsidérablement la taille des relationsintermédiaires

S moins de place

S plus rapide

S Il existe plusieurs solutions pour obtenir unerelation : choisir la plus efficace.

Piste : en général, chercher à appliquer les opérateurs desélection et de projection le plus tôt possible.

Base de données – p.63/64

Page 109: Cours Deug MIAS 2Łme annØe - I5 · 2009. 9. 11. · Base de donnØes Cours Deug MIAS 2Łme annØe - I5 Version 1.0 - 12/02/02 E. Desmontils Emmanuel.Desmontils@irin.univ-nantes.fr

Petit Exemple !R5

TUWV XV Y Z

A B C

1 a b 2

2 b b 12

3 a c 20

4 c c 1

5 b c 18

S5

T XV [V Y Z

A D E F

1 a k f 100

2 b b b 2

3 b a b 18

A/

B/

C/

A 84

30 24 54

6*7*2 84

5*7*2 70

5*2*2 20

B 70

30 24 54

3*3*2 24 42

5*7*2 70

20 20

C 32 (54)

30 24 54

5*2*2 2*2*3 32

3*2*2 2*2*3 24

5*3*2 30

20 20

Gain(A,C)

62%

(35.7%)

Base de données – p.64/64

Page 110: Cours Deug MIAS 2Łme annØe - I5 · 2009. 9. 11. · Base de donnØes Cours Deug MIAS 2Łme annØe - I5 Version 1.0 - 12/02/02 E. Desmontils Emmanuel.Desmontils@irin.univ-nantes.fr

Petit Exemple !R5

TUWV XV Y Z

A B C

1 a b 2

2 b b 12

3 a c 20

4 c c 1

5 b c 18

S5

T XV [V Y Z

A D E F

1 a k f 100

2 b b b 2

3 b a b 18

A/

\^]`_ a bdce f gh bij kl mj n n

B/

\�]`_ a bdce f gh bij n k l mj n

C/

\^]`_ a bdce f gh b \^]_ e bi j n n kl \^]_ a b mj n n

A 84

30 24 54

6*7*2 84

5*7*2 70

5*2*2 20

B 70

30 24 54

3*3*2 24 42

5*7*2 70

20 20

C 32 (54)

30 24 54

5*2*2 2*2*3 32

3*2*2 2*2*3 24

5*3*2 30

20 20

Gain(A,C)

62%

(35.7%)

Base de données – p.64/64

Page 111: Cours Deug MIAS 2Łme annØe - I5 · 2009. 9. 11. · Base de donnØes Cours Deug MIAS 2Łme annØe - I5 Version 1.0 - 12/02/02 E. Desmontils Emmanuel.Desmontils@irin.univ-nantes.fr

Petit Exemple !R5

TUWV XV Y Z

A B C

1 a b 2

2 b b 12

3 a c 20

4 c c 1

5 b c 18

S5

T XV [V Y Z

A D E F

1 a k f 100

2 b b b 2

3 b a b 18

A/

\^]`_ a bdce f gh bij kl mj n n

B/

\�]`_ a bdce f gh bij n k l mj n

C/

\^]`_ a bdce f gh b \^]_ e bi j n n kl \^]_ a b mj n n

A 84

30 24 54

6*7*2 84

5*7*2 70

5*2*2 20

B 70

30 24 54

3*3*2 24 42

5*7*2 70

20 20

C 32 (54)

30 24 54

5*2*2 2*2*3 32

3*2*2 2*2*3 24

5*3*2 30

20 20

Gain(A,C)

62%

(35.7%)

Base de données – p.64/64

Page 112: Cours Deug MIAS 2Łme annØe - I5 · 2009. 9. 11. · Base de donnØes Cours Deug MIAS 2Łme annØe - I5 Version 1.0 - 12/02/02 E. Desmontils Emmanuel.Desmontils@irin.univ-nantes.fr

Petit Exemple !R5

TUWV XV Y Z

A B C

1 a b 2

2 b b 12

3 a c 20

4 c c 1

5 b c 18

S5

T XV [V Y Z

A D E F

1 a k f 100

2 b b b 2

3 b a b 18

A/

\^]`_ a bdce f gh bij kl mj n n

B/

\�]`_ a bdce f gh bij n k l mj n

C/

\^]`_ a bdce f gh b \^]_ e bi j n n kl \^]_ a b mj n n

A 84

30 24 54

6*7*2 84

5*7*2 70

5*2*2 20

B 70

30 24 54

3*3*2 24 42

5*7*2 70

20 20

C 32 (54)

30 24 54

5*2*2 2*2*3 32

3*2*2 2*2*3 24

5*3*2 30

20 20

Gain(A,C)

62%

(35.7%)

Base de données – p.64/64

Page 113: Cours Deug MIAS 2Łme annØe - I5 · 2009. 9. 11. · Base de donnØes Cours Deug MIAS 2Łme annØe - I5 Version 1.0 - 12/02/02 E. Desmontils Emmanuel.Desmontils@irin.univ-nantes.fr

Petit Exemple !R5

TUWV XV Y Z

A B C

1 a b 2

2 b b 12

3 a c 20

4 c c 1

5 b c 18

S5

T XV [V Y Z

A D E F

1 a k f 100

2 b b b 2

3 b a b 18

A/

\^]`_ a bdce f gh bij kl mj n n

B/

\�]`_ a bdce f gh bij n k l mj n

C/

\^]`_ a bdce f gh b \^]_ e bi j n n kl \^]_ a b mj n n

A 84

30 24 54

6*7*2 84

5*7*2 70

5*2*2 20

B 70

30 24 54

3*3*2 24 42

5*7*2 70

20 20

C 32 (54)

30 24 54

5*2*2 2*2*3 32

3*2*2 2*2*3 24

5*3*2 30

20 20

Gain(A,C)

62%

(35.7%)

Base de données – p.64/64

Page 114: Cours Deug MIAS 2Łme annØe - I5 · 2009. 9. 11. · Base de donnØes Cours Deug MIAS 2Łme annØe - I5 Version 1.0 - 12/02/02 E. Desmontils Emmanuel.Desmontils@irin.univ-nantes.fr

Petit Exemple !R5

TUWV XV Y Z

A B C

1 a b 2

2 b b 12

3 a c 20

4 c c 1

5 b c 18

S5

T XV [V Y Z

A D E F

1 a k f 100

2 b b b 2

3 b a b 18

A/

\^]`_ a bdce f gh bij kl mj n n

B/

\�]`_ a bdce f gh bij n k l mj n

C/

\^]`_ a bdce f gh b \^]_ e bi j n n kl \^]_ a b mj n n

A 84

30 24 54

6*7*2 84

5*7*2 70

5*2*2 20

B 70

30 24 54

3*3*2 24 42

5*7*2 70

20 20

C 32 (54)

30 24 54

5*2*2 2*2*3 32

3*2*2 2*2*3 24

5*3*2 30

20 20

Gain(A,C)

62%

(35.7%)

Base de données – p.64/64