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

1 Planning AmphiJeudi 15h 16h30 Notes de cours ! TD : 11 Séances 2 devoirs en TD Mercredi 24 mars Mercredi 12 mai.

Présentations similaires


Présentation au sujet: "1 Planning AmphiJeudi 15h 16h30 Notes de cours ! TD : 11 Séances 2 devoirs en TD Mercredi 24 mars Mercredi 12 mai."— Transcription de la présentation:

1 1 Planning yves.bertini@yahoo.fr AmphiJeudi 15h 16h30 Notes de cours ! TD : 11 Séances 2 devoirs en TD Mercredi 24 mars Mercredi 12 mai

2 2 Supports et outils en ligne Site Web ybertini.free.fr/bdd

3 3 Bases de Données Introduction aux Bases de Données et au langage SQL

4 4 Informations Consulter Stocker Rôle des Bases de Données (BDD) Yves: But des BDD double collectionner des informations. Pb comment ? (fin des TDs) Et partager comment les consulter. (aujourdhui + 4 prochains TD) Trouver info precise parmi un gros volume Yves: But des BDD double collectionner des informations. Pb comment ? (fin des TDs) Et partager comment les consulter. (aujourdhui + 4 prochains TD) Trouver info precise parmi un gros volume

5 5 Plan I - Définitions et notations II - Modèle relationnel III- Langage SQL Yves: definitions de base puis modele relationnel (le 1 er ) decrit comment stocke langage SQL, comment consulter Yves: definitions de base puis modele relationnel (le 1 er ) decrit comment stocke langage SQL, comment consulter

6 6 I- Définitions(1) Base de données (BDD) : ensemble de données organisées suivant un modèle consultable par de nombreux utilisateurs

7 7 Exemple de BDD minimaliste Annuaire téléphonique Tableau Libre accès yves: modele tabulaire : avec lignes et colonnes consultable par tout le monde yves: modele tabulaire : avec lignes et colonnes consultable par tout le monde

8 8 I- Définitions(2) SGBD pour support informatique (Système de Gestion de Bases De Données) Ensemble de logiciels capables : concevoir, enregistrer, consulter les données sur support informatique sécuriser les données : intégrité du contenu droits d 'accès yves le premier point des SGBD est présent dans la version papier d 'une BDD L 'intégrité elle est propre au SGBD (tel a 11 chiffres) yves le premier point des SGBD est présent dans la version papier d 'une BDD L 'intégrité elle est propre au SGBD (tel a 11 chiffres) yves: pour lire le bottin on a besoin de rien, pour consulter les pages jaunes sur Internet il faut un outil spécial : SGBD version informatique de la BDD elle se presente sous la forme dun ensemble de logiciels yves: pour lire le bottin on a besoin de rien, pour consulter les pages jaunes sur Internet il faut un outil spécial : SGBD version informatique de la BDD elle se presente sous la forme dun ensemble de logiciels

9 9 Exemples de SGBD Microsoft QUERY Microsoft ACCESS Deux SGBD tout en un

10 10 Domaines d 'utilisation SGBD (Système de Gestion de Bases De Données) Traiter un grand nombre d'objets similaires clients pour les assurances patients dans les hôpitaux livres dans les bibliothèques comptes dans les banques … Si on forme aux sgbd rencontre souvent Domaine dutlsation : partout ou il faut traiter des infos sur un grand nombre dobjets tous similaires ente eux Anime Inanime imateriel Etudiant en eco susceptible d 'y travailler Si on forme aux sgbd rencontre souvent Domaine dutlsation : partout ou il faut traiter des infos sur un grand nombre dobjets tous similaires ente eux Anime Inanime imateriel Etudiant en eco susceptible d 'y travailler

11 11 Plan I - Définitions II - Modèle relationnel III- Langage SQL

12 12 Modèle Relationnel(1) BDD Langage pour Manipuler Modèle pour Organiser Yves: But des BDD : gerer des informations. Deux questions : comment les stocker, et comment les consulter. Yves: But des BDD : gerer des informations. Deux questions : comment les stocker, et comment les consulter.

13 13 Modèle Relationnel(2) BDD relationnelle BDD relationnelle = collection de relations relation = tableau = table RELATION yves le seul qu 'on verra La BDD tourne autour de la relation Brique elementaire yves le seul qu 'on verra La BDD tourne autour de la relation Brique elementaire yves Intuitif Imaginé par Codd chercheur IBM (1970) yves Intuitif Imaginé par Codd chercheur IBM (1970)

14 14 Modèle Relationnel(3) La Relation Exemple de relation : ANNUAIRE Yves: Se presente sous forme de lignes et de colonnes Yves: Se presente sous forme de lignes et de colonnes

15 15 Modèle Relationnel(4) La Relation - définition ANNUAIRE Nom : ANNUAIRE Attributs : (NOM, PRENOM, TEL) Occurrences : 4 abonnés décrits suivant valeurs d'attributs yves comment se définit une relation ? relation se presente sous la forme dun tableau identifiee par un nom Les info sont stockés dans la tableau et découpe en lignes et en colonnes yves comment se définit une relation ? relation se presente sous la forme dun tableau identifiee par un nom Les info sont stockés dans la tableau et découpe en lignes et en colonnes yves Chaque colonne porte un nom (en gras) attribut. Ici la relation a 3 attributs Dans colonne tel, que de tel. Chaque ligne sappelle une occurrence. Elles décrive des objets tous similaires dune ligne à lautre. Ici les lignes de la relation st des abonnés. Ces occurences sont decrites suivant les valeurs que prennent ses attributs Ex: 2e occurrence, nom=.., prenom=.., tel=.. yves Chaque colonne porte un nom (en gras) attribut. Ici la relation a 3 attributs Dans colonne tel, que de tel. Chaque ligne sappelle une occurrence. Elles décrive des objets tous similaires dune ligne à lautre. Ici les lignes de la relation st des abonnés. Ces occurences sont decrites suivant les valeurs que prennent ses attributs Ex: 2e occurrence, nom=.., prenom=.., tel=.. yves Dans un BDD relationnelle toute info doit être stockées dans une relation : brique élémentaire yves Dans un BDD relationnelle toute info doit être stockées dans une relation : brique élémentaire

16 16 Modèle Relationnel(5) Clé de relation Clé d 'une relation: un ou plusieurs attribut(s) si on fixe une valeur de lattribut clé pas deux occurrences possèdent cette valeur Question : quelle est la clé d 'ANNUAIRE ? Nom Prenom Tel

17 17 Modèle Relationnel(5) Clé de relation Clé d 'une relation: un ou plusieurs attribut(s) si on fixe une valeur de lattribut clé pas deux occurrences possèdent cette valeur Question : quelle est la clé d 'ANNUAIRE ? Nom Prenom Tel

18 18 Modèle Relationnel(5) Clé de relation Clé d 'une relation: un ou plusieurs attribut(s) si on fixe une valeur de lattribut clé pas deux occurrences possèdent cette valeur Question : quelle est la clé d 'ANNUAIRE ? Nom Prenom Tel

19 19 Modèle Relationnel(6) Clé de relation Clé d 'une relation: un ou plusieurs attribut(s) si on fixe une valeur de lattribut clé pas deux occurrences possèdent cette valeur Question : quelle est la clé d 'ANNUAIRE ? Nom Prenom Tel 1 n° téléphone 1 seul abonné yves Pas 2 occurrence qui ont cette valeur pour cet attribut Cle ? Nom prenom outel yves Pas 2 occurrence qui ont cette valeur pour cet attribut Cle ? Nom prenom outel

20 20 Modèle Relationnel(7) Schéma de relation Schéma d 'une relation : Nom relation ( clé, attribut 1, attribut 2, … ) Schéma de l'ANNUAIRE : ANNUAIRE ( TEL), NOM, PRENOM = ANNUAIRE ( NOM, PRENOM, TEL ) Yves Qd on parle de relation, on se contentera du schema relation resumée par schéma Decrit tout les contenus possibles d 'une relation Manière tres concise de decrire ce que peut contenir une relation Tel connaître le tel suffit pour retrouver la personne Savoir utiliser un annuaire, on sait utiliser tout autre annuaire avec meme schema Yves Qd on parle de relation, on se contentera du schema relation resumée par schéma Decrit tout les contenus possibles d 'une relation Manière tres concise de decrire ce que peut contenir une relation Tel connaître le tel suffit pour retrouver la personne Savoir utiliser un annuaire, on sait utiliser tout autre annuaire avec meme schema

21 21 Exemple de BDD Compagnie d 'Aviation Polycopié page 2 3 relations : vol, pilote et avion. schéma des relations : vol ( numvol, depart, arrivee, numav, numpil, jdep, hdep,jarr, harr ) pilote(numpilote,nom,prenom) Avion(numavion, type, cap) Schéma de la BDD relationnelle (à completer …)

22 22 Plan I - Définitions II - Modèle relationnel III- Langage SQL définition un exemple de requête et traitement requêtes typiques

23 23 SQL - langage relationnel BDD Modèle pour Organiser Langage pour Manipuler

24 24 Structured Query Langage (SQL) langage d'interrogation (Anglais) inventé par IBM (1973) SQL - langage relationnel Définition Requête SQL Réponse : relation SGBD

25 25 Requête en Français Exemple : Nom du pilote prénommé Antoine ? Démarche Traduction en SQL : 1. relations (tables) mises en jeu 2. attributs 3. conditions de filtrage valeurs dattribut imposées aux occurrences Dupuis PRENOM = 'Antoine'

26 26 Requête en SQL Définition 3 lignes (SFW) Select From Where ; yves Quelle est la traduction de la requête en SQL ? Tiennent sur 3 lignes S F W yves Quelle est la traduction de la requête en SQL ? Tiennent sur 3 lignes S F W

27 27 Requête en SQL Exemple En Français : Nom du pilote prénommé Antoine ? Traduction SQL : Select From Where pilote.nom pilote pilote.prenom = 'Antoine'; yves ordre : table attributs du résultat Condition de filtre on verra comment s 'écrivent les conditions plus tard yves ordre : table attributs du résultat Condition de filtre on verra comment s 'écrivent les conditions plus tard attribut relation.attribut 'Antoine' pilote.nom ;

28 28 Requête en SQL Execution par SGBD Select pilote.nom From pilote Where pilote.prenom = 'Antoine' ; RELATION_REP yves Ici reduit a une seule reponse. Mais plusieurs possibles Plusieurs colonnes et plusieurs lignes correspond a plusieurs solutions pour la question yves Ici reduit a une seule reponse. Mais plusieurs possibles Plusieurs colonnes et plusieurs lignes correspond a plusieurs solutions pour la question

29 29 Requête en SQL Traitement des Requêtes par SGBD 1. Choix des relations 2. Sélection des occurrences 3. Projection des attributs Select pilote.nom From pilote Where pilote.prenom = 'Antoine' ;

30 30 Traitement des Requêtes 1. Choix des relations Select pilote.nom From pilote Where pilote.prenom = 'Antoine'; VOL PILOTE AVION

31 31 Traitement des Requêtes 2. Sélection des occurrences Select pilote.nom From pilote Where pilote.prenom = 'Antoine';

32 32 Traitement des Requêtes (3) 3. Projection des attributs Select pilote.nom From pilote Where pilote.prenom = 'Antoine';

33 33 Traitement des Requêtes (4) Résultat Select pilote.nom From pilote Where pilote.prenom = 'Antoine'

34 34 Plan I - Définitions II - Modèle relationnel III- Langage SQL définition un exemple de requête et traitement requêtes typiques Projection Sélection jointure

35 35 Requêtes typiques Sur Poly : requêtes de bases : 1, 2, 3, 3 ', 4 requêtes déduites : 5, 6, 7

36 36 Requêtes typiques Projection R1 : Nom et prénom de tous les pilotes ? Select From Where pilote pilote.nom, pilote.prenom Select attribut1, attribut2

37 37 Requêtes typiques (1) Sélection R2 : Attributs des pilotes de prénom Georges? Select From Where pilote * pilote.prenom = 'Georges'

38 38 Conditions élémentaires (1) Syntaxe : Opérateurs de comparaisons =,, >=, <> Valeur mots : 'Georges' nombre : 12.6 dates : { d '1999-05-15' } Conditions élémentaires : pilote.prenom = 'Georges' avion.cap > 300 minus MAJUS

39 39 Conditions élémentaires (1) Trouver les erreurs 1. vol.depart = "Londres" 2. vol.numpil = P0002 3. avion.cap < '300' 4. avion.type = 'AIRBUS 300' 5. avion.type = 'Airbus300' 6. vol.jdep > {d 1999-05-15} 7. vol.numavion = 'A0002' 8. avions.numavion = 'A0002' 9. vol.numav 'A0002' vol.depart = 'Londres' vol.numpil = 'P0002' avion.cap < 300 avion.type = 'Airbus 300' vol.jdep > {'d 1999-05-15'} vol.numav = 'A0002' avion.numavion = 'A0002' vol.numav <> 'A0002'

40 40 vol.depart = "Londres" vol.depart = 'Londres' Conditions élémentaires (1) Trouver les erreurs - 1

41 41 vol.numpil = P0002 vol.numpil = 'P0002' Conditions élémentaires (1) Trouver les erreurs – 2

42 42 avion.cap < '300' avion.cap < 300 Conditions élémentaires (1) Trouver les erreurs - 3

43 43 avion.type = 'AIRBUS 300' avion.type = 'Airbus 300' Conditions élémentaires (1) Trouver les erreurs - 4

44 44 avion.type = 'Airbus300' Conditions élémentaires (1) Trouver les erreurs - 5

45 45 vol.jdep={d 1999-05-15} vol.jdep={d '1999-05-15'} Conditions élémentaires (1) Trouver les erreurs - 6

46 46 vol.numavion = 'A0002' vol.numav = 'A0002' Conditions élémentaires (1) Trouver les erreurs - 7

47 47 avions.numavion = 'A0002' avion.numavion = 'A0002' Conditions élémentaires (1) Trouver les erreurs - 8

48 48 vol.numav 'A0002' vol.numav <> 'A0002' Conditions élémentaires (1) Trouver les erreurs - 9

49 49 Conditions composées (2) Combinaisons logiques : AND : vol.depart = 'Londres' And vol.arrivee = 'Madrid' Question : numéro des vols qui vérifient cette condition ? OR : avion.type = 'Airbus 300' Or avion.type = 'Airbus 320' Question : numéro des avions qui vérifient cette condition ? V0004 A0002 A0003

50 50 Conditions composées (2) vol.arrivee = 'Madrid' And vol.arrivee = 'Rome' avion.cap = 300 vol.depart = 'Londres' Andvol.arrivee = 'Moscou' Or vol.arrivee = 'Madrid' Vols qui atterrissent à la fois à Madrid et Rome !! Avions de moins de 200 places ou de plus de 300 places. A0001 A0002 A0005 A0006

51 51 Conditions composées (2) vol.arrivee = 'Madrid' And vol.arrivee = 'Rome' avion.cap = 300 ( vol.depart = 'Londres' And vol.arrivee = 'Moscou' ) Or vol.arrivee = 'Madrid' Vols qui atterrissent à la fois à Madrid et Rome !! Vols Londres Moscou ou ? Madrid V0002 V0003 V0004 Avions de moins de 200 places ou de plus de 300 places. A0001 A0002 A0005 A0006

52 52 Conditions composées (2) Vols pour Madrid ou Rome Avions de capacité entre 200 et 300 Vols de Londres vers Moscou ou Madrid vol.arrivee = 'Madrid' Or vol.arrivee = 'Rome' avion.cap >= 200 And avion.cap <= 300 vol.depart = 'Londres' And ( vol.arrivee = 'Moscou' Or vol.arrivee = 'Madrid' ) OR après AND … AND ( … OR …) 100<= avion.cap <=200 nexiste pas vol.arrivee='Madrid' Or 'Rome' nexiste pas

53 53 Requêtes typiques (2) Sélection R3 ' : Attributs des vols décollant pour Madrid le 15/05/99 ? Select From Where vol * vol.arrivee='Madrid' And vol.jdep={d '1999-05-15'}

54 54 Requêtes typiques Jointure R6 ' : Nom du pilote du vol V0001 ? référence

55 55 Schéma de BDD Schéma des relations + références odette auzende: Pour completer votre BDD : - surligner les clés -tracer les références entre table : elles se font entre attributs qui ont meme valeurs -aucune relation ne doit reste isolée. Quel lien entre avion et le reste ? odette auzende: Pour completer votre BDD : - surligner les clés -tracer les références entre table : elles se font entre attributs qui ont meme valeurs -aucune relation ne doit reste isolée. Quel lien entre avion et le reste ?

56 56 Requêtes typiques Jointure naturelle R5 : Attributs des vols et des pilotes des vols? Select From Where pilote, vol * pilote.numpilote = vol.numpil

57 57 Requêtes typiques Produit cartésien Select * From pilote, vol Page 4

58 58 Requêtes typiques Produit cartésien Select * From pilote, vol Where pilote.numpilote = vol.numpil

59 59 Requêtes typiques Jointure NE PAS OUBLIER CONDITION DE JOINTURE 2 tables 1 condition de jointure 3 tables 2 conditions de jointure combinées par AND

60 60 Encore des requêtes R6' : Nom du pilote du vol V0001 ? Select From Where pilote, vol pilote.nom pilote.numpilote = vol.numpil And vol.numvol = 'V0001' jointure AND condition

61 61 Encore des requêtes R8 : Numéro des vols, type et capacité des avions, et nom de leurs pilotes ?

62 62 Encore des requêtes R8 : Numéro des vols, type et capacité des avions, et nom de leurs pilotes ? Select From Where pilote, vol, avion vol.numvol, avion.type, avion.cap, pilote.nom pilote.numpilote = vol.numpil And vol.numav = avion.numavion

63 63 Encore des requêtes R8 : Numéro, type d'avion, capacités et nom des pilotes des vols? Select vol.numvol, avion.type, avion.cap, pilote.nom From pilote, vol, avion Where pilote.numpilote=vol.numpil And vol.numav=avion.numavion

64 64 Numéro des avions Boeing 747 Numéro des vols au départ de Paris Numéro des vols queffectuent les Boeing 747 Nom des pilotes des Boeing 747 numavion A0001 A0006 numvol V0001 V0007 numvol V0008 V0007 V0001 V0005 nom François Simon Arthur

65 65 Numéro des avions Boeing 747 Numéro des vols au départ de Paris Numéro des vols queffectuent les Boeing 747 Nom des pilotes des Boeing 747

66 66 Numéro des avions Boeing 747 Numéro des vols au départ de Paris Numéro des vols queffectuent les Boeing 747 Nom des pilotes des Boeing 747

67 67 Numéro des avions Boeing 747 Numéro des vols au départ de Paris Numéro des vols queffectuent les Boeing 747 Nom des pilotes des Boeing 747


Télécharger ppt "1 Planning AmphiJeudi 15h 16h30 Notes de cours ! TD : 11 Séances 2 devoirs en TD Mercredi 24 mars Mercredi 12 mai."

Présentations similaires


Annonces Google