Sélection de colonnes (la projection)

Slides:



Advertisements
Présentations similaires
REFERENTIEL DE LA SERIE STG
Advertisements

Bases de Données Avancées: Bases de Données Relationnelles
Benoît Piranda Équipe SISAR Université de Marne La Vallée Bases de données Algèbre relationnelle, opérations Requêtes SQL.
Rappels. Les Systèmes de Gestion de Bases de Données (SGBD) L'algèbre relationnelle.
Le langage de requêtes SPARQL SPARQL Protocol And RDF Query Language
STS2 - Révision des requêtes de sélection2/9/2003 Forme d'une requête de Sélection nSELECT nFROM nWHERE nGROUP BY nHAVING nORDER BY.
Algèbre relationnelle
Programme Introduction aux BD et aux SGBD Le modèle relationnel
Le modèle relationnel Des transparents issus de ceux de Ph Rigaux, J Ullman (Stanford), Barry (Bath et Amiens), Godin (UQAM)
LMD: Langage de Manipulation de Données
Contrôles d'accès aux données
Eléments d ’algèbre relationnelle
BASE DE DONNEES RELATIONNELLES
LE LANGAGE SQL Langage de manipulation de données (LMD)
Algèbre relationnelle
LANGAGES LIES AU MODELE RELATIONNEL
Les bases de données Cours assuré par: Mlle Smii imen
Chap 4 Les bases de données et le modèle relationnel
Bases de données et SGBD relationnels
2 Ils associent les rangées de 2 requêtes UNION [ALL] INTERSECT MINUS.
Les requêtes Les requêtes permettent dinterroger une base de données suivant 3 opérateurs : La projection Affiche le contenu dun champ complet En langage.
SELECT {* | Expression [Alias] [,...] } FROM Table [WHERE Condition] [ORDER BY { Expression | Alias } [ ASC | DESC ] [NULLS FIRST | NULLS LAST ] [,...]
Algèbre relationnelle et SQL
SQL Partie 3 : (LID : Langage d'interrogation de données)
Algèbre relationnelle
Cours N°2 Base de Données & Langage SQL
1 SQL: Requêtes, Programmation et Triggers Chapitre 5, Sections
1 SQL: Requêtes, Programmation et Triggers Chapitre 5, Sections 15.5.
1 SQL: Requêtes, Programmation et Triggers Chapitre 5, Sections
1 PHP 1.Langage PHP 1.1. Types de base, variables et constantes 1.2. Opérateurs et expressions 1.3. Instructions 1.4. Fonctions 2.Accès aux bases de données:
Cours de Base de Données & Langage SQL
Cours N°2 Base de Données & Langage SQL
Manipulation des données Requêtes simples
Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke1 SQL: Requêtes, Programmation et Triggers Chapitre 5, Sections
Michel Tollenaere SQL et relationnel 1 Cours MSI-2A filière ICL version 1.1 du 2 novembre 2010 Cours de Management des Systèmes dInformation
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.
EPID-CPI-ISAIP Philippe Bancquart - mise à jour 24/02/ page 1 SQL jointure PHILIPPE BANCQUART.
Limiter et trier des données
Introduction Le SQL (Structured  Query Language) est un langage universel de gestion des bases de données. Il a une triple fonction : LDD Langage de Définition.
Cours 4b: Introduction au SQL, le langage des SGBD Relationnels
EPID-CPI-ISAIP Philippe Bancquart - mise à jour 24/02/ page 1 Transac SQL Intégrité des données.
Traduction des opérations sous MySQL
Cours 5: Sous requetes Exploitation des données Présentation  Supposez que vous voulez écrire une requête pour trouver qui a un salaire plus.
1 PHP 5 Notions fondamentales (cours #5) Formation continue – Cégep de Sainte-Foy.
Module 7 : Utilisation de requêtes élaborées
DEFINITION DES DONNEES : schéma conceptuel. Schéma conceptuel instructiondescription CREATE TABLEcréation d'une relation ALTER TABLEmodification de la.
DOSSIER G10 – La base de données Relationnelle
XT-SOFT SQL-EDITOR. 2 Menu d’Accueil 3 4 Aide à la Sélection de Tables.
1 Initiation aux bases de données et à la programmation événementielle Responsable : Souheib BAARIR. (le sujet de votre .
Copyright  Oracle Corporation, Tous droits réservés. 2 Sélection et Tri des Lignes Retournées par un SELECT.
Langage Relationnel Graphe de Requêtes
Les bases de données Séance 8 Jointures.
Le langage SQL.
Introduction aux Bases de Données et au langage SQL
INTRODUCTION AUX BASES DE DONNEES Algèbre relationnelle
Initiation aux bases de données et à la programmation événementielle Cours N°2 : langage d’interrogation de données. (Les requêtes statistiques et autres).
Complément sous-requêtes
Op é rateurs ensemblistes Module 4. 2 La clause GROUP BY La clause GROUP BY est nécessaire dès que l'on utilise des fonctions de calculs statistiques.
Le Langage d ’ Interrogation des donn é es (LID) Module 2.
Introduction au langage PL/SQL
Bases de données – Cours 3
Le Langage de Manipulation de Données LMD Module 6.
CONCEPTS BD - Synthèse journée 1 :
1 Initiation aux bases de données et à la programmation événementielle VBA sous ACCESS Cours N° 4 Support de cours rédigé par Bernard COFFIN Université.
1 Les bases de données Séance 5 -- Le Langage de Définition de Données ou la manœuvre de la structure de la base -- Le Langage de Manœuvre de Données.
Langages d’interrogation et de manipulation. N. ChaignaudGM4 - Base de données2 1. Algèbre relationnelle  Ensemble d’opérations permettant de manipuler.
1 Les bases de données Séance 6 L ’extraction de données Le SELECT.
Langage de manipulation de données (LMD)
Langage d’interrogation des Données LID
Algèbre relationnelle
Transcription de la présentation:

Sélection de colonnes (la projection) C’est une opération qui permet de sélectionner un ensemble de colonnes d’une relation. Le résultat d’une projection est une relation ayant autant de lignes que la relation initiale Le formalisme d’une projection : R=Projection (R1, liste des attributs) Représentation graphique : Liste des attributs

Sélection de colonnes (la projection) : Traduction en langage SQL La commande SELECT la plus simple a la syntaxe suivante : SELECT * FROM nom_table ; Dans laquelle : nom_table est le nom de la table sur laquelle porte la sélection. * signifie que toutes les colonnes de la table sont sélectionnées. On peut limiter la sélection à certaines colonnes, en indiquant une liste de noms de colonnes à la place de l'astérisque. SELECT nom_col1, nom_col2, ...FROM nom_table ; Exemple : SELECT nom_acteur,age_acteur FROM acteur; La clause DISTINCT ajoutée derrière la commande SELECT permet d'éliminer les duplications.

Sélection de lignes (restriction) C’est une relation qui sélectionne un ensemble de lignes (n-uplets) d’une relation, en fonction d’un critère de sélection Le résultat d’une restriction est une relation de même schéma que la relation initiale Le formalisme d’une restriction est le suivant : R = SELECTION (R1, condition) Représentation graphique

Sélection de lignes (restriction) Traduction en langage SQL : la clause Where La clause WHERE permet de spécifier quelles sont les lignes à sélectionner. Elle est suivie d'un prédicat qui sera évalué pour chaque ligne de la table. Les lignes pour lesquelles le prédicat est vrai seront sélectionnées. SELECT * FROM nom_table WHERE predicat ; Exemple : SELECT nom_acteur, salaire FROM acteur WHERE salaire>250000;

Quelques précisions sur les prédicats Un prédicat n'est ni plus ni moins que la façon dont on exprime une propriété. Les prédicats, qu'ils soient simples ou composés, sont constitués à partir d'expressions que l'on compare entre elles. Expression simple Une expression simple peut être : une variable désignée par un nom de colonne, une constante. Les expressions peuvent être de trois types : numérique, chaîne de caractères ou date. A chacun de ces types correspond un format de constante : Constante numérique Ex : -10, 2.5, 1.2 E-10 Constante chaîne de caractères : Ex :'MARTIN' Constante date : Ex : '01-FEB-85‘

Conditions de sélection après la clause ‘Where’ La condition de sélection exprimée derrière la clause WHERE peut être spécifiée à l'aide : des opérateurs de comparaison : =, >, <, <=, >=, <> des opérateurs logiques : AND, OR, NOT des opérateurs : IN, BETWEEN, LIKE, IS

Exemples SELECT * FROM ETUDIANT WHERE Age IN (19, 20, 21, 22, 23) ; WHERE Age BETWEEN 19 AND 23 ; WHERE CodePostal LIKE '42%' ; SELECT * FROM ETUDIANT WHERE CodePostal LIKE '42___' ;   WHERE Ville IS NULL ; WHERE Ville IS NOT NULL ;

Opération JOINTURE Cet opérateur porte sur 2 relations qui doivent avoir au moins un attribut défini dans le même domaine (ensemble des valeurs permises pour un attribut). La condition de jointure peut porter sur l'égalité d'un ou de plusieurs attributs définis dans le même domaine (mais n'ayant pas forcément le même nom). Les n-uplets de la relation résultat sont formés par la concaténation des n-uplets des relations d'origine qui vérifient la condition de jointure. Formalisme : R = JOINTURE (R1, R2, condition d'égalité entre attributs) Représentation graphique

Opération JOINTURE Traduction en langage SQL En SQL, il est possible d'enchaîner plusieurs jointures dans la même instruction SELECT. En SQL de base : SELECT * FROM table1, table2, table3, ... WHERE table1.attribut1=table2.attribut1 AND table2.attribut2=table3.attribut2 AND Exemple : SELECT * FROM Produit, Détail_Commande WHERE Produit.CodePrd=Détail_Commande.CodePrd ;

Opérateurs ensemblistes Les opérateurs ensemblistes correspondent aux opérateurs habituels de la théorie des ensembles, définis sur des tables de mêmes schémas considérées comme des ensembles de tuples Union Intersection Différence

Union Cet opérateur porte sur deux relations qui doivent avoir le même nombre d'attributs définis dans le même domaine (ensemble des valeurs permises pour un attribut). On parle de relations ayant le même schéma. La relation résultat possède les attributs des relations d'origine et les n-uplets de chacune, avec élimination des doublons éventuels. R1 = UNION (E1, E2)

Union Traduction en langage SQL SELECT liste d'attributs FROM table1 UNION SELECT liste d'attributs FROM table 2 ; Exemple : On désire connaître les enseignants élus au CA ou syndiqués SELECT n°enseignant, NomEnseignant FROM E1 SELECT n°enseignant, NomEnseignant FROM E2 ;

Intersection Cet opérateur porte sur deux relations de même schéma. La relation résultat possède les attributs des relations d'origine et les n-uplets communs à chacune. Le formalisme : R2 = INTERSECTION (E1, E2)

Intersection Traduction en langage SQL Exemple : On désire connaître les enseignants du CA qui sont des représentants syndicaux SELECT n°enseignant, NomEnseignant FROM E1 WHERE n°enseignant IN (SELECT n°enseignant FROM E2) ; Ou INTERSECT SELECT n°enseignant, NomEnseignant FROM E2 ;