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

Introduction au langage SQL

Introduction au langage SQL Introduction au langage SQL Les bases de données relationnelles Le langage SQL est un langage universel destiné à travailler sur des bases de données relationnelles. Nous considérerons ici qu'une base

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

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

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

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

Bases de Données. SQL: Définition

Bases de Données. SQL: Définition Université Mohammed V- Agdal Ecole Mohammadia d'ingénieurs Rabat Bases de Données Mr N.EL FADDOULI 2014-2015 SQL: Définition Structured Query Langage(SQL): - Langage g de base dans les SGBD - Langage 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

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

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

Les Bases de Données

Les Bases de Données Les Bases de Données 1. Introduction 1.1 Définition On peut parler de bases de données partout où des informations sont plus ou moins structurées et rassemblées dans des systèmes organisés. La gestion

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

Informatique en CPGE (2015-2016) Le langage SQL

Informatique en CPGE (2015-2016) Le langage SQL Informatique en CPGE (2015-2016) Le langage SQL S. B. Lycée des EK 30 mai 2016 Le SQL (Structured Query Language = langage de requêtes structuré) est un langage informatique de dialogue avec une base de

Plus en détail

Introduction aux bases de données

Introduction aux bases de données Introduction aux bases de données Cours 3. : Le langage SQL Vincent Martin email : vincent.martin@univ-tln.fr page personnelle : http://lsis.univ-tln.fr/~martin/ Master 1. LLC Université du Sud Toulon

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

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

BdD Base de Données. Clément VERMOT-DESROCHES

BdD Base de Données. Clément VERMOT-DESROCHES BdD Base de Données Clément VERMOT-DESROCHES 17 novembre 2009 Table des matières 1 Présentation Générale 3 1.1 Présentation Générale............................. 3 1.1.1 Définition................................

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 (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

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

Oracle Database 10g: Les fondamentaux des langages SQL et PL/SQL

Oracle Database 10g: Les fondamentaux des langages SQL et PL/SQL Oracle University Appelez-nous: +33 (0) 1 57 60 20 81 Oracle Database 10g: Les fondamentaux des langages SQL et PL/SQL Durée: 5 Jours Description Ce cours s'adresse aux utilisateurs d'oracle8i, Oracle9i

Plus en détail

Exploiter les données d'un PGI avec SQL

Exploiter les données d'un PGI avec SQL Exploiter les données d'un PGI avec SQL Propriétés Description Titre de la production Auteur Exploiter les données d'un PGI avec SQL Véronique Bennetot-Dereux GREID Académie de Créteil v.bennetot-dereux@ac-creteil.fr

Plus en détail

ORACLE SQL LDD. Langage de définition de données

ORACLE SQL LDD. Langage de définition de données ORACLE SQL LDD Langage de définition de données Le langage SQL (Structured Query Language) SQL a été normalisé par l ANSI puis par l ISO depuis 1986 sous ses différents aspects : LDD : définition des données

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

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

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

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

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

UFR de Mathématiques et Informatique

UFR de Mathématiques et Informatique UFR de Mathématiques et Informatique Licence professionnelle "Les métiers de l'internet" Réf. Regles_MCD_MPD.doc Module BD1 (Partiel et examen) Date dernière version : Avril 2002 Diffusion : apprenants

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

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

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

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

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

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

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

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

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

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

Oracle Database 11g : Les fondamentaux des langages SQL et PL/SQL

Oracle Database 11g : Les fondamentaux des langages SQL et PL/SQL Oracle University Appelez-nous: +33 (0) 1 57 60 20 81 Oracle Database 11g : Les fondamentaux des langages SQL et PL/SQL Durée: 5 Jours Description Ce cours vous permettra d acquérir les principes fondamentaux

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

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

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

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

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

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

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

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

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

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

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

QC ETL QUASAR Conseil QC ETL. - 1 - Qu est-ce qu un ETL? - 2 Les fonctionnalités de QC ETL. - 3 L écriture de procédures de transformation

QC ETL QUASAR Conseil QC ETL. - 1 - Qu est-ce qu un ETL? - 2 Les fonctionnalités de QC ETL. - 3 L écriture de procédures de transformation QC ETL - 1 - Qu est-ce qu un ETL? - 2 Les fonctionnalités de QC ETL - 3 L écriture de procédures de transformation 1 1 Qu est-ce qu un ETL? La création d un SIAD (Système d Information d Aide à la Décision)

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

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

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

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

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

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

Oracle Database: Introduction to SQL NOUVEAU

Oracle Database: Introduction to SQL NOUVEAU Oracle University Appelez-nous: 1.800.529.0165 Oracle Database: Introduction to SQL NOUVEAU Durée: 5 Jours Description Le cours "Oracle Database: Introduction to SQL" explique comment écrire des sous-requêtes,

Plus en détail

TP n o 14 : Bases de données, première partie

TP n o 14 : Bases de données, première partie TP n o 14 : Bases de données, première partie I Introduction Dans ce TP nous allons effectuer des opérations élementaires sur une base de données ne comportant qu une seule table. Lors de la prochaine

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

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

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

4. Concepts pour la manipulation des données Implémentation en SQL

4. Concepts pour la manipulation des données Implémentation en SQL 4. Concepts pour la manipulation des données Implémentation en SQL 4.1. OPERATEURS DE L ALGEBRE RELATIONNEL ALGEBRE RELATIONNELLE = { opérateurs sur les relations donnant en résultat des relations } Opérateurs

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

Comment stocke-t-on des données sur un site web?

Comment stocke-t-on des données sur un site web? Comment stocke-t-on des données sur un site web? Sommaire I. Introduction aux bases de données II. III. Structure d une base de données Administrer la base avec PHPMyadmin IV. Le langage SQL Pourquoi stocker

Plus en détail

Pierre Parrend, Régis Martinez, Soumaya El Kadiri Introduction à SQL, QLIO, 2006-2007. SQL: Introduction

Pierre Parrend, Régis Martinez, Soumaya El Kadiri Introduction à SQL, QLIO, 2006-2007. SQL: Introduction Introduction à SQL IUT Lumière, DUT QLIO 2006-2007 Pierre Parrend, Régis Martinez, Soumaya El-Kadiri SQL: Introduction I. Le Language SQL Pour interroger une Base de Données (BD), il faut dialoguer avec

Plus en détail

Microsoft Access 2003. Perfectionnement

Microsoft Access 2003. Perfectionnement Perfectionnement TABLE DES MATIERES QU EST-CE QU UNE BASE DE DONNEES?... 1 QU EST-CE QUE ACCESS?... 1 RAPPEL SUR LA STRUCTURE D'UNE TABLE.... 2 QU'EST-CE QU'UNE CLE PRIMAIRE?... 2 QU'EST-CE QU'UN INDEX?...

Plus en détail

Création d'un logiciel de comptabilité générale

Création d'un logiciel de comptabilité générale Création d'un logiciel de comptabilité générale Description du thème Propriétés Intitulé long Date de publication Présentation Description Développement d'un logiciel de comptabilité générale avec Access

Plus en détail

Base de donnée relationnelle. Exemple de table: Film. Exemple de table: Acteur. Exemple de table: Role. Contenu de la table Role

Base de donnée relationnelle. Exemple de table: Film. Exemple de table: Acteur. Exemple de table: Role. Contenu de la table Role IFT7 Programmation Serveur Web avec PHP Introduction à MySQL Base de donnée relationnelle Une base de données relationnelle est composée de plusieurs tables possédant des relations logiques (théorie des

Plus en détail

Mapinfo et les requêtes SQL

Mapinfo et les requêtes SQL 31 janvier 2007 Master I Géo-Environnement INTRODUCTION Introduction - Généralités SQL (Structured Query Language) est un LDD (Language de Définition de Données) Créer / modifier / supprimer tables LMD

Plus en détail

2011 Hakim Benameurlaine 1

2011 Hakim Benameurlaine 1 Table des matières 1 PRÉSENTATION DE TSQL... 2 1.1 Historique... 2 1.2 Les différents types d instructions... 2 1.2.1 Langage de Définition des Données... 2 1.2.2 Langage de Manipulation des Données...

Plus en détail

TP 3 : Ms/Access : Requêtes et Formulaires

TP 3 : Ms/Access : Requêtes et Formulaires Département Génie Informatique BD40 Ingénierie des systèmes d information TP 3 : Ms/Access : Requêtes et Formulaires Thème :Base de données hospitalière Christian FISCHER Copyright Octobre 2006 Contexte

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

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

ESTINATION FORMATION Un aller simple vers le savoir-faire INITIATION A L ANALYSE ET A LA CONCEPTION DE BASE DE DONNEES

ESTINATION FORMATION Un aller simple vers le savoir-faire INITIATION A L ANALYSE ET A LA CONCEPTION DE BASE DE DONNEES ESTINATION FORMATION INITIATION A L ANALYSE ET A LA CONCEPTION DE BASE DE DONNEES AVANT PROPOS Ce support de cours est un outil personnel, il ne constitue pas un guide de référence. C'est un outil pédagogique

Plus en détail

Université Paris 13 TP Base de données Année 2008-2009 Institut Galilée feuille 2 : requêtes SQL INFO1

Université Paris 13 TP Base de données Année 2008-2009 Institut Galilée feuille 2 : requêtes SQL INFO1 Université Paris 13 TP Base de données Année 2008-2009 Institut Galilée feuille 2 : requêtes SQL INFO1 Exercice 1 : requêtes simples Pour traiter de la vente par correspondance on considère la modélisation

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

DUT Génie Biologique Option Bioinformatique. Les bases de données relationnelles. Travaux Pratiques n 4

DUT Génie Biologique Option Bioinformatique. Les bases de données relationnelles. Travaux Pratiques n 4 DUT Génie Biologique Option Bioinformatique Les bases de données relationnelles avec MySQL Éric Pipard Travaux Pratiques n 4 Jointures externes Requêtes internes et externes Vues et transactions Objectifs

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

Kit de survie sur les bases de données

Kit de survie sur les bases de données Kit de survie sur les bases de données Pour gérer un grand nombre de données un seul tableau peut s avérer insuffisant. On représente donc les informations sur différentes tables liées les unes aux autres

Plus en détail

CRÉATION DE REQUÊTES DANS ACCESS

CRÉATION DE REQUÊTES DANS ACCESS CRÉATION DE REQUÊTES DANS ACCESS La requête dans Access permet de ne travailler que sur une partie d une table ou d une autre requête en fonction de critères choisis. Une requête peut aussi remplacer les

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

Dossier I Découverte de Base d Open Office

Dossier I Découverte de Base d Open Office ETUDE D UN SYSTEME DE GESTION DE BASE DE DONNEES RELATIONNELLES Définition : Un SGBD est un logiciel de gestion des données fournissant des méthodes d accès aux informations. Un SGBDR permet de décrire

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

Le langage SQL (Structured Query Language)

Le langage SQL (Structured Query Language) Le langage SQL (Structured Query Language) SQL (Structured Query Language, en français «langage structuré de requête ou d interrogation» ou «langage de requête structurée» ) est un langage informatique

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

BASES DE DONNÉES : COMPLÉMENTS

BASES DE DONNÉES : COMPLÉMENTS : personne pe eleve enseigne personne pp prof num_p num_p num_classe pe.prenom = pp.prenom num_pro f = pp.num_p pe.nom pe.prenom Objectifs A la fin de la séquence d enseignement l élève doit pouvoir :

Plus en détail

Création de base de données en SQL - exercices dans le cadre du cours à l'ibis. Sébastien Clément, avril 2011

Création de base de données en SQL - exercices dans le cadre du cours à l'ibis. Sébastien Clément, avril 2011 Création de base de données en SQL - exercices dans le cadre du cours à l'ibis. Sébastien Clément, avril 2011 Interface Web PhpPgAdmin: permet de faire des requêtes SQL ( 1 commandes) permet de visualiser

Plus en détail

INITIATION ACCESS. Par Lionel COSTE ABSALON Formations

INITIATION ACCESS. Par Lionel COSTE ABSALON Formations INITIATION ACCESS Par Lionel COSTE ABSALON Formations Vocabulaire et structure d'une base de données Reprenons notre base Access. Dès sa création, avant même de saisir la moindre donnée, on peut se rendre

Plus en détail

Optimisation de requêtes

Optimisation de requêtes Optimisation de requêtes Illustration avec Oracle J. Akoka - I. Wattiau Introduction BUT : Fournir l'algorithme d'accès à la base de données pour répondre à une requête exprimée en langage assertionnel

Plus en détail

Introduction au langage SQL

Introduction au langage SQL Introduction au langage SQL SQL (sigle de Structured Query Language, en français langage de requête structurée) est un langage informatique normalisé servant à effectuer des opérations sur des bases de

Plus en détail

TP 1 Bases de Données Prise en main d Oracle L3 Informatique Université d Aix-Marseille

TP 1 Bases de Données Prise en main d Oracle L3 Informatique Université d Aix-Marseille TP 1 Bases de Données Prise en main d Oracle L3 Informatique Université d Aix-Marseille 1 Prise en main de SQLplus Oracle est un SGBD Relationnel muni de nombreuses fonctionnalités (celles classiques des

Plus en détail

Chapitre 7 Le Langage SQL

Chapitre 7 Le Langage SQL 7-1- Introduction Chapitre 7 Le Langage SQL SQL (Structured Query Language, traduit Langage de requêtes structuré ou langage d interrogation structuré) est un langage de quatrième génération (L4G), non

Plus en détail

LE LANGAGE SQL. 1. Préambule...1 2. Le langage SQL...1. 3. Les Tables de l exemple...30

LE LANGAGE SQL. 1. Préambule...1 2. Le langage SQL...1. 3. Les Tables de l exemple...30 LE LANGAGE SQL 1. Préambule...1 2. Le langage SQL...1 2.1. Le standard SQL...1 2.2. Les limites de SQL...2 2.2.1. Langage non procédural...2 2.2.2. SQL : une portabilité limitée...2 2.3. SQL : un Langage

Plus en détail

Interfaçage avec une base de données

Interfaçage avec une base de données Interfaçage avec une base de données Principe PHP propose de nombreux outils permettant de travailler avec la plupart des SGBD Oracle, Sybase, Microsoft SQL Server, PostgreSQL ou encore MySQL Php fournit

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