Chapitres 1 et 2 Langage d interrogation des donnåes - Partie 1 -
|
|
|
- Jean-Pascal Beauregard
- il y a 10 ans
- Total affichages :
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
22 6.2. Jointure råflexive ou auto-jointure Il peut Étre parfois näcessaire de lier les informations d une ligne d une table avec les informations d une autre ligne de la méme table. Pour cela il est näcessaire de räfärencer deux fois la table dans la requéte et l'on raisonne comme si l'on avait deux tables diffärentes. Toutefois, il faut Étre capable de diffärencier ces deux versions d'une méme table. Comment faire pour utiliser deux versions d'une möme table dans une requöte? Nous avons vu qu'il Ätait possible de däfinir un alias pour un nom de colonne grâce Ç la clause AS. De la méme maniáre, il est possible de däfinir un alias sur un nom de table (cela est pratique pour Äcrire la requéte plus rapidement). Exemple d'utilisation d'un alias ConsidÄrons le modále relationnel suivant : CLASSE(numero, nom, prenom) numero : clä primaire ELEVE(numero, nom, idclasse) numero : clä primaire idclasse : clä Ätrangáre en räfärence Ç numero de la relation CLASSE La requéte permettant d'obtenir la liste des Äláves ainsi que le nom de leur classe est la suivante : SELECT ELEVE.numero, ELEVE.nom, CLASSE.nom FROM ELEVE, CLASSE WHERE idclasse = CLASSE.numero Les colonnes numero et nom doivent obligatoirement Étre prçcçdçes du nom de la table car il y a ambigäitç sur les noms des colonnes. Pour aller plus vite, on peut utiliser des alias pour les tables : SELECT E.numero, E.nom, C.nom FROM ELEVE AS E, CLASSE AS C WHERE idclasse = C.numero A noter que pour les tables, il n'est pas näcessaire d'utiliser la clause AS pour däfinir un alias. On aurait pu Äcrire : SELECT E.numero, E.nom, C.nom FROM ELEVE E, CLASSE C WHERE idclasse = C.numero Pour utiliser deux fois une méme table dans une requéte, il suffit d'utiliser des ALIAS. Exemple : FROM EMPLOYE, EMPLOYE AS CHEF ALSI_IG1_C02 - SQL LID Partie 1 22
23 Exemple 22 : Indiquer pour chaque salariå le nom de son supårieur hiårarchique Dans cette requéte on a besoin de : une version de la table EMPLOYE pour obtenir les informations de chacun des employäs table EMPLOYE une autre version de cette méme table pour obtenir les informations sur les supärieurs hiärarchiques (qui sont aussi des employäs). Nous appellerons cette deuxiáme version CHEF table CHEF La lecture de ces deux tables nous permet de voir, par exemple, que le supärieur hiärarchique de BULLE est JACOBI Une jointure est näcessaire entre la colonne matrsuperieur de la table EMPLOYE et la colonne matricule de la table CHEF. ALSI_IG1_C02 - SQL LID Partie 1 23
24 Le SGBDR doit tout d'abord räaliser le produit cartåsien des deux tables (il associe chaque ligne de la table EMPLOYE avec chaque ligne de la table CHEF) matricule nom Employe table EMPLOYE fonction matr Superieur matricule table CHEF nom Employe fonction GARDARIN IngÄnieur GARDARIN IngÄnieur GARDARIN IngÄnieur MARTIN PrÄsident GARDARIN IngÄnieur DUPOND Administratif GARDARIN IngÄnieur BULLE Commercial GARDARIN IngÄnieur ANABEL Commercial GARDARIN IngÄnieur ROUX Chef de service GARDARIN IngÄnieur PAPILOU Commercial GARDARIN IngÄnieur JACOBI Chef de service GARDARIN IngÄnieur AMIN comptable GARDARIN IngÄnieur PERNOT comptable GARDARIN IngÄnieur DUPONT Commercial GARDARIN IngÄnieur RAMARA Chef de service MARTIN PrÄsident NULL GARDARIN IngÄnieur MARTIN PrÄsident NULL MARTIN PrÄsident MARTIN PrÄsident NULL DUPOND Administratif MARTIN PrÄsident NULL BULLE Commercial DUPONT Commercial PERNOT comptable DUPONT Commercial DUPONT Commercial DUPONT Commercial RAMARA Chef de service RAMARA Chef de service GARDARIN IngÄnieur RAMARA Chef de service MARTIN PrÄsident RAMARA Chef de service DUPOND Administratif RAMARA Chef de service BULLE Commercial RAMARA Chef de service ANABEL Commercial RAMARA Chef de service ROUX Chef de service RAMARA Chef de service PAPILOU Commercial RAMARA Chef de service JACOBI Chef de service RAMARA Chef de service AMIN comptable RAMARA Chef de service PERNOT comptable RAMARA Chef de service DUPONT Commercial RAMARA Chef de service RAMARA Chef de service ALSI_IG1_C02 - SQL LID Partie 1 24
25 Ensuite, il applique la condition de jointure (restriction) : seules les lignes telles que matrsuperieur de la table EMPLOYE = matricule de la table CHEF sont sälectionnäes matricule nom Employe table EMPLOYE fonction matr Superieur matricule table temporaire CHEF nom Employe fonction GARDARIN IngÄnieur JACOBI Chef de service DUPOND Administratif MARTIN PrÄsident BULLE Commercial JACOBI Chef de service ANABEL Commercial RAMARA Chef de service ROUX Chef de service MARTIN PrÄsident PAPILOU Commercial RAMARA Chef de service JACOBI Chef de service MARTIN PrÄsident AMIN comptable DUPOND Administratif PERNOT comptable DUPOND Administratif DUPONT Commercial RAMARA Chef de service RAMARA Chef de service MARTIN PrÄsident Enfin, il effectue la projection : seules les colonnes nomemploye des tables EMPLOYE et CHEF sont retenues table EMPLOYE table CHEF nomemploye nomemploye GARDARIN JACOBI DUPOND MARTIN BULLE JACOBI ANABEL RAMARA ROUX MARTIN PAPILOU RAMARA JACOBI MARTIN AMIN DUPOND PERNOT DUPOND DUPONT RAMARA RAMARA MARTIN On peut constater que le räsultat n'est pas trás explicite : on utilisera donc un alias pour renommer la deuxiáme colonne. table EMPLOYE table CHEF nomemploye Sup. hiårarchique GARDARIN JACOBI DUPOND MARTIN BULLE JACOBI ANABEL RAMARA ROUX MARTIN PAPILOU RAMARA JACOBI MARTIN AMIN DUPOND PERNOT DUPOND DUPONT RAMARA RAMARA MARTIN ALSI_IG1_C02 - SQL LID Partie 1 25
26 RequÉte permettant d'obtenir pour chaque salariä le nom de son supärieur hiärarchique : SELECT Employe.nomEmploye, Chef.nomEmploye AS 'Sup. hiårarchique', Employe AS Chef WHERE Employe.matrSuperieur = Chef.matricule 6.3. Jointure externe Lorsque la condition de jointure n est pas satisfaite, aucune des lignes n apparaãt dans le räsultat. Les jointures externes permettent d extraire des lignes d une des 2 tables concernäes, méme si la condition est fausse. Dans ce cas, les donnäes de la seconde table ont la valeur NULL. SELECT champ1, champ2, FROM table1 [WHERE condition] {LEFT RIGHT FULL} OUTER JOIN table2 ON table1.champ3=table2.champ4 Il existe 3 types de jointures externes : la jointure externe gauche (mot-clä LEFT), la jointure externe droite (mot clä RIGHT) et la jointure externe compläte (mot clä FULL). Pour comprendre le principe des jointures externes, nous allons ajouter une table Ç notre modále relationnel : la table Affectation qui präcise les employäs affectäs Ç une affaire chez un client. Extrait de la table Employe Extrait de la table Service Extrait de la table Affectation ALSI_IG1_C02 - SQL LID Partie 1 26
27 Supposons que l on souhaite obtenir pour chaque employç la liste des affaires auxquelles il est affectç. Le räsultat : nomemploye fonction numaffaire DUPONT Commercial 1001 DUPOND Administratif 1002 BULLE Commercial 1002 ROUX Chef de service 1003 PAPILOU Commercial 1003 GARDARIN IngÄnieur 1005 PAPILOU Commercial 1005 est obtenu par la requéte suivante : SELECT nomemploye, fonction, numaffaire, Affectation WHERE Employe.matricule = Affectation.matrEmplAffecte Toutefois, avec cette requéte, on perd certaines informations : - le fait que certaines affaires ne sont pas encore affectåes Ñ un employå (ex : affaire 1004) - le fait que certains employås ne sont affectås Ñ aucune affaire (ex : ANABEL) Il est parfois important de disposer de ces informations. C'est ce que permettent les jointures externes. Pour faire simple, les jointures externes permettent d'obtenir les lignes d'une table qui sont liäes aux lignes d'une autre table (Äqui-jointure) ainsi que celles qui ne sont pas liäes (condition de jointure non värifiäe) Jointure externe gauche Une jointure externe gauche permet d inclure dans le råsultat les lignes de la table spåcifiåe Ñ gauche de la jointure möme s il n y a pas de ligne vårifiant la condition dans la table spåcifiåe Ñ droite de la jointure. Exemple 23 : DÅtail des affectations pour l'ensemble des employås (y compris les employås sans affectation) SELECT nomemploye, fonction, numaffaire LEFT OUTER JOIN Affectation ON matricule = matremplaffecte donne le räsultat suivant : nomemploye fonction numaffaire GARDARIN IngÄnieur 1005 MARTIN PrÅsident NULL DUPOND Administratif 1002 BULLE Commercial 1002 ANABEL Commercial NULL ROUX Chef de service 1003 PAPILOU Commercial 1003 PAPILOU Commercial 1005 JACOBI Chef de service NULL DUPONT Commercial 1001 RAMARA Chef de service NULL On retrouve cette fois, dans le rçsultat de la requéte, les employçs qui ne sont affectçs á aucune affaire. Le numçro d'affaire (table de droite) prend la valeur NULL lorsque la condition de jointure n'est pas rçalisçe. Toutes les lignes de la table späcifiäe Ç gauche de la clause OUTER JOIN (Employe dans l exemple) seront affichäes, que la condition de jointure soit räalisäe ou non avec la table situäe Ç droite. ALSI_IG1_C02 - SQL LID Partie 1 27
28 Jointure externe droite Une jointure externe droite permet d inclure dans le råsultat les lignes de la table spåcifiåe Ñ droite de la jointure möme s il n y a pas de ligne vårifiant la condition dans la table spåcifiåe Ñ gauche. Exemple 24 : DÅtail des affectations nom des employås et fonction) par affaire (y compris les affaires sans affectation) SELECT nomemploye, fonction, numaffaire RIGHT OUTER JOIN Affectation ON matricule = matremplaffecte donne le räsultat suivant : nomemploye fonction numaffaire DUPONT Commercial 1001 DUPOND Administratif 1002 BULLE Commercial 1002 ROUX Chef de service 1003 PAPILOU Commercial 1003 NULL NULL 1004 GARDARIN IngÄnieur 1005 PAPILOU Commercial 1005 On retrouve cette fois, dans le rçsultat de la requéte, les affaires qui ne sont affectçes á personne. Lorsque la condition de jointure n'est pas vçrifiçe, les champs de la table de gauche prennent la valeur NULL. Toutes les lignes de la table späcifiäe Ç droite de la clause OUTER JOIN (Affaire dans l exemple) seront affichäes, que la condition de jointure soit räalisäe ou non dans la table situäe Ç gauche Jointure externe compläte La jointure externe compláte permet de combiner une jointure externe gauche avec une jointure externe droite. Exemple 25 : DÅtail des affectations y compris les affaires non encore affectåes et les employås affectås Ñ aucune affaire SELECT nomemploye, fonction, numaffaire FULL OUTER JOIN Affectation ON matricule = matremplaffecte donne le räsultat suivant : nomemploye fonction numaffaire NULL NULL 1004 GARDARIN IngÄnieur 1005 MARTIN PrÅsident NULL DUPOND Administratif 1002 BULLE Commercial 1002 ANABEL Commercial NULL ROUX Chef service 1003 PAPILOU Commercial 1005 PAPILOU Commercial 1003 JACOBI Chef de service NULL DUPONT Commercial 1001 RAMARA Chef de service NULL On retrouve cette fois, dans le rçsultat de la requéte, les affaires qui ne sont affectçes á personne ainsi que les employçs qui ne sont affectçs á aucune affaire ALSI_IG1_C02 - SQL LID Partie 1 28
29 Toutes les lignes des deux tables seront affichäes et les colonnes pour lesquelles il n'y a pas de correspondance sont remplies avec la valeur NULL Jointure multi tables Il est possible de räaliser la jointure de plus de 2 tables. Dans ce cas, pour chaque paire de tables de la jointure, il suffit d indiquer une condition däcrivant la relation entre les colonnes. Pour n tables Ñ joindre, il faut dåcrire n-1 conditions de jointure. DÅmarche pour construire les requötes multi-tables Une méme dämarche doit Étre appliquäe pour construire vos requétes : RepÄrer les tables dont on a besoin c'est-ç-dire : o Pour lesquelles un champ doit Étre affichä (SELECT) o Sur lesquelles une restriction doit Étre effectuäe (WHERE hors jointure) RepÄrer sur le modále physique (Ç construire rapidement au brouillon s'il n'est pas fourni) les jointures (liens) Ç räaliser pour "passer d'une table á une autre" Ecrire la requéte o Projection : quels champs afficher? (clause SELECT) o Liste des tables näcessaires Ç la requéte (clause FROM) pour les champs Ç afficher, les conditions de restrictions, les jointures o Jointures (WHERE ou JOIN) o Restrictions Äventuelles : quelles lignes doit-on sälectionner? (WHERE) Exemple 26 : liste des affectations (matricule et nom de l'employå, numåro et nom du service, numåro d'affaire) des employås travaillant Ñ Metz LÄgende Colonnes Ç afficher dans la table räsultat Colonnes sur lesquels une restriction est räalisäe Jointures näcessaires ALSI_IG1_C02 - SQL LID Partie 1 29
30 Utilisation d'une clause WHERE SELECT matricule, nomemploye, numservice, nomservice, numaffaire, Affectation, Service WHERE numero = numservice AND MatrEmplAffecte = matricule AND lieu = 'Metz' Utilisation d'une clause JOIN (norme SQL92) SELECT matricule, nomemploye, numservice, nomservice, numaffaire JOIN Affectation ON MatrEmplAffecte = matricule JOIN Service ON numero = numservice WHERE lieu = 'Metz' Exemple 27 : liste des affectations (matricule et nom employå, numåro de service, numåro d'affaire) pour les employås embauchås avant le 06/10/2000 ATTENTION : on peut noter au travers de cet exemple, que contrairement Ç ce que l'on pourrait penser au däpart, la table Service n'est pas indispensable Ç la requéte. RÄgle : ne pas utiliser les tables qui ne sont pas indispensables Ñ l'obtention du råsultat Utilisation d'une clause WHERE SELECT matricule, nomemploye, numservice, numaffaire, Affectation WHERE MatrEmplAffecte = matricule AND dateembauche < '06/10/2000' ALSI_IG1_C02 - SQL LID Partie 1 30
31 Utilisation d'une clause JOIN (norme SQL2) SELECT matricule, nomemploye, numservice, numaffaire JOIN Affectation ON MatrEmplAffecte = matricule WHERE dateembauche < '06/10/2000' Exemple 28 : liste des affaires (numåro affaire) affectåes aux employås travaillant Ñ Metz On notera ici, que pour utiliser des informations de la table Affectation (numäro d'affaire) et de la table Service (lieu), il est näcessaire de Ñ passer Ö par la table EmployÄ afin d'ätablir les jointures näcessaires, cela méme si aucun champ de cette table n'est a priori näcessaire. Utilisation d'une clause WHERE SELECT numaffaire, Affectation, Service WHERE numero = numservice AND matricule = MatrEmplAffecte AND lieu = 'Metz' Utilisation d'une clause JOIN (norme SQL92) SELECT numaffaire JOIN Affectation ON MatrEmplAffecte = matricule JOIN Service ON numero = numservice WHERE lieu = 'Metz' ALSI_IG1_C02 - SQL LID Partie 1 31
32 7. Exercices L'ensemble des exercices qui suivent se rapportent au modále relationnel ci-dessous : Adherent (numadh, sexeadh, civiliteadh, nomadh, prenomadh, adradh, cpadh, villeadh) ClÄ primaire : numadh Lecon (numlecon, niveaulecon, jourlecon, debutlecon, finlecon) ClÄ primaire : numlecon Cotisation (numcot, anneecot, montantcot, datereglement, numadh) ClÄ primaire : numcot ClÄ Ätrangáre : numadh en räfärence Ç numadh de Adherent Inscription (numeroadherent, numerolecon) ClÄ primaire : numeroadherent, numerolecon ClÄs Ätrangáres : numeroadherent en räfärence Ç numadh de Adherent numerolecon en räfärence Ç numlecon de Lecon Remarques : - Les champs debutlecon et finlecon correspondent respectivement aux heures de dçbut et de fin d'une leãon. Les heures sont toujours prçcisçes dans ces champs sont des nombres entiers. - Le champ datereglement contient la date du räglement au format jj/mm/aaaa. Tant que le räglement n'a pas ÇtÇ effectuç, ce champ reste vide - Le champ sexeadh contient les valeurs "fçminin" ou "masculin" Exercice 1 RÅalisez les requötes suivantes en langage SQL 1. PrÄsentez la liste des adhärents (nom et pränom). 2. PrÄsentez la liste des adhärents (nom et pränom) de sexe "masculin". 3. Donnez la liste des leäons (numäro, heure däbut et heure fin de leäon) ayant lieu le 29 avril Donnez la duräe de la leäon nç Cherchez les adhärents (numäro) ayant räglä une cotisation en Donnez la liste des adhärents (nom et pränom) dont le nom contient "epi". Exercice 2 En reprenant le modäle relationnel de l'exercice pråcådent, råalisez les requötes suivantes en langage SQL : 1. Cherchez les heures de däbut et de fin des leäons de niveau "däbutant" ayant eu lieu le 10/12/2006, le 17/12/2006 ou le 14/01/ Fournir la liste des cotisations non rägläes. 3. On souhaite obtenir la liste des adhärents - habitant "Gouvieux" - ou qui habitent les villes commenäant par S et dont le code postal commence par "60". ALSI_IG1_C02 - SQL LID Partie 1 32
33 Exercice 3 En reprenant le modäle relationnel de l'exercice 1, råalisez les requötes suivantes en langage SQL : 1. Donnez la liste des adhärents de sexe fäminin triäe par ville puis par nom d'adhärent 2. PrÄsenter la liste des leäons donnäes au mois d'avril Cette liste sera triäe par jour puis heure de däbut de la leäon. Exercice 4 En reprenant le modäle relationnel de l'exercice 1, råalisez les requötes suivantes en langage SQL : 1. Cherchez les noms et pränoms des adhärents ayant cotisä (ráglement effectuä ou non) en Indiquez le niveau des leäons auxquelles s'est inscrit Jean LABALLE (on suppose qu'il n'y a pas d'homonyme). 3. DÄterminez les noms et pränoms des adhärents n'habitant pas Gouvieux et ayant suivi une leäon le 17 däcembre Triez par ordre alphabätique les adhärents (nom et pränom) ayant räglä leur cotisation pour la saison 2007 et s'ätant inscrit Ç une leäon pour le mois de janvier ALSI_IG1_C02 - SQL LID Partie 1 33
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
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 [email protected]
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,
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
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,
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
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
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
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
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,
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
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
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
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
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
Information utiles. [email protected]. 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 : [email protected] webpage : http://www.ibisc.univ-evry.fr/ digiusto/ Google+ : https://plus.google.com/u/0/b/103572780965897723237/
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
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
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
REMPLACEMENT DU SYSTEME TELEPHONIQUE DE LA MAIRIE DE HOERDT
COMMUNE DE HOERDT 1, rue de la Tour BP 302 67728 HOERDT CEDEX Tel. : 03.88.68.20.10 Fax. : 03.88.51.74.24 Mail. : [email protected] www.hoerdt.fr REMPLACEMENT DU SYSTEME TELEPHONIQUE DE LA MAIRIE DE HOERDT
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
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
26, rue du Faubourg Poissonni re 75010 Paris T l : 01 46 22 07 00
Dossier de commande 26, rue du Faubourg PoissonniÄre 75010 Paris TÇl : 01 46 22 07 00 SociÄtÄ Anonyme au capital de 291 666 euros RCS Paris 432 735 082 - http://www.oodrive.com Nom SociÇtÇ Adresse TÇlÇphone
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...
Exemple accessible via une interface Web. Bases de données et systèmes de gestion de bases de données. Généralités. Définitions
Exemple accessible via une interface Web Une base de données consultable en ligne : Bases de données et systèmes de gestion de bases de données The Trans-atlantic slave trade database: http://www.slavevoyages.org/tast/index.faces
TARIFS CONDITIONS GÉNÉRALES
Centrale d emplois pour la Distribution TARIFS et CONDITIONS GÉNÉRALES http://www.distrijob.fr Offres d Emploi HT OFFRE D EMPLOI STANDARD Parution 2 x 30 jours - 1 poste, multi-rägions 1 offre 325.00 TARIFS
Statuts CITEC Suisse
Statuts CITEC Suisse I. Nom, siäge, buts Art. 1 Art. 2 Nom et siäge Sous le nom de CITEC Suisse (dånommåe ci-apräs association), est crååe une sociåtå dans le sens du Code civil suisse. L'association a
A. Conditions de pråparation et d organisation des travaux du Conseil d Administration
RAPPORT DU PRESIDENT DU CONSEIL D ADMINISTRATION SUR LES CONDITIONS DE PREPARATION ET D ORGANISATION DES TRAVAUX DU CONSEIL D ADMINISTRATION ET SUR LES PROCEDURES DE CONTROLE INTERNE MISES EN PLACE PAR
Présentation du module Base de données spatio-temporelles
Présentation du module Base de données spatio-temporelles S. Lèbre [email protected] Université de Strasbourg, département d informatique. Partie 1 : Notion de bases de données (12,5h ) Enjeux et principes
Cours Base de données relationnelles. M. Boughanem, IUP STRI
Cours Base de données relationnelles 1 Plan 1. Notions de base 2. Modèle relationnel 3. SQL 2 Notions de base (1) Définition intuitive : une base de données est un ensemble d informations, (fichiers),
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
1. Introduction...2. 2. Création d'une requête...2
1. Introduction...2 2. Création d'une requête...2 3. Définition des critères de sélection...5 3.1 Opérateurs...5 3.2 Les Fonctions...6 3.3 Plusieurs critères portant sur des champs différents...7 3.4 Requête
Initiation aux bases de données (SGBD) Walter RUDAMETKIN
Initiation aux bases de données (SGBD) Walter RUDAMETKIN Bureau F011 [email protected] Moi Je suis étranger J'ai un accent Je me trompe beaucoup en français (et en info, et en math, et...)
Le Langage De Description De Données(LDD)
Base de données Le Langage De Description De Données(LDD) Créer des tables Décrire les différents types de données utilisables pour les définitions de colonne Modifier la définition des tables Supprimer,
SQL sous SqlServer OLIVIER D. DEHECQ Olivier http://www.entraide-info.fr 0
2013 SQL sous SqlServer OLIVIER D. DEHECQ Olivier http://www.entraide-info.fr 0 Table des matières Signalétique... 2 1 Les bases du SQL... 3 2 SQL server... 6 2 Références des exercices...21 DEHECQ Olivier
Cours: Les Jointures 1
Bases de Données Avancées Module A IUT Lumière, License CE-STAT 2006-2007 Pierre Parrend Cours: Les Jointures 1 Plan Table of Contents Principe...1 Example...1 Types de Jointures...2 Définitions et examples...2
Catalogue professionnel Ä. Ç Licence d exploitation du logiciel Ä MERCATOS Ç DÑveloppement SEEG NTIC Edition
Catalogue professionnel Ä. Ç Licence d exploitation du logiciel Ä MERCATOS Ç DÑveloppement SEEG NTIC Edition PROPOSITION COMMERCIALE - LICENCE D EXPLOITATION (rayer toutes les mentions inutiles avant signature
FileMaker 13. Guide de référence SQL
FileMaker 13 Guide de référence SQL 2013 FileMaker, Inc. Tous droits réservés. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, Californie 95054 FileMaker et Bento sont des marques commerciales de
4. Utilisation d un SGBD : le langage SQL. 5. Normalisation
Base de données S. Lèbre [email protected] Université de Strasbourg, département d informatique. Présentation du module Contenu général Notion de bases de données Fondements / Conception Utilisation :
ECR_DESCRIPTION CHAR(80), ECR_MONTANT NUMBER(10,2) NOT NULL, ECR_SENS CHAR(1) NOT NULL) ;
RÈGLES A SUIVRE POUR OPTIMISER LES REQUÊTES SQL Le but de ce rapport est d énumérer quelques règles pratiques à appliquer dans l élaboration des requêtes. Il permettra de comprendre pourquoi certaines
Magasins et entrepôts de données (Datamart, data warehouse) Approche relationnelle pour l'analyse des données en ligne (ROLAP)
Magasins et entrepôts de données (Datamart, data warehouse) Approche relationnelle pour l'analyse des données en ligne (ROLAP) Définition (G. Gardarin) Entrepôt : ensemble de données historisées variant
AGRÉGATION «ÉCONOMIE ET GESTION»
AGRÉGATION «ÉCONOMIE ET GESTION» CONCOURS INTERNE SESSION 2002 ÉPREUVE SUR LES TECHNIQUES DE GESTION ET COMPORTANT DES ASPECTS PÉDAGOGIQUES DOMAINE : économie et gestion informatique Durée de préparation
PRODIGE V3. Manuel utilisateurs. Consultation des métadonnées
PRODIGE V3 Manuel utilisateurs Consultation des métadonnées Pour plus d'information sur le dispositif : à remplir par chaque site éventuellement 2 PRODIGE V3 : Consultation des métadonnées SOMMAIRE 1.
DOMMAGE OUVRAGE/CONSTRUCTEUR NON REALISATEUR MARCHE A LOTS SEPARES
MARCHE DE PRESTATION DE SERVICE D ASSURANCES DOMMAGE OUVRAGE/CONSTRUCTEUR NON REALISATEUR MARCHE A LOTS SEPARES CAHIER DES CLAUSES ADMINISTRATIVES PARTICULIERES Procédure adaptée Pouvoir Adjudicateur :
Bases de Données. Stella MARC-ZWECKER. [email protected]. Maître de conférences Dpt. Informatique - UdS
Bases de Données Stella MARC-ZWECKER Maître de conférences Dpt. Informatique - UdS [email protected] 1 Plan du cours 1. Introduction aux BD et aux SGBD Objectifs, fonctionnalités et évolutions
Bases de Données relationnelles et leurs systèmes de Gestion
III.1- Définition de schémas Bases de Données relationnelles et leurs systèmes de Gestion RAPPELS Contraintes d intégrité sous Oracle Notion de vue Typage des attributs Contrainte d intégrité Intra-relation
Bases de données élémentaires Maude Manouvrier
Licence MI2E- 1ère année Outils en Informatique Bases de données élémentaires Maude Manouvrier Définitions générales et positionnement du cours dans la formation Vocabulaire relatif aux bases de données
Bases de données relationnelles : Introduction
Bases de données relationnelles : Introduction historique et principes V. Benzaken Département d informatique LRI UMR 8623 CNRS Université Paris Sud [email protected] https://www.lri.fr/ benzaken/
A QUOI SERVENT LES BASES DE DONNÉES?
BASE DE DONNÉES OBJET Virginie Sans [email protected] A QUOI SERVENT LES BASES DE DONNÉES? Stockage des informations : sur un support informatique pendant une longue période de taille importante accès
SQL Serveur 2012+ Programme de formation. France Belgique Suisse - Canada. Formez vos salariés pour optimiser la productivité de votre entreprise
SQL Serveur 2012+ Programme de formation France Belgique Suisse - Canada Microsoft Partner Formez vos salariés pour optimiser la productivité de votre entreprise Dernière mise à jour le : Avril 2014 Des
PRODIGE V3. Manuel utilisateurs. Consultation des métadonnées
PRODIGE V3 Manuel utilisateurs Consultation des métadonnées Pour plus d'information sur le dispositif : à remplir par chaque site éventuellement 2 PRODIGE V3 : Consultation des métadonnées SOMMAIRE 1.
Utiliser Access ou Excel pour gérer vos données
Page 1 of 5 Microsoft Office Access Utiliser Access ou Excel pour gérer vos données S'applique à : Microsoft Office Access 2007 Masquer tout Les programmes de feuilles de calcul automatisées, tels que
Le langage SQL pour Oracle - partie 1 : SQL comme LDD
Le langage SQL pour Oracle - partie 1 : SQL comme LDD 1 SQL : Introduction SQL : Structured Query Langage langage de gestion de bases de donn ees relationnelles pour Définir les données (LDD) interroger
BIBUS-S pråsentation et fonctionnalitås
BIBUS-S pråsentation et fonctionnalitås De base la centrale dispose de: > 6 zones Ä bord > 8 groupes (8 partitions indåpendantes ou interdåpendantes). > 3 Relais pour siränes extårieures, intårieures et
Plan Général Prévisionnel (1/2) (non contractuel) Internet et Outils L1/IO2 2006-2007 S2-IO2 Bases de données: Jointures, Transactions
Général Prévisionnel (1/2) (non contractuel) Internet et Outils L1/IO2 2006-2007 S2-IO2 Bases de données: Jointures, Cours Internet et Outils: [1/12] Intro, Internet, Web, XHTML (2H) [2/12] XHTML(2H) [3/12]
Introduction aux Bases de Données
Introduction aux Bases de Données I. Bases de données I. Bases de données Les besoins Qu est ce qu un SGBD, une BD Architecture d un SGBD Cycle de vie Plan du cours Exemples classiques d'applications BD
Bases de Données. Le cas des BD relationnelles ouverture sur les BD relationnelles spatiales Séance 2 : Mise en oeuvre
Bases de Données Le cas des BD relationnelles ouverture sur les BD relationnelles spatiales Séance 2 : Mise en oeuvre Synthèse : conception de BD langage de modélisation famille de SGBD SGBD Analyse du
Chapitre 10. Architectures des systèmes de gestion de bases de données
Chapitre 10 Architectures des systèmes de gestion de bases de données Introduction Les technologies des dernières années ont amené la notion d environnement distribué (dispersions des données). Pour reliér
Bases de données Outils de gestion
11/03/2010 Bases de données Outils de gestion Mise en place d outils pour gérer, stocker et utiliser les informations d une recherche biomédicale ent réalisé par L. QUINQUIS d épidémiologie et de biostatistique
Cours SQL. Base du langage SQL et des bases de données
Cours SQL Base du langage SQL et des bases de données Auteur Tony Archambeau Site web http://sql.sh Date 24 mai 2014 Licence Mis à disposition selon les termes de la licence Creative Commons Attribution
CREATION WEB DYNAMIQUE
CREATION WEB DYNAMIQUE IV ) MySQL IV-1 ) Introduction MYSQL dérive directement de SQL (Structured Query Language) qui est un langage de requêtes vers les bases de données relationnelles. Le serveur de
BASES DE DONNÉES. CNAM Centre associé de Clermont-Ferrand Cycle A Année 1997-98. J. Darmont I. INTRODUCTION II. LES SYSTÈMES HIÉRARCHIQUES
BASES DE DONNÉES CNAM Centre associé de Clermont-Ferrand Cycle A Année 1997-98 J. Darmont I. INTRODUCTION II. LES SYSTÈMES HIÉRARCHIQUES III. LES SYSTÈMES RÉSEAU IV. LES SYSTÈMES RELATIONNELS V. LE LANGAGE
Bases de données cours 1
Bases de données cours 1 Introduction Catalin Dima Objectifs du cours Modèle relationnel et logique des bases de données. Langage SQL. Conception de bases de données. SQL et PHP. Cours essentiel pour votre
CONSEIL EN MANAGEMENT ORGANISATION ET SYSTEME D INFORMATION. ALTER ORGA SARL 3 rue Desgenettes 93110 Rosny sous Bois
CONSEIL EN MANAGEMENT ORGANISATION ET SYSTEME D INFORMATION ALTER ORGA SARL 3 rue Desgenettes 93110 Rosny sous Bois Contact : Daniel BERTRAND TÅl : 06 80 03 18 78 E-mail : [email protected]
Concours d accås en 4 Äme annåe du Programme Grande Ecole Examen Type Epreuve de spåcialitå Finance (Master Finance) DurÅe : 3H
Concours d accås en 4 Äme annåe du Programme Grande Ecole Examen Type Epreuve de spåcialitå Finance (Master Finance) DurÅe : 3H Partie I : Gestion financiäre Cas nå 1 Une sociätä späcialisäe dans la production
INTRODUCTION AUX BASES de DONNEES
INTRODUCTION AUX BASES de DONNEES Équipe Bases de Données LRI-Université Paris XI, Orsay Université Paris Sud Année 2003 2004 1 SGBD : Fonctionnalités et Principes Qu est qu une base de données? Un Système
NFA 008. Introduction à NoSQL et MongoDB 25/05/2013
NFA 008 Introduction à NoSQL et MongoDB 25/05/2013 1 NoSQL, c'est à dire? Les bases de données NoSQL restent des bases de données mais on met l'accent sur L'aspect NON-relationnel L'architecture distribuée
MySQL / SQL EXEMPLES
MySQL_exemples_janv04_mpT EXEMPLES 1 MySQL / SQL EXEMPLES Typologie du langage Il est possible d'inclure des requêtes SQL dans un programme écrit dans un autre langage (en langage C par exemple), ainsi
Compétences Business Objects - 2014
Compétences Business Objects - 2014 «Mars-Juin 2014. Réf : Version 1 Page 1 sur 34 Sommaire CONTEXTE DE LA REMISE A NIVEAU EN AUTOFORMATION... 3 1. MODELISATION... 4 1.1 DESCRIPTION FONCTIONNEL DE L'APPLICATION
LES PROCESSUS DE CONTROLE DANS LA STRUCTURATION DE L ORGANISATION TOME 2
UniversitÄ Paris I PanthÄon Sorbonne Sciences Economiques Sciences Humaines Sciences Juridiques et Politiques U.F.R. Gestion et Economie d Entreprise David AUTISSIER Novembre 1997 LES PROCESSUS DE CONTROLE
FORMATION A L UTILISATION DE PMB QUELQUES NOTIONS DE SQL
FORMATION A L UTILISATION DE PMB QUELQUES NOTIONS DE SQL Cette création est mise à disposition selon le Contrat Paternité-Pas d'utilisation Commerciale-Partage des Conditions Initiales à l'identique 2.0
SUPPORT SQL. Thierry GRANDADAM
SUPPORT SQL Thierry GRANDADAM TABLE DE MATIERES 1. PRESENTATION DE SQL...1 1.1. Historique...1 1.2. Mise en œuvre...1 1.3. Les versions...1 2. LES RESEAUX...2 2.1. Les différentes familles...2 2.2. Définition
A QUOI SERVENT LES BASES DE DONNÉES?
BASE DE DONNÉES OBJET Virginie Sans [email protected] A QUOI SERVENT LES BASES DE DONNÉES? Stockage des informations : sur un support informatique pendant une longue période de taille importante accès
Encryptions, compression et partitionnement des données
Encryptions, compression et partitionnement des données Version 1.0 Grégory CASANOVA 2 Compression, encryption et partitionnement des données Sommaire 1 Introduction... 3 2 Encryption transparente des
REFERENTIEL DE CERTIFICATION DU SYSTEME DE GESTION DE LA QUALITE DES EAUX DE BAIGNADE
REFERENTIEL DE CERTIFICATION DU SYSTEME DE GESTION DE LA QUALITE DES EAUX DE BAIGNADE Version 1 : 6 juin 2009 LISTE DES PARTICIPANTS A L ELABORATION DU REFERENTIEL ReprÄsentants des collectivitäs territoriales
CESI Bases de données
CESI Bases de données Introduction septembre 2006 Bertrand LIAUDET EPF - BASE DE DONNÉES - septembre 2005 - page 1 PRÉSENTATION GÉNÉRALE 1. Objectifs généraux L objectif de ce document est de faire comprendre
Bases de données avancées Introduction
Bases de données avancées Introduction Dan VODISLAV Université de Cergy-Pontoise Master Informatique M1 Cours BDA Plan Objectifs et contenu du cours Rappels BD relationnelles Bibliographie Cours BDA (UCP/M1)
PHP 4 PARTIE : BASE DE DONNEES
PHP 4 PARTIE : BASE DE DONNEES 1. Introduction 2. Présentation de MySQL 3. Principe 4. Connexion 5. Interrogation 6. Extraction des données 7. Fonctions de services 8. Traitement des erreurs 9. Travaux
1. Introduction... Page 3. 2. Les principaux atouts du WCC... Page 4. 3. SpÄcificitÄ du catalogue en ligne... Page 5. 4. SpÄcificitÄ du WCC...
Sommaire 1. Introduction... Page 3 2. Les principaux atouts du WCC... Page 4 3. SpÄcificitÄ du catalogue en ligne... Page 5 4. SpÄcificitÄ du WCC... Page 6 5. DÄmonstration... Page 7 6. Tarification...
Construction d un EDD avec SQL 2008 R2. D. Ploix - M2 Miage - EDD - Création
Construction d un EDD avec SQL 2008 R2 Plan Analyse du DW construit Construction de la base DW dans SQL 2008 Construction des tables de faits et dimensions Injection des données Étapes de l injection des
OpenOffice Base Gestionnaire de Base de Données
OpenOffice Base OpenOffice Base Gestionnaire de Base de Données Version 2.3 / 2.4.1 Module d'introduction Document de présentation Contributions : Charles BURRIEL, Pauline CONSTANT, Frédéric PIRARD Jeffrey
Donnez nous le sens, nous vous donnerons la direction
COMPTABLE GESTIONNAIRE Formation de Niveau III HomologuÄ par le MinistÅre de l Emploi, de la CohÄsion Sociale et du Logement Date de publication au Journal officiel : 27/08/2013 Formateur : Michel Lemaire
Systèmes de Gestion de Bases de Données
Systèmes de Gestion de Bases de Données Luiz Angelo STEFFENEL DUT Informatique 2ème année IUT Nancy Charlemagne Vues Vue : une table virtuelle de la base de données dont le contenu est défini par une requête
Plan. Exemple: Application bancaire. Introduction. OCL Object Constraint Language Le langage de contraintes d'uml
OCL Object Constraint Language Le langage de contraintes d'uml Plan 1. Introduction 2. Les principaux concepts d'ocl Object Constraint Language 1 Object Constraint Language 2 Exemple: une application bancaire
Table des matières PRESENTATION DU LANGAGE DS2 ET DE SES APPLICATIONS. Introduction
PRESENTATION DU LANGAGE DS2 ET DE SES APPLICATIONS Depuis SAS 9.2 TS2M3, SAS propose un nouveau langage de programmation permettant de créer et gérer des tables SAS : le DS2 («Data Step 2»). Ces nouveautés
CONTRAT DE MAINTENANCE INFORMATIQUE OPTION :
Entre les soussignäs : CONTRAT DE MAINTENANCE INFORMATIQUE OPTION : La sociätä aidespc immatriculäe au Registre des Entreprises Å CompiÇgne sous le numäro 534757240 repräsentäe en la personne de Monsieur
Initiation à SQL. Le langage de communication avec une base de données relationnelles. Application avec PostgreSQL. Nathalie Camelin 2011/2012
Initiation à SQL Le langage de communication avec une base de données relationnelles Application avec PostgreSQL Nathalie Camelin 2011/2012 Université du Maine Institut Claude Chappe D'après Levy Estève
SQL MAP. Etude d un logiciel SQL Injection
Introduction Ce TP a pour but d analyser un outil d injection SQL, comprendre les vulnérabilités d une BD et de mettre en œuvre une attaque par injection SQL. Prise en main du logiciel SQLMap est un outil
CRÉER UNE BASE DE DONNÉES AVEC OPEN OFFICE BASE
CRÉER UNE BASE DE DONNÉES AVEC OPEN OFFICE BASE 2 ème partie : REQUÊTES Sommaire 1. Les REQUÊTES...2 1.1 Créer une requête simple...2 1.1.1 Requête de création de listage ouvrages...2 1.1.2 Procédure de
Systèmes d information et bases de données (niveau 1)
Systèmes d information et bases de données (niveau 1) Cours N 1 Violaine Prince Plan du cours 1. Bibliographie 2. Introduction aux bases de données 3. Les modèles 1. Hiérarchique 2. Réseau 3. Relationnel
TD n 10 : Ma première Base de Données
TD n 10 : Ma première Base de Données 4 heures Rédigé par Pascal Delahaye 11 mars 2015 Le but de ce TD est de découvrirles principales fonctions d OpenOffice Base, le systèmede gestion de bases de données
Compte-rendu de projet de Système de gestion de base de données
Compte-rendu de projet de Système de gestion de base de données Création et utilisation d'un index de jointure LAMBERT VELLER Sylvain M1 STIC Université de Bourgogne 2010-2011 Reponsable : Mr Thierry Grison
Chapitre 11 Bases de données
L'informatique au lycée Chapitre 11 http://ow.ly/3pd8f Chapitre 11 Bases de données Une base de données (BD) est un ensemble structuré d'informations. Dans le langage courant, le terme peut désigner toute
RÄglement. de fonctionnement. ALJT - SiÄge Social : 18/26 rue Goubet - PARIS
RÄglement de fonctionnement L Association pour le logement des jeunes travailleurs (ALJT) est une association qui œuvre dans le domaine de l Çconomie sociale et qui s est spçcialisçe dans l administration
Mercredi 15 Janvier 2014
De la conception au site web Mercredi 15 Janvier 2014 Loïc THOMAS Géo-Hyd Responsable Informatique & Ingénierie des Systèmes d'information [email protected] 02 38 64 26 41 Architecture Il est
