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

Planning yves.bertini@yahoo.fr 11 Séances 2 devoirs en TD Jeudi 25 mars Jeudi 13 mai.

Présentations similaires


Présentation au sujet: "Planning yves.bertini@yahoo.fr 11 Séances 2 devoirs en TD Jeudi 25 mars Jeudi 13 mai."— Transcription de la présentation:

1 Planning yves.bertini@yahoo.fr
11 Séances 2 devoirs en TD Jeudi 25 mars Jeudi 13 mai

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

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

4 But 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) Consulter

5 Plan I - Définitions et notations II - Modèle relationnel
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 Libre accè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
Domaine d’utlsation : partout ou il faut traiter des infos sur un grand nombre d’objets tous similaires ente eux 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 Modèle Relationnel (1) Modèle pour Organiser BDD
Yves: But des BDD : gerer des informations. Deux questions : comment les stocker, et comment les consulter. BDD Modèle pour Organiser Langage pour Manipuler

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

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

15 Modèle Relationnel (4) La Relation - définition
yves Chaque colonne porte un nom (en gras) attribut. Ici la relation a 3 attributs 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=.. 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 Modèle Relationnel (4) La Relation - définition Nom : ANNUAIRE ANNUAIRE Attributs : (NOM, PRENOM, TEL) yves Dans un BDD relationnelle toute info doit être stockées dans une relation : brique élémentaire Occurrences : 4 abonnés décrits suivant valeurs d'attributs

16 Modèle Relationnel (5) Clé de relation
Clé d 'une relation: un ou plusieurs attribut(s) si la valeur de la clé est fixée  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 la valeur de la clé est fixée  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 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 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 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 …)

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

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

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

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

24 Requête en SQL Définition
yves Quelle est la traduction de la requête en SQL ? Tiennent sur 3 lignes S F W 3 parties (SFW) Select <liste attributs à afficher résultat> From <listes relations> Where <condition de filtrage des occurrences>;

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

26 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

27 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' ;

28 Traitement des Requêtes 1. Choix des relations
VOL PILOTE Select pilote.nom From pilote Where pilote.prenom = 'Antoine'; Commence par intrepreter le From AVION

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

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

31 Traitement des Requêtes (4) Résultat
Select pilote.nom From pilote Where pilote.prenom = 'Antoine' Voila comment est construit le resultat

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

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

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

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

36 Conditions élémentaires (1)
Syntaxe : <Attribut> <Opérateur> <Valeur> Valeur nombre : 12.6 mots : 'Georges' dates : { d ' ' } Opérateurs de comparaisons =, <, <=, >, >=, <> Conditions élémentaires : pilote.prenom = 'Georges' avion.cap > 300 ’minus’ ≠ ’MAJUS’

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

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

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

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

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

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

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

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

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

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

47 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

48 Conditions composées (2)
vol.arrivee = 'Madrid' And vol.arrivee = 'Rome' avion.cap <= Or avion.cap >= 300 vol.depart = ‘Londres' And vol.arrivee = ‘Moscou' Or vol.arrivee = ‘Madrid' Vols qui atterrissent simultanément à Madrid et Rome !! Avions de moins de 200 places ou de plus de 300 places. V0002 V0003 V0004 Vols Londres  Moscou ou ?  Madrid

49 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' )

50 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 ' '} 

51 Requêtes typiques Jointure
R6 ' : Nom du pilote du vol V0001 ? référence Pilote n’est pas dans v0001. Mais on trouve son n° qui fait reference au numpilote qui est la clef de Pilote -> Trouve sans ambiguite

52 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 ? Schéma de BDD Schéma des relations + références Pointe vers une clef

53 Requêtes typiques Jointure naturelle
R5 : Attributs des vols et des pilotes des vols? Select From Where * pilote, vol pilote.numpilote = vol.numpil condition jointure = egalite entre attribut reliés par reference

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

55 Requêtes typiques Produit cartésien
Select * From pilote, vol Where pilote.numpilote = vol.numpil Condition de jointure est la pour ne garder que les occurrences ou numpil=numpilote

56 Requêtes typiques Jointure
NE PAS OUBLIER CONDITION DE JOINTURE 2 tables  1 condition de jointure 3 tables  2 conditions de jointure

57 jointure AND condition
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

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

59 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

60 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

61 Numéro des avions Boeing 747 Numéro des vols au départ de Paris
numavion A0001 A0006 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 numvol V0001 V0007 numvol V0008 V0007 V0001 V0005 nom François Simon Arthur

62 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

63 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

64 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


Télécharger ppt "Planning yves.bertini@yahoo.fr 11 Séances 2 devoirs en TD Jeudi 25 mars Jeudi 13 mai."

Présentations similaires


Annonces Google