Chapitres 1 et 2 Langage d interrogation des donnåes - Partie 1 -

Dimension: px
Commencer à balayer dès la page:

Download "Chapitres 1 et 2 Langage d interrogation des donnåes - Partie 1 -"

Transcription

1 Chapitres 1 et 2 Langage d interrogation des donnåes - Partie 1-1. Introduction Les bases de donnåes DÄfinition UtilitÄ SGBD et SGBDR Les contraintes d intägritä Le langage SQL DÅfinition du LID Interrogation simple d une table Projection Restriction de lignes Trier le räsultat d une interrogation Interrogation de plusieurs tables : les jointures Equi-jointure Jointure räflexive ou auto-jointure Jointure externe Jointure externe gauche Jointure externe droite Jointure externe compläte Jointure multi tables Exercices...32 ALSI_IG1_C02 - SQL LID Partie 1 1

2 1. Introduction Toute organisation a besoin d'informations pour coordonner ses actions en vue d'atteindre ses objectifs. Exemples : - Une bibliothäque maintient une liste de membres, de livres, - Une sociçtç maintient des informations sur ses salariçs, ses services... Ces informations sont ÄlaborÄes Ç partir de donnåes qui, pour Étre utilisables aisäment, sont stockåes de faéon structuråe et ordonnåe. Elles peuvent Étre stockäes sur diffärents types de support et format comme : des fiches papiers, des tableaux ÄlaborÄs avec un tableur (tel que Microsoft Excel) ou des bases de donnäes. EMPLOYES matricule NomEmploye fonction DUPOND commercial SERVICE GARDARIN ingänieur MARTIN präsident NumService NomService Lieu DUPONT adminsitratif 10 Recherche Rennes 20 Vente Metz 30 Direction Paris 40 Fabrication Toulon 50 SAV Metz A B C D E Tableau Excel Fiches papier Base de donnåes 2. Les bases de donnåes 2.1. DÅfinition Le terme de base de donnäes (en anglais Ñ DB Ö signifie data base) correspond Ç une entitå dans laquelle il est possible de stocker des donnåes de faéon structuråe et avec le moins de redondance possible (c est-ñ-dire Åviter de retrouver les mömes valeurs dans diffårentes tables). Ces donnäes doivent pouvoir Étre utilisäes par des programmes, par des utilisateurs diffärents. Ainsi, la notion de base de donnäes est gänäralement coupläe Ç celle de räseau, afin de pouvoir mettre en commun ces informations, d'oü le nom de base. On parle gänäralement de systáme d'information pour däsigner toute la structure regroupant les moyens mis en place pour pouvoir partager des donnäes. ALSI_IG1_C02 - SQL LID Partie 1 2

3 2.2. UtilitÅ L utilitå d une base de donnåes est de mettre des donnäes Ç la disposition d'utilisateurs pour une consultation, une saisie ou bien une mise Ç jour, tout en s'assurant des droits accordäs Ç ces derniers. Cela est d'autant plus utile que les donnäes informatiques sont de plus en plus nombreuses. Une base de donnäes peut Étre locale, c'est-ç-dire utilisable sur une machine par un utilisateur, ou bien råpartie, c'est-ç-dire que les informations sont stockäes sur des machines distantes et accessibles par räseau. L'avantage majeur de l'utilisation de bases de donnäes est la possibilitä de pouvoir Étre accädäes par plusieurs utilisateurs simultanäment SGBD et SGBDR Afin de pouvoir contràler les donnäes ainsi que les utilisateurs, un systáme de gestion est näcessaire. La gestion de la base de donnäes se fait grâce Ç un systáme appelä SGBD (systáme de gestion de bases de donnäes) ou en anglais DBMS (Data base management system). Le SGBD est un ensemble de services (applications logicielles) permettant de gärer les bases de donnäes, c'est-ç-dire : permettre l'accás aux donnäes de faäon simple, autoriser un accás aux informations Ç de multiples utilisateurs manipuler les donnäes präsentes dans la base de donnäes (insertion, suppression, modification). Le SGBD assure la cohårence et l'accäs aux informations stockäes dans un modále physique de donnäes particulier : hiärarchique, räseau, relationnel, objet... Exemple IDS est un SGBD de type rçseau qui a ÇtÇ utilisç pour la conquéte spatiale amçricaine (programme Apollo). Il existe diffärents modáles de bases de donnäes : les BD hiärarchiques, les BD räseaux, les BD objets et les BD relationnelles. Un SGBDR (Systáme de Gestion de Base de DonnÄes Relationnel) est un SGBD assurant la cohärence et l'accás aux informations stockäes dans un modäle physique de donnåes de type relationnel Exemple Paradox, MySQL, Oracle, DB2, Ingres, Informix, Sybase, SQL Server... ALSI_IG1_C02 - SQL LID Partie 1 3

4 2.4. Les contraintes d intågritå Ces contraintes, gåråes en tant que såcuritå par les SGBDR, däfinissent les rágles Ç respecter sur les donnäes. Ces rágles permettent de garantir l'intågritå et la cohårence des donnäes. Si l on tente d insärer des donnäes qui ne respectent pas les contraintes d intägritä däfinies, le SGBDR retourne un message d erreur et la mise Ç jour des donnäes est interrompue. On parle alors de violation des contraintes d intågritå. Certaines de ces contraintes sont liäes aux rágles de gestion du systáme d information repräsentä. Par exemple, le stock actuel d un article ne doit pas Étre infärieur Ç son stock de säcuritä. Elles seront däfinies dans le SGBDR Ç l aide de triggers (vous Ätudierez les triggers en 2 áme annäe). D autres contraintes sont liäes au modále relationnel : La contrainte de relation ou contrainte d entitå La contrainte d'entitå pråcise qu il n y a pas de doublon de la clå primaire, que la clå primaire est toujours renseignåe et qu elle ne peut pas changer de valeur au cours du temps Pour chaque tuple d une relation, la valeur de la clå primaire doit Ötre : La contrainte de domaine La contrainte de domaine permet de restreindre l'ensemble des valeurs que peut prendre un attribut dans une relation : Exemple : pour un album, le mçdia est Ñ Audio CD Ö, Ñ DVD Ö, Ñ K7 Ö ou Ñ Vinyle Ö. Cette contrainte est prise en charge par le SGBD par une contrainte de domaine. Il n est pas possible d associer á un album une valeur qui n appartient pas au domaine de dçfinition. ALSI_IG1_C02 - SQL LID Partie 1 4

5 Les contraintes d intågritå råfårentielle (ou de clå ÅtrangÄre) La contrainte d'intågritå råfårentielle indique que la valeur d'un attribut dåfini comme clå ÅtrangÄre doit exister comme valeur de clå primaire d'une autre relation. Une relation peut avoir de aucune Ç plusieurs cläs Ätrangáres. Exemple : SERVICE (numero, nomservice, lieu) numero : clä primaire EMPLOYE (matricule, nomemploye, fonction, dateembauche, salaire, numservice) matricule : clä primaire numservice : clä Ätrangáre en räfärence Ç numero de la relation SERVICE numservice dans la relation EMPLOYE fait rçfçrence á numero de la relation SERVICE. Cela signifie que la valeur de l attribut numservice de la relation EMPLOYE doit prçalablement exister comme valeur de clç primaire d'une ligne de la table SERVICE. Il est nçcessaire de crçer le service avant de crçer l employç rattachç á ce service. La contrainte d intägritä räfärentielle implique que : A NOTER : Certaines clås ÅtrangÄres peuvent Ötre autorisåes Ñ admettre des valeurs NULL. Dans ce cas, la contrainte d'intågritå råfårentielle n'est pas vårifiåe par le SGBDR. ATTENTION, il ne faut pas confondre NULL et chaüne vide (simple quotes)! La chaãne vide est une chaãne ne contenant aucun caractáre. La valeur NULL indique la präsence de donnäes manquantes dans un champ. ALSI_IG1_C02 - SQL LID Partie 1 5

6 Exemple : On prçcise que chaque employä a un et un seul supärieur hiärarchique parmi les autres employçs, sauf pour le dirigeant qui n en a pas. Cette nouvelle dçpendance fonctionnelle (la connaissance du matricule d un salariç dçtermine le matricule unique de son supçrieur hiçrarchique) entraàne la crçation d une clç ÇtrangÄre. SERVICE (numero, nomservice, lieu) numero : clä primaire EMPLOYE (matricule, nomemploye, fonction, dateembauche, salaire, numservice, matrsuperieur) matricule : clä primaire numservice : clä Ätrangáre en räfärence Ç numero de la relation SERVICE matrsuperieur : clå ÅtrangÄre en råfårence Ñ matricule de la relation EMPLOYE A titre indicatif le modále conceptuel Ätait le suivant ALSI_IG1_C02 - SQL LID Partie 1 6

7 Extrait de la table EMPLOYE matricule nom Employe fonction date Embauche salaire numservice matr Superieur DUPONT Commercial 14/04/ GARDARIN IngÄnieur 07/08/ MARTIN PrÄsident 23/05/ NULL DUPOND Adminsitratif 03/05/ DUPOND fait partie du service nâ 30 c'est-á-dire la Direction Extrait de la table SERVICE numero nomservice lieu 10 Recherche Rennes 20 Vente Metz 30 Direction Nancy 40 Fabrication Toulon 50 SAV Metz MARTIN n a pas de supçrieur hiçrarchique Le supçrieur hiçrarchique de DUPOND est le matricule 16712, á savoir MARTIN ConsÅquence : il est important, lorsque l'on cräe une base de donnäes, de bien räflächir si un attribut doit ou non autoriser les valeurs NULL car cela a des consäquences non nägligeables. A noter que la clå primaire d une relation n admet pas de valeur nulle : elle doit toujours Étre renseignäe. ALSI_IG1_C02 - SQL LID Partie 1 7

8 3. Le langage SQL Le modále relationnel, inventä par A.F. Codd (Directeur de recherche du centre IBM de San JosÄ) en 1970 a donnä naissance au langage SQL, normalisä en 1986 par l ANSI (institut amäricain de normalisation) pour donner SQL-86. Depuis, plusieurs versions ont vu le jour : SQL-89, SQL-92 nommäe SQL2, SQL-99 nommäe SQL3, puis SQL:2003 et enfin SQL:2008. Le SQL (Structured Query Language : langage de requéte structurä) est un langage de communication avec les bases de donnäes relationnelles. Il präsente plusieurs subdivisions. Subdivision Sigle Description Langage d interrogation des donnäes (Data Query Language) Langage de manipulation des donnäes (Data Manipulation Language) LID (DQL) LMD (DML) Extraction de donnäes räpondant Ç un besoin däfini Ç l aide de critáres de restriction, d opärations et de tris. Modification du contenu de la base de donnäes : ajout, modification et suppression de donnäes Langage de däfinition des donnäes (Data Definition Language) Langage de contràle des donnäes (Data Controle Language) LDD (DDL) LCD (DCL) Modification de la structure de la base de donnäes : ajout, modification et suppression des tables et de leurs relations (contraintes d intägritä räfärentielles) Acquisition et rävocation des priviláges d accás aux donnäes. Il est possible d inclure des requétes SQL dans un programme Äcrit dans un autre langage (en C# ou en PHP par exemple). ALSI_IG1_C02 - SQL LID Partie 1 8

9 4. DÅfinition du LID Le langage d interrogation des donnäes (LID) permet, comme son nom l indique, d interroger une base de donnäes. Il sert Ç rechercher, extraire, trier, mettre en forme des donnäes et calculer de nouvelles donnäes Ç partir de donnäes existantes. Dans ce cours, nous utiliserons le modále relationnel suivant. ModÄle relationnel SERVICE(numero, nomservice, lieu) numero : clç primaire EMPLOYE (matricule, nomemploye, fonction, dateembauche, salaire, commission, numservice, matrsuperieur) matricule: clç primaire numservice : clç ÇtrangÄre en rçfçrence á numero de la relation SERVICE matrsuperieur : clç ÇtrangÄre en rçfçrence á matricule de la relation EMPLOYE ModÄle physique Employe matricule nomemploye fonction dateembauche salaire commission numservice matrsuperieur matrsuperieur = matricule numservice = numero Service numero numservice lieu Extraits des tables Extrait de la table Employe Extrait de la table Service ALSI_IG1_C02 - SQL LID Partie 1 9

10 Avec le langage SQL, c est la commande SELECT qui constitue le langage d interrogation de la base. Le räsultat d une requéte d interrogation sur des tables est lui-méme une table dont l existence est temporaire (le temps de la requéte). 5. Interrogation simple d une table 5.1. Projection L instruction SELECT permet de däterminer les colonnes Ñ projeter (afficher) Ç partir de tables präcisäes dans la clause FROM. La version la plus simple d une requéte d interrogation est la suivante : SELECT * FROM nom_table * signifie que tous les champs de la table sont projetçs Il est possible de limiter la projection Ç certains champs en präcisant leur nom aprás l instruction SELECT et en les säparant par des virgules. SELECT nom_champ1, nom_champ2, FROM nom_table Exemple 1 : Afficher toutes les informations sur les employås de l entreprise. SELECT * * se rapporte á tous les champs de la table Employe puisque c est la seule table spçcifiçe dans la clause FROM Exemple 2 : Quels sont les diffårents services (nom) de l entreprise et oà sont-ils implantås? SELECT nomservice, lieu FROM Service ALSI_IG1_C02 - SQL LID Partie 1 10

11 Par däfaut, l instruction SELECT est associäe au mot-clä ALL. Ainsi, méme s il n est pas späcifiä, l exäcution correspond Ç SELECT ALL ce qui signifie que tous les enregistrements correspondant Ç la demande seront affichäs, y compris ceux qui sont identiques. Ainsi les deux requétes ci-dessous produisent le méme räsultat : SELECT fonction ou SELECT ALL fonction La clause DISTINCT (Ç späcifier puisqu elle n est pas exäcutäe par däfaut), permet de ne projeter que les enregistrements diffärents. Exemple 3 : Quelles sont les fonctions occupåes dans l entreprise? SELECT DISTINCT fonction Plusieurs employçs pouvant occuper la méme fonction, la clause distinct permet de n afficher qu une seule fois chaque fonction 5.2. Restriction de lignes La clause WHERE permet de späcifier des critáres de restriction. Cette clause est suivie d une condition qui sera ÄvaluÄe pour chaque ligne de la table. Seules les lignes pour lesquelles le räsultat de la condition est VRAI seront projetäes. SELECT * FROM nom_table WHERE condition ALSI_IG1_C02 - SQL LID Partie 1 11

12 Les conditions sont construites Ç partir : d expressions constituäes de noms de champs ou de valeur (de type numärique, texte ou date) et Äventuellement d opärateurs arithmätiques (+, -, /, *) ou de fonctions prädäfinies. d opärateurs de comparaison : =, >, <, >=, <=, <> ou d opärateurs SQL expr BETWEEN val1 AND val2 Renvoie VRAI si la valeur d expr est comprise entre les valeurs de val1 et val2 incluses expr IN (val1, val2,...) expr LIKE unechaine Renvoie VRAI si la valeur d expr est Ägale Ç l une des valeurs de la liste entre parentháses Renvoie VRAI si la valeur d expr est Ägale Ç la valeur de unechaine qui est une chaãne de caractáres pouvant contenir des caractáres jokers (Ñ _ Ö pour un caractáre quelconque, Ñ % Ö pour plusieurs caractáres quelconques) ATTENTION : toute valeur alphanumårique ou de type date doit Ötre placåe entre simples quotes (ex : 'hello') Exemple 4 : Quels sont les noms des salariås qui occupent la fonction de commercial? On ne souhaite des räsultats que sur les seuls employäs dont la fonction est commercial : on effectue une restriction sur les lignes vårifiant la condition fonction = 'commercial' matricule nom Employe fonction date Embauche salaire comm ission num Service matr Superieur GARDARIN IngÄnieur 07/08/ MARTIN PrÄsident 23/05/ NULL DUPOND Administratif 03/05/ BULLE Commercial 03/01/ ANABEL Commercial 16/06/ ROUX Chef de service 30/05/ PAPILOU Commercial 15/10/ JACOBI Chef de service 30/03/ AMIN comptable 15/10/ PERNOT comptable 15/10/ DUPONT Commercial 14/04/ RAMARA Chef de service 18/08/ On veut seulement le nom de ces employäs : donc räalise une projection sur la colonne nomemploye pour les seules lignes sälectionnäes matricule nom Employe fonction date Embauche salaire comm isssion num Service matr Superieur BULLE Commercial 03/01/ ANABEL Commercial 16/06/ DUPONT Commercial 14/04/ PAPILOU Commercial 15/10/ RequÉte permettant d'obtenir les noms des salariäs qui occupent la fonction de commercial : SELECT nomemploye WHERE fonction = 'Commercial' ALSI_IG1_C02 - SQL LID Partie 1 12

13 Exemple 5 : Afficher les noms des salariås embauchås avant 2000 SELECT nomemploye WHERE dateembauche < '01/01/2000' Le critäre "avant 2000" est exprimç sous forme de date (certains SGBDR peuvent coder les dates au format yyyy/mm/jj). Un critäre de restriction de type date est placç entre quotes (apostrophes). matricule nom Employe fonction date Embauche salaire Comm ission num Service matr Superieur GARDARIN IngÄnieur 07/08/ MARTIN PrÄsident 23/05/ NULL DUPOND Administratif 03/05/ BULLE Commercial 03/01/ ANABEL Commercial 16/06/ ROUX Chef de service 30/05/ PAPILOU Commercial 15/10/ JACOBI Chef de service 30/03/ AMIN comptable 15/10/ PERNOT comptable 15/10/ DUPONT Commercial 14/04/ RAMARA Chef de service 18/08/ Projection sur la colonne nomemploye 1. Restriction sur la date d'embauche La restriction peut porter sur un champ calculå (räsultat d'une opäration sur des champs) Exemple 6 : Afficher les noms des salariås dont la råmunåration annuelle brute (salaire et commission) dåpasse matricule Nom Employe Fonction Date Embauche salaire comm ission num Service matr Superieur champ calculå GARDARIN IngÄnieur 07/08/ MARTIN PrÄsident 23/05/ NULL DUPOND Administratif 03/05/ BULLE Commercial 03/01/ ANABEL Commercial 16/06/ ROUX Chef service 30/05/ PAPILOU Commercial 15/10/ JACOBI Chef service 30/03/ AMIN comptable 15/10/ PERNOT comptable 15/10/ DUPONT Commercial 14/04/ RAMARA Chef service 18/08/ Pour chaque ligne de la table, le SGBDR dätermine le champ calculä puis teste la condition. La projection sur les colonnes choisies est ensuite räalisäe. SELECT nomemploye WHERE salaire + commission > ALSI_IG1_C02 - SQL LID Partie 1 13

14 Exemple 7 : Afficher les noms des salariås embauchås en 2004 SELECT nomemploye WHERE dateembauche BETWEEN '01/01/2004' AND '31/12/2004' Ou bien SELECT nomemploye WHERE YEAR(dateEmbauche) = 2004 La fonction prçdçfinie YEAR extrait l'annçe d'une date Notez que la fonction YEAR utilisçe ici est une fonction propre au SGBDR Microsoft SQL Server. Chaque SGBDR propose une bibliothäque de fonctions. Lors de l'çtude de cas, si l'on ne vous propose pas explicitement une fonction dans l'çnoncç il est recommandç d'utiliser la premiäre syntaxe. Exemple 8 : Afficher les noms des salariås dont la commission repråsente plus de la moitiå du salaire SELECT nomemploye WHERE commission > salaire/2 Exemple 9 : Afficher les noms et fonctions des salariås qui sont soit commercial, soit ingånieur SELECT nomemploye, fonction WHERE fonction IN ('commercial', 'ingånieur') Exemple 10 : Afficher les noms des salariås dont le nom commence par M SELECT nomemploye WHERE nomemploye LIKE 'M%' Exemple 11 : Afficher les noms des salariås dont le nom se termine par T SELECT nomemploye WHERE nomemploye LIKE '%T' Exemple 12 : Afficher les noms des salariås dont le nom contient LA SELECT nomemploye WHERE nomemploye LIKE '%LA%' ALSI_IG1_C02 - SQL LID Partie 1 14

15 Exemple 13 : Afficher les noms des salariås et leur råmunåration brute annuelle SELECT nomemploye, salaire+commission Le räsultat de cette requéte n'est pas trás explicite pour celui qui visualise les räsultats. Il est possible de renommer le nom d'une colonne du räsultat d'une requéte en däfinissant un alias Ç l'aide de la clause AS (des guillemets sont näcessaires si l'alias comporte des espaces). SELECT nomemploye, salaire+commission AS "RÅmunÅration brute" Exercice 1 ALSI_IG1_C02 - SQL LID Partie 1 15

16 Par opposition aux conditions simples illusträes präcädemment, il existe des conditions composäes, formäes de plusieurs conditions simples combinäes grâce aux opärateurs logiques : AND (et), OR (l'un ou l'autre ou les deux), XOR (ou exclusif : l'un ou l'autre mais pas les deux). L'opÄrateur NOT placä devant une condition en inverse le sens. L'opÄrateur AND est prioritaire par rapport Ñ l'opårateur OR. Des parentháses peuvent Étre utilisäes pour imposer une prioritä dans l'ävaluation de la condition, ou simplement pour rendre l'expression plus claire. Exemple 14 : Afficher les noms des salariäs du service 30 ayant un salaire annuel d'au moins SELECT nomemploye WHERE numservemploye=30 AND salaire > Exemple 15 : Afficher les noms des salariäs qui sont commercial ou ingänieur, et travaillant dans le service 20. SELECT nomemploye WHERE fonction IN ('commercial', 'ingånieur') AND numservemploye=20 Rappel : une valeur NULL est une valeur non renseignäe (indäfinie) pour un champ oü cela est autorisä. Attention, la valeur NULL est diffärente de la valeur zäro ou d'une chaine vide ('') qui sont des valeurs däfinies. L'opÄrateur IS NULL permet de tester la valeur NULL. expr IS NULL renvoie VRAI si l'expression expr est vide. expr = NULL provoque une erreur de syntaxe Exemple 16 : Afficher les noms des salariås qui n'ont pas de supårieur hiårarchique. SELECT nomemploye WHERE MatrSuperieur IS NULL Exemple 17 : Afficher les noms des salariås qui ont un supårieur hiårarchique. SELECT nomemploye WHERE MatrSuperieur IS NOT NULL Exercice 2 ALSI_IG1_C02 - SQL LID Partie 1 16

17 5.3. Trier le råsultat d une interrogation Les enregistrements projetäs Ç l'aide de l'instruction SELECT ne sont pas triäs par däfaut. On peut späcifier jusqu'ç 16 critáres de tris grâce Ç la clause ORDER BY placäe aprás la clause WHERE. SELECT * FROM nom_table [WHERE condition] ORDER BY nom_champ1 [DESC], nom_champ2 [DESC],... L'ordre des tris a lieu selon l'ordre des champs (ou des alias) späcifiä dans la clause ORDER BY ou selon leur numäro d'ordre dans la clause SELECT. Il est possible de späcifier un tri sur un champ non projetä (absent de la clause SELECT). Pour chaque critáre de tri späcifiä, le tri peut Étre ascendant (ASC par däfaut) ou descendant (DESC Ç späcifier). Si le tri porte sur un attribut contenant des valeurs NULL, ces valeurs sont toujours en töte quel que soit l'ordre du classement (ascendant ou descendant). Exemple 18 : Afficher la liste des salariås (nom, fonction, salaire), classåe par fonction, et pour chaque fonction, par salaire dåcroissant. SELECT nomemploye, fonction, salaire ORDER BY fonction, salaire DESC DESC ne s'applique qu'á salaire. fonction est ASC par dçfaut. Dans la clause ORDER BY on peut Ägalement utiliser le numäro d'ordre du champ dans la liste SELECT ou l'alias Exemple 19 : Afficher la liste des salariås (nom et råmunåration annuelle brute), triåe par råmunåration dåcroissante. Le champ calculç SELECT nomemploye, salaire+commission as RÄmunÄration salaire+commission est le 2Çme de la liste des champs prçcisçs dans le ORDER BY 2 DESC SELECT ou encore SELECT nomemploye, salaire+commission as RÄmunÄration ORDSC On utilise cette fois-ci l'alias pour dçfinir le critäre de tri. Exercice 3 ALSI_IG1_C02 - SQL LID Partie 1 17

18 6. Interrogation de plusieurs tables : les jointures La jointure est une opäration qui permet de combiner des informations venant de plusieurs tables. Il est possible de joindre jusqu'ç 256 tables. Une jointure est obligatoire dás lors que plusieurs tables sont präsentes dans la clause FROM, c'est-ç-dire lorsque les projections, restrictions et/ou critáres de tris concernent les donnäes issues de plusieurs tables. Attention, en l'absence de jointure, le räsultat renvoyä par la requéte correspond au produit cartåsien des enregistrements des deux tables (chaque enregistrement de la premiáre table est associä Ç tous les enregistrements de la seconde table). En effet, dás lors que le SGBDR rencontre plusieurs tables dans une requéte, il räalise un produit cartäsien. Exemple : On lance la requéte suivante : SELECT nomemploye, numservice, SERVICE.* FROM EMPLOYE, SERVICE Cette requéte va retourner toutes les combinaisons possibles : chaque service sera associä Ç l ensemble des employäs. Lorsque plusieurs tables sont utilisäes, il est obligatoire de pråfixer par le nom de la table : - les champs pour lesquels une ambigäitå existe (deux champs portant le méme nom dans deux tables diffärentes) - le caractäre * pour präciser quelle table doit voir tous ses champs projetäs ALSI_IG1_C02 - SQL LID Partie 1 18

19 6.1. Equi-jointure Une Äqui-jointure rapproche deux tables grâce Ç deux champs ayant un méme sens. Il s agit gänäralement de lier la clä primaire d une table avec la clä Ätrangáre qui y fait räfärence dans l autre table. On parle alors de jointure naturelle. La condition de jointure s'exprime Ç l'aide de la clause WHERE (il s'agit bien d'une restriction) Exemple 20 : Afficher le nom des salariås avec leur lieu de travail SELECT nomemploye, lieu, Service WHERE numservice=numero A chaque enregistrement de la table Employe on associe l enregistrement de la table service vçrifiant : numservice=numservemploye Comment fonctionne le SGBDR pour räpondre Ç cette requéte? Il räalise tout d'abord le produit cartåsien des deux tables (il associe chaque ligne de la table EMPLOYE avec chaque ligne de la table SERVICE) matri cule nom Employe fonction table EMPLOYE date Embauche comm salaire ission num Service matr Superieur num ero table SERVICE nomservice GARDARIN IngÄnieur 07/08/ Recherche Rennes MARTIN PrÄsident 23/05/ NULL 10 Recherche Rennes DUPOND Administratif 03/05/ Recherche Rennes BULLE Commercial 03/01/ Recherche Rennes ANABEL Commercial 16/06/ Recherche Rennes ROUX Chef de service 30/05/ Recherche Rennes PAPILOU Commercial 15/10/ Recherche Rennes JACOBI Chef de service 30/03/ Recherche Rennes AMIN comptable 15/10/ Recherche Rennes PERNOT comptable 15/10/ Recherche Rennes DUPONT Commercial 14/04/ Recherche Rennes RAMARA Chef de service 18/08/ Recherche Rennes GARDARIN IngÄnieur 07/08/ Vente Metz MARTIN PrÄsident 23/05/ NULL 20 Vente Metz DUPOND Administratif 03/05/ Vente Metz BULLE Commercial 03/01/ Vente Metz ANABEL Commercial 16/06/ Vente Metz DUPOND Administratif 03/05/ SAV Metz BULLE Commercial 03/01/ SAV Metz ANABEL Commercial 16/06/ SAV Metz ROUX Chef de service 30/05/ SAV Metz PAPILOU Commercial 15/10/ SAV Metz JACOBI Chef de service 30/03/ SAV Metz AMIN comptable 15/10/ SAV Metz PERNOT comptable 15/10/ SAV Metz DUPONT Commercial 14/04/ SAV Metz RAMARA Chef de service 18/08/ SAV Metz lieu ALSI_IG1_C02 - SQL LID Partie 1 19

20 Ensuite il applique la condition de jointure (la restriction) : seules les lignes värifiant numservice=numero sont sälectionnäes matri cule nom Employe fonction table EMPLOYE date Embauche salaire comm ission num Service matr Superieur num ero table SERVICE nomservice lieu GARDARIN IngÄnieur 07/08/ Recherche Rennes MARTIN PrÄsident 23/05/ NULL 30 Direction Nancy DUPOND Administratif 03/05/ Direction Nancy BULLE Commercial 03/01/ Recherche Rennes ANABEL Commercial 16/06/ Vente Metz ROUX Chef de service 30/05/ Vente Metz PAPILOU Commercial 15/10/ Vente Metz JACOBI Chef de service 30/03/ Recherche Rennes AMIN comptable 15/10/ Direction Nancy PERNOT comptable 15/10/ Direction Nancy DUPONT Commercial 14/04/ Vente Metz RAMARA Chef de service 18/08/ Vente Metz Condition de sälection numservice = numero Enfin, il effectue la projection : seules les colonnes nomemploye et lieu sont retenues nomemploye GARDARIN MARTIN DUPOND BULLE ANABEL ROUX PAPILOU JACOBI AMIN PERNOT DUPONT RAMARA lieu Rennes Nancy Nancy Rennes Metz Metz Metz Rennes Nancy Nancy Metz Metz Une autre syntaxe existe pour exprimer la jointure (norme SQL 2): SELECT nomemploye, lieu INNER JOIN Service ON numservice = numero ou encore SELECT nomemploye, lieu JOIN Service ON numservice= numero ALSI_IG1_C02 - SQL LID Partie 1 20

21 Il est possible, bien entendu, d'appliquer des restrictions au räsultat d'une jointure entre tables. Dans ce cas les restrictions sont ajoutäes Ç la clause WHERE, aprás la condition de jointure. Les diffärentes conditions sont säparäes par AND. SELECT liste_des_colonnes FROM table1, table2 WHERE condition_jointure AND condition_restriction AND autre_condition_restriction Exemple 21 : Afficher le nom des salariås embauchås avant 2000 et travaillant Ñ Metz SELECT nomemploye, Service WHERE numservice = numero AND dateembauche < '01/01/2000' AND lieu = 'Metz' Le SGBDR räalise d'abord le produit cartåsien puis applique la condition de jointure matri cule nom Employe fonction date Embauche salaire comm ission num Service matr Superieur num ero nomservice lieu GARDARIN IngÄnieur 07/08/ Recherche Rennes MARTIN PrÄsident 23/05/ NULL 30 Direction Nancy DUPOND Administratif 03/05/ Direction Nancy BULLE Commercial 03/01/ Recherche Rennes ANABEL Commercial 16/06/ Vente Metz ROUX Chef de service 30/05/ Vente Metz PAPILOU Commercial 15/10/ Vente Metz JACOBI Chef de service 30/03/ Recherche Rennes AMIN comptable 15/10/ Direction Nancy PERNOT comptable 15/10/ Direction Nancy DUPONT Commercial 14/04/ Vente Metz RAMARA Chef de service 18/08/ Vente Metz Le SGBDR effectue ensuite les restrictions demandäes. matri cule nom Employe fonction date Embauche salaire comm ission num Service matr Superieur num ero nomservice lieu ANABEL Commercial 16/06/ Vente Metz ROUX Chef de service 30/05/ Vente Metz DUPONT Commercial 14/04/ Vente Metz Le SGBDR effectue enfin la projection des colonnes demandäes nomemploye ANABEL ROUX DUPONT Exercice 4 ALSI_IG1_C02 - SQL LID Partie 1 21

1. LA GESTION DES BASES DE DONNEES RELATIONNELLES

1. LA GESTION DES BASES DE DONNEES RELATIONNELLES Dossier G11 - Interroger une base de données La base de données Facturation contient tout un ensemble d'informations concernant la facturation de la SAFPB (société anonyme de fabrication de produits de

Plus en détail

INITIATION AU LANGAGE SQL

INITIATION AU LANGAGE SQL ECOLE NATIONALE DES INGENIEURS DES TRAVAUX AGRICOLES DE BORDEAUX DEPARTEMENT ENTREPRISE ET SYSTEMES UNITE DE FORMATION INFORMATIQUE ET GENIE DES EQUIPEMENTS ~o~o~o~ INITIATION AU LANGAGE SQL Notes de cours

Plus en détail

Le modäle logique de donnåes (modäle relationnel)

Le modäle logique de donnåes (modäle relationnel) BTS Informatique de Gestion 1 Äre annåe DAIGL (ModÅlisation) Chapitre 2 Page 1 / 14 Le modäle logique de donnåes (modäle relationnel) I. RAPPEL ET PRESENTATION D'UN SGBDR... 2 II. QU'EST-CE QUE LE MODELE

Plus en détail

SQL Requêtes simples. Outline ... A.D., S.B. Février 2013. .1 Introduction. .2 Requêtes mono-relation. .3 Requêtes multi-relations

SQL Requêtes simples. Outline ... A.D., S.B. Février 2013. .1 Introduction. .2 Requêtes mono-relation. .3 Requêtes multi-relations SQL Requêtes simples BD4 AD, SB Licence MASS, Master ISIFAR, Paris-Diderot Février 2013 BD4 (Licence MASS, Master ISIFAR, Paris-Diderot) SQL 1/19 Février 2013 1 / 19 Outline 1 2 Requêtes mono-relation

Plus en détail

Informatique Initiation aux requêtes SQL. Sommaire

Informatique Initiation aux requêtes SQL. Sommaire cterrier.com 1/14 04/03/2008 Informatique Initiation aux requêtes SQL Auteur : C. Terrier ; mailto:webmaster@cterrier.com ; http://www.cterrier.com Utilisation : Reproduction libre pour des formateurs

Plus en détail

Memo : Fonctions SQL

Memo : Fonctions SQL Bases de Données Avancées Module A IUT Lumière, License CE-STAT 2006-2007 Pierre Parrend Memo : Fonctions SQL I. Sélectionner des données Sélectionner toutes les colonnes de la table Séléctionner seulement

Plus en détail

Le langage SQL Rappels

Le langage SQL Rappels Le langage SQL Rappels Description du thème : Présentation des principales notions nécessaires pour réaliser des requêtes SQL Mots-clés : Niveau : Bases de données relationnelles, Open Office, champs,

Plus en détail

Faculté des sciences de gestion et sciences économiques BASE DE DONNEES

Faculté des sciences de gestion et sciences économiques BASE DE DONNEES BASE DE DONNEES La plupart des entreprises possèdent des bases de données informatiques contenant des informations essentielles à leur fonctionnement. Ces informations concernent ses clients, ses produits,

Plus en détail

Le Langage SQL version Oracle

Le Langage SQL version Oracle Université de Manouba École Supérieure d Économie Numérique Département des Technologies des Systèmes d Information Le Langage SQL version Oracle Document version 1.1 Mohamed Anis BACH TOBJI anis.bach@isg.rnu.tn

Plus en détail

FONCTIONS DE TRAITEMENT} COUNT

FONCTIONS DE TRAITEMENT} COUNT Nom Prénom Promotion Date Buhl Damien Année 1 Groupe 2 21 Janvier 2007 CER Prosit n 22 Mots-Clés : - Requête/Langage SQL Le langage SQL (Structured Query Language) est un langage de requêtes, il permet

Plus en détail

COMMANDES SQL... 2 COMMANDES DE DEFINITION DE DONNEES... 2

COMMANDES SQL... 2 COMMANDES DE DEFINITION DE DONNEES... 2 SQL Sommaire : COMMANDES SQL... 2 COMMANDES DE DEFINITION DE DONNEES... 2 COMMANDES DE MANIPULATION DE DONNEES... 2 COMMANDES DE CONTROLE TRANSACTIONNEL... 2 COMMANDES DE REQUETE DE DONNEES... 2 COMMANDES

Plus en détail

I) Bases de données et tables :

I) Bases de données et tables : I) Bases de données et tables : Un S.G.B.D. est un outil pour organiser, stocker, modifier, calculer et extraire des infos. Une B.D.R. peut être considérée comme un ensemble de tables à 2 dimensions. Exemple

Plus en détail

Formation à l utilisation des Systèmes de Gestion de Bases de Données Relationnelles. organisée avec la collaboration du

Formation à l utilisation des Systèmes de Gestion de Bases de Données Relationnelles. organisée avec la collaboration du Proyecto FAO COPEMED Universidad de Alicante Ramón y Cajal, 4 03001 - Alicante, España GCP/REM/057/SPA Web : www.fao.org/fi/copemed Tel : +34 96 514 59 79 Fax : +34 96 514 59 78 Email : copemed@ua.es Formation

Plus en détail

Extrait du programme Information et Gestion pour les 2 spécialités de Première Sciences et Technologies de la Gestion

Extrait du programme Information et Gestion pour les 2 spécialités de Première Sciences et Technologies de la Gestion 1 Extrait du programme Information et Gestion pour les 2 spécialités de Première Sciences et Technologies de la Gestion 2.3- La base de données THÈMES SENS ET PORTÉE DE L ÉTUDE NOTIONS ET CONTENUS À CONSTRUIRE

Plus en détail

1/39. I Langage d interrogation et modification des données (DML) I Langage de définition du schéma (DDL)

1/39. I Langage d interrogation et modification des données (DML) I Langage de définition du schéma (DDL) Introduction 1/39 2/39 Introduction Anne-Cécile Caron Licence MIAGE - BDD 2015-2016 A partir de l algèbre relationnelle s est construit un langage informatique permettant d interroger les données : SQL

Plus en détail

SQL Historique 1982 1986 1992

SQL Historique 1982 1986 1992 SQL Historique 1950-1960: gestion par simple fichier texte 1960: COBOL (début de notion de base de données) 1968: premier produit de sgbdr structuré (IBM -> IDMS) 1970-74: élaboration de l'outil d'analyse

Plus en détail

Le langage SQL (deuxième partie) c Olivier Caron

Le langage SQL (deuxième partie) c Olivier Caron Le langage SQL (deuxième partie) 1 Les requêtes de consultation Représente la majorité des requêtes 1 Les requêtes de consultation Représente la majorité des requêtes Encapsule complètement l algèbre relationnel

Plus en détail

11. MySQL. Cours Web. MySQL. 11. MySQL. 11. MySQL. Structured Query Language. Lionel Seinturier. Université Pierre & Marie Curie

11. MySQL. Cours Web. MySQL. 11. MySQL. 11. MySQL. Structured Query Language. Lionel Seinturier. Université Pierre & Marie Curie Cours Web Lionel Seinturier Université Pierre & Marie Curie Lionel.Seinturier@lip6.fr Structured Query Language Langage de manipulation des données stockées dans une base de données interrogation/insertion/modification/suppression

Plus en détail

INTRODUCTION PROTEGER LE CLASSEUR

INTRODUCTION PROTEGER LE CLASSEUR INTRODUCTION Le logiciel Excel est un tableur träs performant. Outre la pråsentation de vos tableaux vous pourrez Ågalement råaliser des graphiques (camemberts, barres, ) É partir des donnåes saisies.

Plus en détail

Langage SQL (1) 4 septembre 2007. IUT Orléans. Introduction Le langage SQL : données Le langage SQL : requêtes

Langage SQL (1) 4 septembre 2007. IUT Orléans. Introduction Le langage SQL : données Le langage SQL : requêtes Langage SQL (1) Sébastien Limet Denys Duchier IUT Orléans 4 septembre 2007 Notions de base qu est-ce qu une base de données? SGBD différents type de bases de données quelques systèmes existants Définition

Plus en détail

SQL : Dans l article précédent sur le langage de manipulation

SQL : Dans l article précédent sur le langage de manipulation SQL : extraire des données Les bases de données sont très utilisées dans les applications Web. La création, l interrogation et la manipulation des données de la base sont réalisées en SQL. Dans cet article,

Plus en détail

Faculté de Sciences Économiques et de Gestion. Bases de données. Maîtrise de Sciences Économiques Année 2001-2002 Jérôme Darmont

Faculté de Sciences Économiques et de Gestion. Bases de données. Maîtrise de Sciences Économiques Année 2001-2002 Jérôme Darmont Faculté de Sciences Économiques et de Gestion Bases de données Maîtrise de Sciences Économiques Année 2001-2002 Jérôme Darmont http://eric.univ-lyon2.fr/~jdarmont/ Plan du cours I. Introduction II. Le

Plus en détail

14/04/2014. un ensemble d'informations sur un sujet : exhaustif, non redondant, structuré, persistant. Gaëlle PERRIN SID2 Grenoble.

14/04/2014. un ensemble d'informations sur un sujet : exhaustif, non redondant, structuré, persistant. Gaëlle PERRIN SID2 Grenoble. Gaëlle PERRIN SID2 Grenoble Le 10/04/2014 Base de Données (BD) : une grande quantité de données, centralisées ou non, servant pour les besoins d'une ou plusieurs applications, interrogeables et modifiables

Plus en détail

Chapitre 4 : Le langage SQL

Chapitre 4 : Le langage SQL Chapitre 4 : Le langage SQL Table des matières I) Introduction...2 II) Rappel...2 III) Gestion de la base de données...2 1) Création de la base de données...2 2) Modification de la base de données...2

Plus en détail

Cours 2 : SQL Structured Query Language

Cours 2 : SQL Structured Query Language Cours 2 : SQL Structured Query Language SQL Langage permettant de définir, manipuler et contrôler les données d une BD relationnelle Objet d une norme de l Institut National Américain de Normalisation

Plus en détail

Introduction aux bases de données relationnelles

Introduction aux bases de données relationnelles Formation «Gestion des données scientifiques : stockage et consultation en utilisant des ases de données» 24 au 27 /06/08 Introduction aux ases de données relationnelles Christine Tranchant-Dureuil UMR

Plus en détail

Langage SQL : créer et interroger une base

Langage SQL : créer et interroger une base Langage SQL : créer et interroger une base Dans ce chapitre, nous revenons sur les principales requêtes de création de table et d accès aux données. Nous verrons aussi quelques fonctions d agrégation (MAX,

Plus en détail

Les requêtes de consultation. Ex. bibliothèque état de la base. Ex. bibliothèque état de la base. Consultation simple d'une table

Les requêtes de consultation. Ex. bibliothèque état de la base. Ex. bibliothèque état de la base. Consultation simple d'une table Les requêtes de consultation Représente la ma jorité des requêtes SQL (Deuxième partie) Walter RUDAMETKIN Bureau F011 Walter.Rudametkin@polytech-lille.fr Encapsule complètement l'algèbre relationnel Une

Plus en détail

1 Introduction et installation

1 Introduction et installation TP d introduction aux bases de données 1 TP d introduction aux bases de données Le but de ce TP est d apprendre à manipuler des bases de données. Dans le cadre du programme d informatique pour tous, on

Plus en détail

Chap. 5 : Langage SQL (Structured Query Language) Pr. : Mohamed BASLAM Contact : baslam.med@gmail.com Niveau : S4 BCG Année : 2014/2015 1

Chap. 5 : Langage SQL (Structured Query Language) Pr. : Mohamed BASLAM Contact : baslam.med@gmail.com Niveau : S4 BCG Année : 2014/2015 1 Chap. 5 : Langage SQL (Structured Query Language) Pr. : Mohamed BASLAM Contact : baslam.med@gmail.com Niveau : S4 BCG Année : 2014/2015 1 Plan Généralités Langage de Définition des (LDD) Langage de Manipulation

Plus en détail

Chapitre 4 LE LANGAGE D INTERROGATION DE DONNÉES SQL

Chapitre 4 LE LANGAGE D INTERROGATION DE DONNÉES SQL Chapitre 4 LE LANGAGE D INTERROGATION DE DONNÉES SQL 1. Définitions Clause : mot-clé Requête : interrogation ou action structurée sur la BD Requête d interrogation composée de l ensemble des clauses :

Plus en détail

SQL (Deuxième partie) Walter RUDAMETKIN

SQL (Deuxième partie) Walter RUDAMETKIN SQL (Deuxième partie) Walter RUDAMETKIN Bureau F011 Walter.Rudametkin@polytech-lille.fr Les requêtes de consultation Représente la majorité des requêtes Encapsule complètement l'algèbre relationnel Une

Plus en détail

1.1 Création d'une table : CREATE TABLE

1.1 Création d'une table : CREATE TABLE SQL : LDD et LMD SQL ne se résume pas aux requêtes d'interrogation d'une base. Ce langage permet aussi de : - créer des tables - de modifier la structure de tables existantes - de modifier le contenu des

Plus en détail

PRESENTATION. Document1 Serge GUERINET Page 1

PRESENTATION. Document1 Serge GUERINET Page 1 PRESENTATION Les domaines couverts par la série STG sont tous des pourvoyeurs ou exploitants des bases de données. Que l'on gère la relation aux clients, le suivi de l'activité financière, la comptabilité

Plus en détail

SQL et Bases de données relationnelles. November 26, 2013

SQL et Bases de données relationnelles. November 26, 2013 November 26, 2013 SQL : En tant que langage d interrogation En tant que langage de mise à jour En tant que langage de définition de données Langages de requête Langages qui permettent d interroger la BD

Plus en détail

Oracle Database 10g: Les fondamentaux du langage SQL I

Oracle Database 10g: Les fondamentaux du langage SQL I Oracle University Appelez-nous: +33 (0) 1 57 60 20 81 Oracle Database 10g: Les fondamentaux du langage SQL I Durée: 3 Jours Description Ce cours offre aux étudiants une introduction à la technologie de

Plus en détail

Rudiments SQL pour Oracle BDA_RCS

Rudiments SQL pour Oracle BDA_RCS Rudiments SQL pour Oracle BDA_RCS 08-11-2014 1 La base de données Gestion des commandes 08-11-2014 2 Les noms de colonnes sont volontairement simplifiés 3 Ajout de nouvelles colonnes dans des tables qui

Plus en détail

CONDITIONS PARTICULIERES DU SERVICE TRANSIT IP

CONDITIONS PARTICULIERES DU SERVICE TRANSIT IP CONDITIONS PARTICULIERES DU SERVICE TRANSIT IP 1.DEFINITION En compläment des däfinitions de la Convention Cadre, les termes suivants utilisäs dans les präsentes Conditions ParticuliÅres auront la signification

Plus en détail

LES REQUÊTES EN LANGAGE S.Q.L.

LES REQUÊTES EN LANGAGE S.Q.L. LES REQUÊTES EN LANGAGE S.Q.L. Une base de données contient un nombre important d informations. Ces informations sont organisées, mais pour être effectivement exploitables, il faut pouvoir sélectionner,

Plus en détail

Algèbre Relationnelle et Introduction au Langage SQL

Algèbre Relationnelle et Introduction au Langage SQL T-GSI STAGE RENOVATION - SQL.Chapitre 1 - Algèbre Relationnelle et Introduction au Langage SQL Sources du document : Livre bible Oracle 9i, J. Gabillaud, Editions Eni ; Support Oracle ; ISO Norme 2382:1999

Plus en détail

clef primaire ; clef étrangère ; projection ; restriction ; jointure ; SQL ; SELECT ; FROM ; WHERE

clef primaire ; clef étrangère ; projection ; restriction ; jointure ; SQL ; SELECT ; FROM ; WHERE Cas Neptune hôtel Base de données et langage SQL Propriété Intitulé long Formation concernée Matière Notions Transversalité Présentation Description Neptune Hôtel. L interrogation d une base de données

Plus en détail

SQL Les fondamentaux du langage (2ième édition)

SQL Les fondamentaux du langage (2ième édition) Introduction 1. Un peu d'histoire 11 2. Les normes SQL 12 3. Description rapide du modèle relationnel 14 3.1 Principaux concepts du modèle relationnel 15 3.2 Principales règles 16 4. Les opérateurs en

Plus en détail

Requêtes S.Q.L. 1 Création des requêtes sous ACCESS

Requêtes S.Q.L. 1 Création des requêtes sous ACCESS Activité 15 Requêtes S.Q.L. Objectif Interroger une base de données avec des requêtes SQL. Fiche de savoir associée Ressource à utiliser Csi1Projets.pdf (Dossier 4) B.1.1.b. 1 En cliquant sur l'objet "Requêtes"

Plus en détail

Les bases de données

Les bases de données Les bases de données Introduction aux fonctions de tableur et logiciels ou langages spécialisés (MS-Access, Base, SQL ) Yves Roggeman Boulevard du Triomphe CP 212 B-1050 Bruxelles (Belgium) Idée intuitive

Plus en détail

BTS Informatique de gestion (lycäe Rostand Chantilly) AMSI Chapitre 1 Introduction aux räseaux - Page 1 / 24

BTS Informatique de gestion (lycäe Rostand Chantilly) AMSI Chapitre 1 Introduction aux räseaux - Page 1 / 24 AMSI Chapitre 1 Introduction aux räseaux - Page 1 / 24 Objectifs et points du räfärentiel : S15 Architecture des räseaux o DÄcrire la structure et le fonctionnement d'une configuration räseau. o Identifier

Plus en détail

Le modäle conceptuel de donnåes (MCD)

Le modäle conceptuel de donnåes (MCD) BTS Informatique de Gestion 1 Äre annåe DAIGL (ModÅlisation) Chapitre 1 Page 1 / 14 LycÄe Jean Rostand CHANTILLY Jean-Marie Cardoni Cours DAIGL (analyse) (1 Äre annåe) BTS INFORMATIQUE DE GESTION 1 Condition

Plus en détail

SEANCE 2 : REQUETES DE SELECTION & FORMULAIRES DE CONSULTATION

SEANCE 2 : REQUETES DE SELECTION & FORMULAIRES DE CONSULTATION SEANCE 2 : REQUETES DE SELECTION & FORMULAIRES DE CONSULTATION Année universitaire 20015-2016 Masters Économie Société - Finances Informatique appliquée SGBD Pierre-Henri GOUTTE La requête de sélection

Plus en détail

Quelques exemples de requêtes SQL sur la base de données aviation

Quelques exemples de requêtes SQL sur la base de données aviation Quelques exemples de requêtes SQL sur la base de données aviation Note : divers exercices sont proposés. Leurs corrections se trouvent à la fin du document. Le mot-clé COUNT Combien de modèles d'avion

Plus en détail

MODE OPERATOIRE OPENOFFICE BASE

MODE OPERATOIRE OPENOFFICE BASE MODE OPERATOIRE OPENOFFICE BASE Openoffice Base est un SGBDR : Système de Gestion de Base de Données Relationnelle. L un des principaux atouts de ce logiciel est de pouvoir gérer de façon efficace et rapide

Plus en détail

Les bases de données (suite) Support de cours Pascal Ballet

Les bases de données (suite) Support de cours Pascal Ballet Les bases de données (suite) Support de cours Pascal Ballet La saisie et l'impression des données Les formulaires de saisie Les formulaires de saisie jouent deux rôles importants : - la mise en forme des

Plus en détail

2 ème PARTIE : LE LANGAGE SQL

2 ème PARTIE : LE LANGAGE SQL 2 ème PARTIE : LE LANGAGE SQL PLAN : I. Le langage de manipulation des données II. Le langage de définition des données III. Administration de la base de données IV. Divers (HORS PROGRAMME) Introduction:

Plus en détail

Information utiles. cinzia.digiusto@gmail.com. webpage : Google+ : http://www.ibisc.univ-evry.fr/ digiusto/

Information utiles. cinzia.digiusto@gmail.com. webpage : Google+ : http://www.ibisc.univ-evry.fr/ digiusto/ Systèmes de gestion de bases de données Introduction Université d Evry Val d Essonne, IBISC utiles email : cinzia.digiusto@gmail.com webpage : http://www.ibisc.univ-evry.fr/ digiusto/ Google+ : https://plus.google.com/u/0/b/103572780965897723237/

Plus en détail

Chapitre 2 La sélection simple

Chapitre 2 La sélection simple 2.1 La sélection simple Chapitre 2 La sélection simple La requête SELECT nous permet d'extraire des données à partir d'une base de données. La clause SELECT est suivie d'une ou de plusieurs colonnes, ce

Plus en détail

L accès aux données, le langage SQL Page 1 / 14

L accès aux données, le langage SQL Page 1 / 14 L accès aux données, le langage SQL Page 1 / 14 Sommaire 1 Présentation... 2 1.1 Introduction... 2 1.2 Le langage SQL... 2 2 Le modèle de donnée utilisé... 4 3 Le langage d'interrogation des données LID...

Plus en détail

Cours Web n o 7 MySQL et PHP

Cours Web n o 7 MySQL et PHP Introduction aux bases de données Cours Web n o 7 MySQL et PHP Sandrine-Dominique Gouraud (gouraud@lri.fr) Pierre Senellart (pierre@senellart.com) Semaine du 7 novembre 2005 S.-D. Gouraud, P. Senellart

Plus en détail

Bases de données sous Access

Bases de données sous Access Bases de données sous Access Plan Initiation aux bases de données Application sous Access Structure d une base de données Langages de manipulation de données Algèbre relationnelle (théorique) QBE d Access

Plus en détail

1. Qu'est-ce que SQL?... 2. 2. La maintenance des bases de données... 2. 3. Les manipulations des bases de données... 5

1. Qu'est-ce que SQL?... 2. 2. La maintenance des bases de données... 2. 3. Les manipulations des bases de données... 5 1. Qu'est-ce que SQL?... 2 2. La maintenance des bases de données... 2 2.1 La commande CREATE TABLE... 3 2.2 La commande ALTER TABLE... 4 2.3 La commande CREATE INDEX... 4 3. Les manipulations des bases

Plus en détail

Étape Data (Merge) ou SAS SQL (JOIN)??

Étape Data (Merge) ou SAS SQL (JOIN)?? Étape Data (Merge) ou SAS SQL (JOIN)?? Présenté Par Amin Guerss, PMP ANALYSTE SENIOR SOLUTIONS DE CREDIT à la BANQUE LAURENTIENNE Email: guerss.amin@banquelaurentienne.ca LinkedIn: http://www.linkedin.com/pub/amin-guerss-pmp/b/2b2/266

Plus en détail

Introduction aux bases de données

Introduction aux bases de données 1/73 Introduction aux bases de données Formation continue Idir AIT SADOUNE idir.aitsadoune@supelec.fr École Supérieure d Électricité Département Informatique Gif sur Yvette 2012/2013 2/73 Plan 1 Introduction

Plus en détail

RÄglement de Consultation Marché de Travaux. CrÄation d une voirie temporaire, rue des Trois Baisers

RÄglement de Consultation Marché de Travaux. CrÄation d une voirie temporaire, rue des Trois Baisers RÄglement de Consultation Marché de Travaux MARCHES PROCEDURE ADAPTEE CrÄation d une voirie temporaire, rue des Trois Baisers MaÇtre d Ouvrage Amiens AmÄnagement 14 boulevard d Alsace Lorraine - 80011

Plus en détail

Bases de données relationnelles

Bases de données relationnelles Bases de données relationnelles Système de Gestion de Bases de Données Une base de données est un ensemble de données mémorisé par un ordinateur, organisé selon un modèle et accessible à de nombreuses

Plus en détail

Chapitre IV. Les bases de données relationnelles en pratique : Langages d interrogation. Relation : ensemble ou multi-ensemble?

Chapitre IV. Les bases de données relationnelles en pratique : Langages d interrogation. Relation : ensemble ou multi-ensemble? Chapitre IV Les bases de données relationnelles en pratique : Langages d interrogation Relation : ensemble ou multi-ensemble? Un multi-ensemble (multiset) est une collection d éléments pour laquelle on

Plus en détail

Chapitre 1 : Introduction aux Systèmes de Gestion de Bases de Données (Eléments de base)

Chapitre 1 : Introduction aux Systèmes de Gestion de Bases de Données (Eléments de base) Chapitre 1 : Introduction aux Systèmes de Gestion de Bases de Données (Eléments de base) 1. Généralités sur l'information et sur sa Représentation 1.1 Informations et données : a. Au sen de la vie : C

Plus en détail

Le langage SQL : Le Langage de Manipulation des Données (LMD)

Le langage SQL : Le Langage de Manipulation des Données (LMD) T-GSI STAGE RENOVATION - SQL.Chapitre 3 - Le langage SQL : Le Langage de Manipulation des Données (LMD) Sources du document : Livre bible Oracle 9i, J. Gabillaud, Editions Eni ; Support Oracle ; ISO Norme

Plus en détail

SOMMAIRE. Travailler avec les requêtes... 3

SOMMAIRE. Travailler avec les requêtes... 3 Access Les requêtes SOMMAIRE Travailler avec les requêtes... 3 A) Créer une requête sélection en mode QBE... 3 B) Exécuter une requête à partir du mode Modifier (QBE)... 3 C) Passer du mode Feuille de

Plus en détail

REGIME FRAIS DE SANTE Notice d information

REGIME FRAIS DE SANTE Notice d information REGIME FRAIS DE SANTE Notice d information PrÄambule : Par accord du les partenaires sociaux de la branche professionnelle des hétels cafäs restaurants ont mis en place un rägime complämentaire de frais

Plus en détail

Apprendre le langage SQL - Le DML - 1 / 41 - Apprendre le langage SQL par l exemple Partie 2 : le DML

Apprendre le langage SQL - Le DML - 1 / 41 - Apprendre le langage SQL par l exemple Partie 2 : le DML Apprendre le langage SQL - Le DML - 1 / 41 - Apprendre le langage SQL par l exemple Partie 2 : le DML Ce document est publié sous licence Creative Commons CC-by-nc-nd. Il ne peut ni être modifié, ni faire

Plus en détail

Chapitre 08 Les requêtes d'interrogation en langage SQL

Chapitre 08 Les requêtes d'interrogation en langage SQL Chapitre 08 Les requêtes d'interrogation en langage SQL Introduction L'étude des requêtes d'interrogation de la base de données est séparée en deux parties : - Une première partie permet de revoir le langage

Plus en détail

Bases de Données. Plan

Bases de Données. Plan Université Mohammed V- Agdal Ecole Mohammadia d'ingénieurs Rabat Bases de Données Mr N.EL FADDOULI 2014-2015 Plan Généralités: Définition de Bases de Données Le modèle relationnel Algèbre relationnelle

Plus en détail

Introduction au Système de Gestion de Base de Données et aux Base de Données

Introduction au Système de Gestion de Base de Données et aux Base de Données Introduction au Système de Gestion de Base de Données et aux Base de Données Formation «Gestion des données scientifiques : stockage et consultation en utilisant des bases de données» 24 au 27 /06/08 Dernière

Plus en détail

Conditions GÄnÄrales de Vente

Conditions GÄnÄrales de Vente Conditions GÄnÄrales de Vente Applicables au 16 FÄvrier 2009 et modifiables sans präavis Allo PC NiÄvre Allier est une SociÅtÅ A ResponsabilitÅ LimitÅe repråsentåe par Mademoiselle BERIOUX Marie-Emilie

Plus en détail

Ch 5 SELECT Sous-requêtes

Ch 5 SELECT Sous-requêtes SQL Ch 5 SELECT Sous-requêtes I. INTRODUCTION... 1 A. SYNTAXE GENERALE... 1 B. RESULTAT RENVOYE PAR UNE SOUS-REQUETE... 2 C. SOUS REQUETE INDEPENDANTES ET SOUS REQUETE DEPENDANTES... 2 II. SOUS-REQUETES

Plus en détail

Les bases de données Page 1 / 8

Les bases de données Page 1 / 8 Les bases de données Page 1 / 8 Sommaire 1 Définitions... 1 2 Historique... 2 2.1 L'organisation en fichier... 2 2.2 L'apparition des SGBD... 2 2.3 Les SGBD relationnels... 3 2.4 Les bases de données objet...

Plus en détail

BTS Informatique de gestion (lycäe Rostand Chantilly) AMSI Chapitre 7 adressage IPv4 - Page 1 / 23

BTS Informatique de gestion (lycäe Rostand Chantilly) AMSI Chapitre 7 adressage IPv4 - Page 1 / 23 AMSI Chapitre 7 adressage IPv4 - Page 1 / 23 Objectifs et points du räfärentiel : S15 Architecture des räseaux o DÄcrire la structure et le fonctionnement d'une configuration räseau. o Identifier et däcrire

Plus en détail

Département Génie Informatique BD50. TP3 : Interrogation d une base de données Oracle 10G avec SQL*Plus Windows

Département Génie Informatique BD50. TP3 : Interrogation d une base de données Oracle 10G avec SQL*Plus Windows Département Génie Informatique BD50 TP3 : Interrogation d une base de données Oracle 10G avec SQL*Plus Windows Françoise HOUBERDON & Christian FISCHER Copyright Mars 2007 Contexte de travail : Après avoir

Plus en détail

Introduction Ç l informatique et la numärotation binaire

Introduction Ç l informatique et la numärotation binaire BTS Informatique de Gestion AMSI 1 Åre annçe Chapitre 1 Page 1 / 11 LycÄe Jean Rostand CHANTILLY Cardoni Jean-Marie Architecture matärielle des syståmes informatiques (1 Åre annäe) BTS INFORMATIQUE DE

Plus en détail

Plan. Bases de données. Cours 1 : Généralités & rappels. But du cours. Organisation du cours. Polytech Paris-Sud. Apprentis 4 ème année

Plan. Bases de données. Cours 1 : Généralités & rappels. But du cours. Organisation du cours. Polytech Paris-Sud. Apprentis 4 ème année Plan Bases de données Polytech Paris-Sud Apprentis 4 ème année Cours 1 : Généralités & rappels 1.1 Avant-propos 1.2 Algèbre relationnelle kn@lri.fr http://www.lri.fr/~kn 2/18 But du cours Organisation

Plus en détail

Système de base de données

Système de base de données Système de base de données 1. INTRODUCTION Un système de base de données est un système informatique dont le but est de maintenir les informations et de les rendre disponibles à la demande. Les informations

Plus en détail

L2 sciences et technologies, mention informatique SQL

L2 sciences et technologies, mention informatique SQL Bases de données L2 sciences et technologies, mention informatique SQL ou : le côté obscure de la jolie théorie films titre réalisateur année starwars lucas 1977 nikita besson 1990 locataires ki-duk 2005

Plus en détail

Partie I du TD 1 au TD 5. Bases de données et MySQL -

Partie I du TD 1 au TD 5. Bases de données et MySQL - Système d information http://www.agroparistech.fr/systeme-d-information.html Partie I du TD 1 au TD 5 - Bases de données et MySQL - Liliana Ibănescu liliana.ibanescu@agroparistech.fr UFR d informatique

Plus en détail

ISC PARIS. Access 2007. Initiation. Hakim AKEB. Tables, relations, requêtes, formulaires, états

ISC PARIS. Access 2007. Initiation. Hakim AKEB. Tables, relations, requêtes, formulaires, états ISC PARIS Access 2007 Initiation Hakim AKEB Tables, relations, requêtes, formulaires, états 1.1. Que peut-on faire avec Access Sommaire Sommaire... 2 1. Introduction... 6 1.1. Que peut-on faire avec Access...

Plus en détail

Chapitre 4 : Partie3 LANGAGE DE MANIPULATION RELATIONNEL : S Q L

Chapitre 4 : Partie3 LANGAGE DE MANIPULATION RELATIONNEL : S Q L Chapitre 4 : Partie3 LANGAGE DE MANIPULATION RELATIONNEL : S Q L SQL (Structured Query Language) est le langage de manipulation des données relationnelles le plus utilisé aujourd hui. Il est devenu un

Plus en détail

SQL : Dans les articles précédents vous avez acquis

SQL : Dans les articles précédents vous avez acquis Fiche technique SQL : les sous-requêtes Les bases de données sont très utilisées dans les applications Web. La création, l interrogation et la manipulation des données de la base sont réalisées en SQL.

Plus en détail

Le Contrôle Judiciaire Socio-Éducatif (CJSE). Christophe WarmÄ (psychologue clinicien). Les grandes dates du contrôle judiciaire socio-éducatif :

Le Contrôle Judiciaire Socio-Éducatif (CJSE). Christophe WarmÄ (psychologue clinicien). Les grandes dates du contrôle judiciaire socio-éducatif : Le Contrôle Judiciaire Socio-Éducatif (CJSE). Christophe WarmÄ (psychologue clinicien). AprÄs quelques annåes de pratique professionnelle dans le champ du CJSE, j ai pu percevoir le manque d informations

Plus en détail

Cours Bases de données 2ème année IUT

Cours Bases de données 2ème année IUT Cours Bases de données 2ème année IUT Cours 1 : Vues et Index Anne Vilnat http://www.limsi.fr/individu/anne/cours Plan 1 Les Vues Généralités Syntaxe Avantages Conditions de mise à jour 2 Index Généralités

Plus en détail

BNF101 STRUCTURE D UNE BASE DE DONNEES LE MODELE RELATIONNEL

BNF101 STRUCTURE D UNE BASE DE DONNEES LE MODELE RELATIONNEL BNF101 STRUCTURE D UNE BASE DE DONNEES LE MODELE RELATIONNEL INTRODUCTION Une base de données (BD) est un ensemble structuré d'information qui peut être utilisé simultanément par plusieurs utilisateurs

Plus en détail

Web dynamique. Techniques, outils, applications. (Partie C)

Web dynamique. Techniques, outils, applications. (Partie C) Web dynamique Techniques, outils, applications (Partie C) Nadir Boussoukaia - 2006 1 SOMMAIRE 1. MySQL et PHP (20 min) 2. SQL (petits rappels) (20 min) 2 MySQL et PHP Synthèse 3 MySQL et PHP SGBD MySQL

Plus en détail

BTS Informatique de gestion (lycäe Rostand Chantilly) AMSI Chapitre 2 Topologie des räseaux - Page 1 / 17

BTS Informatique de gestion (lycäe Rostand Chantilly) AMSI Chapitre 2 Topologie des räseaux - Page 1 / 17 AMSI Chapitre 2 Topologie des räseaux - Page 1 / 17 Objectifs et points du räfärentiel : S15 Architecture des räseaux o DÄcrire la structure et le fonctionnement d'une configuration räseau. o Identifier

Plus en détail

16H Cours / 18H TD / 20H TP

16H Cours / 18H TD / 20H TP INTRODUCTION AUX BASES DE DONNEES 16H Cours / 18H TD / 20H TP 1. INTRODUCTION Des Fichiers aux Bases de Données 2. SYSTEME DE GESTION DE BASE DE DONNEES 2.1. INTRODUCTION AUX SYSTEMES DE GESTION DE BASES

Plus en détail

Chapitre 3 La manipulation des données (LMD)

Chapitre 3 La manipulation des données (LMD) 75 Chapitre 3 La manipulation des données (LMD) 1. Introduction La manipulation des données (LMD) Le langage de manipulation de données permet aux utilisateurs et aux développeurs d'accéder aux données

Plus en détail

Pour les débutants. langage de manipulation des données

Pour les débutants. langage de manipulation des données Pour les débutants SQL : langage de manipulation des données Les bases de données sont très utilisées dans les applications Web. La création, l interrogation et la manipulation des données de la base sont

Plus en détail

Table des matières PREAMBULE...I 1 L OUTIL SQL*PLUS... 1-1 2 L INTERROGATION DES DONNEES... 2-1 3 LES OPERATEURS LOGIQUES... 3-1

Table des matières PREAMBULE...I 1 L OUTIL SQL*PLUS... 1-1 2 L INTERROGATION DES DONNEES... 2-1 3 LES OPERATEURS LOGIQUES... 3-1 Table des matières PREAMBULE...I 1 L OUTIL SQL*PLUS... 1-1 Le langage SQL... 1-2 Le langage PL/SQL... 1-4 Qu'est-ce que SQL*Plus?... 1-5 Commandes SQL*Plus... 1-7 Variables de substitution... 1-15 La commande

Plus en détail

BTS Informatique de gestion (lycäe Rostand Chantilly) AMSI Chapitre 3 Normalisation des räseaux - Page 1 / 19

BTS Informatique de gestion (lycäe Rostand Chantilly) AMSI Chapitre 3 Normalisation des räseaux - Page 1 / 19 AMSI Chapitre 3 Normalisation des räseaux - Page 1 / 19 Objectifs et points du räfärentiel : S15 Architecture des räseaux o DÄcrire la structure et le fonctionnement d'une configuration räseau. o Identifier

Plus en détail

Plan du cours. Introduction aux Bases de Données. Plan du cours. I. Introduction II. Le modèle UML III. Le modèle relationnel

Plan du cours. Introduction aux Bases de Données. Plan du cours. I. Introduction II. Le modèle UML III. Le modèle relationnel Plan du cours Introduction aux Bases de Données Maîtrise de Sciences Cognitives Année 2003-2004 Jérôme Darmont http://eric.univ-lyon2.fr/~jdarmont/ I. Introduction II. Le modèle UML III. Le modèle relationnel

Plus en détail

Langage de Requêtes. talel@infres.enst.fr

Langage de Requêtes. talel@infres.enst.fr Langage de Requêtes talel@infres.enst.fr Supports de cours : (1) Database Management Systems, R. Ramakrishnan and J. Gehrke, ed. McGrawHill, 2000. (2) Bases de Données, G. Gardarin, ed. Eyrolles, 2001.

Plus en détail

On peut considérer les vues comme des «tables virtuelles» : leur contenu est constitué seulement au moment de la demande d exécution de cette vue.

On peut considérer les vues comme des «tables virtuelles» : leur contenu est constitué seulement au moment de la demande d exécution de cette vue. SQL Ch 9 DDL Vues, PL/SQL, procédures,... I. INTRODUCTION... 1 II. LES VUES (ANGLAIS «VIEWS»)... 1 A. CREER UNE VUE : CREATE VIEW... 1 B. SUPPRIMER UNE VUE DROP VIEW... 3 III. LANGAGE PL/SQL, PROCEDURES

Plus en détail

INTRODUCTION AUX BASES DE DONNÉES

INTRODUCTION AUX BASES DE DONNÉES INTRODUCTION AUX BASES DE DONNÉES Najib TOUNSI Cours à l'usage des premières années informatique Najib TOUNSI - 1 - SOMMAIRE Concepts de Bases Base de Données Système Gestion de Bases de Données Niveau

Plus en détail

SQL (suite) Manipulation: CRUD Insertion, Suppression, mise à jour, lecture Triggers Vues. Bases de données

SQL (suite) Manipulation: CRUD Insertion, Suppression, mise à jour, lecture Triggers Vues. Bases de données SQL (suite) Manipulation: CRUD Insertion, Suppression, mise à jour, lecture Triggers Vues Manipulation CRUD INSERT INTO (Create) pour insérer des tuple SELECT FROM (Read) pour lire des tuples UPDATE (Update)

Plus en détail

Formation DEV4 : SQL - Conception & Mise en Oeuvre

Formation DEV4 : SQL - Conception & Mise en Oeuvre Synopsis Formation DEV4 : SQL - Conception & Mise en Oeuvre Le SQL (Structured Query Language) est le langage standard de manipulation de données. À ce titre, il est le pilier fondamental de la base PostgreSQL,

Plus en détail