1 / 53

Planning yves.bertini@yahoo.fr

Planning yves.bertini@yahoo.fr. Amphi Jeudi 15h  16h30 Notes de cours ! TD : 11 Séances 2 devoirs en TD Mercredi 24 mars Mercredi 12 mai. Supports et outils en ligne. Site Web ybertini.free.fr/bdd. Bases de Données. Introduction aux Bases de Données et au langage SQL.

urbana
Download Presentation

Planning yves.bertini@yahoo.fr

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Planningyves.bertini@yahoo.fr • Amphi Jeudi 15h  16h30Notes de cours ! • TD : 11 Séances • 2 devoirs en TD Mercredi 24 mars Mercredi 12 mai

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

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

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

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

  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. Exemple de BDD minimaliste Annuaire téléphonique yves: modele tabulaire : avec lignes et colonnes consultable par tout le monde • Tableau • Libreaccès

  8. 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 d’un ensemble de logiciels 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)

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

  10. Domaines d 'utilisation Si on forme aux sgbd rencontre souvent Domaine d’utlsation : partout ou il faut traiter des infos sur un grand nombre d’objets tous similaires ente eux Anime Inanime imateriel Etudiant en eco susceptible d 'y travailler • 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 • …

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

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

  13. yves Chaque colonne porte un nom (en gras) attribut. Ici la relation a 3 attributs Dans colonne tel, que de tel. Chaque ligne s’appelle une occurrence. Elles décrive des objets tous similaires d’une ligne à l’autre. 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=.. Attributs : (NOM, PRENOM, TEL) • Occurrences : • 4 abonnés • décrits suivant valeurs d'attributs Modèle Relationnel (4)La Relation - définition yves comment se définit une relation ? relation se presente sous la forme d’un tableau identifiee par un nom Les info sont stockés dans la tableau et découpe en lignes et en colonnes ANNUAIRE Nom : ANNUAIRE yves Dans un BDD relationnelle toute info doit être stockées dans une relation : brique élémentaire

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

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

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

  17. Modèle Relationnel (6)Clé de relation yves Pas 2 occurrence qui ont cette valeur pour cet attribut Cle ? Nom prenom outel • Clé d 'une relation: • un ou plusieurs attribut(s) • si on fixe une valeur de l’attribut 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é

  18. Modèle Relationnel (7)Schéma de relation 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 • Schéma d 'une relation : Nom relation ( clé, attribut1, attribut2, … ) • Schéma de l'ANNUAIRE : ANNUAIRE ( TEL ) , NOM, PRENOM = ANNUAIRE ( NOM, PRENOM, TEL )

  19. Exemple de BDDCompagnie 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 …)

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

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

  22. PRENOM = 'Antoine' 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 filtragevaleurs d’attribut imposées aux occurrences Dupuis

  23. Requête en SQLDéfinition yves Quelle est la traduction de la requête en SQL ? Tiennent sur 3 lignes S F W • 3 lignes (SFW) Select <liste attributs à afficher réponse> From <listes relations> Where <conditiondefiltragedes occurrences>;

  24. Requête en SQLExemple yves ordre : table attributs du résultat Condition de filtre on verra comment s 'écrivent les conditions plus tard • En Français :Nom du pilote prénommé Antoine ? • Traduction SQL :SelectFromWhere <liste attributs à afficher résultat> pilote.nom <listes relations> pilote <condition de filtrage des occurrences>; pilote.prenom = 'Antoine'; attribut  relation.attribut 'Antoine' ≠ pilote.nom

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

  26. 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' ;

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

  28. Traitement des Requêtes2. Sélection des occurrences Select pilote.nom From pilote Where pilote.prenom = 'Antoine';

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

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

  31. 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

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

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

  34. Conditions élémentaires (1) • Syntaxe : <Attribut> <Opérateur> <Valeur> • 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’

  35. vol.depart = "Londres" vol.numpil = P0002 avion.cap < '300' avion.type = 'AIRBUS 300' avion.type = 'Airbus300' vol.jdep > {d 1999-05-15} vol.numavion = 'A0002' avions.numavion = 'A0002' vol.numav ≠ 'A0002' vol.depart = 'Londres' vol.numpil = 'P0002' avion.cap < 300 avion.type = 'Airbus 300' avion.type = 'Airbus 300' vol.jdep > {'d 1999-05-15'} vol.numav = 'A0002' avion.numavion = 'A0002' vol.numav <> 'A0002' Conditions élémentaires (1) Trouver les erreurs

  36. 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

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

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

  39. vol.arrivee='Madrid' Or 'Rome' n’existe pas 100<= avion.cap <=200 n’existe pas 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 …)

  40. 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'} 

  41. référence Requêtes typiquesJointure • R6 ' : Nom du pilote du vol V0001 ?

  42. Schéma de BDDSché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 ?

  43. Requêtes typiquesJointure naturelle • R5 : Attributs des vols et des pilotes des vols? Select From Where * pilote, vol pilote.numpilote = vol.numpil

  44. Page 4 Requêtes typiquesProduit cartésien Select * From pilote, vol

  45. Requêtes typiquesProduit cartésien Select * From pilote, vol Where pilote.numpilote = vol.numpil

  46. Requêtes typiquesJointure • NE PAS OUBLIER CONDITION DE JOINTURE • 2 tables  1 condition de jointure • 3 tables  2 conditions de jointure combinées par AND

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

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

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

  50. Numéro des avions Boeing 747 • Numéro des vols au départ de Paris • Numéro des vols qu’effectuent les Boeing 747 • Nom des pilotes des Boeing 747

More Related