Nicolas Zozor Retour sur les clés Une clé primaire est une clé dune table qui est composée dun ou plusieurs (dit clé composée) attributs.

Slides:



Advertisements
Présentations similaires
REFERENTIEL DE LA SERIE STG
Advertisements

Modèle Conceptuel des données
Nicolas Zozor 2/47 Retour sur les clés Une clé primaire est une clé dune table qui est composée dun ou plusieurs (dit clé composée)
Modèle Logique ET PHYSIQUE des données
26/ 04/ 2007 Auto-Jointure : SELECT * FROM Nom_relation R1 INNER JOIN Nom_relation R2 ON Condition_de_jointure; Problèmes Si des attributs de même nom.
Bases de Données Avancées: Bases de Données Relationnelles
Manipulation des données dans SQL
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.
Formation au référentiel 1 STG (Sciences et technologie de la gestion)
Les requêtes Manière de dialoguer avec une base de donnée pour :
Cours SQL.
Année universitaire Système dinformation Le SQL (Structured Query Language) langage dinterrogation dune base de données.
LE LANGAGE SQL : LDD La création de tables L’ordre CREATE CREATE TABLE nom_de_table (Nom_colonne Type_colonne, Nom_colonne Type_colonne,
1 ARCHITECTURE DACCÈS la méthode générale modèle de données définitions module daccès / modules métiers construction des modèles les modules daccès, les.
LMD: Langage de Manipulation de Données
Eléments d ’algèbre relationnelle
L’utilisation des bases de données
Rappel sur les bases de données et le vocabulaire
BASE DE DONNEES RELATIONNELLES
Le langage SQL.
LE LANGAGE SQL Langage de manipulation de données (LMD)
Geti2101 : Systèmes d’Information et Informatique
Chap 4 Les bases de données et le modèle relationnel
Bases de données et SGBD relationnels
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 ] [,...]
L’utilisation des bases de données
Algèbre relationnelle et SQL
SQL Partie 3 : (LID : Langage d'interrogation de données)
Algèbre relationnelle
EPID-CPI-ISAIP Philippe Bancquart - mise à jour 24/02/ page 1 SQL PHILIPPE BANCQUART.
1 SQL: Requêtes, Programmation et Triggers Chapitre 5, Sections
1 SQL: Requêtes, Programmation et Triggers Chapitre 5, Sections
Cours N°2 Base de Données & Langage SQL
Les concepts et les méthodes des bases de données
Manipulation des données Requêtes simples
Initiation aux bases de données et à la programmation événementielle
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.
Chapitre 3 La normalisation du modèle relationnel
Chapitre 5 : Le langage SQL
01. Liste des noms de candidats avec leur date de naissance.
SIO SLAM1: Exploitation d’un schéma de données
Traduction des opérations sous MySQL
Optimisation de requêtes
1 G. Gardarin Optimisation de Requêtes  1. Introduction  2. Arbres relationnels  3. Restructuration algébrique  4. Modèle de coût  5. Choix du meilleur.
1 PHP 5 Notions fondamentales (cours #5) Formation continue – Cégep de Sainte-Foy.
DOSSIER G10 – La base de données Relationnelle
Sélection de colonnes (la projection)
Quinio1 Bases de données : modèlisation et SGBD Séance 3 B Quinio.
DOSSIER G11 – Interroger une base de données
Jean Paul CHANLON IUT1 Grenoble Génie Mécanique et Productique
Les bases de données Séance 8 Jointures.
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).
Initiation aux bases de données et à la programmation événementielle
1 Initiation aux bases de données et à la programmation événementielle Cours N°8 : Gestion de la cohérence avec des zones de liste déroulantes. Souheib.
INTRODUCTION AUX BASES DE DONNEES SQL -2
INTRODUCTION AUX BASES DE DONNEES Base et métabase
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.
CONCEPTS BD - Synthèse journée 1 :
Modélisation et utilisation Aurélien Marion1 Aurélien Marion
De Arnault Chazareix :
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 6 L ’extraction de données Le SELECT.
1 Initiation aux bases de données et à la programmation événementielle VBA sous ACCESS Cours N° 8 Support de cours rédigé par Bernard COFFIN Université.
Langage de manipulation de données (LMD)
Transcription de la présentation:

Nicolas Zozor

Retour sur les clés Une clé primaire est une clé dune table qui est composée dun ou plusieurs (dit clé composée) attributs (colonnes) de la table et est utilisée pour identifier chaque ligne de manière unique. La clé primaire ne doit pas contenir de colonne valeur NULL. Une clé unique possède les mêmes propriétés quune clé primaire à lexception quune colonne définie comme clé unique peut être NULL. Elle contrôle lunicité de la valeur Une clé étrangère représente une relation entre les tables. Elle est composée dune ou plusieurs attributs (colonnes) dont les valeurs dépendent de clés primaires (ou uniques) dautres tables On parle dintégrité référentielle quand on veut signifier que les relations représentées par les clés sont maintenues. Elle assure la cohérence des données.

Entité et tables Lorsque lon crée la base de donnée, lentité devient une table.

Requête Une requête est une question posée pour interroger une base de donnée Permet dextraire des données dune ou plusieurs tables

Algèbre relationnelle Outils de traitement permettant de formaliser les opérations pouvant être réalisées sur un schéma relationnel. Opérateurs algébriques: (SELECTION,PROJECTION,JOINTURE) Opérateurs ensemblistes: (UNION, INTERSECTION, DIFFERENCE, PRODUIT CARTESIEN)

PROJECTION Consiste à ne retenir que certains attributs(colonnes) dune relation( 1 relation = 1 entité ) Le nombre de colonnes se trouve ainsi limité

PROJECTION Client(codeClient, nom, prénom, adresse, codePostal, ville, telephone, mail) Materiels(codeMateriel, Désignation, Fabricant, dateAchat, #codeClient) Interventions(numInterventions, descriptifPannne, dateIntervention, temps_passé, #codeMateriel, #codeInterventions) TypesInterventions(codeIntervention, designation, prixHoraire) PiècesNeuves(refPièceNeuve, libellé, prix) Utiliser(#numInterventions,#refPièceNeuve, quantité)

PROJECTION codeCli ent nomprénomadressecodePo stal villetelepho ne mail 230VinsDieselRue F1V8769Los 231DeepJohnnyPont Cap 232JudorEricRue Table Client : Mode feuille de données Table dorigine EXEMPLE 1

PROJECTION R1 = SELECT * FROM Client; * sélectionne tous les attributs de la table EXEMPLE 1

PROJECTION codeCli ent nomprénomadressecodePo stal villetelepho ne mail 230VinsDieselRue F1V8769Los 231DeepJohnnyPont Cap 232JudorEricRue Table Client : Mode feuille de données Résultat de la requête:EXEMPLE 1

PROJECTION codeCli ent nomprénomadressecodePo stal villetelepho ne mail 230VinsDieselRue F1V8769Los 231DeepJohnnyPont Cap 232JudorEricRue Table Client : Mode feuille de données Table dorigine EXEMPLE 2

PROJECTION R1 = SELECT nom, prénom FROM Client; Nom » et « prénom » sont 2 attributs de la table client EXEMPLE 2

PROJECTION nomprénom VinsDiesel DeepJohnny JudorEric Table Client : Mode feuille de données Résultat de la requête:EXEMPLE 2

SELECTION Consiste à nafficher que certaines lignes dune table en utilisant: Opérateurs de comparaison:, >= Connecteurs logiques: AND, OR, NOT Opérateurs ensemblistes: IN, BETWEEN, LIKE La clause NULL (champs vide)

SELECTION codeCli ent nomprénomadressecodePo stal villenbFilms 230VinsDieselRue F1V8769Los Ang51 231DeepJohnnyPont Cap Est55 232JudorEricRue H97200FDF5 Table Client : Mode feuille de données Table dorigine EXEMPLE 1

SELECTION R1 = SELECT * FROM Client WHERE nbFilms = 51; Sélectionner tous les attributs des clients ayant joués 51 films EXEMPLE 1

SELECTION Table Client : Mode feuille de données Résultat de la requête: codeCli ent nomprénomadressecodePo stal villenbFilms 230VinsDieselRue F1V8769Los Ang51 EXEMPLE 1

SELECTION codeCli ent nomprénomadressecodePo stal villenbFilms 230VinsDieselRue F1V8769Los Ang51 231DeepJohnnyPont Cap Est55 232JudorEricRue H97200FDF5 Table Client : Mode feuille de données Table dorigine EXEMPLE 2

SELECTION R1 = SELECT * FROM Client WHERE nbFilms = 5; Sélectionner tous les attributs des clients ayant joués dans 5 films EXEMPLE 2

SELECTION Table Client : Mode feuille de données Résultat de la requête: codeCli ent nomprénomadressecodePo stal villenbFilms 232JudorEricRue H97200FDF5 EXEMPLE 2

SELECTION codeCli ent nomprénomadressecodePo stal villenbFilms 230VinsDieselRue F1V8769Los Ang51 231DeepJohnnyPont Cap Est55 232JudorEricRue H97200FDF5 Table Client : Mode feuille de données Table dorigine EXEMPLE 3

SELECTION R1 = SELECT * FROM Client WHERE nbFilms > 50; Sélectionner tous les attributs des clients ayant joués dans 50 films et plus EXEMPLE 3

SELECTION Table Client : Mode feuille de données Résultat de la requête: codeCli ent nomprénomadressecodePo stal villenbFilms 230VinsDieselRue F1V8769Los Ang51 231DeepJohnnyPont Cap Est55 EXEMPLE 3

SELECTION codeCli ent nomprénomadressecodePo stal villenbFilms 230VinsDieselRue F1V8769Los Ang51 231DeepJohnnyPont Cap Est55 232JudorEricRue H97200FDF5 Table Client : Mode feuille de données Table dorigine EXEMPLE 4

SELECTION R1 = SELECT nom, prénom FROM Client WHERE nbFilms > 50; Sélectionner les noms et prénoms des clients ayant joués dans 50 films et plus EXEMPLE 4

SELECTION Table Client : Mode feuille de données Résultat de la requête: nomprénom VinsDiesel DeepJohnny EXEMPLE 4

SELECTION codeCli ent nomprénomadressecodePo stal villenbFilms 230VinsDieselRue F1V8769Los Ang51 231DeepJohnnyPont Cap Est55 232JudorEricRue H97200FDF5 Table Client : Mode feuille de données Table dorigine EXEMPLE 5

SELECTION R1 = SELECT * FROM Client WHERE nbFilms BETWEEN 2 AND 52; Sélectionner tous les attributs des clients ayant joués entre 2 et 52 films EXEMPLE 5

SELECTION Table Client : Mode feuille de données Résultat de la requête: codeCli ent nomprénomadressecodePo stal villenbFilms 230VinsDieselRue F1V8769Los Ang51 232JudorEricRue H97200FDF5 EXEMPLE 5

SELECTION codeCli ent nomprénomadressecodePo stal villenbFilms 230VinsDieselRue F1V8769Los Ang51 231DeepJohnnyPont Cap Est55 232JudorEricRue H97200FDF5 Table Client : Mode feuille de données Table dorigine EXEMPLE 6

SELECTION R1 = SELECT * FROM Client WHERE nom LIKEde* Sélectionner tous les attributs des clients ayant un nom commençant par de EXEMPLE 6

SELECTION Table Client : Mode feuille de données Résultat de la requête: codeCli ent nomprénomadressecodePo stal villenbFilms 231DeepJohnnyPont Cap Est55 EXEMPLE 6

SELECTION codeCli ent nomprénomadressecodePo stal villenbFilms 230VinsDieselRue F1V8769Los Ang51 231DeepJohnnyPont Cap Est55 232JudorEricRue H97200NULL5 Table Client : Mode feuille de données Table dorigine EXEMPLE 7

SELECTION R1 = SELECT * FROM Client WHERE ville IS NULL Sélectionner tous les attributs des clients ayant lattribut ville vide (null) EXEMPLE 7

SELECTION Table Client : Mode feuille de données Résultat de la requête: codeCli ent nomprénomadressecodePo stal villenbFilms 232JudorEricRue H97200NULL5 EXEMPLE 7

SELECTION codeCli ent nomprénomadressecodePo stal villenbFilms 230VinsDieselRue F1V8769Los Ang51 231DeepJohnnyPont Cap Est55 232JudorEricRue H97200NULL5 Table Client : Mode feuille de données Table dorigine EXEMPLE 8

SELECTION R1 = SELECT * FROM Client WHERE ville IS NOT NULL Sélectionner tous les attributs des clients nayant pas lattribut ville vide (null) EXEMPLE 8

SELECTION Table Client : Mode feuille de données Résultat de la requête: codeCli ent nomprénomadressecodePo stal villenbFilms 230VinsDieselRue F1V8769Los Ang51 231DeepJohnnyPont Cap Est55 EXEMPLE 8

DISTINCT Il est possible supprimer les doublons en ajoutant la close DISTINCT SELECT DISTINCT NomColonne FROM TABLE

JOINTURE Une jointure Permet dobtenir des données provenant de plusieurs tables

JOINTURE Schéma relationnel AUTEURS(NumAuteur, NomAuteur, Auteur,) ARTICLES(NumArti, TitreArti, TexteArti, DateArti, #NumAuteur) C.I.F EXEMPLE 1

JOINTURE EXEMPLE 1 NumAuteurNomAuteurPrenomAuteur Auteur 1DuboisMarcel 2DupontJacques 3LeroyNicole Auteurs

JOINTURE EXEMPLE 1 Num Arti TitreArtiTextArtiDateArti#NumAuteur 1Wall Streetxxxxxxxxxx 12/12/ La Fedblablabla 05/05/ La loi Hadopyyyyyyyyyy 03/03/20092 Articles

JOINTURE Afficher tous les titres darticles écrit part Dupont Jacques. Afficher également l de lauteur correspondant: R1 = SELECT TitreArti, Auteur FROM ARTICLE,AUTEUR WHERE ARTICLE.NumAuteur = Auteur.NumAuteur AND AUTEUR.NumAuteur = 2 EXEMPLE 1

JOINTURE EXEMPLE 1 TitreArti Auteur Wall Street La loi Hadop Résultat de la requête

JOINTURE Schéma relationnel FOURNISSEUR(NumFrs, NomFrs, AdrFrs, VilleFrs) ARTICLE(NumArt, LibArt, Stock, PrixUnitHT) ACHAT(#NumFrs,#NumArt, PrixAchat, Délai, EnCde) C.I.M EXEMPLE 2

JOINTURE NumFrsNomFrsAdrFrsVilleFrs 230GcomRue F1FDF 231ExnetPont 9Lamentin 232WebplusRue HFDF Table Client : Mode feuille de données Table Fournisseur EXEMPLE 2

JOINTURE NumArtLibArtStockPrixUnit HT 100PCportable TelPortabl clavierUsb HautParleu r Table ARTICLE: Mode feuille de données Table Article EXEMPLE 2

JOINTURE #NumFrs,#NumAr t PrixAchatDélaiEnCde 230, validé 232,102209validé 231,101502validé Table ACHAT: Mode feuille de données Table Achat EXEMPLE 2

JOINTURE Déterminer le Numéro et délai de livraison des articles pour lesquels le prix unitaire est compris entre 50 et 500 R1 = SELECT NumArt, Délai FROM ACHAT,ARTICLE WHERE ACHAT.NumArt = ARTICLE.NumArt AND PrixUnitHt BETWEEN 50 AND 500 EXEMPLE 2

JOINTURE NumFrsNumArtDélai EXEMPLE 2

FONTIONS DAGREGATION Permettent deffectuer des calculs statistiques COUNT() SUM() AVG() MAX() MIN() STDEV() VAR()

COUNT Dénombre le nombre déléments de la colonne sélectionnée

COUNT NumArtLibArtStockPrixUnit HT 100PCportable TelPortabl clavierUsb HautParleu r Table ARTICLE: Mode feuille de données Table Article EXEMPLE 1

COUNT Compter le nombre darticles de la table ARTICLES R1 = SELECT COUNT(NumArt) AS [Nombre darticles] FROM ARTICLES EXEMPLE 1

COUNT Nombre darticles 4 Résultat de la requête EXEMPLE 1

COUNT Compter le nombre de ligne dela table ARTICLES R1 = SELECT COUNT(*) AS [Nombre darticles] FROM ARTICLES EXEMPLE 2

COUNT Nombre darticles 4 Résultat de la requête EXEMPLE 1

SUM Additionne les valeurs dun champ numérique Calcule la somme dune colonne Ignore les valeurs NULL (champs vides)

SUM NumArtLibArtStockPrixUnit HT 100PCportable TelPortabl clavierUsb HautParleu r Table ARTICLE: Mode feuille de données Table Article EXEMPLE 1

SUM Calculer le total darticles en stock R1 = SELECT SUM(numArt) AS [total stock] FROM ARTICLES EXEMPLE 2

SUM total stock 370 Résultat de la requête EXEMPLE 1

FONTIONS DAGREGATION Permettent deffectuer des calculs statistiques COUNT() SUM() AVG() Moyenne MAX() valeur maximum MIN()valeur minimum STDEV() écart type VAR() variance

TRI ET REGROUPEMENT ORDER BY : résultat trié GROUP BY : forme des groupes de lignes ayant une valeur commune

ORDER BY NumArtLibArtStockPrixUnit HT 100PCportable TelPortabl clavierUsb HautParleur Table ARTICLE: Mode feuille de données Table Article EXEMPLE 1

ORDER BY ASC ordre croissant DESC: ordre décroissant R1 = SELECT LibArt FROM ARTICLES ORDER BY LibArt ASC Sélectionne tous les libellés de la table ARTICLE et tri par ordre alphabétique EXEMPLE 1

ORDER BY LibArt clavierUsb HautParleu r PCportable TelPortabl Table ARTICLE: Mode feuille de données Résultat EXEMPLE 1

GROUP BY Forme des groupes de lignes ayant une valeur commune

GROUP BY Table contenant les achats et leurs clients respectifs Table ACHATS EXEMPLE 1

GROUP BY Somme totale des achats par groupe de clients R1 = SELECT Customer, SUM(OrderPrice) FROM ACHATS GROUP BY Customer EXEMPLE 1

GROUP BY Somme par Clients Résultat de la requête EXEMPLE 1

GROUP BY Somme totale des achats par groupe de clients SANS LE GROUP BY R1 = SELECT Customer, SUM(OrderPrice) GROUP BY Customer EXEMPLE 2

GROUP BY Somme totale Clients confondus Résultat de la requête EXEMPLE 2

HAVING RESTRICTIONS (selection) sur les groupes crées avec GROUP BY

HAVING Table contenant les achats et leurs clients respectifs Table ACHATS EXEMPLE 1

HAVING Somme totale des achats par groupe de clients RESTRICTIONS sur cette Somme R1 = SELECT Customer, SUM(OrderPrice) FROM ACHATS GROUP BY Customer HAVING SUM(OrderPrice) < 2000 EXEMPLE 1

HAVING Somme par Clients et Sommes inférieures à 2000 Résultat de la requête EXEMPLE 1