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) 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.
3/47 Entité et tables Lorsque lon crée la base de donnée, lentité devient une table.
4/47 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
5/47 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)
6/47
7/47 PROJECTION Consiste à ne retenir que certains attributs dune relation( 1 relation = 1 entité ) Le nombre de colonnes se trouve ainsi limité
8/47 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é)
9/47 PROJECTION codeCli ent nomprénomadressecodePo stal villetelepho ne mail 230VinsDieselRue F1V8769Los 231DeepJohnnyPont Cap 232JudorEricRue Table Client : Mode feuille de données Table dorigine
10/47 PROJECTION R1 = SELECT * FROM Client; * selectionne tous les attributs de la table
11/47 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:
12/47 PROJECTION R1 = SELECT nom, prénom FROM Client; Nom » et « prénom » sont 2 attributs de la table client
13/47 PROJECTION nomprénom VinsDiesel DeepJohnny JudorEric Table Client : Mode feuille de données Résultat de la requête:
14/47 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)
15/47 SELECTION codeCli ent nomprénomadressecodePo stal villenbFilms 230VinsDieselRue F1V8769Los Ang51 231DeepJohnnyPont Cap Est55 232JudorEricRue H97200FDF5 Table Client : Mode feuille de données Table dorigine
16/47 SELECTION R1 = SELECT * FROM Client WHERE nbFilms = 51; Sélectionner tous les attributs des clients ayant joués 51 films
17/47 SELECTION Table Client : Mode feuille de données Résultat de la requête: codeCli ent nomprénomadressecodePo stal villenbFilms 230VinsDieselRue F1V8769Los Ang51
18/47 SELECTION codeCli ent nomprénomadressecodePo stal villenbFilms 230VinsDieselRue F1V8769Los Ang51 231DeepJohnnyPont Cap Est55 232JudorEricRue H97200FDF5 Table Client : Mode feuille de données Table dorigine
19/47 SELECTION R1 = SELECT * FROM Client WHERE nbFilms = 5; Sélectionner tous les attributs des clients ayant joués dans 5 films
20/47 SELECTION Table Client : Mode feuille de données Résultat de la requête: codeCli ent nomprénomadressecodePo stal villenbFilms 232JudorEricRue H97200FDF5
21/47 SELECTION codeCli ent nomprénomadressecodePo stal villenbFilms 230VinsDieselRue F1V8769Los Ang51 231DeepJohnnyPont Cap Est55 232JudorEricRue H97200FDF5 Table Client : Mode feuille de données Table dorigine
22/47 SELECTION R1 = SELECT * FROM Client WHERE nbFilms > 50; Sélectionner tous les attributs des clients ayant joués dans 50 films et plus
23/47 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
24/47 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
25/47 SELECTION Table Client : Mode feuille de données Résultat de la requête: nomprénom VinsDiesel DeepJohnny
26/47 SELECTION codeCli ent nomprénomadressecodePo stal villenbFilms 230VinsDieselRue F1V8769Los Ang51 231DeepJohnnyPont Cap Est55 232JudorEricRue H97200FDF5 Table Client : Mode feuille de données Table dorigine
27/47 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
28/47 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
29/47 SELECTION codeCli ent nomprénomadressecodePo stal villenbFilms 230VinsDieselRue F1V8769Los Ang51 231DeepJohnnyPont Cap Est55 232JudorEricRue H97200FDF5 Table Client : Mode feuille de données Table dorigine
30/47 SELECTION R1 = SELECT * FROM Client WHERE nom LIKEde% Sélectionner tous les attributs des clients ayant un nom commençant par de
31/47 SELECTION Table Client : Mode feuille de données Résultat de la requête: codeCli ent nomprénomadressecodePo stal villenbFilms 231DeepJohnnyPont Cap Est55
32/47 SELECTION codeCli ent nomprénomadressecodePo stal villenbFilms 230VinsDieselRue F1V8769Los Ang51 231DeepJohnnyPont Cap Est55 232JudorEricRue H97200NULL5 Table Client : Mode feuille de données Table dorigine
33/47 SELECTION R1 = SELECT * FROM Client WHERE ville IS NULL Sélectionner tous les attributs des clients ayant lattribut ville vide (null)
34/47 SELECTION Table Client : Mode feuille de données Résultat de la requête: codeCli ent nomprénomadressecodePo stal villenbFilms 232JudorEricRue H97200NULL5
35/47 SELECTION codeCli ent nomprénomadressecodePo stal villenbFilms 230VinsDieselRue F1V8769Los Ang51 231DeepJohnnyPont Cap Est55 232JudorEricRue H97200NULL5 Table Client : Mode feuille de données Table dorigine
36/47 SELECTION R1 = SELECT * FROM Client WHERE ville IS NOT NULL Sélectionner tous les attributs des clients nayant pas lattribut ville vide (null)
37/47 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
38/47 JOINTURE Permet dobtenir des données provenant de plusieurs tables
39/47 JOINTURE Schéma relationnel FOURNISSEUR(NumFrs, NomFrs, AdrFrs, VilleFrs) ARTICLE(NumArt, LibArt, Stock, PrixUnitHT) ACHAT(#NumFrs,#NumArt, PrixAchat, Délai, EnCde)
40/47 JOINTURE NumFrsNomFrsAdrFrsVilleFrs 230GcomRue F1FDF 231ExnetPont 9Lamentin 232WebplusRue HFDF Table Client : Mode feuille de données Table Fournisseur
41/47 JOINTURE NumArtLibArtStockPrixUnit HT 100PCportable TelPortabl clavierUsb HautParleu r Table Client : Mode feuille de données Table Article
42/47 JOINTURE #NumFrs,#NumAr t PrixAchatDélaiEnCde 230, validé 232,102209validé 231,101502validé Table Client : Mode feuille de données Table Achat
43/47 JOINTURE Numéro et délai de livraison des articles pour lesquels le prix unitaire est compris entre 50 et 500 R1 = SELECT NumFrs, NumArt, Délai FROM ACHAT,ARTICLE WHERE ACHAT.NumArt = ARTICLE.NumArt AND PrixUnitHt BETWEEN 50 AND 500
44/47 JOINTURE NumFrs,NumArtDélai