Introduction aux Bases de Données

Slides:



Advertisements
Présentations similaires
Mais vous comprenez qu’il s’agit d’une « tromperie ».
Advertisements

Le Nom L’adjectif Le verbe Objectif: Orthogram
ORTHOGRAM PM 3 ou 4 Ecrire: « a » ou « à » Référentiel page 6
Langage de manipulation de données Ensemble de commandes permettant : – modifier la base : ajout, modification et suppression – interroger la base ex :
Rappels. Les Systèmes de Gestion de Bases de Données (SGBD) L'algèbre relationnelle.
Licence pro MPCQ : Cours
Distance inter-locuteur
Les numéros
Les identités remarquables
Le Modèle Logique de Données
LES TRIANGLES 1. Définitions 2. Constructions 3. Propriétés.
Georges Gardarin 1 LE LANGAGE DE REQUETES SQL l Origines et Evolutions l SQL1 86: la base l SQL1 89: l'intégrité l SQL2 92: la nouvelle norme l SQL3 98:
Programme Introduction aux BD et aux SGBD Le modèle relationnel
Introduction aux Bases de Données
1 © C. HANACHI, J.M. THEVENIN Licence AES Cours d informatique 2ème Partie : Concevoir une Base de Données Cours de Mr Perrussel
Introduction aux Bases de Données
Primitives - Intégration
LA RÉGRESSION MULTIPLE
1 La mesure MESURE & QUALITE De la mesure …. La mesure 2 Sommaire 1. Problématique 2. Démarche 3. Zéro défaut 4. Résolution des non-conformités.
Introduction en systèmes d’information et bases de données
Cours Base de données relationnelles
Nom du module Date Lieu de la formation. 2 Genèse du projet Historique, partenaires, publics Pour qui ? Pourquoi ? Qui ? Comment ? Quand ?
1 7 Langues niveaux débutant à avancé. 2 Allemand.
Mr: Lamloum Med LES NOMBRES PREMIERS ET COMPOSÉS Mr: Lamloum Med.
Initiation au système d’information et aux bases de données
Initiation au système d’information et aux bases de données
Développement d’applications web
Interagir avec un objet mixte Propriétés physiques et numériques Céline Coutrix, Laurence Nigay Équipe Ingénierie de lInteraction Homme-Machine (IIHM)
Le Concours de Conaissance III Francais I fevrier 2013.
Eléments d ’algèbre relationnelle
1 Cours numéro 3 Graphes et informatique Définitions Exemple de modélisation Utilisation de ce document strictement réservée aux étudiants de l IFSIC.
Le soccer & les turbans Sondage mené par lAssociation détudes canadiennes 14 juin 2013.
Cours de physique générale I Ph 11
1 Guide de lenseignant-concepteur Vincent Riff 27 mai 2003.
GRAM 1 CE2 Je sais transformer une phrase affirmative en phrase négative.
Chap 4 Les bases de données et le modèle relationnel
Le Concours de Conaissance Francais I novembre 2012.
Titre : Implémentation des éléments finis sous Matlab
ACDI IUT de Paris – 05 février CR-MD - v1.20 Enquête POST-DUT Informatique 03 1 Les diplômés de 2003 Claude Ratard - Vélizy.
Tableaux de distributions
Tableaux de distributions
Projet poker 1/56. Introduction Présentation de léquipe Cadre du projet Enjeux Choix du sujet 2.
LES NOMBRES PREMIERS ET COMPOSÉS
Cours N°2 Base de Données & Langage SQL
SYSTEMES D’INFORMATION
1 LE LANGAGE DE REQUETES SQL Origines et Evolutions SQL1 86: la base SQL1 89: l'intégrité.
Mise en œuvre du langage MDX
RACINES CARREES Définition Développer avec la distributivité Produit 1
Staf 2x Cours de bases de données
Représentation des systèmes dynamiques dans l’espace d’état
DUMP GAUCHE INTERFERENCES AVEC BOITIERS IFS D.G. – Le – 1/56.
1.1 LES VECTEURS GÉOMÉTRIQUES
Cours de Base de Données & Langage SQL
Année universitaire Réalisé par: Dr. Aymen Ayari Cours Réseaux étendus LATRI 3 1.
MAGIE Réalisé par Mons. RITTER J-P Le 24 octobre 2004.
1 INETOP
Initiation aux bases de données et à la programmation événementielle
Initiation à la conception des systèmes d'informations
Michel Tollenaere SQL et relationnel ENSGI Cours MSI 2A Relationnel et SQL version 1.4 du 25 septembre 2007 (ajout jointures) 1 Modèle relationnel Historique.
P.A. MARQUES S.A.S Z.I. de la Moussière F DROUE Tél.: + 33 (0) Fax + 33 (0)
MAGIE Réalisé par Mons. RITTER J-P Le 24 octobre 2004.
Traitement de différentes préoccupations Le 28 octobre et 4 novembre 2010.
1/65 微距摄影 美丽的微距摄影 Encore une belle leçon de Macrophotographies venant du Soleil Levant Louis.
Introduction.
Nom:____________ Prénom: ___________
Modélisation des données Niveau conceptuel DON-2 V0-0.
Mise en œuvre du langage MDX
Exercice de vérification 1 p
1 Initiation aux bases de données et à la programmation événementielle Responsable : Souheib BAARIR. (le sujet de votre .
Transcription de la présentation:

Introduction aux Bases de Données Licence AES Cours d ’informatique 1ère Partie Cours de Mme Soulé-Dupuy soule@univ-tlse1.fr Mr Thévenin thevenin@univ-tlse1.fr Polycopié réalisé par C. HANACHI, J.M. THEVENIN © C. HANACHI, J.M. THEVENIN

© C. HANACHI, J.M. THEVENIN

Objectif du cours La conception de bases de données est une tâche de première importance dès lors que l’on veut exploiter des données informatisées dans le cadre une activité donnée. Il faut savoir organiser les données utiles à son activité afin de les gérer de façon efficace (les stocker, les retrouver, les analyser). L’objectif de ce cours : Présenter les règles essentielles permettant de concevoir une base de données cohérente dans le cadre d’une activité précise Présenter les langages d’interrogations permettant de tirer profit de ces données. Les compétences acquises par les étudiants : Être capable de concevoir et d ’exploiter une base de données relevant de la micro-informatique, dans le cadre de leur activité professionnelle ; Être des interlocuteurs avertis pour la conception du système d’information de leur entreprise ; Maîtriser les concepts essentiels d’ACCESS, un outil répandu dans le domaine de la micro-informatique. © C. HANACHI, J.M. THEVENIN

Plan * 1ère Partie : Introduction aux concepts fondamentaux des Bases de Données 1. Notions de base. 2. Le modèle Entité-Association. 3. Le modèle relationnel. 4. Interroger une base de données. 2ème Partie : Concevoir une base de données 1. Les finesses de la modélisation Entité-Association 2. Compléments sur le modèle relationnel 3. Présenter un dossier d’analyse 3ème Partie : Interroger une Base de Données 1. Le langage algébrique 2. Le langage SQL * seule la première partie du cours fait l’objet de ce poly © C. HANACHI, J.M. THEVENIN

Chapitre 1 Notions de Base 1. Place des SGBD dans le Système d’Information de l’entreprise 2. Approche intuitive de BD 3. Définitions 4. Les 3 fonctions d’un SGBD. 4.1. La description des données 4.2. La mise à jour et la restitution de données. 4.3. Le contrôle de la base de données. 4.4. Simplifier l ’accès aux données 5. Quelques SGBD du marché 6. La démarche enseignée © C. HANACHI, J.M. THEVENIN

1.1 Place des SGBD dans le Système d’Information de l’entreprise Système de Pilotage Système d’Information Base de Données Entrées Résultat Système Opérant Perturbations Circulation de l’information dans l’entreprise : Directives Coordination Comptes rendus © C. HANACHI, J.M. THEVENIN

Place des SGBD dans le Système d’Information de l’entreprise Besoin de gérer l’information : L’information apparaît à un Instant différent Endroit différent Sous une forme différente => 4 étapes : Saisie Mémorisation Traitement Communication Difficulté d’accéder à l’information : Où est l’information ? Comment est elle codée ? Comment y accéder ? © C. HANACHI, J.M. THEVENIN

1.2 Approche intuitive Définition Intuitive : Une base de données est un “pot” commun d’information, partagé par plusieurs utilisateurs. Ces informations peuvent être interrogées et mises à jour par l'intermédiaire d’un logiciel. Le plus souvent ces informations décrivent la structure et/ou l’activité d’une organisation et facilite la prise de décision. Exemples d’applications basées sur une BD: Gestion des contrats d’une SSII Amadeus(Avions), Socrate(SNCF). L’annuaire Electronique. Catalogue électronique de la Bibliothèque. Guichets bancaires. Vente par correspondance © C. HANACHI, J.M. THEVENIN

Approche intuitive Le catalogue électronique de la Bibliothèque : utilisation simultanée par les étudiants, le personnel de la BU, la direction de la BU. fonction : recherche multi-critères d’ouvrage(Etudiant), prêt,relance (personnel de la BU), statistique sur les prêts (direction de la BU). garantie : limite automatique du nombre d’ouvrages prêtés, vérification du droit d'accès, ... © C. HANACHI, J.M. THEVENIN

1.3 Définitions Définition 1 : “ Une Base de données est un ensemble structuré de données(1) enregistrées sur des supports accessibles par l’ordinateur(2) pour satisfaire simultanément plusieurs utilisateurs(3) de manière sélective(4) et en un temps opportun(5) ” (Adiba & Delobel). (1) Organisation et Description des objets et des liens entre ces objets à l’aide d’un Langage de Description des Données. (2) Stockage sur disque. (3) Partage de l’information, gestion des accès concurrents , facilité d’utilisation(à l’aide d’un Langage de Manipulation des Données). (4) Confidentialité, Sécurité. (5) Performance. © C. HANACHI, J.M. THEVENIN

Définitions Définition 2 : “ Le logiciel qui permet d’interagir avec une BD est un Système de Gestion de Bases de Données (SGBD) ” (Adiba & Delobel, 82). A A SGBD B Application B C Application C BD © C. HANACHI, J.M. THEVENIN

1.4 Les trois fonctions d’un S.G.B.D La description des données (codification, structuration => schéma conceptuel). La manipulation et la restitution des données (insertion, mise à jour, interrogation). Le contrôle (partage, intégrité, confidentialité, sécurité). © C. HANACHI, J.M. THEVENIN

1.4.1 La description des données Documents Groupe d’utilisateur I (GU 1) Interview Groupe d’utilisateur II(GU 2) ... Modélisation Schéma externe 1 pour GU1 Schéma externe 2 pour GU2 T Schéma Conceptuel de Données T Schéma Physique ... BD © C. HANACHI, J.M. THEVENIN

1.4.2 La mise à jour et la restitution des données Mise en oeuvre à l’aide d’un Langage de Manipulation des Données (LMD). Fonctions : insérer des valeurs ; mise à jour des valeurs ; interrogation de la BD. S.Q.L (Structured Query Language) : Langage standard et déclaratif. © C. HANACHI, J.M. THEVENIN

1.4.3 Le contrôle de la Base de Données confidentialité partage, concurrence respect des Contraintes d’intégrité sûreté de fonctionnement. © C. HANACHI, J.M. THEVENIN

1.4.4 Simplifier l’accès aux données Où est l’information ? Dans la base de données Comment est codée l’information ? Schéma conceptuel des données Comment accéder à l’information ? Langage d’interrogation © C. HANACHI, J.M. THEVENIN

1.5 Quelques S.G.B.D (relationnels) du marché Micro : ACCESS PARADOX DBASE V FOXPRO, ... Gros Système : DB2 ORACLE SQL server SYBASE INGRES ... © C. HANACHI, J.M. THEVENIN

1.6 Démarche enseignée Modélisation Entité-Association Documents Modélisation Entité-Association Interview Schéma Conceptuel en Entité -Association Transformation en relationnel Schéma conceptuel en relationnel Passage en machine sous Access Base de Données Relationnelle manipulable en SQL © C. HANACHI, J.M. THEVENIN

Chapitre 2 Le modèle Entité-Association 1. Les concepts de base 2. Les associations 3. Les propriétés 4. Les cardinalités des rôles 5. Identification des occurrences 6. Exemple 7. Expression des contraintes d'intégrité 8. Démarche de conception © C. HANACHI, J.M. THEVENIN

2.1 Les concepts de base Modèle, Langage, Formalisme. Origine : Travaux de Chen(USA), Tardieu(France), en 74/75. Succès dus à : langage graphique Intégré à des méthodes d’analyse (MERISE par ex.). Concepts simples : choses ->entités liens entre les choses -> association regroupement des choses de même nature : classes d’entités, classes d’associations. © C. HANACHI, J.M. THEVENIN

Les concepts de base Affiche 1..n 0..m 0..n 1..n Casting FILMS CINEMA titre : texte durée : 30..300 version : (VO,VF) nationalité : texte CINEMA Affiche est à l’affiche diffuse 1..n 0..m 0..n a pour distribution ACTEURS 1..n Casting joue dans © C. HANACHI, J.M. THEVENIN

Concepts de base Une entité Une association Classe d’entités : C’est un objet, un événement, un lieu , une personne identifiable sans ambiguïté. Exemple : abc, utopia, Woody Allen, Emmanuelle Beart, Coups de feu sur Brodway. Une association C’est un lien entre 2 ou plusieurs entités. Exemple : Woody Allen a mis en scène “Coups de feu sur Brodway” Classe d’entités : C’est un regroupement d’entités de même nature. Exemple : Films, cinéma, metteurs en scène. Classe d’Associations : C’est un lien entre 2 ou plusieurs classes d’entités. Exemple : Affiche(entre Cinéma et Films), Distribution(entre Films et Acteurs). © C. HANACHI, J.M. THEVENIN

Les concepts de base Propriété : unité d’information indécomposable désignée par un nom. Exemple : nom_acteur, titre, ... Propriété d’une classe d’entités : caractéristique commune à chaque élément de la classe. Domaine de valeur : ensemble de valeurs possibles d’une propriété. Exemple : numérique, montant, texte, (M,F), 0..17, ... Identifiants : propriété ou groupe de propriétés dont la valeur identifie sans ambiguïté une entité ou une liaison d’une classe. Rôle : sens d’une patte (relie une classe d’entité à une classe d’association). Cardinalités d’une patte : constituées de deux nombres correspondant au maximum et minimum d'occurrences de l’association pouvant être associés à chaque occurrence de l’entité. © C. HANACHI, J.M. THEVENIN

2.2 Les associations Différents types d’association : Statique : interprétation. Dynamique : affiche. Variable dans le temps Gestion d ’historiques Binaire, ternaire, ... selon le nombre de classes d’entités associées à la classe d’association. Réflexive (suite d’un film). Remarque : Il peut exister plusieurs classes d’association entre 2 mêmes entités. © C. HANACHI, J.M. THEVENIN

2.3 Les propriétés Déterminent la structure d’une classe d’entités ou d’une classe d’associations (ex : tarif d’un film). Définie par un nom et un domaine de valeurs Choix du nom : unique, explicite. Domaine de valeurs : détermine l’ensemble des valeurs possibles pour une propriété énumérés : (M,F), (rouge, blanc, rosé). intervalle : 0..120, montant, date, texte, numérique. ... détermine les opérations possibles sur la propriété ainsi que les autres propriétés aux quelles elle est comparable © C. HANACHI, J.M. THEVENIN

2.4 Les cardinalités des rôles La cardinalité des rôles répond à la question : combien de fois une occurrence peut-elle jouer un rôle donné au maximum et au minimum ? Facultatif Obligatoire 0,1 1,1 Unique 0,n 1,n Multiple typologie des cardinalités des liens ne tenant compte que des maximums de type un à un (bijectif) 1,1 un à plusieurs (hiérarchique) 1,n plusieurs à plusieurs (Affiche entre Film et Cinéma) m,n © C. HANACHI, J.M. THEVENIN

2.5 Identification des occurrences Objectifs : chaque occurrence doit pouvoir être repérée de manière unique et sans ambiguïté, pour être distinguée de toutes les autres. Pour une classe d’entités : Propriété ou groupe de propriétés qui permet de repérer une occurrence de manière unique. On souligne l’identifiant. Un seul identifiant. On privilégie l’identifiant le plus court, le plus naturel (n° bon de commande, n° étudiant, ...). On peut créer un identifiant artificiel par commodité Identifiant non variable dans le temps. Identifiant d’une association : implicite, obtenu en juxtaposant les identifiants des entités qui participent à la liaison. © C. HANACHI, J.M. THEVENIN

2.6 Exemple On souhaite créer une base de données géographique destinée à la gestion des pays, des fleuves et des espaces maritimes (mers et océans). Chaque pays est connu par un nom, une superficie, un nombre d'habitants, la liste des pays qui ont une frontière commune avec lui et la liste des fleuves qui le traversent. Un fleuve est connu par son nom, sa longueur, l'espace maritime dans lequel il se jette, le nom du pays dans lequel il prend sa source, la liste des pays qu'il traverse et la distance parcourue dans chacun de ces pays. Un espace maritime est connu par un nom, un type (mer ou océan), la liste des pays qu'il côtoie et la liste des fleuves qui s'y jettent. Donnez le schéma E/A permettant de gérer les informations décrites ci-dessus. Commentez les choix des cardinalités. © C. HANACHI, J.M. THEVENIN

Chapitre 3 Le modèle Relationnel 1. Les concepts de base 2. Les tables 3. Les attributs 4. Les clés 5. Les clés étrangères 6. Traduction d ’une association 1,1 7. Traduction d ’une association m,n 8. Démarche de traduction © C. HANACHI, J.M. THEVENIN

3.1Les concepts de base Modèle, Langage, Théorie. Origine : Travaux de Codd (USA), en 70. Succès dus à : Concepts simples : entités, associations -> tables identifiants d’entité ou d’association -> clés liens entre entités et associations -> clés étrangères Un modèle et un langage standard (SQL) Une base théorique théorie des ensembles algèbre relationnelle © C. HANACHI, J.M. THEVENIN

3.2 Les tables (relations) Représentation graphique d'une table : EMPLOYES Nom de la table : EMPLOYES. Schéma : 1ère ligne. Tuple : chacune des autres lignes. Attribut : une colonne Clé de la relation : Matricule. Clé étrangère : #NomService © C. HANACHI, J.M. THEVENIN

Les tables (relations) Correspondance entité -> table : Nom entité -> Nom table Propriété -> Attribut Domaine -> Domaine Identifiant -> Clé Instance -> Tuple Correspondance association -> table : Nom association -> Nom table Lien entre 2 instance d’entité -> Tuple © C. HANACHI, J.M. THEVENIN

Les tables (relations) Propriétés : 1. Une valeur de la clé désigne une ligne unique Ainsi, la valeur en question permet de retrouver cette ligne 2. Un nom d’attribut désigne une colonne 1 et 2 => l’ordre des ligne et des colonnes n’est pas significatif Remarque : si la clé d’une table est définie par un couple d’attributs, ses valeurs sont des couples. © C. HANACHI, J.M. THEVENIN

3.3 Les attributs La notion d’attribut en relationnel correspond à la notion de propriété en entité/association Un attribut est défini par un nom et un domaine Le domaine d’un attribut décrit les valeurs autorisées dans la colonne de cet attribut Les valeurs d’un attribut sont atomiques : non décomposables Contraintes supplémentaires : unicité, non nullité, clé, clé étrangère, valeur par défaut © C. HANACHI, J.M. THEVENIN

3.4 Les clés La clé d’une table est un attribut ou groupe d’attributs dont les valeurs identifient de façon unique une ligne de la table Il est possible que plusieurs combinaisons d’attributs puissent être exploitées comme clé : on choisit la combinaison la plus courte comme clé primaire Les autres combinaisons sont des clés candidates Il est parfois utile de créer une clé artificielle lorsque les clés candidates sont compliquées © C. HANACHI, J.M. THEVENIN

3.5 Les clés étrangères EMPLOYES SERVICES Dans la table SERVICES NomService est une clé qui permet retrouver la ligne décrivant un service donné Dans la table EMPLOYES NomService* est une clé étrangère qui permet d’aller chercher dans la table SERVICE la description du service auquel appartient un employé donné © C. HANACHI, J.M. THEVENIN

Les clés étrangères Le terme clé étrangère signifie clé d’une autre table La notion de clé étrangère est utilisée pour établir un lien entre deux tables Soit une table A possédant un attribut b* définit comme clé étrangère provenant de la table B : Chaque ligne de la table A possède une valeur pour la clé étrangère b*, permettant de retrouver une ligne de la table B Chaque ligne de la table B possède une valeur pour la clé b qui peut apparaître dans 0 ou n lignes de la table A comme valeur de b* b* établit un lien n-1 entre A et B Les clés étrangères sont les seules redondances autorisées © C. HANACHI, J.M. THEVENIN

Les clés étrangères Règles d’intégrité référentielle Toute valeur saisie pour une clé étrangère doit être incluse dans l’ensemble des valeurs de la clé référencée Toute valeur saisie dans une colonne b* doit exister dans la colonne b Le non respect de cette règle entraîne que la table A référence des lignes n’existant pas dans la table B Lorsque l’on supprime une ligne dans une table référencée, la valeur de clé supprimée doit avoir été préalablement supprimée des colonnes clé étrangères © C. HANACHI, J.M. THEVENIN

3.6 Traduction d’une association 1-n FILMS titre : texte durée : 30..300 version : (VO,VF) nationalité : texte REALISATEUR Réaliser est réalise réalise NR : numérique nomR : texte PrénomR : texte 1..1 0..n Année : num Exemple de lien 1-n : Chaque ligne de FILMS doit être reliée à 1 lignes de CINEMA une ligne de CINEMA peut être reliée à n lignes de FILMS Traduction Films (titre, durée, version, nationalité, NR*, année) Réalisateur (NR, nomR, prénomR) © C. HANACHI, J.M. THEVENIN

Traduction d’une association 1-n Toute association possédant une arrête de cardinalité 1,1 fusionne avec l’entité reliée à cette arrête Pour fusionner une association avec une entité : ajouter toutes les propriétés de l’association dans la table de l’entité importer les clé des autres entités auxquelles l’association est reliée déclarer les clés importées comme clés étrangères Une association ne fusionne qu’une fois © C. HANACHI, J.M. THEVENIN

3.7 Traduction d’une association m-n FILMS titre : texte durée : 30..300 version : (VO,VF) nationalité : texte CINEMA Affiche est à l’affiche diffuse NC : numérique nomC : texte AdresseC : texte 1..n DD : date DF : date 0..m Exemple de lien m-n : Chaque ligne de FILMS doit être reliée à n lignes de CINEMA Chaque ligne de CINEMA doit être reliée à n lignes de FILMS Traduction Films (titre, durée, version, nationalité) Cinéma (NC, nomC, adresseC) Affiche (titre*, NC*, DD, DF) © C. HANACHI, J.M. THEVENIN

Traduction d’une association m-n Pour traduire un lien m-n il faut créer une table intermédiaire Du nom de l’association Comportant toutes les propriétés de l’association Comportant comme clés étrangères les clés des entités reliées Dont la clé est l’union des clés étrangères et des attributs soulignés de l ’association © C. HANACHI, J.M. THEVENIN

3.8 Démarche de traduction d’un schéma entité/ association Etape 1 : Toute classe d’entités du diagramme entité/association est représentée par une table dans le schéma relationnel équivalent. La clé de cette table est l’identifiant de la classe d’entités correspondante. Etape 2 : Toute classe d’associations 1,n (possédant une arrête de cardinalité 1,1 vers une entité Ei) fusionne avec la table de l’entité Ei. Etape 3 : Toute classe d’associations m,n est transformée en table. La clé de cette table inclut tous les identifiants des entités participantes qui sont déclarés comme clé étrangère. © C. HANACHI, J.M. THEVENIN

3.9 Exemple : Traduire le schéma E/A de la base de données géographique en schéma relationnel. © C. HANACHI, J.M. THEVENIN

Chapitre 4 Interroger une base de données PLAN 1. Les différents types de langages 2. Bases théoriques 3. Opérations utilisées 4. Projection 5. Restriction 6. Jointure 7. Démarche d’interrogation 8. Exemples © C. HANACHI, J.M. THEVENIN

4.1 Les différents types de langages Langage Algébrique R S = Cte a, b, c Res Langage Graphique R S a b c Afficher x x x Critères =Cte SELECT a,b,c FROM R,S WHERE R S and =Cte Langage SQL SGBD BD a b c © C. HANACHI, J.M. THEVENIN

Les différents types de langages SQL : Langage puissant et complet Interface standard des SGBD Langages graphiques Plus faciles d’accès Permettent d’exprimer des requêtes SQL simples Un langage graphique est spécifique à un SGBD (certains SGBD n’en ont pas) Attention ! Si mal maitrisé -> risque de répondre « à côté » Langage Algébrique Comprendre la sémantique des requêtes Langage intermédiaire de travail © C. HANACHI, J.M. THEVENIN

4.2 Bases théoriques Théorie des ensembles Relation S Relation R s1 s2 r1 r2 r3 Relation S s1 s2 OP1 Table T1 r1 r2 r3 OP2 Table T2 r1 r2 r3 s1 s2 Table Résultat r3 s2 OP3 © C. HANACHI, J.M. THEVENIN

4.3 Opérateurs utilisés Opérateurs relationnels Projection Restriction Jointure Opérateurs ensemblistes Union Intersection Différence Fonction statistiques Somme Min Max Moyenne ComptageDeLignes (NbVal) © C. HANACHI, J.M. THEVENIN

4.4 Projection Opération permettant d’éliminer les colonnes qui ne nous intéressent pas dans une table Ex : Afficher les noms de pays source d’un fleuve Langage algébrique Langage graphique Langage SQL Relation R a b c b R a b c Attribut b Afficher x SELECT b FROM R © C. HANACHI, J.M. THEVENIN

4.5 Restriction Opération permettant d’éliminer les lignes qui ne nous intéressent pas dans une table Ex : Liste des pays dont la superficie est supérieure à 1 000 000 Km2 Langage algébrique Langage graphique Langage SQL Relation R a b c R a b c 1 10 2 WHERE b=10 b=10 Attribut b Afficher Critère =10 a b c 10 © C. HANACHI, J.M. THEVENIN

4.5 Jointure Opération permettant de relier des lignes provenant de deux tables différentes selon un critère pour fabriquer une nouvelle table Ex : Nom et superficie des pays dans lesquels les fleuves prennent leur source Langage algébrique Langage graphique Langage SQL Relation R a b c Relation S c d 1 cochon 2 loup 3 canard 4 poule R a b c S c d riri 3 fifi 3 loulou 3 nafnaf 1 WHERE R.c=S.c R.c=S.c Relation R a b c Relation S c d 3 canard 1 cochon riri 3 fifi 3 loulou 3 nafnaf 1 © C. HANACHI, J.M. THEVENIN

Jointure naturelle Cas particulier jointure entre deux tables avec un prédicat d’égalité entre une clé étrangère et la clé référencée -> Premet de parcourir les arcs reliant des Entités représentés sur un schéma E/A Exemple : Fleuves.NomPSource=Pays.NomP © C. HANACHI, J.M. THEVENIN

4.7 Démarche Soit une question Q que l’on souhaite poser au SGBD a) identifier sur le schéma E/A les propriétés que l’on doit afficher et celle dont on a besoin pour les restrictions exprimées dans Q b) choisir sur le schéma E/A les associations par lesquelles on va passer pour relier les entités impliquées en a), en fonction de la sémantique de Q c) repérer dans le schéma relationnel les attributs et les tables correspondant à ce qui a été repéré en a) et b) d) effectuer pour chaque table les restriction nécessaires e) relier les tables 2 à 2 avec les jointures adéquates f) appliquer à la dernière table obtenue une projection sur les attributs que l ’on souhaite afficher © C. HANACHI, J.M. THEVENIN

4.8 Exemples © C. HANACHI, J.M. THEVENIN

Exemples Q1 Nom et superficie des pays ou le Danube prend sa source Q2 Liste des pays traversés par le Danube. Donner leur nom, leur superficie et la distance parcourue © C. HANACHI, J.M. THEVENIN

Exemples Q3 Liste des fleuves de plus de 500 Km se jetant dans une mer Q4 Liste des pays qui côtoient l’espace maritime dans le quel se jette le Rhône © C. HANACHI, J.M. THEVENIN

Exemples Q5 Liste des pays qui côtoient les espaces maritimes dans lesquels se jette un fleuve prenant sa source en France © C. HANACHI, J.M. THEVENIN