syst es d'information pour la logistique - base de donn...
Embed Size (px)
TRANSCRIPT

Base de données
H. JONES
Intro
Base de donnéesDonnées
Types de données
Base de données
SGBD
Exemples de problèmes
Mémoire
Langage
Utilisateurs d’un SGBD
Architectures
ModélisationÉtapes
Modèle Entité-Association
Entité
Attribut
Association
Cardinalité
Modèle relationnel
Présentation
Définitions
Modèle E-A ⇒ modèlerelationnelIntroduction
Entités
Associations
Algèbre relationnelleOpérateurs ensemblistes
Opérateurs
Systèmes d’information pour lalogistique
- Base de données -
Hazaël JONES
Master 1 - 2010/2011
1 / 88

Base de données
H. JONES
Intro
Base de donnéesDonnées
Types de données
Base de données
SGBD
Exemples de problèmes
Mémoire
Langage
Utilisateurs d’un SGBD
Architectures
ModélisationÉtapes
Modèle Entité-Association
Entité
Attribut
Association
Cardinalité
Modèle relationnel
Présentation
Définitions
Modèle E-A ⇒ modèlerelationnelIntroduction
Entités
Associations
Algèbre relationnelleOpérateurs ensemblistes
Opérateurs
Contenu du cours
Déroulement du coursCours assez général sur les bases de données
5 h de CM, 5h TD et 15h de TP (en 2 groupes)
Évaluation : 1 examen et travail en TP noté.
Me contacter : [email protected]
Bureau : SBF
Horaires et salles :26 janvier : 8h30 - 12h30 - A0.052 février : 9h - 12h - A0.051 mars : TP C1.10 8h - 12h30 (G1) 14h - 18h30 (G2)15 mars : TP C1.10 8h - 12h30 (G2) 14h - 18h30 (G1)23 mars : TP C1.10 8h - 12h30 (G1) 14h - 18h30 (G2)30 mars : Evaluation TP 9h - 10h30 (G2) / 10h30 - 12h(G1)
2 / 88

Base de données
H. JONES
Intro
Base de donnéesDonnées
Types de données
Base de données
SGBD
Exemples de problèmes
Mémoire
Langage
Utilisateurs d’un SGBD
Architectures
ModélisationÉtapes
Modèle Entité-Association
Entité
Attribut
Association
Cardinalité
Modèle relationnel
Présentation
Définitions
Modèle E-A ⇒ modèlerelationnelIntroduction
Entités
Associations
Algèbre relationnelleOpérateurs ensemblistes
Opérateurs
Plan de l’exposé
1 Introduction
2 Base de données
3 Modélisation
4 Passage d’un Modèle E-A à un modèle relationnel
5 Algèbre relationnelle
3 / 88

Base de données
H. JONES
Intro
Base de donnéesDonnées
Types de données
Base de données
SGBD
Exemples de problèmes
Mémoire
Langage
Utilisateurs d’un SGBD
Architectures
ModélisationÉtapes
Modèle Entité-Association
Entité
Attribut
Association
Cardinalité
Modèle relationnel
Présentation
Définitions
Modèle E-A ⇒ modèlerelationnelIntroduction
Entités
Associations
Algèbre relationnelleOpérateurs ensemblistes
Opérateurs
Introduction
Base de données (BD)Composante essentielle des systèmes informatiquesmodernes
Systèmes d’information, de gestionIngénierieContrôle de processusBibliothèques électroniquesLogistique. . .
Besoin de données persistantes
Gestion qualitative et quantitative des donnéesinformatiques
HistoriqueFin des années 60 : premières BD pour combler leslimites des systèmes de fichiers
Depuis plus de 20 ans : expansion des BDrelationnelles, les plus utilisées 4 / 88

Base de données
H. JONES
Intro
Base de donnéesDonnées
Types de données
Base de données
SGBD
Exemples de problèmes
Mémoire
Langage
Utilisateurs d’un SGBD
Architectures
ModélisationÉtapes
Modèle Entité-Association
Entité
Attribut
Association
Cardinalité
Modèle relationnel
Présentation
Définitions
Modèle E-A ⇒ modèlerelationnelIntroduction
Entités
Associations
Algèbre relationnelleOpérateurs ensemblistes
Opérateurs
Plan de l’exposé
1 Introduction
2 Base de données
3 Modélisation
4 Passage d’un Modèle E-A à un modèle relationnel
5 Algèbre relationnelle
5 / 88

Base de données
H. JONES
Intro
Base de donnéesDonnées
Types de données
Base de données
SGBD
Exemples de problèmes
Mémoire
Langage
Utilisateurs d’un SGBD
Architectures
ModélisationÉtapes
Modèle Entité-Association
Entité
Attribut
Association
Cardinalité
Modèle relationnel
Présentation
Définitions
Modèle E-A ⇒ modèlerelationnelIntroduction
Entités
Associations
Algèbre relationnelleOpérateurs ensemblistes
Opérateurs
Données et type de données
Donnée (data)Une donnée au sens informatique est une représentationd’un fait à l’aide d’un code binaire stocké dans la mémoirede l’ordinateur
Type de données (data type)Le type de données détermine la nature du codage utilisépour représenter la donnée et les opérations applicables àla donnée.
Information = donnée interprétéeThéorie de l’information (Shannon et Weaver, 1959)
Mesure de la quantité d’information
Information : relative au destinataire du message ⇒Changement d’état du destinataire
6 / 88

Base de données
H. JONES
Intro
Base de donnéesDonnées
Types de données
Base de données
SGBD
Exemples de problèmes
Mémoire
Langage
Utilisateurs d’un SGBD
Architectures
ModélisationÉtapes
Modèle Entité-Association
Entité
Attribut
Association
Cardinalité
Modèle relationnel
Présentation
Définitions
Modèle E-A ⇒ modèlerelationnelIntroduction
Entités
Associations
Algèbre relationnelleOpérateurs ensemblistes
Opérateurs
Différents types de données
Données simplesEntier (exemples : 12, 14, . . .)
Réel (exemples : 12.45, 14.298, . . .)
Caractère (exemples : a, d, . . .)
Données de type complexe, ou donnéescomplexes
Composée de plusieurs données simples et/oucomplexes
Exemples : enregistrement, tableau, . . .
Données multimédiaTexte
Image
Son
Vidéo 7 / 88

Base de données
H. JONES
Intro
Base de donnéesDonnées
Types de données
Base de données
SGBD
Exemples de problèmes
Mémoire
Langage
Utilisateurs d’un SGBD
Architectures
ModélisationÉtapes
Modèle Entité-Association
Entité
Attribut
Association
Cardinalité
Modèle relationnel
Présentation
Définitions
Modèle E-A ⇒ modèlerelationnelIntroduction
Entités
Associations
Algèbre relationnelleOpérateurs ensemblistes
Opérateurs
Base de données
Base de données (data base)Définition : Au sens large, collection de donnéesDifférentes interprétations :
fichier de texteListe de nom et de numéro de téléphoneformat arbitraire
ensemble de fichiers de textesplusieurs sous bases de données indépendantes lesunes des autres
BD inventaire, venteBD logistiqueBD compatibilité, . . .
Internet : énorme base de données de naturehétérogène et répartieBD logique = une collection de BD physiques
⇒ Données hétérogènes, non structurées et difficiles àmanipuler
8 / 88

Base de données
H. JONES
Intro
Base de donnéesDonnées
Types de données
Base de données
SGBD
Exemples de problèmes
Mémoire
Langage
Utilisateurs d’un SGBD
Architectures
ModélisationÉtapes
Modèle Entité-Association
Entité
Attribut
Association
Cardinalité
Modèle relationnel
Présentation
Définitions
Modèle E-A ⇒ modèlerelationnelIntroduction
Entités
Associations
Algèbre relationnelleOpérateurs ensemblistes
Opérateurs
Base de données
Base de données (data base)Définition : Au sens strict, ensemble de données
1 fortement structurées2 persistantes3 structure définie dans un schéma4 gérées par système de gestion de bases de données
ExempleBD de gestion de l’activité d’une compagnie aérienneconcernant les voyageurs, les vols, les avions, lepersonnel, les réservations, etc.
Une telle BD pourrait permettre la gestion desréservations, des disponibilités des avions en fonctiondes vols à effectuer, des affectations des personnelsvolants, etc.
9 / 88

Base de données
H. JONES
Intro
Base de donnéesDonnées
Types de données
Base de données
SGBD
Exemples de problèmes
Mémoire
Langage
Utilisateurs d’un SGBD
Architectures
ModélisationÉtapes
Modèle Entité-Association
Entité
Attribut
Association
Cardinalité
Modèle relationnel
Présentation
Définitions
Modèle E-A ⇒ modèlerelationnelIntroduction
Entités
Associations
Algèbre relationnelleOpérateurs ensemblistes
Opérateurs
Système de Gestion de Base de Données
SGBD = Système de Gestion de Base de Données
DBMS = DataBase Management System
Définition : Logiciel spécialisé pour la gestion de basede données
ExemplesOracle est un SGBD relationnel très reconnu pour lesapplications professionnelles.
MySQL est un SGBD relationnel libre, simple d’accèset très utilisé pour la réalisation de sites Web.
PosgreSQL est un SGBD relationnel etrelationnel-objet très puissant et open-source
Access est un SGBD relationnel Microsoft, pour lespetites BD, avec interface.
OpenOffice Base est un SGBD relationneld’OpenOffice, similaire à Access
10 / 88

Base de données
H. JONES
Intro
Base de donnéesDonnées
Types de données
Base de données
SGBD
Exemples de problèmes
Mémoire
Langage
Utilisateurs d’un SGBD
Architectures
ModélisationÉtapes
Modèle Entité-Association
Entité
Attribut
Association
Cardinalité
Modèle relationnel
Présentation
Définitions
Modèle E-A ⇒ modèlerelationnelIntroduction
Entités
Associations
Algèbre relationnelleOpérateurs ensemblistes
Opérateurs
Pourquoi des SGBD ?
Avant les SGBD...chaque application informatique dans l’entrepriseimpliquait
sa propre équipe de développement,ses propres supports physiques,ses propres fichiers,ses propres normes,ses propres langages, . . .
Conséquences ?
11 / 88

Base de données
H. JONES
Intro
Base de donnéesDonnées
Types de données
Base de données
SGBD
Exemples de problèmes
Mémoire
Langage
Utilisateurs d’un SGBD
Architectures
ModélisationÉtapes
Modèle Entité-Association
Entité
Attribut
Association
Cardinalité
Modèle relationnel
Présentation
Définitions
Modèle E-A ⇒ modèlerelationnelIntroduction
Entités
Associations
Algèbre relationnelleOpérateurs ensemblistes
Opérateurs
Pourquoi des SGBD ?
Avant les SGBD...chaque application informatique dans l’entrepriseimpliquait
sa propre équipe de développement,ses propres supports physiques,ses propres fichiers,ses propres normes,ses propres langages, . . .
Conséquences ?
Multiplication des tâches de saisie, de développement etde support informatiqueRedondance anarchique des informations dans lesfichiersIncohérence des versions simultanées de fichiersNon-portabilité des traitements en raison desdifférences dans les formats et langagesMultiplication des coûts de développement et demaintenance des applications.
11 / 88

Base de données
H. JONES
Intro
Base de donnéesDonnées
Types de données
Base de données
SGBD
Exemples de problèmes
Mémoire
Langage
Utilisateurs d’un SGBD
Architectures
ModélisationÉtapes
Modèle Entité-Association
Entité
Attribut
Association
Cardinalité
Modèle relationnel
Présentation
Définitions
Modèle E-A ⇒ modèlerelationnelIntroduction
Entités
Associations
Algèbre relationnelleOpérateurs ensemblistes
Opérateurs
Pourquoi des SGBD ?
ConséquenceConséquence résultante ⇒ Coûts en personnelsqualifiés et en formations
ConclusionOr les applications ne sont jamais totalementdisjointes, des données similaires sont toujours àla base des traitements.
Exemples : données comptables, données clients etfournisseurs, données relatives à la gestion des stocks,données relatives aux livraisons, données marketing etcommerciales
⇒ Les SGBD permettent de gérer toutes ces données demanière centralisée
11 / 88

Base de données
H. JONES
Intro
Base de donnéesDonnées
Types de données
Base de données
SGBD
Exemples de problèmes
Mémoire
Langage
Utilisateurs d’un SGBD
Architectures
ModélisationÉtapes
Modèle Entité-Association
Entité
Attribut
Association
Cardinalité
Modèle relationnel
Présentation
Définitions
Modèle E-A ⇒ modèlerelationnelIntroduction
Entités
Associations
Algèbre relationnelleOpérateurs ensemblistes
Opérateurs
Redondance et incohérence des données
12 / 88

Base de données
H. JONES
Intro
Base de donnéesDonnées
Types de données
Base de données
SGBD
Exemples de problèmes
Mémoire
Langage
Utilisateurs d’un SGBD
Architectures
ModélisationÉtapes
Modèle Entité-Association
Entité
Attribut
Association
Cardinalité
Modèle relationnel
Présentation
Définitions
Modèle E-A ⇒ modèlerelationnelIntroduction
Entités
Associations
Algèbre relationnelleOpérateurs ensemblistes
Opérateurs
Problème de concurrence des données
Concurrence
Temps Processus 1 Processus 2 État du fichiert1 Lire(Solde,s) Solde = 8et2 Lire(Solde,s)t3 s=s+5t4 Ecrire(Solde,s) Solde = 13et5 s=s+2t6 Ecrire(Solde,s) Solde = 10e
⇒ Erreur de concurrence5e ont été perdus !
13 / 88

Base de données
H. JONES
Intro
Base de donnéesDonnées
Types de données
Base de données
SGBD
Exemples de problèmes
Mémoire
Langage
Utilisateurs d’un SGBD
Architectures
ModélisationÉtapes
Modèle Entité-Association
Entité
Attribut
Association
Cardinalité
Modèle relationnel
Présentation
Définitions
Modèle E-A ⇒ modèlerelationnelIntroduction
Entités
Associations
Algèbre relationnelleOpérateurs ensemblistes
Opérateurs
Mémoire
Mémoire viveMémoire centrale, vive, primaire, volatile (mainmemory, primary storage)
directement accessible par le processeur centralcontient les instructions et les données d’un programmeen exécutionrapiditénon persistance
Mémoire permanenteMémoire secondaire (secondary storage), permanente,externe, stable, non volatile ou persistante
accès indirect via des opérations d’entrée/sortielenteurpersistance
14 / 88

Base de données
H. JONES
Intro
Base de donnéesDonnées
Types de données
Base de données
SGBD
Exemples de problèmes
Mémoire
Langage
Utilisateurs d’un SGBD
Architectures
ModélisationÉtapes
Modèle Entité-Association
Entité
Attribut
Association
Cardinalité
Modèle relationnel
Présentation
Définitions
Modèle E-A ⇒ modèlerelationnelIntroduction
Entités
Associations
Algèbre relationnelleOpérateurs ensemblistes
Opérateurs
Mémoire
Mémoire viveMémoire centrale, vive, primaire, volatile (mainmemory, primary storage)
directement accessible par le processeur centralcontient les instructions et les données d’un programmeen exécutionrapiditénon persistance
⇒ La mémoire vive sert aux opérations sur la BD
Mémoire permanenteMémoire secondaire (secondary storage), permanente,externe, stable, non volatile ou persistante
accès indirect via des opérations d’entrée/sortielenteurpersistance
⇒ La mémoire permanente sert au stockage de la BD14 / 88

Base de données
H. JONES
Intro
Base de donnéesDonnées
Types de données
Base de données
SGBD
Exemples de problèmes
Mémoire
Langage
Utilisateurs d’un SGBD
Architectures
ModélisationÉtapes
Modèle Entité-Association
Entité
Attribut
Association
Cardinalité
Modèle relationnel
Présentation
Définitions
Modèle E-A ⇒ modèlerelationnelIntroduction
Entités
Associations
Algèbre relationnelleOpérateurs ensemblistes
Opérateurs
Langage de définition des données
LDDLangage de définition des données (LDD, datadefinition language - DDL )
permet la définition des types des données de la BD
Schéma de la base de donnéesdatabase schema
structure des données définie à l’aide du LDD
15 / 88

Base de données
H. JONES
Intro
Base de donnéesDonnées
Types de données
Base de données
SGBD
Exemples de problèmes
Mémoire
Langage
Utilisateurs d’un SGBD
Architectures
ModélisationÉtapes
Modèle Entité-Association
Entité
Attribut
Association
Cardinalité
Modèle relationnel
Présentation
Définitions
Modèle E-A ⇒ modèlerelationnelIntroduction
Entités
Associations
Algèbre relationnelleOpérateurs ensemblistes
Opérateurs
Manipulation des données
Manipulation des donnéeslire (sélectionner)
ajouter
supprimer
modifier
Langage de manipulation des donnéeslangage de requête (query language )
ex : SQL, SQL Plus, OQL, . . .
ex SQL :SELECT NomClientFROM BaseClientWHERE NumClient = 10 ;
⇒ Certains logiciels font les requêtes à votre place(Microsoft Access, OpenOffice Base) en remplissant desformulaires par exemple
16 / 88

Base de données
H. JONES
Intro
Base de donnéesDonnées
Types de données
Base de données
SGBD
Exemples de problèmes
Mémoire
Langage
Utilisateurs d’un SGBD
Architectures
ModélisationÉtapes
Modèle Entité-Association
Entité
Attribut
Association
Cardinalité
Modèle relationnel
Présentation
Définitions
Modèle E-A ⇒ modèlerelationnelIntroduction
Entités
Associations
Algèbre relationnelleOpérateurs ensemblistes
Opérateurs
Langage de définition des données
Les principaux utilisateursAdministrateur de base de données : interprète le LDD,modifie la BD
Utilisateurs experts : édite les commandes possibles
Programmeurs : fournit une interface entre la base dedonnées et les requêtes et l’utilisateur de base
Utilisateurs : Utilise la base de données via uneinterface plus intuitive
17 / 88

Base de données
H. JONES
Intro
Base de donnéesDonnées
Types de données
Base de données
SGBD
Exemples de problèmes
Mémoire
Langage
Utilisateurs d’un SGBD
Architectures
ModélisationÉtapes
Modèle Entité-Association
Entité
Attribut
Association
Cardinalité
Modèle relationnel
Présentation
Définitions
Modèle E-A ⇒ modèlerelationnelIntroduction
Entités
Associations
Algèbre relationnelleOpérateurs ensemblistes
Opérateurs
Architectures de Bases de Données
Architecture centraliséeprogramme d’application et SGBD sur même machine(même site)
premiers systèmes
Architecture du type client-serveurmachines (sites) différentes
programme d’applicationclientinterface (« GUI »)traitement du domaine d’application
SGBDserveur (de données « data server »)
18 / 88

Base de données
H. JONES
Intro
Base de donnéesDonnées
Types de données
Base de données
SGBD
Exemples de problèmes
Mémoire
Langage
Utilisateurs d’un SGBD
Architectures
ModélisationÉtapes
Modèle Entité-Association
Entité
Attribut
Association
Cardinalité
Modèle relationnel
Présentation
Définitions
Modèle E-A ⇒ modèlerelationnelIntroduction
Entités
Associations
Algèbre relationnelleOpérateurs ensemblistes
Opérateurs
Architecture SGBD Client - Serveur
19 / 88

Base de données
H. JONES
Intro
Base de donnéesDonnées
Types de données
Base de données
SGBD
Exemples de problèmes
Mémoire
Langage
Utilisateurs d’un SGBD
Architectures
ModélisationÉtapes
Modèle Entité-Association
Entité
Attribut
Association
Cardinalité
Modèle relationnel
Présentation
Définitions
Modèle E-A ⇒ modèlerelationnelIntroduction
Entités
Associations
Algèbre relationnelleOpérateurs ensemblistes
Opérateurs
Plan de l’exposé
1 Introduction
2 Base de données
3 Modélisation
4 Passage d’un Modèle E-A à un modèle relationnel
5 Algèbre relationnelle
20 / 88

Base de données
H. JONES
Intro
Base de donnéesDonnées
Types de données
Base de données
SGBD
Exemples de problèmes
Mémoire
Langage
Utilisateurs d’un SGBD
Architectures
ModélisationÉtapes
Modèle Entité-Association
Entité
Attribut
Association
Cardinalité
Modèle relationnel
Présentation
Définitions
Modèle E-A ⇒ modèlerelationnelIntroduction
Entités
Associations
Algèbre relationnelleOpérateurs ensemblistes
Opérateurs
Trois niveaux de modélisation pour les BD
Modèle conceptuelpermet de décrire le réel selon une approcheontologique
sans prendre en compte les contraintes techniques.
Modèle logiquepermet de décrire une solution, en prenant uneorientation informatique générale (type de SGBDtypiquement)
indépendamment de choix d’implémentation précis.
Modèle physiquecorrespond aux choix techniques, en terme de SGBDchoisi
et de sa mise en œuvre (programmation, optimisation,etc.).
21 / 88

Base de données
H. JONES
Intro
Base de donnéesDonnées
Types de données
Base de données
SGBD
Exemples de problèmes
Mémoire
Langage
Utilisateurs d’un SGBD
Architectures
ModélisationÉtapes
Modèle Entité-Association
Entité
Attribut
Association
Cardinalité
Modèle relationnel
Présentation
Définitions
Modèle E-A ⇒ modèlerelationnelIntroduction
Entités
Associations
Algèbre relationnelleOpérateurs ensemblistes
Opérateurs
Étapes
Les étapes1 Analyse de la situation existante et des besoins
Étape très importanteBase de la pertinence de la base de données
2 Création d’une série de modèles conceptuels quipermettent de représenter tous les aspects importantsdu problème
Étape très importanteRecours au formalismes de modélisation
Entité-AssociationUML
3 Traduction des modèles conceptuels en modèlelogique et optimisation (normalisation) de ce modèlelogique
4 Implémentation d’une base de données dans unSGBD, à partir du modèle logique
22 / 88

Base de données
H. JONES
Intro
Base de donnéesDonnées
Types de données
Base de données
SGBD
Exemples de problèmes
Mémoire
Langage
Utilisateurs d’un SGBD
Architectures
ModélisationÉtapes
Modèle Entité-Association
Entité
Attribut
Association
Cardinalité
Modèle relationnel
Présentation
Définitions
Modèle E-A ⇒ modèlerelationnelIntroduction
Entités
Associations
Algèbre relationnelleOpérateurs ensemblistes
Opérateurs
Étapes
Les étapes
23 / 88

Base de données
H. JONES
Intro
Base de donnéesDonnées
Types de données
Base de données
SGBD
Exemples de problèmes
Mémoire
Langage
Utilisateurs d’un SGBD
Architectures
ModélisationÉtapes
Modèle Entité-Association
Entité
Attribut
Association
Cardinalité
Modèle relationnel
Présentation
Définitions
Modèle E-A ⇒ modèlerelationnelIntroduction
Entités
Associations
Algèbre relationnelleOpérateurs ensemblistes
Opérateurs
Modèle Entité-Association (E-A)
Qu’est-ce que c’est ?Le modèle E-A permet la modélisation conceptuelle dedonnées (MCD).
Niveau conceptuel de la méthode MERISE (méthoded’analyse informatique)
Concepts principauxEntité
Association
Attribut / propriété
24 / 88

Base de données
H. JONES
Intro
Base de donnéesDonnées
Types de données
Base de données
SGBD
Exemples de problèmes
Mémoire
Langage
Utilisateurs d’un SGBD
Architectures
ModélisationÉtapes
Modèle Entité-Association
Entité
Attribut
Association
Cardinalité
Modèle relationnel
Présentation
Définitions
Modèle E-A ⇒ modèlerelationnelIntroduction
Entités
Associations
Algèbre relationnelleOpérateurs ensemblistes
Opérateurs
Entité
Entité et attributsObjet du monde réel avec une existence indépendante.
Une entité (ou type d’entité) est distinguable des autresentités.
Chaque entité a des propriétés (ou attributs) qui ladécrivent.
Chaque attribut est associé à un domaine de valeur.
Occurrence d’une entité = élément particuliercorrespondant à l’entité et associé à un élément duréel.
25 / 88

Base de données
H. JONES
Intro
Base de donnéesDonnées
Types de données
Base de données
SGBD
Exemples de problèmes
Mémoire
Langage
Utilisateurs d’un SGBD
Architectures
ModélisationÉtapes
Modèle Entité-Association
Entité
Attribut
Association
Cardinalité
Modèle relationnel
Présentation
Définitions
Modèle E-A ⇒ modèlerelationnelIntroduction
Entités
Associations
Algèbre relationnelleOpérateurs ensemblistes
Opérateurs
Entité et attributs
AttributUn attribut est atomique, c’est à dire qu’il ne peutprendre qu’une seule valeur pour une occurrence.
Un attribut est élémentaire, c’est à dire qu’il ne peutêtre exprimé par (ou dérivé) d’autres attributs.
Un attribut qui identifie de façon unique une occurrenceest appelé attribut identifiant (ou clé).
Une entité en modélisation MERISE
26 / 88

Base de données
H. JONES
Intro
Base de donnéesDonnées
Types de données
Base de données
SGBD
Exemples de problèmes
Mémoire
Langage
Utilisateurs d’un SGBD
Architectures
ModélisationÉtapes
Modèle Entité-Association
Entité
Attribut
Association
Cardinalité
Modèle relationnel
Présentation
Définitions
Modèle E-A ⇒ modèlerelationnelIntroduction
Entités
Associations
Algèbre relationnelleOpérateurs ensemblistes
Opérateurs
Exercices
Entité PaysDéfinissez l’entité Pays.
Utilisez au moins 4 attributs.
Quelle est la clé de votre entité ?
Identifiez deux occurrences de cette entité.
Une entité en modélisation MERISE
27 / 88

Base de données
H. JONES
Intro
Base de donnéesDonnées
Types de données
Base de données
SGBD
Exemples de problèmes
Mémoire
Langage
Utilisateurs d’un SGBD
Architectures
ModélisationÉtapes
Modèle Entité-Association
Entité
Attribut
Association
Cardinalité
Modèle relationnel
Présentation
Définitions
Modèle E-A ⇒ modèlerelationnelIntroduction
Entités
Associations
Algèbre relationnelleOpérateurs ensemblistes
Opérateurs
Exercices
Entité PaysDéfinissez l’entité Pays.
Utilisez au moins 4 attributs.
Quelle est la clé de votre entité ?
Identifiez deux occurrences de cette entité.
Entité PaysAttributs et domaines :
Nom : chaîne de caractèresCapitale : chaîne de caractèresPopulation : EntierSuperficie : Entier
Clé : Nom2 occurrences :
(France, Paris, 65 447 374 hab, 550 000 km²)(Allemagne, Berlin, 82 537 000 hab, 357 027 km²)
27 / 88

Base de données
H. JONES
Intro
Base de donnéesDonnées
Types de données
Base de données
SGBD
Exemples de problèmes
Mémoire
Langage
Utilisateurs d’un SGBD
Architectures
ModélisationÉtapes
Modèle Entité-Association
Entité
Attribut
Association
Cardinalité
Modèle relationnel
Présentation
Définitions
Modèle E-A ⇒ modèlerelationnelIntroduction
Entités
Associations
Algèbre relationnelleOpérateurs ensemblistes
Opérateurs
Exercices
Entité VoitureDéfinissez l’entité Voiture.
Utilisez au moins 4 attributs.
Quelle est la clé de votre entité ?
Identifiez deux occurrences de cette entité.
Une entité en modélisation MERISE
27 / 88

Base de données
H. JONES
Intro
Base de donnéesDonnées
Types de données
Base de données
SGBD
Exemples de problèmes
Mémoire
Langage
Utilisateurs d’un SGBD
Architectures
ModélisationÉtapes
Modèle Entité-Association
Entité
Attribut
Association
Cardinalité
Modèle relationnel
Présentation
Définitions
Modèle E-A ⇒ modèlerelationnelIntroduction
Entités
Associations
Algèbre relationnelleOpérateurs ensemblistes
Opérateurs
Exercices
Entité VoitureDéfinissez l’entité Voiture.
Utilisez au moins 4 attributs.
Quelle est la clé de votre entité ?
Identifiez deux occurrences de cette entité.
Entité VoitureAttributs et domaines :
Plaque : chaîne de caractèresMarque : chaîne de caractèresModèle : chaîne de caractèresKm parcourus : Entier
Clé : Plaque2 occurrences :
(AX 127 AAZ, Renault, Megane, 120 000)(5129 XQ 71, Peugeot, 406, 117 000)
27 / 88

Base de données
H. JONES
Intro
Base de donnéesDonnées
Types de données
Base de données
SGBD
Exemples de problèmes
Mémoire
Langage
Utilisateurs d’un SGBD
Architectures
ModélisationÉtapes
Modèle Entité-Association
Entité
Attribut
Association
Cardinalité
Modèle relationnel
Présentation
Définitions
Modèle E-A ⇒ modèlerelationnelIntroduction
Entités
Associations
Algèbre relationnelleOpérateurs ensemblistes
Opérateurs
Association
Association et attributsUne association représente un lien quelconque entredifférentes entités.
On peut définir des attributs sur les associations.
Occurrence d’une association = élément particulier del’association constitué d’une et une seule occurrencedes objets participants à l’association.Degré d’une association = nombre d’entités yparticipant
association binaire : 2 entités concernéesassociation ternaire : 3 entités concernées
28 / 88

Base de données
H. JONES
Intro
Base de donnéesDonnées
Types de données
Base de données
SGBD
Exemples de problèmes
Mémoire
Langage
Utilisateurs d’un SGBD
Architectures
ModélisationÉtapes
Modèle Entité-Association
Entité
Attribut
Association
Cardinalité
Modèle relationnel
Présentation
Définitions
Modèle E-A ⇒ modèlerelationnelIntroduction
Entités
Associations
Algèbre relationnelleOpérateurs ensemblistes
Opérateurs
Cardinalité d’une association
Cardinalité minimale = nombre minimum d’occurrencesde l’entité d’arrivée associées à une occurrence del’entité de départ
0 : une occurrence de l’objet peut participer à aucuneoccurrence de la relation1 : toute occurrence de l’objet participe à au moins uneoccurrence de la relation
Cardinalité maximale = nombre maximumd’occurrences de l’entité d’arrivée associées à uneoccurrence de l’entité de départ
1 : toute occurrence de l’objet participe à au plus uneoccurrence de la relationn : toute occurrence de l’objet participe à plusieursoccurrences de la relation
Notation
29 / 88

Base de données
H. JONES
Intro
Base de donnéesDonnées
Types de données
Base de données
SGBD
Exemples de problèmes
Mémoire
Langage
Utilisateurs d’un SGBD
Architectures
ModélisationÉtapes
Modèle Entité-Association
Entité
Attribut
Association
Cardinalité
Modèle relationnel
Présentation
Définitions
Modèle E-A ⇒ modèlerelationnelIntroduction
Entités
Associations
Algèbre relationnelleOpérateurs ensemblistes
Opérateurs
Les différents types d’association
(0,1) : une entité de A peut être reliée à aucune ou àune seule entité de B
(1,1) : une entité de A est reliée à une seule entité de B
(0,N) : une entité de A peut être reliée à aucune ou àplusieurs entités de B
(1,N) : une entité de A peut être reliée à une ouplusieurs entités de B
30 / 88

Base de données
H. JONES
Intro
Base de donnéesDonnées
Types de données
Base de données
SGBD
Exemples de problèmes
Mémoire
Langage
Utilisateurs d’un SGBD
Architectures
ModélisationÉtapes
Modèle Entité-Association
Entité
Attribut
Association
Cardinalité
Modèle relationnel
Présentation
Définitions
Modèle E-A ⇒ modèlerelationnelIntroduction
Entités
Associations
Algèbre relationnelleOpérateurs ensemblistes
Opérateurs
Cardinalité - Exemple
Exemple Auteur - Livre
Interprétation1 auteur peut avoir écrit plusieurs livres (mais au moinsun) (1,n)
tout livre ne peut avoir été écrit que par un et un seulauteur (1,1)
31 / 88

Base de données
H. JONES
Intro
Base de donnéesDonnées
Types de données
Base de données
SGBD
Exemples de problèmes
Mémoire
Langage
Utilisateurs d’un SGBD
Architectures
ModélisationÉtapes
Modèle Entité-Association
Entité
Attribut
Association
Cardinalité
Modèle relationnel
Présentation
Définitions
Modèle E-A ⇒ modèlerelationnelIntroduction
Entités
Associations
Algèbre relationnelleOpérateurs ensemblistes
Opérateurs
Exercice
FilmsConstruisez les entités Acteurs, Films, Réalisateurs etCinémas.
Comment allez vous définir les clés primaires ?
Quelles sont les associations possibles entre cesentités ?
Définissez les associations et les cardinalités entre cestables.
32 / 88

Base de données
H. JONES
Intro
Base de donnéesDonnées
Types de données
Base de données
SGBD
Exemples de problèmes
Mémoire
Langage
Utilisateurs d’un SGBD
Architectures
ModélisationÉtapes
Modèle Entité-Association
Entité
Attribut
Association
Cardinalité
Modèle relationnel
Présentation
Définitions
Modèle E-A ⇒ modèlerelationnelIntroduction
Entités
Associations
Algèbre relationnelleOpérateurs ensemblistes
Opérateurs
Corrigé
Films (sans cardinalité)
33 / 88

Base de données
H. JONES
Intro
Base de donnéesDonnées
Types de données
Base de données
SGBD
Exemples de problèmes
Mémoire
Langage
Utilisateurs d’un SGBD
Architectures
ModélisationÉtapes
Modèle Entité-Association
Entité
Attribut
Association
Cardinalité
Modèle relationnel
Présentation
Définitions
Modèle E-A ⇒ modèlerelationnelIntroduction
Entités
Associations
Algèbre relationnelleOpérateurs ensemblistes
Opérateurs
Exercices
Films (avec cardinalité)
34 / 88

Base de données
H. JONES
Intro
Base de donnéesDonnées
Types de données
Base de données
SGBD
Exemples de problèmes
Mémoire
Langage
Utilisateurs d’un SGBD
Architectures
ModélisationÉtapes
Modèle Entité-Association
Entité
Attribut
Association
Cardinalité
Modèle relationnel
Présentation
Définitions
Modèle E-A ⇒ modèlerelationnelIntroduction
Entités
Associations
Algèbre relationnelleOpérateurs ensemblistes
Opérateurs
Modèle relationnel
Niveau logiqueLien entre niveau conceptuel et l’implémentationeffective de l’application.
Spécifie comment les données vont exister dansl’application informatique
fondements mathématiques puissants
Le modèle relationnel domine la conception de basesde données. (aujourd’hui modèle relationnel-objet)
Modèle relationnelDéfinition : ensemble de concepts pour formaliserlogiquement des données, indépendamment de leurstockage physique dans une mémoire numérique.
inclut des concepts pour la description de données ,ainsi que des concepts pour la manipulation dedonnées .
35 / 88

Base de données
H. JONES
Intro
Base de donnéesDonnées
Types de données
Base de données
SGBD
Exemples de problèmes
Mémoire
Langage
Utilisateurs d’un SGBD
Architectures
ModélisationÉtapes
Modèle Entité-Association
Entité
Attribut
Association
Cardinalité
Modèle relationnel
Présentation
Définitions
Modèle E-A ⇒ modèlerelationnelIntroduction
Entités
Associations
Algèbre relationnelleOpérateurs ensemblistes
Opérateurs
Modèle relationnel
ObjectifsAssurer l’indépendance des applications et de lareprésentation interne des données
Gérer les problèmes de cohérence et de redondancedes données
Utiliser des langages de données basés sur desthéories solides
LangageLe modèle relationnel est un standard, normalisé parl’ISO à travers son langage, le SQL (Structured QueryLanguage)
Le modèle relationnel sert à la définition du MLD(modèle logique des données)
36 / 88

Base de données
H. JONES
Intro
Base de donnéesDonnées
Types de données
Base de données
SGBD
Exemples de problèmes
Mémoire
Langage
Utilisateurs d’un SGBD
Architectures
ModélisationÉtapes
Modèle Entité-Association
Entité
Attribut
Association
Cardinalité
Modèle relationnel
Présentation
Définitions
Modèle E-A ⇒ modèlerelationnelIntroduction
Entités
Associations
Algèbre relationnelleOpérateurs ensemblistes
Opérateurs
Modèle relationnel - Définitions
DomaineEnsemble, caractérisé par un nom, dans lequel desdonnées peuvent prendre leurs valeurs.
Exemples de domainesDomaines définis en intention
Entier, Réel, Booléen (0 ou 1)Chaîne de caractèresMonétaire : réel avec deux chiffres après la virguleDate : chaîne de 10 caractères comprenant des chiffreset des tirets selon le patron "00-00-0000"Salaire : Monétaire compris entre 15.000 et 100.000
Domaines définis en extensionCouleur : {Bleu, Vert, Rouge, Jaune, Blanc, Noir}SGBD : {Hiérarchique, Réseau, Relationnel, Objet,Relationnel-Objet}
37 / 88

Base de données
H. JONES
Intro
Base de donnéesDonnées
Types de données
Base de données
SGBD
Exemples de problèmes
Mémoire
Langage
Utilisateurs d’un SGBD
Architectures
ModélisationÉtapes
Modèle Entité-Association
Entité
Attribut
Association
Cardinalité
Modèle relationnel
Présentation
Définitions
Modèle E-A ⇒ modèlerelationnelIntroduction
Entités
Associations
Algèbre relationnelleOpérateurs ensemblistes
Opérateurs
Modèle relationnel - Définitions
Produit CartésienLe produit cartésien, noté "×", des domaines D1, D2, ... ,Dn, noté "D1 × D2 × · · · × Dn" est l’ensemble des tuples (oun-uplets ou vecteurs) < V1,V2, ...,Vn > tel que :
Vi est une valeur de Di
toutes les combinaisons de valeurs possibles sontexprimées.
Produit cartésien - ExempleD1 = {A,B,C}
D2 = {1, 2, 3}
D1 × D2 = {< A, 1 >,< A, 2 >,< A, 3 >,< B, 1 >,< B, 2 >,< B, 3 >,< C, 1 >,< C, 2 >,< C, 3 >}
38 / 88

Base de données
H. JONES
Intro
Base de donnéesDonnées
Types de données
Base de données
SGBD
Exemples de problèmes
Mémoire
Langage
Utilisateurs d’un SGBD
Architectures
ModélisationÉtapes
Modèle Entité-Association
Entité
Attribut
Association
Cardinalité
Modèle relationnel
Présentation
Définitions
Modèle E-A ⇒ modèlerelationnelIntroduction
Entités
Associations
Algèbre relationnelleOpérateurs ensemblistes
Opérateurs
Modèle relationnel - Définitions
AttributsOn appelle attribut d’une relation, une colonne de cetterelation. Il est caractérisé par un nom et un domaine danslequel il prend ses valeurs.
EnregistrementOn appelle enregistrement d’une relation, une ligne de cetterelation. Un enregistrement a une valeur pour chaqueattribut de la relation.
Exemple
A B1 11 22 2
La relation R comporte les deux attributs A et B et les troisenregistrements <1,1>, <1,2> et <2,2> 39 / 88

Base de données
H. JONES
Intro
Base de donnéesDonnées
Types de données
Base de données
SGBD
Exemples de problèmes
Mémoire
Langage
Utilisateurs d’un SGBD
Architectures
ModélisationÉtapes
Modèle Entité-Association
Entité
Attribut
Association
Cardinalité
Modèle relationnel
Présentation
Définitions
Modèle E-A ⇒ modèlerelationnelIntroduction
Entités
Associations
Algèbre relationnelleOpérateurs ensemblistes
Opérateurs
Modèle relationnel - Définitions
Exemple d’une relation
40 / 88

Base de données
H. JONES
Intro
Base de donnéesDonnées
Types de données
Base de données
SGBD
Exemples de problèmes
Mémoire
Langage
Utilisateurs d’un SGBD
Architectures
ModélisationÉtapes
Modèle Entité-Association
Entité
Attribut
Association
Cardinalité
Modèle relationnel
Présentation
Définitions
Modèle E-A ⇒ modèlerelationnelIntroduction
Entités
Associations
Algèbre relationnelleOpérateurs ensemblistes
Opérateurs
Modèle relationnel - Définitions
CléUne clé est un groupe d’attributs minimum qui détermine untuple unique dans une relation.
Clé primaireToute relation doit comporter au moins une clé ⇒ unerelation ne peut contenir deux tuples identiques.
Si plusieurs clés existent dans une relation, on enchoisit une parmi celles-ci : clé primaire .
Choix de la clé primaire : la plus simple (le moinsd’attributs et des attributs basiques)
ExemplesBonne clé : numéro de sécu d’une relation personne(unicité sémantique)
Mauvaise clé : groupe (nom, prénom) d’une relationpersonne, car les homonymes existent. 41 / 88

Base de données
H. JONES
Intro
Base de donnéesDonnées
Types de données
Base de données
SGBD
Exemples de problèmes
Mémoire
Langage
Utilisateurs d’un SGBD
Architectures
ModélisationÉtapes
Modèle Entité-Association
Entité
Attribut
Association
Cardinalité
Modèle relationnel
Présentation
Définitions
Modèle E-A ⇒ modèlerelationnelIntroduction
Entités
Associations
Algèbre relationnelleOpérateurs ensemblistes
Opérateurs
Modèle relationnel - Définitions
Clé artificielleSi impossible de trouver une clé primaire, ou cléscandidates sont trop complexes
On fait appel à une clé artificielle.
Définition : Une clé artificielle est un attributsupplémentaire ajouté au schéma de la relation, quin’est lié à aucune signification, et qui sert uniquementà identifier de façon unique les enregistrements.
Clé étrangèreGroupe d’attributs d’une relation R1 devant apparaîtrecomme clé dans une autre relation R2 afin dematérialiser un lien entre les tuples de R1 et les tuplesde R2.
La clé étrangère d’un tuple référence la clé primaired’un autre tuple.
42 / 88

Base de données
H. JONES
Intro
Base de donnéesDonnées
Types de données
Base de données
SGBD
Exemples de problèmes
Mémoire
Langage
Utilisateurs d’un SGBD
Architectures
ModélisationÉtapes
Modèle Entité-Association
Entité
Attribut
Association
Cardinalité
Modèle relationnel
Présentation
Définitions
Modèle E-A ⇒ modèlerelationnelIntroduction
Entités
Associations
Algèbre relationnelleOpérateurs ensemblistes
Opérateurs
Modèle relationnel - Définitions
Contrainte d’intégrité référentielle (CIR)Une clé étrangère respecte la contrainte d’intégritéréférentielle si sa valeur est effectivement existantedans la clé primaire d’un tuple de la relationréférencée, ou si sa valeur est "null".⇒ Les CIR permettent de conserver la cohérence de labase de données.
Suppression et mise à jour en cascadeCIR ⇒ Si on supprime un élément d’une relationréférencée par une autre table, il faut aussi lessupprimer dans cette table
En cascade : on supprime les références successives
Idem pour une mise à jour
Certains SGBD effectuent ces suppressions et mises àjour automatiquement
43 / 88

Base de données
H. JONES
Intro
Base de donnéesDonnées
Types de données
Base de données
SGBD
Exemples de problèmes
Mémoire
Langage
Utilisateurs d’un SGBD
Architectures
ModélisationÉtapes
Modèle Entité-Association
Entité
Attribut
Association
Cardinalité
Modèle relationnel
Présentation
Définitions
Modèle E-A ⇒ modèlerelationnelIntroduction
Entités
Associations
Algèbre relationnelleOpérateurs ensemblistes
Opérateurs
Modèle relationnel - Définitions
Exemple Voyage en Train
Comment éviter les informations redondantes ?
44 / 88

Base de données
H. JONES
Intro
Base de donnéesDonnées
Types de données
Base de données
SGBD
Exemples de problèmes
Mémoire
Langage
Utilisateurs d’un SGBD
Architectures
ModélisationÉtapes
Modèle Entité-Association
Entité
Attribut
Association
Cardinalité
Modèle relationnel
Présentation
Définitions
Modèle E-A ⇒ modèlerelationnelIntroduction
Entités
Associations
Algèbre relationnelleOpérateurs ensemblistes
Opérateurs
Modèle relationnel - Définitions
Exemple Voyage en Train : décomposition
Comment lier ces tables ?
45 / 88

Base de données
H. JONES
Intro
Base de donnéesDonnées
Types de données
Base de données
SGBD
Exemples de problèmes
Mémoire
Langage
Utilisateurs d’un SGBD
Architectures
ModélisationÉtapes
Modèle Entité-Association
Entité
Attribut
Association
Cardinalité
Modèle relationnel
Présentation
Définitions
Modèle E-A ⇒ modèlerelationnelIntroduction
Entités
Associations
Algèbre relationnelleOpérateurs ensemblistes
Opérateurs
Modèle relationnel - Définitions
Table voyage assurant les liens avec conducteuret train
Les tables modèle et conducteur sont référencées par lestuples Modèle et Conducteur.
46 / 88

Base de données
H. JONES
Intro
Base de donnéesDonnées
Types de données
Base de données
SGBD
Exemples de problèmes
Mémoire
Langage
Utilisateurs d’un SGBD
Architectures
ModélisationÉtapes
Modèle Entité-Association
Entité
Attribut
Association
Cardinalité
Modèle relationnel
Présentation
Définitions
Modèle E-A ⇒ modèlerelationnelIntroduction
Entités
Associations
Algèbre relationnelleOpérateurs ensemblistes
Opérateurs
Modèle relationnel - Notations
Relation(Attribut1 :Domaine1, Attribut2 :Domaine2, ... ,AttributN :DomaineN)
Clés primaires(#Attribut1 :Domaine1, ... , #AttributM :DomaineM, ... ,AttributN :DomaineN)
Les clés primaires (de 1 à M) sont notés par # ousoulignées.
Clés étrangèresRelation1(..., AttributM=>Relation2, ... ,AttributN=>Relation2)
En général on note les clés étrangères (de M à N) endernier dans la relation, sauf si elles sont aussiprimaires
La notation peut être implicite 47 / 88

Base de données
H. JONES
Intro
Base de donnéesDonnées
Types de données
Base de données
SGBD
Exemples de problèmes
Mémoire
Langage
Utilisateurs d’un SGBD
Architectures
ModélisationÉtapes
Modèle Entité-Association
Entité
Attribut
Association
Cardinalité
Modèle relationnel
Présentation
Définitions
Modèle E-A ⇒ modèlerelationnelIntroduction
Entités
Associations
Algèbre relationnelleOpérateurs ensemblistes
Opérateurs
Modèle relationnel - Exercice
ExerciceDéfinir un schéma relationnel simple pour lagéographie permettant de décrire :
des personnes : Nom, prénom, Lieu de Naissancedes pays : Nom, Population, Superficie, Dirigeantdes régions : Pays, Nom, Superficie, Dirigeantdes villes : Code Postal, Nom, Pays, Région, Dirigeant
Spécifier les domaines des différents paramètres.
Définir les différentes clés nécessaires (primaires,étrangères) à la cohérence des différentes tables
48 / 88

Base de données
H. JONES
Intro
Base de donnéesDonnées
Types de données
Base de données
SGBD
Exemples de problèmes
Mémoire
Langage
Utilisateurs d’un SGBD
Architectures
ModélisationÉtapes
Modèle Entité-Association
Entité
Attribut
Association
Cardinalité
Modèle relationnel
Présentation
Définitions
Modèle E-A ⇒ modèlerelationnelIntroduction
Entités
Associations
Algèbre relationnelleOpérateurs ensemblistes
Opérateurs
Modèle relationnel - Solution
Exercice - SolutionPersonne (#Numero :Entier, Nom :Chaîne,Prénom :Chaîne, LieuNaissance=>Ville)
Pays (#Nom :Chaîne, Population :Entier,Superficie :Réel, Dirigeant=>Personne)
Région (#Pays=>Pays, #Nom :Chaîne, Superficie,Dirigeant=>Personne)
Ville (#CodePostal :CP, Nom :Chaîne,Pays=>Région.Pays, Région=>Région.Nom,Dirigeant=>Personne)
ExplicationsPersonne : clé artificielle car (Nom, Prénom et Lieu deNaissance) peuvent posséder des doublonsPays : identifié par leur nom, car uniqueRégion : elles font partie d’un pays et ont un nom (cléprimaire double)Ville : Clé code postal unique
49 / 88

Base de données
H. JONES
Intro
Base de donnéesDonnées
Types de données
Base de données
SGBD
Exemples de problèmes
Mémoire
Langage
Utilisateurs d’un SGBD
Architectures
ModélisationÉtapes
Modèle Entité-Association
Entité
Attribut
Association
Cardinalité
Modèle relationnel
Présentation
Définitions
Modèle E-A ⇒ modèlerelationnelIntroduction
Entités
Associations
Algèbre relationnelleOpérateurs ensemblistes
Opérateurs
Plan de l’exposé
1 Introduction
2 Base de données
3 Modélisation
4 Passage d’un Modèle E-A à un modèle relationnel
5 Algèbre relationnelle
50 / 88

Base de données
H. JONES
Intro
Base de donnéesDonnées
Types de données
Base de données
SGBD
Exemples de problèmes
Mémoire
Langage
Utilisateurs d’un SGBD
Architectures
ModélisationÉtapes
Modèle Entité-Association
Entité
Attribut
Association
Cardinalité
Modèle relationnel
Présentation
Définitions
Modèle E-A ⇒ modèlerelationnelIntroduction
Entités
Associations
Algèbre relationnelleOpérateurs ensemblistes
Opérateurs
Passage d’un Modèle E-A à un modèlerelationnel
IntroductionLors de la construction d’une base de données, on doitpasser du MCD (Modèle E-A) au MLD (modèlerelationnel)
Il existe des règles de passage d’un MCD à un MLD
Elles permettent de ’convertir’ un modèle E-A enmodèle relationnel.
51 / 88

Base de données
H. JONES
Intro
Base de donnéesDonnées
Types de données
Base de données
SGBD
Exemples de problèmes
Mémoire
Langage
Utilisateurs d’un SGBD
Architectures
ModélisationÉtapes
Modèle Entité-Association
Entité
Attribut
Association
Cardinalité
Modèle relationnel
Présentation
Définitions
Modèle E-A ⇒ modèlerelationnelIntroduction
Entités
Associations
Algèbre relationnelleOpérateurs ensemblistes
Opérateurs
Entités
Transformation des entitésEntité identifiée : pour chaque entité (identifiée) E,
on crée une relation R dont le schéma est celui del’entité.La clé primaire de R est une des clés de E.
Entité non identifiée : pour chaque entité non identifiéeI ayant un identifiant étranger E,
on crée une relation R qui comprend tous les attributsde I, ainsi que les attributs clés de la relationcorrespondant à E.La clé de R est la concaténation de la clé locale de I etde la clé de E.
52 / 88

Base de données
H. JONES
Intro
Base de donnéesDonnées
Types de données
Base de données
SGBD
Exemples de problèmes
Mémoire
Langage
Utilisateurs d’un SGBD
Architectures
ModélisationÉtapes
Modèle Entité-Association
Entité
Attribut
Association
Cardinalité
Modèle relationnel
Présentation
Définitions
Modèle E-A ⇒ modèlerelationnelIntroduction
Entités
Associations
Algèbre relationnelleOpérateurs ensemblistes
Opérateurs
Associations
Transformation des associationsAssociation (x,n) - (x,1) :
On duplique la clé primaire de la table (x,n) dans la table(x,1).Celle-ci devient clé étrangère
Association (0,1) - (1,1) :
On duplique la clé primaire de la table (0,1) dans la table(1,1).
Association (0,1) - (0,1) :
On duplique la clé d’une des tables dans l’autre.
Association (x,n) - (x,n) :
On crée une table supplémentaire ayant comme cléprimaire une clé composée des clés primaires des deuxtables.Si l’association contient des propriétés, ils deviennentattributs de la table supplémentaire.
53 / 88

Base de données
H. JONES
Intro
Base de donnéesDonnées
Types de données
Base de données
SGBD
Exemples de problèmes
Mémoire
Langage
Utilisateurs d’un SGBD
Architectures
ModélisationÉtapes
Modèle Entité-Association
Entité
Attribut
Association
Cardinalité
Modèle relationnel
Présentation
Définitions
Modèle E-A ⇒ modèlerelationnelIntroduction
Entités
Associations
Algèbre relationnelleOpérateurs ensemblistes
Opérateurs
Associations
Transformation des associationsRelations ternaires :
On crée une table supplémentaire ayant comme cléprimaire une clé composée des clés primaires de toutesles tables reliées.Si l’association contient des propriétés, ils deviennentattributs de la table supplémentaire.
Cardinalité minimale 0 ou 1Cardinalité minimale 1 pour la relation référençante : onajoute une contrainte de non nullité sur la clé étrangère.Cardinalité minimale 1 pour la relation référencée : onajoute une contrainte d’existence de tuples de la relationréférencée.
54 / 88

Base de données
H. JONES
Intro
Base de donnéesDonnées
Types de données
Base de données
SGBD
Exemples de problèmes
Mémoire
Langage
Utilisateurs d’un SGBD
Architectures
ModélisationÉtapes
Modèle Entité-Association
Entité
Attribut
Association
Cardinalité
Modèle relationnel
Présentation
Définitions
Modèle E-A ⇒ modèlerelationnelIntroduction
Entités
Associations
Algèbre relationnelleOpérateurs ensemblistes
Opérateurs
Exercice de transformations
Exercice 1
55 / 88

Base de données
H. JONES
Intro
Base de donnéesDonnées
Types de données
Base de données
SGBD
Exemples de problèmes
Mémoire
Langage
Utilisateurs d’un SGBD
Architectures
ModélisationÉtapes
Modèle Entité-Association
Entité
Attribut
Association
Cardinalité
Modèle relationnel
Présentation
Définitions
Modèle E-A ⇒ modèlerelationnelIntroduction
Entités
Associations
Algèbre relationnelleOpérateurs ensemblistes
Opérateurs
Exercice de transformations
Exercice 1
Solution
55 / 88

Base de données
H. JONES
Intro
Base de donnéesDonnées
Types de données
Base de données
SGBD
Exemples de problèmes
Mémoire
Langage
Utilisateurs d’un SGBD
Architectures
ModélisationÉtapes
Modèle Entité-Association
Entité
Attribut
Association
Cardinalité
Modèle relationnel
Présentation
Définitions
Modèle E-A ⇒ modèlerelationnelIntroduction
Entités
Associations
Algèbre relationnelleOpérateurs ensemblistes
Opérateurs
Exercice de transformations
Exercice 2
56 / 88

Base de données
H. JONES
Intro
Base de donnéesDonnées
Types de données
Base de données
SGBD
Exemples de problèmes
Mémoire
Langage
Utilisateurs d’un SGBD
Architectures
ModélisationÉtapes
Modèle Entité-Association
Entité
Attribut
Association
Cardinalité
Modèle relationnel
Présentation
Définitions
Modèle E-A ⇒ modèlerelationnelIntroduction
Entités
Associations
Algèbre relationnelleOpérateurs ensemblistes
Opérateurs
Exercice de transformations
Exercice 2
Solution
56 / 88

Base de données
H. JONES
Intro
Base de donnéesDonnées
Types de données
Base de données
SGBD
Exemples de problèmes
Mémoire
Langage
Utilisateurs d’un SGBD
Architectures
ModélisationÉtapes
Modèle Entité-Association
Entité
Attribut
Association
Cardinalité
Modèle relationnel
Présentation
Définitions
Modèle E-A ⇒ modèlerelationnelIntroduction
Entités
Associations
Algèbre relationnelleOpérateurs ensemblistes
Opérateurs
Exercices 3,4,5
57 / 88

Base de données
H. JONES
Intro
Base de donnéesDonnées
Types de données
Base de données
SGBD
Exemples de problèmes
Mémoire
Langage
Utilisateurs d’un SGBD
Architectures
ModélisationÉtapes
Modèle Entité-Association
Entité
Attribut
Association
Cardinalité
Modèle relationnel
Présentation
Définitions
Modèle E-A ⇒ modèlerelationnelIntroduction
Entités
Associations
Algèbre relationnelleOpérateurs ensemblistes
Opérateurs
Corrections exercices 3,4
58 / 88

Base de données
H. JONES
Intro
Base de donnéesDonnées
Types de données
Base de données
SGBD
Exemples de problèmes
Mémoire
Langage
Utilisateurs d’un SGBD
Architectures
ModélisationÉtapes
Modèle Entité-Association
Entité
Attribut
Association
Cardinalité
Modèle relationnel
Présentation
Définitions
Modèle E-A ⇒ modèlerelationnelIntroduction
Entités
Associations
Algèbre relationnelleOpérateurs ensemblistes
Opérateurs
Corrections exercice 5
59 / 88

Base de données
H. JONES
Intro
Base de donnéesDonnées
Types de données
Base de données
SGBD
Exemples de problèmes
Mémoire
Langage
Utilisateurs d’un SGBD
Architectures
ModélisationÉtapes
Modèle Entité-Association
Entité
Attribut
Association
Cardinalité
Modèle relationnel
Présentation
Définitions
Modèle E-A ⇒ modèlerelationnelIntroduction
Entités
Associations
Algèbre relationnelleOpérateurs ensemblistes
Opérateurs
Exercices 6,7
60 / 88

Base de données
H. JONES
Intro
Base de donnéesDonnées
Types de données
Base de données
SGBD
Exemples de problèmes
Mémoire
Langage
Utilisateurs d’un SGBD
Architectures
ModélisationÉtapes
Modèle Entité-Association
Entité
Attribut
Association
Cardinalité
Modèle relationnel
Présentation
Définitions
Modèle E-A ⇒ modèlerelationnelIntroduction
Entités
Associations
Algèbre relationnelleOpérateurs ensemblistes
Opérateurs
Corrections exercices 6,7
61 / 88

Base de données
H. JONES
Intro
Base de donnéesDonnées
Types de données
Base de données
SGBD
Exemples de problèmes
Mémoire
Langage
Utilisateurs d’un SGBD
Architectures
ModélisationÉtapes
Modèle Entité-Association
Entité
Attribut
Association
Cardinalité
Modèle relationnel
Présentation
Définitions
Modèle E-A ⇒ modèlerelationnelIntroduction
Entités
Associations
Algèbre relationnelleOpérateurs ensemblistes
Opérateurs
Exercice 8
62 / 88

Base de données
H. JONES
Intro
Base de donnéesDonnées
Types de données
Base de données
SGBD
Exemples de problèmes
Mémoire
Langage
Utilisateurs d’un SGBD
Architectures
ModélisationÉtapes
Modèle Entité-Association
Entité
Attribut
Association
Cardinalité
Modèle relationnel
Présentation
Définitions
Modèle E-A ⇒ modèlerelationnelIntroduction
Entités
Associations
Algèbre relationnelleOpérateurs ensemblistes
Opérateurs
Exercice MCD - MLD Club de pêche
Un club de chasse sous-marine désire informatiser les résultats departies de chasse. Tous les pêcheurs du club sont connus sous unpseudo.Les parties de chasse ne sont pas communes (chacun chasseindividuellement). On considère qu’il ne peut y avoir qu’une seulechasse dans la même journée.Les espèces sont cataloguées en fonction de leur niveau de tir(difficulté qu’ils présentent à être chassés) et de leur poids moyen.
Lorsqu’on enregistre le résultat d’une chasse, seul le nombre depoissons par espèce est comptabilisé (les poissons ne sont paspesés : on raisonne toujours à partir du poids moyen).
Enfin, à chaque niveau de tir est associé un nombre de points (plusle niveau est élevé, plus le nombre de points est important), quipermet d’attribuer un score à chaque partie de chasse.
L’objectif du club est de permettre d’établir les documents suivants :
l’inventaire des espèces de poissons et le niveau de tirqui leur est attribuéle récapitulatif du nombre de prises dans l’année pourl’ensemble des chasseurs du cluble bilan des parties de chasse pour un chasseur donné(NB : on désire voir apparaître le lieu où s’est effectuéechaque chasse).
63 / 88

Base de données
H. JONES
Intro
Base de donnéesDonnées
Types de données
Base de données
SGBD
Exemples de problèmes
Mémoire
Langage
Utilisateurs d’un SGBD
Architectures
ModélisationÉtapes
Modèle Entité-Association
Entité
Attribut
Association
Cardinalité
Modèle relationnel
Présentation
Définitions
Modèle E-A ⇒ modèlerelationnelIntroduction
Entités
Associations
Algèbre relationnelleOpérateurs ensemblistes
Opérateurs
Exercice MCD - MLD Club de pêche
Solution MCD
64 / 88

Base de données
H. JONES
Intro
Base de donnéesDonnées
Types de données
Base de données
SGBD
Exemples de problèmes
Mémoire
Langage
Utilisateurs d’un SGBD
Architectures
ModélisationÉtapes
Modèle Entité-Association
Entité
Attribut
Association
Cardinalité
Modèle relationnel
Présentation
Définitions
Modèle E-A ⇒ modèlerelationnelIntroduction
Entités
Associations
Algèbre relationnelleOpérateurs ensemblistes
Opérateurs
Exercice MCD - MLD Club de pêche
Solution MLD
65 / 88

Base de données
H. JONES
Intro
Base de donnéesDonnées
Types de données
Base de données
SGBD
Exemples de problèmes
Mémoire
Langage
Utilisateurs d’un SGBD
Architectures
ModélisationÉtapes
Modèle Entité-Association
Entité
Attribut
Association
Cardinalité
Modèle relationnel
Présentation
Définitions
Modèle E-A ⇒ modèlerelationnelIntroduction
Entités
Associations
Algèbre relationnelleOpérateurs ensemblistes
Opérateurs
Plan de l’exposé
1 Introduction
2 Base de données
3 Modélisation
4 Passage d’un Modèle E-A à un modèle relationnel
5 Algèbre relationnelle
66 / 88

Base de données
H. JONES
Intro
Base de donnéesDonnées
Types de données
Base de données
SGBD
Exemples de problèmes
Mémoire
Langage
Utilisateurs d’un SGBD
Architectures
ModélisationÉtapes
Modèle Entité-Association
Entité
Attribut
Association
Cardinalité
Modèle relationnel
Présentation
Définitions
Modèle E-A ⇒ modèlerelationnelIntroduction
Entités
Associations
Algèbre relationnelleOpérateurs ensemblistes
Opérateurs
Algèbre relationnelle
PrincipesModélisation logique simple et puissante
Manipulation formelle de l’information modélisée
Permet d’exprimer des questions sous formed’expressions algébriques
ConceptsOpérateurs de base :
UnionDifférenceProjectionRestrictionProduit cartésien
Opérateurs additionnels :IntersectionJointureDivision
67 / 88

Base de données
H. JONES
Intro
Base de donnéesDonnées
Types de données
Base de données
SGBD
Exemples de problèmes
Mémoire
Langage
Utilisateurs d’un SGBD
Architectures
ModélisationÉtapes
Modèle Entité-Association
Entité
Attribut
Association
Cardinalité
Modèle relationnel
Présentation
Définitions
Modèle E-A ⇒ modèlerelationnelIntroduction
Entités
Associations
Algèbre relationnelleOpérateurs ensemblistes
Opérateurs
Algèbre relationnelle
Opérateurs ensemblistes (relationsde même schéma)
Union ∪ :L’union de deux relations R1 et R2 produit une relationR3 constituée de l’ensemble des tuples appartenant àR1 ou (inclusif) à R2.
Différence − :La différence entre deux relations R1 et R2 produit unerelation R3 constituée de l’ensemble des tuples de R1n’appartenant pas à R2.La différence entre R1 et R2 n’est pas égale à ladifférence entre R2 et R1.
Intersection ∩ :L’intersection de deux relations R1 et R2 produit unerelation R3 constituée de l’ensemble des tuplesappartenant à la fois à R1 et à R2.L’intersection n’est pas une opération de base(équivalente à des opérations de bases successives).
68 / 88

Base de données
H. JONES
Intro
Base de donnéesDonnées
Types de données
Base de données
SGBD
Exemples de problèmes
Mémoire
Langage
Utilisateurs d’un SGBD
Architectures
ModélisationÉtapes
Modèle Entité-Association
Entité
Attribut
Association
Cardinalité
Modèle relationnel
Présentation
Définitions
Modèle E-A ⇒ modèlerelationnelIntroduction
Entités
Associations
Algèbre relationnelleOpérateurs ensemblistes
Opérateurs
Algèbre relationnelle
Opérateurs ensemblistes : exercicesSoit 2 relations :
Homme(Nom, Prénom, Age)Femme(Nom, Prénom, Age)
et deux tables :
Homme :
Nom Prénom AgeDURAND Jean 45DUPONT Dominique 20DUBOIS Didier 50
Femme :
Nom Prénom AgeDURAND Isabelle 45DUPONT Dominique 20DUBOIS Emilia 29
Faites les opérations d’union, de différences etd’intersection sur ces deux relations.
Comment pouvez-vous faire une intersection à l’aidedes autres opérateurs ?
69 / 88

Base de données
H. JONES
Intro
Base de donnéesDonnées
Types de données
Base de données
SGBD
Exemples de problèmes
Mémoire
Langage
Utilisateurs d’un SGBD
Architectures
ModélisationÉtapes
Modèle Entité-Association
Entité
Attribut
Association
Cardinalité
Modèle relationnel
Présentation
Définitions
Modèle E-A ⇒ modèlerelationnelIntroduction
Entités
Associations
Algèbre relationnelleOpérateurs ensemblistes
Opérateurs
Algèbre relationnelle
ProjectionLa projection est une opération unaire (c’est à direportant sur une seule relation).
La projection de R1 sur une partie de ses attributs A1,A2, ... produit une relation R2 dont le schéma estrestreint aux attributs mentionnés en opérande,comportant les mêmes tuples que R1, et dont lesdoublons sont éliminés.
Notation : πA(R) avec A les attributs sélectionnés et Rla relation considérée.
70 / 88

Base de données
H. JONES
Intro
Base de donnéesDonnées
Types de données
Base de données
SGBD
Exemples de problèmes
Mémoire
Langage
Utilisateurs d’un SGBD
Architectures
ModélisationÉtapes
Modèle Entité-Association
Entité
Attribut
Association
Cardinalité
Modèle relationnel
Présentation
Définitions
Modèle E-A ⇒ modèlerelationnelIntroduction
Entités
Associations
Algèbre relationnelleOpérateurs ensemblistes
Opérateurs
Algèbre relationnelle
Projection - exerciceSoit la table Homme suivante :
Nom Prénom AgeDURAND Jean 45DUPONT Dominique 20DUPONT Gérard 20DUBOIS Didier 50
Donnez la projection permettant de sélectionner le nomet prénom de la table Homme.
Quel est le résultat de la projection :πNom,Age(Homme) ?
71 / 88

Base de données
H. JONES
Intro
Base de donnéesDonnées
Types de données
Base de données
SGBD
Exemples de problèmes
Mémoire
Langage
Utilisateurs d’un SGBD
Architectures
ModélisationÉtapes
Modèle Entité-Association
Entité
Attribut
Association
Cardinalité
Modèle relationnel
Présentation
Définitions
Modèle E-A ⇒ modèlerelationnelIntroduction
Entités
Associations
Algèbre relationnelleOpérateurs ensemblistes
Opérateurs
Algèbre relationnelle
Restriction (ou sélection)La restriction est une opération unaire.
La restriction de R1, étant donnée une condition C,produit une relation R2 de même schéma que R1 etdont les tuples sont les tuples de R1 vérifiant lacondition C.
Notation σC(R) avec C la condition et R la relationconsidérée.
72 / 88

Base de données
H. JONES
Intro
Base de donnéesDonnées
Types de données
Base de données
SGBD
Exemples de problèmes
Mémoire
Langage
Utilisateurs d’un SGBD
Architectures
ModélisationÉtapes
Modèle Entité-Association
Entité
Attribut
Association
Cardinalité
Modèle relationnel
Présentation
Définitions
Modèle E-A ⇒ modèlerelationnelIntroduction
Entités
Associations
Algèbre relationnelleOpérateurs ensemblistes
Opérateurs
Algèbre relationnelle
Restriction - ExerciceSoit la table Homme suivante :
Nom Prénom AgeDURAND Jean 45DUPONT Dominique 20DUPONT Gérard 20DUBOIS Didier 50
Donnez la restriction permettant de sélectionner leshommes dont le nom est DUPONT.
Quel est le résultat de la restriction :σ(Age>25)(Homme) ?
73 / 88

Base de données
H. JONES
Intro
Base de donnéesDonnées
Types de données
Base de données
SGBD
Exemples de problèmes
Mémoire
Langage
Utilisateurs d’un SGBD
Architectures
ModélisationÉtapes
Modèle Entité-Association
Entité
Attribut
Association
Cardinalité
Modèle relationnel
Présentation
Définitions
Modèle E-A ⇒ modèlerelationnelIntroduction
Entités
Associations
Algèbre relationnelleOpérateurs ensemblistes
Opérateurs
Algèbre relationnelle
Produit cartésienLe produit cartésien est une opération binaire (c’est àdire portant sur deux relations).
Le produit de R1 par R2 (équivalent au produit de R2par R1) produit une relation R3 ayant pour schéma lajuxtaposition de ceux des relations R1 et R2 et pourtuples l’ensemble des combinaisons possibles entre lestuples de R1 et ceux de R2.
Notation : R1 × R2
74 / 88

Base de données
H. JONES
Intro
Base de donnéesDonnées
Types de données
Base de données
SGBD
Exemples de problèmes
Mémoire
Langage
Utilisateurs d’un SGBD
Architectures
ModélisationÉtapes
Modèle Entité-Association
Entité
Attribut
Association
Cardinalité
Modèle relationnel
Présentation
Définitions
Modèle E-A ⇒ modèlerelationnelIntroduction
Entités
Associations
Algèbre relationnelleOpérateurs ensemblistes
Opérateurs
Algèbre relationnelle
Produit cartésien : exerciceSoit 2 relations :
Homme :Nom Prénom Age
DURAND Jean 45DUBOIS Didier 50
Femme :
Nom Prénom AgeDURAND Isabelle 45DUPONT Dominique 20DUBOIS Emilia 29
Faites le produit cartésien de Homme et Femme.
Combien de colonnes et de lignes cette nouvellerelation possède-t-elle ?
Généralisez à des relations R1 (M1 colonnes et N1lignes) et R2 (M2 colonnes et N2 lignes)
75 / 88

Base de données
H. JONES
Intro
Base de donnéesDonnées
Types de données
Base de données
SGBD
Exemples de problèmes
Mémoire
Langage
Utilisateurs d’un SGBD
Architectures
ModélisationÉtapes
Modèle Entité-Association
Entité
Attribut
Association
Cardinalité
Modèle relationnel
Présentation
Définitions
Modèle E-A ⇒ modèlerelationnelIntroduction
Entités
Associations
Algèbre relationnelleOpérateurs ensemblistes
Opérateurs
Algèbre relationnelle
JointureLa jointure est une opération binaire
La jointure de R1 et R2, étant donné une condition Cportant sur des attributs de R1 et de R2, de mêmedomaine, produit une relation R3 ayant pour schéma lajuxtaposition de ceux des relations R1 et R2 et pourtuples l’ensemble de ceux obtenus par concaténationdes tuples de R1 et de R2, et qui vérifient la conditionC.
Notation : R1 ⊲⊳C R2
76 / 88

Base de données
H. JONES
Intro
Base de donnéesDonnées
Types de données
Base de données
SGBD
Exemples de problèmes
Mémoire
Langage
Utilisateurs d’un SGBD
Architectures
ModélisationÉtapes
Modèle Entité-Association
Entité
Attribut
Association
Cardinalité
Modèle relationnel
Présentation
Définitions
Modèle E-A ⇒ modèlerelationnelIntroduction
Entités
Associations
Algèbre relationnelleOpérateurs ensemblistes
Opérateurs
Algèbre relationnelle
Jointure : exerciceSoit 2 relations :
Homme :
Nom Prénom AgeDURAND Jean 45DUPONT Dominique 20DUBOIS Didier 50
Enfant :
Nom Prénom AgeDURAND Théo 3DUPONT Léo 7
DUBREUIL Hugo 5
Quel est le résultat deHomme ⊲⊳Homme.Nom=Enfant.Nom Enfant ?
77 / 88

Base de données
H. JONES
Intro
Base de donnéesDonnées
Types de données
Base de données
SGBD
Exemples de problèmes
Mémoire
Langage
Utilisateurs d’un SGBD
Architectures
ModélisationÉtapes
Modèle Entité-Association
Entité
Attribut
Association
Cardinalité
Modèle relationnel
Présentation
Définitions
Modèle E-A ⇒ modèlerelationnelIntroduction
Entités
Associations
Algèbre relationnelleOpérateurs ensemblistes
Opérateurs
Algèbre relationnelle
Jointure externeLa jointure externe entre R1 et R2 est une jointure quiproduit une relation R3 à laquelle on ajoute les tuplesde R1 et de R2 exclus par la jointure, en complétantavec des valeurs vides (null) pour les attributs del’autre relation.
La jointure externe gauche entre R1 et R2 est unejointure externe pour laquelle on ajoute seulement lestuples de R1 (c’est à dire la relation de gauche) ayantété exclus.
La jointure externe droite entre R1 et R2 est unejointure externe pour laquelle on ajoute seulement lestuples de R2 (c’est à dire la relation de droite) ayant étéexclus.
78 / 88

Base de données
H. JONES
Intro
Base de donnéesDonnées
Types de données
Base de données
SGBD
Exemples de problèmes
Mémoire
Langage
Utilisateurs d’un SGBD
Architectures
ModélisationÉtapes
Modèle Entité-Association
Entité
Attribut
Association
Cardinalité
Modèle relationnel
Présentation
Définitions
Modèle E-A ⇒ modèlerelationnelIntroduction
Entités
Associations
Algèbre relationnelleOpérateurs ensemblistes
Opérateurs
Algèbre relationnelle
Jointure externe : exerciceSoit 2 relations :
Homme :Nom Prénom Age
DUPONT Pierre 20DURAND Jean 30
Enfant :Nom Prénom Age
DUPONT Georges 1MARTIN Isabelle 5
Quel est le résultat deHomme ⊲⊳Homme.Nom=Enfant.Nom Enfanten jointure externe ?
Quel est le résultat deHomme ⊲⊳Homme.Nom=Enfant.Nom Enfanten jointure externe gauche ?
Quel est le résultat deHomme ⊲⊳Homme.Nom=Enfant.Nom Enfanten jointure externe droite ?
79 / 88

Base de données
H. JONES
Intro
Base de donnéesDonnées
Types de données
Base de données
SGBD
Exemples de problèmes
Mémoire
Langage
Utilisateurs d’un SGBD
Architectures
ModélisationÉtapes
Modèle Entité-Association
Entité
Attribut
Association
Cardinalité
Modèle relationnel
Présentation
Définitions
Modèle E-A ⇒ modèlerelationnelIntroduction
Entités
Associations
Algèbre relationnelleOpérateurs ensemblistes
Opérateurs
Algèbre relationnelle
Jointure externe : corrigé
Jointure externe :H.Nom H.Prénom H.Age E.Nom E.Prénom E.Age
DUPONT Pierre 20 Dupont Georges 1DURAND Jean 30 Null Null Null
Null Null Null Martin Isabelle 5
Jointure externe gauche :H.Nom H.Prénom H.Age E.Nom E.Prénom E.Age
DUPONT Pierre 20 Dupont Georges 1DURAND Jean 30 Null Null Null
Jointure externe droite :H.Nom H.Prénom H.Age E.Nom E.Prénom E.Age
DUPONT Pierre 20 Dupont Georges 1Null Null Null Martin Isabelle 5
80 / 88

Base de données
H. JONES
Intro
Base de donnéesDonnées
Types de données
Base de données
SGBD
Exemples de problèmes
Mémoire
Langage
Utilisateurs d’un SGBD
Architectures
ModélisationÉtapes
Modèle Entité-Association
Entité
Attribut
Association
Cardinalité
Modèle relationnel
Présentation
Définitions
Modèle E-A ⇒ modèlerelationnelIntroduction
Entités
Associations
Algèbre relationnelleOpérateurs ensemblistes
Opérateurs
Algèbre relationnelle
DivisionLa division est une opération binaire (c’est à direportant sur deux relations).
La division de R1 par R2, sachant que R1 et R2 ont aumoins un attribut commun (c’est à dire de même nomet de même domaine), produit une relation R3 quicomporte les attributs appartenant à R1 maisn’appartenant pas à R2 et l’ensemble des tuples quiconcaténés à ceux de R2 donnent toujours un tuple deR1.
Notation : R1/R2
81 / 88

Base de données
H. JONES
Intro
Base de donnéesDonnées
Types de données
Base de données
SGBD
Exemples de problèmes
Mémoire
Langage
Utilisateurs d’un SGBD
Architectures
ModélisationÉtapes
Modèle Entité-Association
Entité
Attribut
Association
Cardinalité
Modèle relationnel
Présentation
Définitions
Modèle E-A ⇒ modèlerelationnelIntroduction
Entités
Associations
Algèbre relationnelleOpérateurs ensemblistes
Opérateurs
Algèbre relationnelle
Division : exempleSoit deux relations :
Homme :
Nom Prénom MétierDUPONT Pierre IngénieurDUPONT Pierre ProfesseurDURAND Jean Ingénieur
Métier :Métier
IngénieurProfesseur
Homme/Metier = (Dupont,Pierre)
82 / 88

Base de données
H. JONES
Intro
Base de donnéesDonnées
Types de données
Base de données
SGBD
Exemples de problèmes
Mémoire
Langage
Utilisateurs d’un SGBD
Architectures
ModélisationÉtapes
Modèle Entité-Association
Entité
Attribut
Association
Cardinalité
Modèle relationnel
Présentation
Définitions
Modèle E-A ⇒ modèlerelationnelIntroduction
Entités
Associations
Algèbre relationnelleOpérateurs ensemblistes
Opérateurs
Algèbre relationnelle
Exercice algèbre relationnelle
Projections et sélections1 Donnez la liste des avions dont la capacité est
supérieure à 350 passagers.2 Quels sont les numéros et noms des avions localisés à
Nice ?3 Quels sont les numéros des pilotes en service et les
villes de départ de leurs vols ?4 Donnez toutes les informations sur les pilotes de la
compagnie5 Quel est le nom des pilotes domiciliés à Paris dont le
salaire est supérieur à 3000C?83 / 88

Base de données
H. JONES
Intro
Base de donnéesDonnées
Types de données
Base de données
SGBD
Exemples de problèmes
Mémoire
Langage
Utilisateurs d’un SGBD
Architectures
ModélisationÉtapes
Modèle Entité-Association
Entité
Attribut
Association
Cardinalité
Modèle relationnel
Présentation
Définitions
Modèle E-A ⇒ modèlerelationnelIntroduction
Entités
Associations
Algèbre relationnelleOpérateurs ensemblistes
Opérateurs
Algèbre relationnelle
Exercice algèbre relationnelle
Opérateurs ensemblistes6 Quels sont les avions (numéro et nom) localisés à Nice
ou dont la capacité est inférieure à 350 passagers ?7 Donnez la liste des vols au départ de Nice allant à Paris
après 18h.8 Quels sont les numéros de pilotes qui ne sont pas en
service ?9 Quels sont les vols (numéro, ville de départ) effectués
au départ de Nice par les pilotes de numéro 100 et 204 ?
84 / 88

Base de données
H. JONES
Intro
Base de donnéesDonnées
Types de données
Base de données
SGBD
Exemples de problèmes
Mémoire
Langage
Utilisateurs d’un SGBD
Architectures
ModélisationÉtapes
Modèle Entité-Association
Entité
Attribut
Association
Cardinalité
Modèle relationnel
Présentation
Définitions
Modèle E-A ⇒ modèlerelationnelIntroduction
Entités
Associations
Algèbre relationnelleOpérateurs ensemblistes
Opérateurs
Algèbre relationnelle
Exercice algèbre relationnelle
Jointures10 Donnez le numéro des vols effectués au départ de Nice
par des pilotes Niçois11 Quels sont les vols effectués par un avion qui n’est pas
localisé à Nice ?12 Quels sont les pilotes (numéro et nom) assurant au
moins un vol au départ de Nice avec un avion decapacité supérieure à 300 places ?
13 Quels sont les noms des pilotes domiciliés à Parisassurant un vol au départ de Nice avec un Airbus?
85 / 88

Base de données
H. JONES
Intro
Base de donnéesDonnées
Types de données
Base de données
SGBD
Exemples de problèmes
Mémoire
Langage
Utilisateurs d’un SGBD
Architectures
ModélisationÉtapes
Modèle Entité-Association
Entité
Attribut
Association
Cardinalité
Modèle relationnel
Présentation
Définitions
Modèle E-A ⇒ modèlerelationnelIntroduction
Entités
Associations
Algèbre relationnelleOpérateurs ensemblistes
Opérateurs
Algèbre relationnelle - Corrections Avions
Projections et sélections1 R1.1 = σcap>350(Avion)2 R2.1 = σloc=′Nice′(Avion)
R2.2 = πNumAv,Nom(R2.1)3 R3.1 = πNumpil,VilleDep(Vol)4 R4.1 = Pilote5 R5.1 = σAdr=′Paris′(Pilote)
R5.2 = σSal>3000(R5.1)R5.3 = πNomPil(R5.2)
86 / 88

Base de données
H. JONES
Intro
Base de donnéesDonnées
Types de données
Base de données
SGBD
Exemples de problèmes
Mémoire
Langage
Utilisateurs d’un SGBD
Architectures
ModélisationÉtapes
Modèle Entité-Association
Entité
Attribut
Association
Cardinalité
Modèle relationnel
Présentation
Définitions
Modèle E-A ⇒ modèlerelationnelIntroduction
Entités
Associations
Algèbre relationnelleOpérateurs ensemblistes
Opérateurs
Algèbre relationnelle - Corrections Avions
Opérateurs ensemblistes6 R6.1 = σCap<350(Avion)
R6.2 = πNumAv,NomAv (R6.1)R6.3 = R2.2 ∪ R6.2
7 R7.1 = σVilleDep=′Nice′(Vol)R7.2 = σVilleArr=′Paris′(Vol)R7.3 = σHdep>18.00(Vol)R7.4 = R7.1 ∩ R7.2
R7.5 = R7.3 ∩ R7.48 R8.1 = πNumPil(Pilote)
R8.2 = πNumPil(Vol)R8.3 = R8.1 − R8.2
9 R9.1 = σNumpil=100(Vol)R9.2 = σNumpil=204(Vol)R9.3 = R9.1 ∪ R9.2
R9.4 = πNumVol,VillDep(R9.3)
87 / 88

Base de données
H. JONES
Intro
Base de donnéesDonnées
Types de données
Base de données
SGBD
Exemples de problèmes
Mémoire
Langage
Utilisateurs d’un SGBD
Architectures
ModélisationÉtapes
Modèle Entité-Association
Entité
Attribut
Association
Cardinalité
Modèle relationnel
Présentation
Définitions
Modèle E-A ⇒ modèlerelationnelIntroduction
Entités
Associations
Algèbre relationnelleOpérateurs ensemblistes
Opérateurs
Algèbre relationnelle - Corrections Avions
Jointures10 R10.1 = σAdr=′Nice′(Pilote)
R10.2 = R10.1 ⊲⊳NumPil=NumPil R7.1
R10.3 = πNumVol(R10.2)11 R11.1 = σLoc 6=′Nice′(Avion)
R11.2 = Vol ⊲⊳NumAv=NumAv R11.1
R11.3 = πNumVol,VilleDep,VilleArr (R11.2)12 R12.1 = σCap>300(Avion)
R12.2 = R7.1 ⊲⊳NumAv=NumAv R12.1
R12.3 = R12.2 ⊲⊳NumPil=NumPil PiloteR12.4 = πNumPil,NomPil(R12.3)
13 R13.1 = σNomAv=′Airbus′(Avion)R13.2 = R7.1 ⊲⊳NumAv=NumAv R13.1
R13.3 = R13.2 ⊲⊳NumPil=NumPil R5.1
R13.4 = πNomPil(R13.3)
88 / 88