Initiation aux bases de données et à la programmation événementielle Cours N°3 : langage de manipulation de données. Support de cours de Souheib BAARIR.

Slides:



Advertisements
Présentations similaires
Bases de Données Avancées: Bases de Données Relationnelles
Advertisements

Access Frédéric Gava (MCF)
MySQL et PHP.
Les requêtes Manière de dialoguer avec une base de donnée pour :
Initiation aux bases de données et à la programmation événementielle
Année universitaire Système dinformation Le SQL (Structured Query Language) langage dinterrogation dune base de données.
LE LANGAGE SQL : LDD La création de tables L’ordre CREATE CREATE TABLE nom_de_table (Nom_colonne Type_colonne, Nom_colonne Type_colonne,
LMD: Langage de Manipulation de Données
Développement d’applications web
AYARI Mejdi Formation 2121 * ISD * 1 tructured uery Anguage 2006.
Systèmes d Information : 10b Michel de Rougemont Université Paris II Les Bases de Données : Access.
Initiation aux bases de données et à la programmation événementielle
Les bases de données Cours assuré par: Mlle Smii imen
1 Initiation aux bases de données et à la programmation événementielle Cours N°9 : Gestion de la cohérence avec des sous-formulaires. Support de cours.
L’utilisation des bases de données
EPID-CPI-ISAIP Philippe Bancquart - mise à jour 24/02/ page 1 Procédures stockées CPI-SQLServer.
Initiation aux bases de données et à la programmation événementielle
Initiation aux bases de données et à la programmation événementielle
Initiation aux bases de données et à la programmation événementielle
Initiation aux bases de données et à la programmation événementielle
Initiation aux bases de données et à la programmation événementielle
Initiation aux bases de données et à la programmation événementielle
Christine Bonnet SOURCES : « Samples » dOracle, « Oracle 8 » R. Chapuis PRO*C – C ++
Les transactions.
EPID-CPI-ISAIP Philippe Bancquart - mise à jour 24/02/ page 1 SQL jointure PHILIPPE BANCQUART.
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.
SQL Partie 1.
SQL Partie 2. SQL est un Langage de Manipulation de Données SQL est un langage de manipulation de données (LMD), cela signifie qu'il permet de sélectionner,
 CREATE TABLE  DROP TABLE  ALTER TABLE  INSERT  UPDATE  DELETE  SELECT interrogation 2 Instruction de mise à jour structure.
EPID-CPI-ISAIP Philippe Bancquart - mise à jour 24/02/ page 1 Transac SQL Intégrité des données.
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.
Analyse et Conception de Systèmes Informatiques (ACSI)
SQL (deuxième partie) Langage de manipulation de données (LMD) Chap 4.6 p 107.
1 PHP 5 Notions fondamentales (cours #5) Formation continue – Cégep de Sainte-Foy.
DEFINITION DES DONNEES : schéma conceptuel. Schéma conceptuel instructiondescription CREATE TABLEcréation d'une relation ALTER TABLEmodification de la.
Sélection de colonnes (la projection)
SQL : Langage de Manipulation des données
1 Initiation aux bases de données et à la programmation événementielle Responsable : Souheib BAARIR. (le sujet de votre .
Cours SQL.
Quinio1 Bases de données : modèlisation et SGBD Séance 3 B Quinio.
 Le langage SQL Introduction SQL : Strutured Query Language, est un langage de requête, que l'on retrouve dans divers SGBDR (Access de Microsoft, MySQL,
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.
Les vues Une vue: c’est une relation virtuelle. Définie par:
Cours Access TuanLoc NGUYEN. Contact Nguyen TuanLoc Tél: Web:
Les bases de données Séance 8 Jointures.
Le Langage de Manipulation de Données LMD. 2 Les ordres SQL de manipulation INSERT –Insertion (ajout) de ligne(s) dans une table –Utiliser SQL*LOAD pour.
MANIPULATION DES DONNEES : mise à jour des n-uplets.
Séance /10/2004 SGBD - Approches & Principes.
Initiation aux bases de données et à la programmation événementielle Cours N°2 : langage d’interrogation de données. (Les requêtes statistiques et autres).
Initiation aux bases de données et à la programmation événementielle
Initiation aux bases de données et à la programmation événementielle
1 Initiation aux bases de données et à la programmation événementielle Cours N°8 : Gestion de la cohérence avec des zones de liste déroulantes. Souheib.
INTRODUCTION AUX BASES DE DONNEES Base et métabase
Cours n°2 Implémentation et exploitation
Les vues, indexes, séquences.  Qu’est ce qu’une vue 1. Une vue est une vision partielle ou particulière des données d'une ou plusieurs tables de la base.
Le Langage de Manipulation de Données LMD Module 6.
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.
SQL Partie 2. SQL est un langage de manipulation de données SQL est un langage de manipulation de données (LMD), cela signifie qu'il permet de sélectionner,
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° 10 Support de cours rédigé par Bernard COFFIN Université.
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é.
1 Les bases de données Séance 5 -- Le Langage de Définition de Données ou la manœuvre de la structure de la base -- Le Langage de Manœuvre de Données.
1 Initiation aux bases de données et à la programmation événementielle VBA sous ACCESS Cours N° 8 Support de cours rédigé par Bernard COFFIN Université.
SQL LMD FICHE 4.6.
Transcription de la présentation:

Initiation aux bases de données et à la programmation événementielle Cours N°3 : langage de manipulation de données. Support de cours de Souheib BAARIR. Page web : pagesperso-systeme.lip6.fr/Souheib.Baarir/bdvba/support.htm Université Paris Ouest Nanterre la Défense

SQL : requêtes statistiques Plusieurs types de requêtes :  d’interrogation.  de manipulation.  de définition : create, alter, drop… Le Langage de Manipulation de Données (LMD) de SQL est le langage permettant de modifier les informations contenues dans la base. Trois commandes de LMD de SQL :  INSERT  Ajout d’enregistrements.  UPDATE  Mise à jour (Modification) d’enregistrements.  DELETE  Suppression d’enregistrements. 2

Insertion : syntaxe 3 INSERT INTO table (champ 1,..., champ n ) VALUES (val 1,...,val n )ou INSERT INTO table (champ 1,..., champ n ) SELECT... table est le nom de la table sur laquelle porte l'insertion. champ 1,..., champ n est la liste des champs pour lesquelles on donne une valeur. –Cette liste est optionnelle. Si elle est omise, le SGBD prendra par défaut l'ensemble des champs de la table dans l'ordre où elles ont été données lors de la création de la table. –Si une liste de champs est spécifiée, les champs ne figurant pas dans la liste auront la valeur NULL.

Insertion : exemples (1/2) 4 étudiants N° étudiant NomPrénomformation MARTINMarieMMIA BERNARDLouisGestion THOMASAliceAnglais MARTINBernardAnglais MARIEPhilippeGestion MounierAliceGestion Ajouter l’étudiant DUPOND Jean, dont le N° étudiants et de la formation Droit, à la table étudiant INSERT INTO étudiant VALUES (105389,"DUPOND","Jean", " Droit") DUPONDJeanDroit

Insertion : exemples (2/2) 5 étudiants N° étudiant NomPrénomformation MARTINMarieMMIA BERNARDLouisGestion THOMASAliceAnglais MARTINBernardAnglais MARIEPhilippeGestion MounierAliceGestion N° étudiantNom DUPOND DUPONT THOMAS étudiants-droit Ajouter les étudiants de la table étudiants-droit à la table étudiants. INSERT INTO étudiants([N° étudiant],Nom,formation) SELECT [N° étudiant],Nom,"Droit" FROM étudiants-droit DUPONDDroit DUPONTDroit THOMASDroit Valeurs non renseignées.  NULL.

Modification : syntaxe 6 UPDATE table SET champ 1 = exp 1,…,champ n = exp n [WHERE condition] table est le nom de la table sur laquelle porte la modification. champ 1,..., champ n est la liste des champs de table sur lesquels doivent porter les modifications. exp 1,..., exp n sont des expressions. condition est un prédicat classique de la clause WHERE

Modification : exemples (1/2) 7 étudiants N° étudiant NomPrénomformation MARTINMarieMMIA BERNARDLouisGestion THOMASAliceAnglais MARTINBernardAnglais MARIEPhilippeGestion MounierAliceGestion Renommer, dans la table étudiants, la formation Gestion en Eco-Gestion. UPDATE étudiants SET formation="Eco-Gestion" WHERE formation="Gestion" Eco-Gestion

Modification : exemples (2/2) 8 ville départville arrivéeheure départ ParisBoston09:00:00 BerlinRome14:00:00 LondresParis17:00:00 BruxellesMoscou13:00:00 AlgerParis15:00:00 ParisNew York03:00:00 Vol Décaler tous les départs d’une heure. Nous avons besoin d’une fonction particulière : DATEADD (type,nombre,champ), telle que,  type : "h" pour heures, "n" pour minutes, "s" pour secondes, "m" pour mois, "y" pour années, "d" pour jours… UPDATE Vol SET [heure départ]=DATEADD("h",1, [heure départ]) 10:00:00 15:00:00 18:00:00 14:00:00 16:00:00 04:00:00

Suppression : syntaxe 9 DELETE FROM table [WHERE condition] table est le nom de la table sur laquelle porte la suppression. condition est un prédicat classique de la clause WHERE. ATTENSION : ici la clause WHERE est facultative. Si elle n'est pas précisée, tous les enregistrements de la table seront supprimés !

Suppression : exemple 10 ville départville arrivéeheure départ ParisBoston09:00:00 BerlinRome14:00:00 LondresParis17:00:00 BruxellesMoscou13:00:00 AlgerParis15:00:00 ParisNew York03:00:00 Vol Supprimer tous les enregistrements dont la ville d’arrivée est Paris. DELETE FROM Vol WHERE [Ville arrivée]= "Paris"

Exercice : BD Aéroport 11 Pilote(Code pilote, nom, prénom, nombre heures) Compagnie(Code Compagnie, nom, origine) Avion(Code Avion, type, capacite) Vol(Code Vol, Ville départ, Ville arrivée, heure départ, jour départ,heure arrivée, jour arrivée, ref pilote, ref avion, ref compagnie) Suite à la défection d’un des pilotes de la compagnie Air France, Mr Youcef MOUKHTARI, la compagnie à décider de recruter un nouveau pilote, Mr Gérard LE GRAND (code pilote : P0025) ayant une expérience de heures de vols, et de remplacer tous les vols devant être effectués par Mr MouKhtari, par Mr LE GRAND. Comment mettre à jour la BD Aéroport par ces informations ?

BD Aéroport : étapes à suivre… 12 Pilote(Code pilote, nom, prénom, nombre heures) Compagnie(Code Compagnie, nom, origine) Avion(Code Avion, type, capacite) Vol(Code Vol, Ville départ, Ville arrivée, heure départ, jour départ,heure arrivée, jour arrivée, ref pilote, ref avion, ref compagnie) 1. Ajouter le nouveau pilote, Mr Gérard LE GRAND, à la table Pilote. 2. Modifier la table Vol, en remplaçant la référence pilote concernant Mr Youcef MOUKHTARI, par la référence à Mr Gérard LE GRAND. 3.Supprimer l’enregistrement concernant Mr Youcef MOUKHTARI de la table Pilote.

BD Aéroport : Ajouter le nouveau pilote, Mr Gérard LE GRAND, à la table Pilote. 13 Code piloteNomprénomNombre heures P0001DepuisAntoine20000 P0002SimonGeorges7000 P0003FrançoisLuc35000 P0004AndréGeorge40000 P0005MouKhtariYoucef25000 P0006ArthurGeorges60000 P0007MathieuFrançois9500 P0008LaurentLuc14500 P0009MounierAlexandre1200 P0010Petitbernard13000 Pilote INSERT INTO Pilote VALUES "P0025","LE GRAND", "Gérard", P0025LE GRANDGérard30000

BD Aéroport : Modifier la table Vol, en remplaçant la référence pilote concernant Mr Youcef MOUKHTARI, par la référence à Mr Gérard LE GRAND (1/2) 1 ere Solution (la moins automatique) : Chercher (à la main) le code correspondant à Mr MOUKHTARI dans la table Pilote  P0005. Pour la table Vol, écrire la requête qui modifie cette valeur, par celle de Mr LE GRAND (P0025).  UPADTE Vol SET [ref pilote] ="P0025" WHERE [ref pilote] ="P0005" Code piloteNomprénomNombre heures P0001DepuisAntoine20000 P0002SimonGeorges7000 P0003FrançoisLuc35000 P0004AndréGeorge40000 P0005MouKhtariYoucef25000 P0006ArthurGeorges60000 P0007MathieuFrançois9500 P0008LaurentLuc14500 P0009MounierAlexandre1200 P0010Petitbernard13000 P0025LE GRANDGérard30000 Pilote Code Vol … ref pilote… V0001 … P0005 … V0002P0007 V0003P0001 V0004P0003 V0005P0001 V0006P0005 V0007P0007 V0008P0002 V0009P0001 V0010P0005 Vol P0025

BD Aéroport : Modifier la table Vol, en remplaçant la référence pilote concernant Mr Youcef MOUKHTARI, par la référence à Mr Gérard LE GRAND (2/2) 15 Code Vol … ref pilote… V0001 … P0005 … V0002P0007 V0003P0001 V0004P0003 V0005P0001 V0006P0005 V0007P0007 V0008P0002 V0009P0001 V0010P0005 Vol Code piloteNomprénomNombre heures P0005MOUKHTARIYoucef25000 P0007MathieuFrançois9500 P0001DepuisAntoine20000 P0003FrançoisLuc35000 P0001DepuisAntoine20000 P0005MOUKHTARIYoucef25000 P0007MathieuFrançois9500 P0002SimonGeorges7000 P0001DepuisAntoine20000 P0005MOUKHTARIYoucef eme Solution (la plus automatique) : Dériver une nouvelle table pour faire correspondre la référence pilote de Vol au code pilote de Pilote  NTable = Vol INNER JOIN Pilote ON Vol.[ref pilote]= Pilote.[Code Pilote] Ecrire la requête qui modifie la référence correspondant à Mr MOUKHTARI par celle de Mr LE GRAND (P0025) de la relation, NTable, produite.  UPADTE NTable SET [ref pilote] ="P0025" WHERE nom="Mr MouKhtari" Code piloteNomprénomNombre heures P0001DepuisAntoine20000 P0002SimonGeorges7000 P0003FrançoisLuc35000 P0004AndréGeorge40000 P0005MouKhtariYoucef25000 P0006ArthurGeorges60000 P0007MathieuFrançois9500 P0008LaurentLuc14500 P0009MounierAlexandre1200 P0010Petitbernard13000 P0025LE GRANDGérard30000 Pilote P0025 NTable

BD Aéroport : Supprimer l’enregistrement concernant Mr Youcef MOUKHTARI de la table Pilote. 16 Code piloteNomprénomNombre heures P0001DepuisAntoine20000 P0002SimonGeorges7000 P0003FrançoisLuc35000 P0004AndréGeorge40000 P0005MouKhtariYoucef25000 P0006ArthurGeorges60000 P0007MathieuFrançois9500 P0008LaurentLuc14500 P0009MounierAlexandre1200 P0010PetitBernard13000 P0025LE GRANDGérard30000 Pilote DELETE FROM Pilote WHERE nom="Mr MouKhtari"