+ All Categories
Home > Documents > Bases de données : introduction à SQL · introduction à SQL KarënFort...

Bases de données : introduction à SQL · introduction à SQL KarënFort...

Date post: 12-Jul-2020
Category:
Upload: others
View: 0 times
Download: 0 times
Share this document with a friend
38
Bases de données : introduction à SQL Karën Fort [email protected] 3 avril 2020 1 / 38
Transcript
Page 1: Bases de données : introduction à SQL · introduction à SQL KarënFort karen.fort@sorbonne-universite.fr 3avril2020 1/38. ... Ici, Date devrait être une date et NbKm un décimal

Bases de données :introduction à SQL

Karën Fort

[email protected]

3 avril 2020

1 / 38

Page 3: Bases de données : introduction à SQL · introduction à SQL KarënFort karen.fort@sorbonne-universite.fr 3avril2020 1/38. ... Ici, Date devrait être une date et NbKm un décimal

Création d’une BD "Tour de France"

SQL

Interroger une BD

Pour finir

3 / 38

Page 4: Bases de données : introduction à SQL · introduction à SQL KarënFort karen.fort@sorbonne-universite.fr 3avril2020 1/38. ... Ici, Date devrait être une date et NbKm un décimal

Création d’une BD "Tour de France"Créer et peupler une BDQuelques erreurs à éviter

SQL

Interroger une BD

Pour finir

4 / 38

Page 5: Bases de données : introduction à SQL · introduction à SQL KarënFort karen.fort@sorbonne-universite.fr 3avril2020 1/38. ... Ici, Date devrait être une date et NbKm un décimal

Création d’une BD "Tour de France"Créer et peupler une BDQuelques erreurs à éviter

SQL

Interroger une BD

Pour finir

5 / 38

Page 6: Bases de données : introduction à SQL · introduction à SQL KarënFort karen.fort@sorbonne-universite.fr 3avril2020 1/38. ... Ici, Date devrait être une date et NbKm un décimal

Comparaison de deux BDAmélie vs Alice : Alice prend "plus large" (au cas où)

vs

6 / 38

Page 7: Bases de données : introduction à SQL · introduction à SQL KarënFort karen.fort@sorbonne-universite.fr 3avril2020 1/38. ... Ici, Date devrait être une date et NbKm un décimal

Peupler une BD (R. Idir)

7 / 38

Page 8: Bases de données : introduction à SQL · introduction à SQL KarënFort karen.fort@sorbonne-universite.fr 3avril2020 1/38. ... Ici, Date devrait être une date et NbKm un décimal

Création d’une BD "Tour de France"Créer et peupler une BDQuelques erreurs à éviter

SQL

Interroger une BD

Pour finir

8 / 38

Page 9: Bases de données : introduction à SQL · introduction à SQL KarënFort karen.fort@sorbonne-universite.fr 3avril2020 1/38. ... Ici, Date devrait être une date et NbKm un décimal

Avertissement

I les étudiant·e·s qui ont créé leur BD ont travaillé (ce n’est pasle cas de tout le monde)

I je remonte ici les erreurs les plus courantes, qui ont été faitespar beaucoup (donc peut-être vous, même si je ne montre pasvotre BD ici)

I il est important de faire des erreurs pour s’améliorerI je n’avais pas prévenu que j’allais utiliser vos BD pour le cours

(désolée), donc certain·e·s ont sans doute fait ça un peu vite

→ il n’y a aucune honte à être cité·e ici, au contraire

9 / 38

Page 10: Bases de données : introduction à SQL · introduction à SQL KarënFort karen.fort@sorbonne-universite.fr 3avril2020 1/38. ... Ici, Date devrait être une date et NbKm un décimal

Manque d’informationsIci, NomEquipe, NomPays, Villes de l’étape, etc.

10 / 38

Page 11: Bases de données : introduction à SQL · introduction à SQL KarënFort karen.fort@sorbonne-universite.fr 3avril2020 1/38. ... Ici, Date devrait être une date et NbKm un décimal

Mauvais typageIci, Date devrait être une date et NbKm un décimal

11 / 38

Page 12: Bases de données : introduction à SQL · introduction à SQL KarënFort karen.fort@sorbonne-universite.fr 3avril2020 1/38. ... Ici, Date devrait être une date et NbKm un décimal

Lien inexistant (pas de clé étrangère)Ici, CodePays n’est pas une clé étrangère pour Coureur (alors que CodeEquipe l’est)

12 / 38

Page 13: Bases de données : introduction à SQL · introduction à SQL KarënFort karen.fort@sorbonne-universite.fr 3avril2020 1/38. ... Ici, Date devrait être une date et NbKm un décimal

Création d’une BD "Tour de France"

SQLUn peu d’histoireUn langage particulièrement efficace

Interroger une BD

Pour finir

13 / 38

Page 14: Bases de données : introduction à SQL · introduction à SQL KarënFort karen.fort@sorbonne-universite.fr 3avril2020 1/38. ... Ici, Date devrait être une date et NbKm un décimal

Création d’une BD "Tour de France"

SQLUn peu d’histoireUn langage particulièrement efficace

Interroger une BD

Pour finir

14 / 38

Page 15: Bases de données : introduction à SQL · introduction à SQL KarënFort karen.fort@sorbonne-universite.fr 3avril2020 1/38. ... Ici, Date devrait être une date et NbKm un décimal

SQL : Structured Query Languageen français : langage de requête structurée

I créé en 1974I normalisé depuis 1986

→ langage reconnu par la grande majorité des SGBDR du marché

15 / 38

Page 16: Bases de données : introduction à SQL · introduction à SQL KarënFort karen.fort@sorbonne-universite.fr 3avril2020 1/38. ... Ici, Date devrait être une date et NbKm un décimal

Création d’une BD "Tour de France"

SQLUn peu d’histoireUn langage particulièrement efficace

Interroger une BD

Pour finir

16 / 38

Page 17: Bases de données : introduction à SQL · introduction à SQL KarënFort karen.fort@sorbonne-universite.fr 3avril2020 1/38. ... Ici, Date devrait être une date et NbKm un décimal

Un langage orienté résultats

→ langages de programmation traditionnels (Fortran, Pascal, C,C++, Java) sont procéduraux : indiquent donc au processeur cequ’il doit faire, et dans quel ordre

vs

→ SQL est déclaratif : n’explique pas comment les traitementsdoivent être menés, mais quel doit en être le résultat

17 / 38

Page 18: Bases de données : introduction à SQL · introduction à SQL KarënFort karen.fort@sorbonne-universite.fr 3avril2020 1/38. ... Ici, Date devrait être une date et NbKm un décimal

À quoi sert SQL ?

Langage de :I définition de données : create, drop, alterI manipulation de données : select, insert, update, deleteI contrôle de données : grant, revokeI contrôle des transactions : commit, rollback

18 / 38

Page 19: Bases de données : introduction à SQL · introduction à SQL KarënFort karen.fort@sorbonne-universite.fr 3avril2020 1/38. ... Ici, Date devrait être une date et NbKm un décimal

"Parler" SQL

Instructions SQL = phrases ordinaires en anglais

Exemple : afficher le nom des coureursSELECT NomCoureurFROM Coureur ;

19 / 38

Page 20: Bases de données : introduction à SQL · introduction à SQL KarënFort karen.fort@sorbonne-universite.fr 3avril2020 1/38. ... Ici, Date devrait être une date et NbKm un décimal

SQL dans phpMyAdminOnglet SQL : écrire la requête dans la fenêtre, puis cliquer sur Exécuter

SELECT NomCoureurFROM Coureur

20 / 38

Page 21: Bases de données : introduction à SQL · introduction à SQL KarënFort karen.fort@sorbonne-universite.fr 3avril2020 1/38. ... Ici, Date devrait être une date et NbKm un décimal

SQL dans phpMyAdmin : résultatLes noms des coureurs dans la table Coureur

21 / 38

Page 22: Bases de données : introduction à SQL · introduction à SQL KarënFort karen.fort@sorbonne-universite.fr 3avril2020 1/38. ... Ici, Date devrait être une date et NbKm un décimal

SQL dans phpMyAdmin : l’étoile de Kleenetout (*) ce qui est dans la table Coureur

SELECT *FROM Coureur

22 / 38

Page 23: Bases de données : introduction à SQL · introduction à SQL KarënFort karen.fort@sorbonne-universite.fr 3avril2020 1/38. ... Ici, Date devrait être une date et NbKm un décimal

Création d’une BD "Tour de France"

SQL

Interroger une BDSélectionner des caractéristiques : la projectionSélectionner un ensemble d’« individus » : la restrictionCombiner restriction et projection

Pour finir

23 / 38

Page 24: Bases de données : introduction à SQL · introduction à SQL KarënFort karen.fort@sorbonne-universite.fr 3avril2020 1/38. ... Ici, Date devrait être une date et NbKm un décimal

BD exemple (R. Idir)

24 / 38

Page 25: Bases de données : introduction à SQL · introduction à SQL KarënFort karen.fort@sorbonne-universite.fr 3avril2020 1/38. ... Ici, Date devrait être une date et NbKm un décimal

Création d’une BD "Tour de France"

SQL

Interroger une BDSélectionner des caractéristiques : la projectionSélectionner un ensemble d’« individus » : la restrictionCombiner restriction et projection

Pour finir

25 / 38

Page 26: Bases de données : introduction à SQL · introduction à SQL KarënFort karen.fort@sorbonne-universite.fr 3avril2020 1/38. ... Ici, Date devrait être une date et NbKm un décimal

Projeter : un sous-ensemble d’attributs

I Sélectionner un sous-ensemble des attributs de la table-source

26 / 38

Page 27: Bases de données : introduction à SQL · introduction à SQL KarënFort karen.fort@sorbonne-universite.fr 3avril2020 1/38. ... Ici, Date devrait être une date et NbKm un décimal

Projection : exempleTous les codes équipes dans la table Coureur

SELECT CodeEquipeFROM Coureur

27 / 38

Page 28: Bases de données : introduction à SQL · introduction à SQL KarënFort karen.fort@sorbonne-universite.fr 3avril2020 1/38. ... Ici, Date devrait être une date et NbKm un décimal

Création d’une BD "Tour de France"

SQL

Interroger une BDSélectionner des caractéristiques : la projectionSélectionner un ensemble d’« individus » : la restrictionCombiner restriction et projection

Pour finir

28 / 38

Page 29: Bases de données : introduction à SQL · introduction à SQL KarënFort karen.fort@sorbonne-universite.fr 3avril2020 1/38. ... Ici, Date devrait être une date et NbKm un décimal

Restreindre : un ensemble de lignes

Mot clé WHERE

I conserver uniquement les lignes de la table qui présententcertaines caractéristiques

I tous les attributs (toutes les colonnes) demeurent

29 / 38

Page 30: Bases de données : introduction à SQL · introduction à SQL KarënFort karen.fort@sorbonne-universite.fr 3avril2020 1/38. ... Ici, Date devrait être une date et NbKm un décimal

Restriction : exempleTous les coureurs d’origine espagnole

SELECT *FROM CoureurWHERE CodePays=2

30 / 38

Page 31: Bases de données : introduction à SQL · introduction à SQL KarënFort karen.fort@sorbonne-universite.fr 3avril2020 1/38. ... Ici, Date devrait être une date et NbKm un décimal

Note : les opérateurs de comparaison

= égal< inférieur<= inférieur ou égal> supérieur>= supérieur ou égal<> ou != différent<=> égal (valable pour NULL aussi)

31 / 38

Page 32: Bases de données : introduction à SQL · introduction à SQL KarënFort karen.fort@sorbonne-universite.fr 3avril2020 1/38. ... Ici, Date devrait être une date et NbKm un décimal

Restriction : exemple négatifTous les coureurs qui ne sont pas d’origine espagnole

SELECT *FROM CoureurWHERE CodePays <> 2

32 / 38

Page 33: Bases de données : introduction à SQL · introduction à SQL KarënFort karen.fort@sorbonne-universite.fr 3avril2020 1/38. ... Ici, Date devrait être une date et NbKm un décimal

Note : les opérateurs logiques

AND etOR ouXOR ou exclusifNOT non

33 / 38

Page 34: Bases de données : introduction à SQL · introduction à SQL KarënFort karen.fort@sorbonne-universite.fr 3avril2020 1/38. ... Ici, Date devrait être une date et NbKm un décimal

Restriction : exemple 2Tous les coureurs dont le CodeEquipe et le CodePays sont de 1

SELECT *FROM CoureurWHERE CodePays = 1 AND CodeEquipe = 1

34 / 38

Page 35: Bases de données : introduction à SQL · introduction à SQL KarënFort karen.fort@sorbonne-universite.fr 3avril2020 1/38. ... Ici, Date devrait être une date et NbKm un décimal

Création d’une BD "Tour de France"

SQL

Interroger une BDSélectionner des caractéristiques : la projectionSélectionner un ensemble d’« individus » : la restrictionCombiner restriction et projection

Pour finir

35 / 38

Page 36: Bases de données : introduction à SQL · introduction à SQL KarënFort karen.fort@sorbonne-universite.fr 3avril2020 1/38. ... Ici, Date devrait être une date et NbKm un décimal

Restriction + projection

SELECT NomCoureurFROM CoureurWHERE CodeEquipe=1

36 / 38

Page 37: Bases de données : introduction à SQL · introduction à SQL KarënFort karen.fort@sorbonne-universite.fr 3avril2020 1/38. ... Ici, Date devrait être une date et NbKm un décimal

Création d’une BD "Tour de France"

SQL

Interroger une BD

Pour finirCQFR : Ce Qu’il Faut Retenir

37 / 38

Page 38: Bases de données : introduction à SQL · introduction à SQL KarënFort karen.fort@sorbonne-universite.fr 3avril2020 1/38. ... Ici, Date devrait être une date et NbKm un décimal

I maîtrise de : SELECT FROM WHEREI opérateurs de comparaisonI opérateurs logiquesI manipulations dans phpMyAdmin

38 / 38


Recommended