Introduction aux Bases de Données et au langage SQL

Slides:



Advertisements
Présentations similaires
REFERENTIEL DE LA SERIE STG
Advertisements

Etudes de cas A vous de faire Bases de données DRES – B. TALON.
Benoît Piranda Équipe SISAR Université de Marne La Vallée Bases de données Algèbre relationnelle, opérations Requêtes SQL.
Informatique appliquée à la gestion Bases de données www. labri
Fonctionnalités des SGBD
Techniques dindexation Implémentation du modèle relationnel ~ LIF10: Fondements des bases de données relationnelles.
Planning 11 Séances 2 devoirs en TD Jeudi 25 mars Jeudi 13 mai.
1 Planning AmphiJeudi 15h 16h30 Notes de cours ! TD : 11 Séances 2 devoirs en TD Mercredi 24 mars Mercredi 12 mai.
Relations avec les entity beans Michel Buffa UNSA
Programme Introduction aux BD et aux SGBD Le modèle relationnel
Initiation au système d’information et aux bases de données
Contrôles d'accès aux données
L’utilisation des bases de données
Database B2 2 MIP Paris.
Initiation à la conception de systèmes d'information
LANGAGES LIES AU MODELE RELATIONNEL
Les bases de données Cours assuré par: Mlle Smii imen
Chap 4 Les bases de données et le modèle relationnel
Administration de bases de données spatiales avec SavGIS
Bases de données et SGBD relationnels
Les bases de donnÉes I DÉFINITION Ensemble structuré d’informations
Les requêtes Les requêtes permettent dinterroger une base de données suivant 3 opérateurs : La projection Affiche le contenu dun champ complet En langage.
L’utilisation des bases de données
Modèle Logique de Données
Staf 2x Cours de bases de données
Algèbre Relationnelle
1 PHP 1.Langage PHP 1.1. Types de base, variables et constantes 1.2. Opérateurs et expressions 1.3. Instructions 1.4. Fonctions 2.Accès aux bases de données:
Cours de Base de Données & Langage SQL
Cours N°2 Base de Données & Langage SQL
Les concepts et les méthodes des bases de données
L3 Module Libre Année universitaire Initiation à la Bioinformatique Jean-Michel RICHER.
Initiation aux bases de données et à la programmation événementielle
Initiation aux bases de données et à la programmation événementielle
Michel Tollenaere SQL et relationnel ENSGI Cours MSI 2A Relationnel et SQL version 1.4 du 25 septembre 2007 (ajout jointures) 1 Modèle relationnel Historique.
1. Représentation des informations
Introduction Le SQL (Structured  Query Language) est un langage universel de gestion des bases de données. Il a une triple fonction : LDD Langage de Définition.
Chapitre 5 : Le langage SQL
SQL Partie 1.
Traduction des opérations sous MySQL
Cours n°4M2. ESCE (S. Sidhom) Séminaire ( 6-12 Février 2007 ) Promo. M2 ESCE-Tunis 2006/07 Conception d’un système d'information sur Internet Architecture.
JDBC L'API JDBC est utilisée pour utilisée pour intéragir avec une base de données.
Optimisation de requêtes
1 PHP 5 Notions fondamentales (cours #5) Formation continue – Cégep de Sainte-Foy.
Bases de données : modèlisation et SGBD
Sélection de colonnes (la projection)
Le Langage SQL Introduction. 2 Historique du Langage SQL E. F. CODD : premiers articles dans les années 70 IBM crée le langage SEQUEL (Structured English.
1 Initiation aux bases de données et à la programmation événementielle Responsable : Souheib BAARIR. (le sujet de votre .
Quinio1 Bases de données : modèlisation et SGBD Séance 3 B Quinio.
Cours n°4M1.ist-ie (S. Sidhom) UE 203 Promo. M1 IST-IE 2006/07 Conception d’un système d'information sur Internet Architecture trois-tiers : technologies.
Bases de données et SGBD relationnels
Initiation aux SGBD Frédéric Gava (MCF)
Cours Access TuanLoc NGUYEN. Contact Nguyen TuanLoc Tél: Web:
1 Structure en MC Principes Stockage des données dans la mémoire volatile d’un ordinateur Problèmes Stockage temporaire «Petits» volumes de données Langages.
LDAP (Lightweight Directory Access Protocol)
Les bases de données Séance 8 Jointures.
Bases de données avancées
Séance /10/2004 SGBD - Approches & Principes.
Initiation aux bases de données et à la programmation événementielle
Initiation aux bases de données et à la programmation événementielle
INTRODUCTION AUX BASES DE DONNEES SQL -2
INTRODUCTION AUX BASES DE DONNEES Base et métabase
Cours n°2 Implémentation et exploitation
Introduction Module 1.
Analyse, élaboration et exploitation d’une Base de Données
Cours 11 Entrepôts de données
Le langage SQL LA Plan 1. Introduction Rappels sur le modèle relationnel Les caractéristiques du langage SQL 2. Le Langage d'Interrogation des.
Modélisation et utilisation Aurélien Marion1 Aurélien Marion
De Arnault Chazareix :
1 Initiation aux bases de données et à la programmation événementielle VBA sous ACCESS Cours N° 4 Support de cours rédigé par Bernard COFFIN Université.
Transcription de la présentation:

Introduction aux Bases de Données et au langage SQL

ybertini.free.fr/aes Bases de Données Introduction aux Bases de Données et au langage SQL Support et outils disponibles sur la page ybertini.free.fr/aes

But des Bases de Données (BDD) Informations Stocker Yves: But des BDD : collectionner des informations. Deux questions auxquelles ont essayera de repondre : comment les stocker, et comment les consulter. Consulter

Plan I - Définitions II - Modèle relationnel III- Langage SQL Yves: definitions de base puis modele relationnel decrit comment stocke langage SQL, comment consulter I - Définitions II - Modèle relationnel III- Langage SQL

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

Annuaire téléphonique Exemple de BDD Annuaire téléphonique odette auzende: modele : tableau avec lignes et colonnes consultable par tout le monde Tableau Libre accès

odette auzende: pour lire le bottin on a besoin de rien d ’autre qu ’une paire de lunette si on est myope, pour consulter les pages jaunes sur Internet il faut un outil spécial : SGBD 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 odette auzende: 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)

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

Domaines d ’utilisation 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 comptes dans les banques livres dans les bibliothèques …

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

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

Modèle Relationnel (2) BDD relationnelle odette auzende: le seul qu ’on verra La BDD tourne autour de la relation BDD relationnelle = collection de relations relation = table (tableau) odette auzende: Intuitif Imaginé par Codd chercheur IBM (1970)

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

Modèle Relationnel (3) La Relation - définition odette auzende: comment se définit une relation ? relation est une table identifiee par un nom et qui se découpe en lignes et en colonnes Modèle Relationnel (3) La Relation - définition Nom : ANNUAIRE ANNUAIRE Attributs : (NOM, PRENOM, TEL) Occurrences : 4 abonnés décrits suivant valeurs d’attributs odette auzende: Chaque colonne porte un nom attribut Chaque ligne (appelle occurrence) correspond a un objet (similaire) qui est decrit suivant les valeurs que prennent ses attributs Ex: 2e occurrence, nom=.., prenom=.., tel=.. odette auzende: Dans un BDD relationnelle toute info doit être stockées dans une relation : brique élémentaire

Modèle Relationnel (5) Clé de relation Clé d ’une relation: attribut(s) si la valeur de la clé est fixée  une seule occurrence possède cette valeur Question : quelle est la clé d ’ANNUAIRE ? Nom Prenom Tel

Modèle Relationnel (5) Clé de relation Clé d ’une relation: attribut(s) si la valeur de la clé est fixée  une seule occurrence possède cette valeur Question : quelle est la clé d ’ANNUAIRE ? Nom Prenom Tel 1 n° téléphone  1 seul abonné

Modèle Relationnel (6) Schéma de relation odette auzende : schéma résume tout les contenus possibles d ’une relation Schéma d ’une relation : Nom relation ( clé, attribut1, attribut2, … ) Schéma de l’ANNUAIRE : ANNUAIRE ( TEL ) , NOM, PRENOM = ANNUAIRE ( NOM, PRENOM, TEL )

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 (à suivre …)

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

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

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

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

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

Requête en SQL Exemple En Français : Nom du pilote prénommé Antoine ? odette auzende: 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 pilote.nom pilote pilote.prenom = ‘Antoine’;

Requête en SQL Execution par SGBD odette auzende: 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

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

Traitement des Requêtes 1. Choix des Tables VOL PILOTE Select pilote.nom From pilote Where pilote.prenom = ‘Antoine’; AVION

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

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

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

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

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

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

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

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

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 1999-05-15} vol.numavion = 'A0002' avions.numavion = 'A0002' vol.numav ≠ 'A0002'

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

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

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

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

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

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

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

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

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

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 200’ Question : numéro des avions qui vérifient cette condition.

Conditions composées (3) Vols pour Madrid ou Rome Avions de capacité entre 200 et 300 Vols de Paris vers Londres ou Berlin vol.arrivee = ‘Madrid’ Or vol.arrivee = ‘Rome’ avion.cap >= 200 And avion.cap <= 300 vol.depart = ‘Paris’ And ( vol.arrivee = ‘Londres’ Or vol.arrivee = ‘Berlin’ )

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’}  numvol depart arrivee numav numpil jdep hdep jarr harr V0003 Berlin Madrid A0002 P0003 15/05/99 11:15 18:00

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

Schéma de BDD Schéma des relations + références odette auzende: Pour completer votre BDD : - souligner les clés - tracer les références entre table : elles se font entre attributs qui ont meme valeurs Schéma de BDD Schéma des relations + références

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

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

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

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’

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

Encore des requêtes

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