La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

1 Initiation aux bases de données et à la programmation événementielle Cours N°2 : Introduction au langage dinterrogation de données. Support de cours.

Présentations similaires


Présentation au sujet: "1 Initiation aux bases de données et à la programmation événementielle Cours N°2 : Introduction au langage dinterrogation de données. Support de cours."— Transcription de la présentation:

1 1 Initiation aux bases de données et à la programmation événementielle Cours N°2 : Introduction au langage dinterrogation de données. Support de cours de Souheib BAARIR. Page web : pagesperso-systeme.lip6.fr/Souheib.Baarir/bdvba/support.htm Université Paris Ouest Nanterre la Défense

2 2 BD relationnelle Relations et Algèbre relationnelle : Représentation symbolique (mathématique) de haut niveau des intentions de lutilisateur. Sur une machine… : Représentation informatique des Relations ? Les Tables. Langage exprimant les Opérations Relationnelles ? SQL : SELECT att 1,…, att n FROM R 1,…,R m WHERE Conditions Requêtes de sélection de base

3 AB vertallumé vertéteint rougeallumé 3 Relations tables Table BTable C A = {vert, jaune, rouge}, B = {allumé, éteint}, C = {(vert, allumé),(vert, éteint), (rouge, allumé)} Les valeurs dune « colonne » appartiennent à un même domaine On parle de « champ » En-tête de colonne : le nom du champ Chaque « ligne » est un n-uplet de la relation On parle d « enregistrement » B allumé éteint

4 4 Tables : rôles des champs Information (intrinsèque) : définit une donnée particulière. Identifiant (Clé primaire) : ensemble de champs dont les valeurs permettent de distinguer les enregistrements les uns aux autres. Il peut être simple (un seul champ) ou composé (plusieurs champs). Référence (Clé étrangère, Clé externe) : champ qui est clé primaire dune autre relation. code adresse villeDép. 1Paris75 2Versailles78 3Nanterre92 4Suresnes92 nomprénomformation MARTINMarieMMIA BERNARDLouisGestion THOMASAliceAnglais MARTINBernardAnglais MARIEPhilippeGestion N° étudiant nomPrénomformation MARTINMarieMMIA BERNARDLouisGestion THOMASAliceAnglais MARTINBernardAnglais MARIEPhilippeGestion Référence adresse villeDép. Paris75 Versailles78 Nanterre92 Suresnes92

5 Structured Query Language (SQL) Plusieurs types de requêtes : dinterrogation. de manipulation : insert, update, delete… de définition : create, alter, drop… SELECT [DISTINCT] liste de champs FROM liste de tables [WHERE prédicats] [GROUP BY ordre des groupes] [HAVING condition] [ORDER BY liste de colonnes] Une nouvelle Table : mettant en relation plus tables, exhibant de nouvelles données, cachant des données inutiles, …

6 villeTableR1.deptTableR2.deptrégion Rouen7628Centre Lyon6928Centre Rouen7669Rhône-Alpes Lyon69 Rhône-Alpes villedept Rouen76 Lyon69 deptRégion 28Centre 69 Rhône-Alpes 6 SQL : produit Cartésien TableR1 TableR2 TableR1TableR2 SELECT * FROM TableR1,TableR2 PRODUIT(TableR1,TableR2) SQL Deux champs portent le même nom dans TableR1 et TableR2 : Différenciés par le nom de la table associé

7 nomprénomformationadresse MARTINMarieMMIAVersailles BERNARDLouisGestionNanterre THOMASAliceAnglaisNanterre MARTINBernardAnglaisSuresnes 7 SQL : Projection étudiant PROJECTION (nom,prénom) (étudiant) SELECT nom, prénom FROM étudiant; SQL étudiant-proj nomprénom MARTINMarie BERNARDLouis THOMASAlice MARTINBernard le nom et prénom de tous les étudiants ?

8 nomprénomformationadresse MARTINMarieMMIAVersailles BERNARDLouisGestionNanterre THOMASAliceAnglaisNanterre MARTINBernardAnglaisSuresnes 8 SQL : Restriction étudiant Étudiant-nanterrois RESTRICTION (adresse = Nanterre ) (étudiant) SELECT * FROM étudiant WHERE adresse = "Nanterre"; SQL nomprénomformationadresse BERNARDLouisGestionNanterre THOMASAliceAnglaisNanterre toutes les informations sur les étudiants Nanterrois ?

9 nomprénomformationadresse MARTINMarieMMIAVersailles BERNARDLouisGestionNanterre THOMASAliceAnglaisNanterre MARTINBernardAnglaisSuresnes 9 SQL : Restriction et projection le nom et prénom des étudiants Nanterrois. identités étudiants nanterrois étudiant SELECT nom, prénom FROM étudiant WHERE résidence = "Nanterre"; PROJECTION (Nom,prénom) (RESTRICTION (adresse = Nanterre ) (étudiant )) SQL nomprénom BERNARDLouis THOMASAlice

10 10 adresse étudiant Etudiants Hauts-de-Seine SELECT étudiant.nom, étudiant.prénom, adresse.ville FROM étudiant, adresse WHERE (adresse.[code adresse]=[référence adresse]) AND (adresse.département=92); SQL : Produit Cartésien, restriction et projection le nom, le prénom et la ville des étudiants qui habitent le Haut-de-Seine. PROJECTION (Nom,prénom) (RESTRICTION (référence=code adresse et département= 92) (PRODUIT(étudiant,adresse))) SQL nomprénomformation MARTINMarieMMIA BERNARDLouisGestion THOMASAliceAnglais MARTINBernardAnglais MARIEPhilippeGestion N° étudiant Nomprénomformation MARTINMarieMMIA BERNARDLouisGestion THOMASAliceAnglais MARTINBernardAnglais MARIEPhilippeGestion Référence adresse code adresse villeDép. 1Paris75 2Versailles78 3Nanterre92 4Suresnes92 villeDép. Paris75 Versailles78 Nanterre92 Suresnes92 nomprénomville BERNARDLouisNanterre THOMASAliceNanterre MARIEPhilippeSuresnes

11 11 SELECT étudiant.nom, étudiant.prénom, adresse.ville FROM étudiant, adresse WHERE ( adresse.[code adresse]=[référence]) AND (adresse.département=92); Produit Cartésien, restriction et projection : détails des opérations (théoriquement) PROJECTION (Nom,prénom,ville) (RESTRICTION (référence=code adresse et département= 92) (PRODUIT(étudiant,adresse))) N° étudiant nomprénomformationréférence code adresse villedépartement MARTINMarieMMIA21Paris MARTINMarieMMIA22Versailles MARTINMarieMMIA23Nanterre MARTINMarieMMIA24Suresnes BERNARDLouisGestion31Paris BERNARDLouisGestion32Versailles BERNARDLouisGestion33Nanterre BERNARDLouisGestion34Suresnes92 … adresseétudiant N° étudiant Nomprénomformation MARTINMarieMMIA BERNARDLouisGestion THOMASAliceAnglais MARTINBernardAnglais MARIEPhilippeGestion Référence code adresse villeDép. 1Paris75 2Versailles78 3Nanterre92 4Suresnes92 villeDép. Paris75 Versailles78 Nanterre92 Suresnes92 nomprénomville BERNARDLouisNanterre THOMASAliceNanterre MARIEPhilippeSuresnes Etudiants Hauts-de-Seine

12 12 Produit Cartésien, restriction et projection : problèmes le nom, le prénom et le nom du département des étudiants, qui habitent le Haut-de-Seine. SELECT étudiant.nom, étudiant.prénom, adresse.ville FROM étudiant, adresse WHERE ( adresse.[code adresse]=[référence]) AND (adresse.département=92) PROJECTION (Nom,prénom,ville) (RESTRICTION (référence=code adresse et département= 92) (PRODUIT(étudiant,adresse))) Relation intermédiaire : Construction denregistrements inutiles ! Relation finale : On ne peut pas rajouter denregistrements dans la relation finale ! Solution : la jointure.

13 13 SQL : Jointure est presque équivalente à une jointure SELECT étudiant.nom, étudiant.prénom, adresse.ville FROM étudiant INNER JOIN adresse ON étudiant.référence = adresse.[Code adresse] WHERE adresse.département = 92; SELECT étudiant.nom, étudiant.prénom,adresse.ville FROM adresse, étudiant WHERE (adresse.[code adresse]=[référence]) AND (adresse.département=92); La première clause de restriction Ici, le nom de la table est obligatoire

14 14 Jointure : détails des opérations code adresse villeDép. 1Paris75 2Versailles78 3Nanterre92 4Suresnes92 nomprénomformation MARTINMarieMMIA BERNARDLouisGestion THOMASAliceAnglais MARTINBernardAnglais MARIEPhilippeGestion N° étudiant nomprénomformation MARTINMarieMMIA BERNARDLouisGestion THOMASAliceAnglais MARTINBernardAnglais MARIEPhilippeGestion Référence villeDép. Paris75 Versailles78 Nanterre92 Suresnes92 SELECT étudiant.nom, étudiant.prénom, adresse.ville FROM étudiant INNER JOIN adresse ON étudiant.référence = adresse.[Code adresse] WHERE adresse.département = 92; MARTINMarieMMIA22Versailles BERNARDLouisGestion33 Nanterre THOMASAliceAnglais33Nanterre MARTINBernardAnglais 22 Versailles MARIEPhilippeGestion 44 Suresnes92


Télécharger ppt "1 Initiation aux bases de données et à la programmation événementielle Cours N°2 : Introduction au langage dinterrogation de données. Support de cours."

Présentations similaires


Annonces Google