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

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.

Présentations similaires


Présentation au sujet: "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."— Transcription de la présentation:

1 Nicolas Zozor 2012nzozor@gmail.com

2 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 Entité et tables Lorsque lon crée la base de donnée, lentité devient une table.

4 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 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

7

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

9 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é)

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

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

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

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

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

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

16

17 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)

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

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

20 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

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

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

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

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

25 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

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

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

28 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

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

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

31 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

32 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

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

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

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

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

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

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

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

40 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

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

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

43

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

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

46 JOINTURE EXEMPLE 1 NumAuteurNomAuteurPrenomAuteurEmailAuteur 1DuboisMarcel m.dubois@email.com 2DupontJacques jacques.dupont@email.com 3LeroyNicole Nicole.leroy@email.com Auteurs

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

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

49 JOINTURE EXEMPLE 1 TitreArtiEmailAuteur Wall Street jacques.dupont@email.com La loi Hadop jacques.dupont@email.com Résultat de la requête

50 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

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

52 JOINTURE NumArtLibArtStockPrixUnit HT 100PCportable20450 101TelPortabl5070 102clavierUsb10030 103HautParleu r 200100 Table ARTICLE: Mode feuille de données Table Article EXEMPLE 2

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

54 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

55 JOINTURE NumFrsNumArtDélai 2301006 2311012 EXEMPLE 2

56

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

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

59 COUNT NumArtLibArtStockPrixUnit HT 100PCportable20450 101TelPortabl5070 102clavierUsb10030 103HautParleu r 200100 Table ARTICLE: Mode feuille de données Table Article EXEMPLE 1

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

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

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

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

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

65 SUM NumArtLibArtStockPrixUnit HT 100PCportable20450 101TelPortabl5070 102clavierUsb10030 103HautParleu r 200100 Table ARTICLE: Mode feuille de données Table Article EXEMPLE 1

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

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

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

69

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

71 ORDER BY NumArtLibArtStockPrixUnit HT 100PCportable20450 101TelPortabl5070 102clavierUsb10030 103HautParleur200100 Table ARTICLE: Mode feuille de données Table Article EXEMPLE 1

72 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

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

74 GROUP BY Forme des groupes de lignes ayant une valeur commune

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

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

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

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

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

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

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

82 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

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


Télécharger ppt "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."

Présentations similaires


Annonces Google