2A-SI 4 - Bases de Données Langage SQL

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

Download "2A-SI 4 - Bases de Données 4.5 - Langage SQL"

Transcription

1 2A-SI 4 - Bases de Données Langage SQL Stéphane Vialle Bases de Données Langage SQL Facettes de SQL et introduction aux exemples Stephane.Vialle@supelec.fr Avec l aide du cours de Y. Bourda Interrogation de données : SELECT Facettes de SQL SQL : Une syntaxe simple Un langage Déclaratif/Associatif Un seul langage pour l Interrogation, la Manipulation, la Définition et de le Contrôle des données Modification de données : INSERT UPDATE DELETE Gestion des transactions : COMMIT ROLLBACK ALTER CREATE DROP RENAME Contrôle des données : GRANT REVOKE Introduction aux exemples Relation : emp(nom,num,fonction,n_sup,embauche,salaire,comm,n_dept) NOM NUM FONCTION N_SUP EMBAUCHE SAL COMM N_DEPT MAY MAY APR LAMBERT APR JOUBERT president 10-OCT LEBRETON JUN DEC PAQUEL SEP LEFEBVRE JAN GARDARIN MAR SIMON OCT DELOBEL NOV ADIBA OCT CODD SEP LAMERE SEP BALIN OCT SEP Introduction aux exemples Relation : dept(n_dept, nom, lieu) N_DEPT NOM LIEU 10 recherche Rennes 20 vente Metz 30 direction 40 fabrication Toulon Exemple du support du cours 2 relations : «emp» et «dept» Bases de Données Langage SQL Facettes de SQL et introduction aux exemples 1

2 SELECT : Toute l interrogation se fait par la commande «SELECT» Interrogations simples : relativement intuitive SELECT nom, fonction ; Interrogation complexes : puissantes mais demandent de la pratique! LAMBERT JOUBERT LEBRETON PAQUEL LEFEBVRE GARDARIN SIMON DELOBEL ADIBA CODD LAMERE BALIN president SELECT : Toute l interrogation se fait par la commande «SELECT» Grammaire complète de la commande SELECT : SELECT [DISTINCT] {[table.]* expr [alias],...} FROM table [alias] [, table [alias],...] [ WHERE condition] [ CONNECT BY condition [START WITH condition] ] [ GROUP BY expr, expr,...] [HAVING condition] [ {UNION INTERSECTION MINUS} SELECT... ] [ ORDER BY expr posn[desc], expr posn[desc],... ] ; BEAUCOUP DE POSSIBILITEES!! SELECT : 1 - sélection de colonnes ou «projection» SELECT : 1 - sélection de colonnes ou «projection» SELECT nom, fonction ; Nom de la colonne (ou des colonnes) de la projection Nom de la table (ou des tables) Par défaut toutes les lignes sont sélectionnées LAMBERT JOUBERT LEBRETON PAQUEL LEFEBVRE GARDARIN SIMON DELOBEL ADIBA CODD LAMERE BALIN president Utilisation d un «joker» : pas de projection sélection de toute la table SELECT * ; Toutes les colonnes Nom de la table (ou des tables) NOM NUM FONCTION N_SUP EMBAUCHE SAL COMM N_DEPT MAY MAY APR LAMBERT APR JOUBERT president 10-OCT LEBRETON JUN DEC PAQUEL SEP LEFEBVRE JAN GARDARIN MAR SIMON OCT DELOBEL NOV ADIBA OCT CODD SEP LAMERE SEP BALIN OCT SEP Toute la table!! SELECT : 2 - sélection de lignes ou «restriction» Utilisation de prédicats : Exemple simple : SELECT * FROM <nom de table> WHERE <predicat> ; SELECT * WHERE salaire > ; «comparaison d expressions» SELECT : 2 - sélection de lignes ou «restriction» Expressions (définition générale) : une variable = un nom de colonne (Ex : salaire) une constante : numérique : 1, 1.3, 1.3E-5 chaîne de caractères : SALUT ou salut (différentes) date : chaîne de caractères au format : Jour Mois Année JOUBERT president 10-OCT CODD SEP LAMERE SEP chiffres 3 premières lettres du nom anglais Ex : 01-FEB-85 2 derniers chiffres 2

3 SELECT : 2 - sélection de lignes ou «restriction» Prédicat simple : expr1 comp expr2 - comp : =,!=, <, >, <=, >= - expr : numérique, chaîne de caractère, date (ordre chronologique) Autres prédicats simples : - expr1 BETWEEN expr2 AND expr3 - expr1 IN (expr2, expr3, expr4, ) - expr1 LIKE chaîne_avec_jokers : _ : remplace 1 caractère % remplace 0 ou n caractères SELECT nom WHERE nom LIKE M% ; SELECT : 2 - sélection de lignes ou «restriction» Prédicats composés : - Composition de prédicats par AND, OR, NOT - priorité : AND > OR, mais ne pas hésiter à parenthéser SELECT nom, num, fonction, n_dept WHERE (fonction = OR fonction = ) AND n_dept = 10 ; CODD BALIN SELECT : 3 valeur «NULL» Valeur NULL = valeur indéfinie Possible d entrer une ligne sans définir toutes ses colonnes NOM NUM FONCTION N_SUP EMBAUCHE SAL COMM N_DEPT APR LAMBERT APR Attention : contresens possible «expr = NULL» : prédicat toujours FAUX! car : NULL 0 Tester avec : IS NULL et IS NOT NULL : SELECT nom WHERE comm IS NULL ; LAMBERT JOUBERT GARDARIN SIMON DELOBEL ADIBA CODD LAMERE BALIN SELECT : 4 nommage de colonne résultat Table relationelle Table Table relationnelle relationelle SELECT Table relationnelle Il est possible de nommer/renommer les colonnes res. d un SELECT : SELECT nom, salaire "SALAIRE MENSUEL " ; Nom = chaîne de caractères (30 maxi) Inséré à la suite de l expression définissant la colonne Entre " " s il contient des séparateurs ou est un mot clé de SQL Sera le nom de la colonne vis à vis de l extérieur du SELECT SELECT : 5 Classement des résultats d un SELECT Lignes du résultat d un SELECT : ordre quelconque Ordonnable par : ORDER BY {nom/numéro de colonne [DESC]} + Jusqu à 16 critères emboîtables (du + important au important) Par défaut : ordre ascendant, sinon DESCendant SELECT nom, fonction, salaire BALIN ORDER BY fonction, salaire DESC LAMBERT ; LEFEBVRE PAQUEL LEBRETON Tout simplement en spécifiant plusieurs tables après le FROM On peut joindre jusqu à 256 tables en une seule requête SELECT. FROM nom_table1, nom_table2, WHERE ; Jointure d une table à une autre, à elle même, jointure «externe», «équi-jointure», de nombreuses possibilités! Voir les slides suivantes 3

4 Equi-Jointure entre deux tables : jointure avec condition d égalité SELECT emp.nom, lieu, dept WHERE emp.n_dept = dept.n_dept ; Jointure entre tables «emp» et «dept» Equi-Jointure d une table à elle-même : Pourquoi? : pour rassembler des informations venant de 2 lignes différentes Exemple : noms des employés et noms de leurs managers - «n_dept» est un nom de colonne commun aux deux tables : il faut le préfixer par le nom de la table - Idem pour «nom» qui est présent dans les 2 tables Trouve la liste des employés et de leur lieux de travail LAMBERT. Metz Metz SELECT emp.nom, mgr.nom, emp mgr WHERE emp.n_sup = mgr.num Jointure de la table «emp» à elle-même Besoin de renommer la table pour indiquer de quelle ligne vient la colonne citée Ex : (emp.n_sup = mgr.num) Jointure avec autres critères (que l équi-jointure) : Toutes sortes de prédicats sont applicables dans une jointure SELECT. FROM nom_table1, nom_table2, WHERE ; Exemple: SELECT emp.nom, emp.salaire, emp.fonction, emp j WHERE emp.salaire > j.salaire AND j.nom = SIMON ; Recherche les noms, salaires et fonctions des employés gagnant plus que l employé SIMON (Equi-) Jointure «externe» : On cherche le lieu de travail des employés : Sans jointure externe le site de Toulon ne figure pas dans la table réponse (car aucun employé n y travaille!) Avec la jointure externe il sera ajouté à la table : SELECT emp.nom, lieu, dept WHERE emp.n_dept = dept.n_dept ;.. Metz Metz Toulon (Equi-)Jointure «externe» : Il s agit de prendre en compte les lignes d une table n ayant pas eu de correspondance dans les autres tables. Par défaut ces lignes sont éliminés de la jointure. Avec une jointure «externe» elles seront ajoutées au résultat : SELECT emp.nom, lieu, dept WHERE emp.n_dept (+) = dept.n_dept ;. Metz Toulon On ajoute «(+)» au nom de la colonne dont les valeurs ne couvrent pas assez de champ (là où il «manque» des valeurs). SELECT : 7 Opérateurs ensemblistes But : combiner dans un résultat unique des lignes venant d interrogations différentes Opérateurs ensemblistes possibles : Union, Intersection et Différence relationnelle Après projection et avant combinaison, les lignes doivent avoir rigoureusement le même nombre de colonnes avec des types identiques SELECT. {UNION INTERSECT MINUS} SELECT. {UNION INTERSECT MINUS} SELECT. {UNION INTERSECT MINUS} SELECT ; - Evaluation de gauche à droite, parenthésage possible - Les doubles sont éliminés - Nom des colonnes du résultat : ceux du premier SELECT 4

5 Un critère de recherche employé dans une clause WHERE peut être lui-même le résultat d un SELECT Sous-interrogation simple : ramenant une seule valeur SELECT nom WHERE fonction = (SELECT fonction WHERE nom = CODD ) ; Ici la sous-interrogation doit impérativement renvoyer une ligne et une seule! Renvoie les noms des employés ayant la même fonction que Codd Sous-interrogation ramenant plusieurs lignes On utilise un opérateur permettant de comparer une valeur à un ensemble de valeurs : SELECT nom,salaire WHERE salaire > ALL (SELECT salaire WHERE n_dept = 20); Opérateurs utilisables : - IN Renvoie le nom et le salaire des employés gagnant plus que chaque employé du département 20 - Op. classiques (=,!=, >, ) accompagnés de ANY ou ALL ANY : vrai si vrai au moins une fois ALL : vrai si vrai tout le temps Sous-interrogation ramenant plusieurs colonnes On compare une liste de colonnes à un SELECT ramenant une liste de colonnes : SELECT nom,fonction, n_sup WHERE (fonction,n_sup) = (SELECT fonction, n_sup WHERE nom = CODD ); Renvoie les employés ayant même fonction et même supérieur que CODD Sous-interrogation synchronisée avec l interrogation principale : Pour chaque ligne de l interrogation principale on teste tte la 2nd! SELECT nom e WHERE n_dept!= (SELECT n_dept WHERE e.n_sup = num) AND n_sup IS NOT NULL; Renvoie les employés ne travaillant pas dans le même département que leur supérieur - Il faut renommer la table «emp» de l interrogation principale pour pouvoir la référencer dans la sous-interrogation, - «n_sup IS NOT NULL» : dans le cas de JOUBERT n_sup est NULL, la sous-requête ne ramène aucune valeur et le test est tjrs vrai! Sous-interrogation (synchronisée) ramenant au moins 1 ligne : L opérateur EXISTS permet de construire un prédicat vrai si la sous-interrogation qui suit ramène au moins une ligne : SELECT * e WHERE EXISTS (SELECT * WHERE embauche >= 01-jan-94 AND n_dept = e.n_dept) ; Renvoie les employés travaillant dans un département qui a procédé à des embauches depuis le début de l année 94. Sous-interrogation multiples : On peut utiliser plusieurs sous-interrogations dans un même SELECT : par imbrication, ou par combinaison (AND ou OR) SELECT nom, fonction WHERE n_dept = 10 AND fonction IN (SELECT fonction WHERE n_dept = (SELECT n_dept WHERE nom = )); Renvoie la liste des employés du département 10 ayant même fonction que quelqu un du département de. 5

6 SELECT : 9 Détails des expressions et fonctions Les «expressions» sont des ensembles de variables et constantes associées par des opérateurs ou des fonctions. Il existe des expressions : arithmétiques, chaînes de caractères et dates (vu précédemment) Elles peuvent intervenir à divers endroits dans un SELECT : dans un prédicat, mais aussi dans la liste des projections : SELECT nom, salaire+comm ; SELECT nom, salaire,comm WHERE comm <= salaire * 0.5 ; SELECT : 9 Détails des expressions et fonctions Opérateurs arithmétiques : +, -, *, / Fonctions arithmétiques : ABS(arg), CEIL(arg), COS(arg), COSH(arg), EXP(arg), Opérateurs sur les chaînes de caractères : (la concaténation) Fonctions sur les chaînes de caractères : CONCAT(ch1, ch2), LOWER(ch), UPPER(ch),. Opérateurs sur les dates : date +/- nombre : ajoute ou retranche un nombre de jour date2 date1 : calcule le nombre de jours écoulés Fonctions sur les dates : ADD_MONTHS(date,n), LAST_DAY(date), SELECT : 9 Détails des expressions et fonctions Autres fonctions : - GREATEST(expr1, expr2, ) LEAST(expr1, expr2, ) renvoient la plus grande ou la plus petite valeur toutes sont converties au format de la première - NVL(expr1, expr2) renvoie expr1, sauf si elle est indéfinie (NULL), elle renvoie alors expr2 - DECODE(crit, val1, res1, val2, res2, ) si crit vaut val1 alors renvoie res1, sinon si crit vaut val2 alors renvoie res2,. Les fonctions de groupe permettent de faire des calculs sur l ensemble des valeurs d une colonne : SELECT SUM(salaire) WHERE n_dept = 10 ; SELECT nom, fonction, salaire WHERE salaire = (SELECT MAX(salaire) ) ; Renvoie le total des salaires du département 10 Renvoie le nom, la fonction et le salaire de l employé (ou des employés) ayant le salaire le plus élevé Fonctions de groupe disponibles : AVG([DISTINCT ALL] expr) COUNT(* [DISTINCT ALL] expr) MAX([DISTINCT ALL] expr) MIN([DISTINCT ALL] expr) STDDEV([DISTINCT ALL] expr) SUM([DISTINCT ALL] expr) VARIANCE([DISTINCT ALL] expr) : moyenne : compteur : maximum : minimum : écart type : total : variance Domaine d action des fonctions de groupe : En fait ces fonction s appliquent à des colonnes entières de groupes (voir «GROUP BY» ci-après) En l absence de définition de groupes, elle s appliquent aux colonnes de toutes les lignes sélectionnées (comme s il n y avait qu un seul groupe) : SELECT SUM(salaire) WHERE n_dept = 10 ; Un seul groupe : tout ce qui est sélectionné DISTINCT : ne prend en compte que des valeurs distinctes ALL : prend en compte toutes les valeurs Cas des valeurs «NULL» : non prises en compte, exceptées par COUNT(*) 6

7 Définitions de groupes : Un SELECT de groupe (avec GROUP BY) ne donnera qu une ligne par groupe SELECT SUM(salaire), n_dept GROUP BY n_dept ; Que des fonctions de groupe ou des expressions du GROUP BY Utilisation de la clause GROUP BY expr1, expr2, : Parmi les lignes ayant même valeur pour expr1, on regroupe celle ayant même valeur pour expr2, Sélection des groupes : Utilisation de SELECT GROUP BY HAVING HAVING remplace WHERE, mais ne porte que sur des caractéristiques de groupe : - fonction de groupe - expressions présentes dans le GROUP BY SELECT fonction,count(*),avg(salaire) GROUP BY fonction HAVING COUNT(*) > 2; Liste des salaires moyens par fonction ayant plus de deux employés S appliquent groupe par groupe («fonctions de groupes») Sélection des groupes cumulant WHERE et HAVING : 1 Application de WHERE : sélectionne des lignes 2 Application de GROUP BY : constitution des groupes 3 Application de HAVING : sélection des groupes 4 évaluation des fonctions de groupes SELECT n_dept,count(*) Liste des départements avec leur nombres d ingénieurs ou de WHERE fonction in (, ) commerciaux, si et GROUP BY n_dept seulement si ils en ont HAVING COUNT(*) >= 2; plus de 2. Fonctions de groupes à deux niveaux : Dans un SELECT GROUP BY : application possible d une première fonction de groupe SELECT COUNT(*) GROUP BY n_dept ; On a le droit d appliquer une deuxième fonction de groupe au résultat du SELECT GROUP BY SELECT MAX(COUNT(*)) GROUP BY n_dept ; Liste des nombres d employés par département Nombre d employés du département en ayant le plus Sélection de groupes avec sous-interrogation : Une clause HAVING peut faire appel à une sous-interrogation En cumulant les deux derniers exemples, on arrive à : SELECT n_dept,count(*) GROUP BY n_dept HAVING COUNT(*) = (SELECT MAX(COUNT(*)) GROUP BY n_dept) ; Trouve le numéro du (ou des) département qui a le plus d employés et son nombre d employés Bases de Données Langage SQL Facettes de SQL et introduction aux exemples 7

8 : «langage de manipulation de données» En SQL : - INSERT, UPDATE, DELETE : pour modifier les données L entité manipulée est la ligne - COMMIT, ROLLBACK : pour valider ou annuler les transactions L entité manipulé est l ensemble de modifications Ajout de lignes : INSERT INSERT permet d insérer une ligne en spécifiant les valeurs : INSERT INTO nom_table(nom_col1,nom_col2,...) VALUES (val1,val2...) On peut ne pas préciser les noms des colonnes : elles sont alors toutes considérées dans l ordre de la déclaration de la table Ex : insère l employé DUPON avec des valeurs spécifiées : INSERT INTO emp VALUES ('DUPON', 7369, '', 27047, 17-DEC-80, 26000, 2500, 20) ; Ajout de lignes : INSERT On peut aussi insérer des lignes provenant d un SELECT : INSERT INTO nom_table(nom_col1,nom_col2,...) SELECT... Ex : insère les noms et salaires des s dans le tableau bonus INSERT INTO bonus SELECT nom, salaire WHERE fonction = ; Dans tous les cas les colonnes sans valeur spécifiée auront toujours une valeur indéfinie (NULL) Modification de lignes : UPDATE UPDATE permet de modifier les valeurs d une ou plusieurs colonnes dans une ou plusieurs lignes déjà existantes Les nouvelles valeurs peuvent être énoncées par l utilisateur ou provenir d un ou plusieurs SELECT UPDATE nom_table SET nom_col1 = {expression1 ( SELECT...) }, nom_col2 = {expression2 ( SELECT...) } WHERE predicat Ex : augmenter de 10% les salaires des ingénieurs UPDATE emp SET salaire = salaire * 1.1 WHERE fonction = ; Sans clause WHERE : toutes les lignes sont mises à jour Suppression de lignes : DELETE DELETE permet de supprimer une ou plusieurs lignes d une table DELETE FROM nom_table WHERE predicat ; Ex : détruit les lignes des employés travaillant à Rennes DELETE WHERE emp.deptno = (SELECT dept.deptno FROM dept WHERE lieu='rennes'); Doit retourner une valeur et une seule Gestion des transactions : COMMIT et ROLLBACK Une transaction est un ensemble de modifications de la base qui forme un tout indivisible Il faut effectuer ces modifications entièrement ou pas du tout, sous peine de laisser la base dans un état incohérent Les SGBDs permettent aux utilisateurs de gérer leurs transactions : - COMMIT : les modifications de la transaction en cours deviennent définitives et visibles de tous, - ROLLBACK : les modifications de la transaction en cours sont toutes annulées Sans clause WHERE : toutes les lignes sont supprimées 8

9 Bases de Données Langage SQL Facettes de SQL et introduction aux exemples : «langage de définition de données» En SQL : - CREATE, ALTER, DROP, RENAME (création, modification, suppression et renommage de tables) - Définitions de types (des éléments d une colonne) - Définition de contraintes d intégrité On peut aussi définir : - des vues - des indexes - des clusters Définition/Création de tables relationnelles : CREATE TABLE Création simple d une table vide : CREATE TABLE on ne précise que le nom des colonnes et leurs types : CREATE TABLE nom_table (nom_col1 TYPE1, nom_col2 TYPE2,...) A la création, la table sera vide mais un certain espace lui sera alloué On peut préciser si on autorise des valeurs indéfinies ou non Définition/Création de tables relationnelles : CREATE TABLE Création avec insertion de données : CREATE TABLE - SELECT En UN ordre on crée une table et on la remplit avec le résultat d un SELECT CREATE TABLE nom_table [(nom_col1, nom_col2,...)] AS SELECT... Pas nécessaire, sauf si : - on veut changer les noms, - les colonnes sont les résultats d expressions. Les types des colonnes sont spécifiés par les types des colonnes du SELECT Si on veut les changer il faut le faire dans le SELECT Ex: TO_DATE, TO_CHAR, TO_NUMBER Définition/Création de tables relationnelles : CREATE TABLE Spécification de types de données : types disponibles en SQL NUMBER(longueur,[précision]) : entier ou réel : à CHAR(longueur) : chaîne de longueur fixe de 1 à 255 caractères VARCHAR(longueur) : chaîne de longueur variable de 1 à 2000 car. DATE : des dates RAW(longueur) : caractères non imprimables LONG : chaîne de longueur variable de 1 à caractères Attention : bcp de restrictions de manipulation sur les LONG! Définition/Création de tables relationnelles : CREATE TABLE Contraintes d intégrité définies lors de la création de la table : CREATE TABLE nom_table ( nom_col_1 type_1 CONSTRAINT [nom_contrainte_1_1] contrainte_1_1 CONSTRAINT [nom_contrainte_1_2] contrainte_1_2... CONSTRAINT [nom_contrainte_1_m] contrainte_1_m,... nom_col_n type_n CONSTRAINT [nom_contrainte_n_1] contrainte_n_1 CONSTRAINT [nom_contraint_n_2] contrainte_n_2... CONSTRAINT [nom_contrainte_n_q] contrainte_n_q ); Contraintes d intégrité possibles : NOT NULL : pas d éléments indéfinis UNIQUE : chaque ligne a une valeur différente ou indéfinie pour cette col. PRIMARY KEY : chaque ligne a une valeur différente et définie pour cette col FOREIGN KEY : fait référence à une colonne clé d une autre table. CHECK : permet de spécifier les val. acceptables pour une col 9

10 Modification d une table : ALTER TABLE Ajout d une colonne à une table déjà existante : ALTER TABLE nom_table ADD (nom_col1 TYPE1, nom_col2 TYPE2,...) Les lignes existantes auront des valeurs indéfinies sur ces nouvelles colonnes Suppression d une colonne existante : IMPOSSIBLE! on peut la mettre à la valeur NULL plus d espace disque pour la supprimer réellement : - définir une nouvelle table sans la colonne - détruire l ancienne table - renommer la nouvelle table Modification d une table : ALTER TABLE Modification d une colonne déjà existante : il est possible d augmenter la taille d une colonne ; il est possible de diminuer la taille, ou même de changer le type d une colonne vide ; on peut spécifier NOT NULL si la colonne ne contient aucune valeur indéfinie ; on peut spécifier NULL pour autoriser les valeurs indéfinies. Suppression d une table : DROP DROP TABLE nom_table ; Simple La définition et le contenu sont détruits L espace disque est libéré Renommage d une table : RENAME RENAME ancien_nom TO nouveau_nom ; Simple Définition de VUEs : VIEW But : une «VIEW» permet de sauvegarder le résultat d un SELECT, qui est une table mais éphémère Chaque utilisateur peut alors avoir sa vue de la base, et la manipuler comme si c était une table réelle CREATE VIEW emp10 AS SELECT * WHERE n_dept = 10 ; DROP VIEW nom_vue; RENAME ancien_nom TO nouveau_nom; On dispose de certaines des opérations des tables : - création - suppression - renommage 10

Le Langage De Description De Données(LDD)

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,

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

Bases de Données relationnelles et leurs systèmes de Gestion

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

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

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

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

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

Plus en détail

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

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

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

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

Plus en détail

Le langage SQL (première partie) c Olivier Caron

Le langage SQL (première partie) c Olivier Caron Le langage SQL (première partie) 1 Plan Le S.G.B.D. postgres Le langage SQL Langage de manipulation de données Langage de requêtes 2 Quelques mots sur Postgres (1/2) Travaux de Stonebraker (Univ. Berkeley)

Plus en détail

Optimisation SQL. Quelques règles de bases

Optimisation SQL. Quelques règles de bases Optimisation SQL Quelques règles de bases Optimisation des ordres SQL Page 2 1. QUELQUES RÈGLES DE BASE POUR DES ORDRES SQL OPTIMISÉS...3 1.1 INTRODUCTION...3 1.2 L OPTIMISEUR ORACLE...3 1.3 OPTIMISEUR

Plus en détail

TP Contraintes - Triggers

TP Contraintes - Triggers TP Contraintes - Triggers 1. Préambule Oracle est accessible sur le serveur Venus et vous êtes autorisés à accéder à une instance licence. Vous utiliserez l interface d accés SQL*Plus qui permet l exécution

Plus en détail

TP3 : Creation de tables 1 seance

TP3 : Creation de tables 1 seance Universite de Versailles IUT de Velizy - Algorithmique 2005/2006 TP3 : Creation de tables 1 seance Objectif : Creation et modication de tables dans une base de donnees. Avant de commencer ce TP, terminer

Plus en détail

ECR_DESCRIPTION CHAR(80), ECR_MONTANT NUMBER(10,2) NOT NULL, ECR_SENS CHAR(1) NOT NULL) ;

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

Plus en détail

Le langage SQL pour Oracle - partie 1 : SQL comme LDD

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

Plus en détail

Bases de données et sites WEB

Bases de données et sites WEB Bases de données et sites WEB Cours2 : Sécurité et contrôles d accès Anne Doucet 1 Authentification Autorisation Privilèges Rôles Profils Limitations de ressources Plan Audit Contrôle d accès via les vues

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

Partie 0 : Gestion des tablespace et des utilisateurs... 3

Partie 0 : Gestion des tablespace et des utilisateurs... 3 Sommaire Partie 0 : Gestion des tablespace et des utilisateurs... 3 1- Créer deux TableSpaces votre_nom-tbs et Votre_nom-TempTBS :... 3 2. Créer un utilisateur qui porte votre nom :... 3 3. Attribuer à

Plus en détail

Olivier Mondet http://unidentified-one.net

Olivier Mondet http://unidentified-one.net T-GSI Ch.4 Le Langage SQL LDD, LCD Cet exercice guidé reprend le plan suivis lors de l intervention de formation faite pour l académie de Versailles. L objectif principal visait en la présentation du langage

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 Bilan : Des vues à PL/SQL corrigé Anne Vilnat http://www.limsi.fr/individu/anne/cours Plan 1 Cas exemple 2 Les tables... 3 Vues et index 4 Privilèges 5 Fonctions

Plus en détail

CREATION WEB DYNAMIQUE

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

Plus en détail

TD : Requêtes SQL (BDR.TD2-1) INSA 3IF 2008-2009

TD : Requêtes SQL (BDR.TD2-1) INSA 3IF 2008-2009 TD : Requêtes SQL (BDR.TD2-1) INSA 3IF 2008-2009 Loïc Maisonnasse 1 Objectif Ce TD a pour objectif de vous familiariser avec le langage de requêtes SQL. Et de vous apprendre à écrire des requêtes SQL pour

Plus en détail

Plan. Bases de Données. Sources des transparents. Bases de SQL. L3 Info. Chapitre 4 : SQL LDD Le langage de manipulation de données : LMD

Plan. Bases de Données. Sources des transparents. Bases de SQL. L3 Info. Chapitre 4 : SQL LDD Le langage de manipulation de données : LMD Plan Bases de Données L3 Info Céline Rouveirol 2010-2011 Bases de Données 1 / 77 Sources des transparents Bases de Données 2 / 77 Bases de SQL - M.P. Dorville/F. Goasdoué, LRI, Université Paris Sud - V.

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

MySQL / SQL EXEMPLES

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

Plus en détail

Langage propre à Oracle basé sur ADA. Offre une extension procédurale à SQL

Langage propre à Oracle basé sur ADA. Offre une extension procédurale à SQL Cours PL/SQL Langage propre à Oracle basé sur ADA Offre une extension procédurale à SQL PL/SQL permet d utiliser un sous-ensemble du langage SQL des variables, des boucles, des alternatives, des gestions

Plus en détail

FileMaker 13. Guide de référence SQL

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

Plus en détail

ISC21-1 --- Système d Information Architecture et Administration d un SGBD Compléments SQL

ISC21-1 --- Système d Information Architecture et Administration d un SGBD Compléments SQL ISC21-1 --- Système d Information Architecture et Administration d un SGBD Compléments SQL Jean-Marie Pécatte jean-marie.pecatte@iut-tlse3.fr 16 novembre 2006 ISIS - Jean-Marie PECATTE 1 Valeur de clé

Plus en détail

Intégrité des données

Intégrité des données . Contraintes d intégrité : Définition et objectif Intégrité des données Définition des contraintes Vérification des contraintes Contrainte d'intégrité : propriété sémantique que doivent respecter les

Plus en détail

Bases de données Cours 4 : Le langage SQL pour ORACLE

Bases de données Cours 4 : Le langage SQL pour ORACLE Cours 4 : Le langage SQL pour ORACLE POLYTECH Université d Aix-Marseille odile.papini@univ-amu.fr http://odile.papini.perso.esil.univmed.fr/sources/bd.html Plan du cours 1 Introduction 2 Identificateurs

Plus en détail

Mejdi BLAGHGI & Anis ASSÈS

Mejdi BLAGHGI & Anis ASSÈS Ministère de l Enseignement Supérieur, de la Recherche Scientifique et de la Technologie Direction Générale des Etudes Technologiques Institut Supérieur des Etudes Technologiques de Djerba Support de Cours

Plus en détail

Création et Gestion des tables

Création et Gestion des tables Création et Gestion des tables Version 1.0 Z Grégory CASANOVA 2 Sommaire 1 Introduction... 3 2 Pré-requis... 4 3 Les tables... 5 3.1 Les types de données... 5 3.1.1 Les types de données Sql Server... 5

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 sous SqlServer OLIVIER D. DEHECQ Olivier http://www.entraide-info.fr 0

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

Plus en détail

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

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

Plus en détail

Université de Nice Sophia-Antipolis. Langage SQL. version 5.7 du polycopié. Richard Grin

Université de Nice Sophia-Antipolis. Langage SQL. version 5.7 du polycopié. Richard Grin Université de Nice Sophia-Antipolis Langage SQL version 5.7 du polycopié Richard Grin 4 janvier 2008 Table des matières Présentation du polycopié vi 1 Introduction 1 1.1 Présentation de SQL.......................

Plus en détail

OFPPT ISTA BM. Base de données. Filière : TSTDI

OFPPT ISTA BM. Base de données. Filière : TSTDI ROYAUME DU MAROC Office de la Formation Professionnelle et de la Promotion du Travail INSTITUT SUPERIEUR DE GESTION ET D INFORMATIQUE OFPPT ISTA BM Filière : TSTDI MODULE Base de données Année Scolaire

Plus en détail

Compétences Business Objects - 2014

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

Plus en détail

Partie II Cours 3 (suite) : Sécurité de bases de données

Partie II Cours 3 (suite) : Sécurité de bases de données Partie II Cours 3 (suite) : Sécurité de bases de données ESIL Université de la méditerranée Odile.Papini@esil.univ-mrs.fr http://odile.papini.perso.esil.univmed.fr/sources/ssi.html Plan du cours 1 Introduction

Plus en détail

Durée : 4 heures Le sujet se présente sous la forme de deux dossiers indépendants

Durée : 4 heures Le sujet se présente sous la forme de deux dossiers indépendants ÉPREUVE E5 : ANALYSE DE GESTION ET ORGANISATION DU SYSTÈME D INFORMATION Durée : 4 heures Le sujet se présente sous la forme de deux dossiers indépendants Page de garde... p 1 Présentation de l entreprise...

Plus en détail

Système de Gestion de Bases de Données Relationnelles. MySQL. Youssef CHAHIR

Système de Gestion de Bases de Données Relationnelles. MySQL. Youssef CHAHIR Système de Gestion de Bases de Données Relationnelles MySQL Youssef CHAHIR 1 PLAN Introduction Démarrer MySQL Syntaxe de MySQL Types des attributs Identificateurs Effectuer des requêtes Fonctions de MySQL

Plus en détail

Notes de cours : bases de données distribuées et repliquées

Notes de cours : bases de données distribuées et repliquées Notes de cours : bases de données distribuées et repliquées Loïc Paulevé, Nassim Hadj-Rabia (2009), Pierre Levasseur (2008) Licence professionnelle SIL de Nantes, 2009, version 1 Ces notes ont été élaborées

Plus en détail

Administration des bases de données. Jean-Yves Antoine http://www.info.univ-tours.fr/~antoine/

Administration des bases de données. Jean-Yves Antoine http://www.info.univ-tours.fr/~antoine/ Administration des bases de données Jean-Yves Antoine http://www.info.univ-tours.fr/~antoine/ Administration des bases de données II Objets avancés dans les bases de données OBJECTIFS 2.1. NOTIONS 2.1.1.

Plus en détail

INSTITUT NATIONAL DES TELECOMMUNICATIONS CONTROLE DES CONNAISSANCES. 2. Les questions sont indépendantes les unes des autres.

INSTITUT NATIONAL DES TELECOMMUNICATIONS CONTROLE DES CONNAISSANCES. 2. Les questions sont indépendantes les unes des autres. INSTITUT NATIONAL DES TELECOMMUNICATIONS CONTROLE DES CONNAISSANCES Durée : 1h30 Date : 17/05/2006 Coordonnateurs : Amel Bouzeghoub et Bruno Defude Documents autorisés : ceux distribués en cours Avertissements

Plus en détail

A QUOI SERVENT LES BASES DE DONNÉES?

A QUOI SERVENT LES BASES DE DONNÉES? BASE DE DONNÉES OBJET Virginie Sans virginie.sans@irisa.fr 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

Plus en détail

Corrigés détaillés des exercices

Corrigés détaillés des exercices Corrigés détaillés des exercices Diagramme des tables objet La figure suivante vous aidera dans la compréhension des manipulations des objets de la base. Client_type Client num nom adresse {telephone_vry}

Plus en détail

Encryptions, compression et partitionnement des données

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

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

ORACLE 10G DISTRIBUTION ET REPLICATION. Distribution de données avec Oracle. G. Mopolo-Moké prof. Associé UNSA 2009/ 2010

ORACLE 10G DISTRIBUTION ET REPLICATION. Distribution de données avec Oracle. G. Mopolo-Moké prof. Associé UNSA 2009/ 2010 ORACLE 10G DISTRIBUTION ET REPLICATION Distribution de données avec Oracle G. Mopolo-Moké prof. Associé UNSA 2009/ 2010 1 Plan 12. Distribution de données 12.1 Génération des architectures C/S et Oracle

Plus en détail

Cours SQL. Base du langage SQL et des bases de données

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

Plus en détail

Support de cours «SGBD»

Support de cours «SGBD» Direction Générale Institut Supérieur des Des Etudes Technologiques Etudes ******** DGET ******* Technologiques du Kef Support de cours «SGBD» Réalisé par : BOUKCHIM Mosaab (AT-Iset de Kef) HOSNI Anis

Plus en détail

Systèmes de Gestion de Bases de Données

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

Plus en détail

Licence de MIDO - 3ème année Spécialités Informatique et Mathématiques Appliquées

Licence de MIDO - 3ème année Spécialités Informatique et Mathématiques Appliquées Licence de MIDO - 3ème année Spécialités Informatique et Mathématiques Appliquées ANNEE 2014 / 2015 Désignation de l enseignement : Bases de données Nom du document : TP SQL sous PostgreSQL Rédacteur :

Plus en détail

PHP. Bertrand Estellon. 26 avril 2012. Aix-Marseille Université. Bertrand Estellon (AMU) PHP 26 avril 2012 1 / 214

PHP. Bertrand Estellon. 26 avril 2012. Aix-Marseille Université. Bertrand Estellon (AMU) PHP 26 avril 2012 1 / 214 PHP Bertrand Estellon Aix-Marseille Université 26 avril 2012 Bertrand Estellon (AMU) PHP 26 avril 2012 1 / 214 SQLite et PDO Base de données SQLite et PDO SQLite écrit les données relatives à la base dans

Plus en détail

Durée : 4 heures coefficient : 4 Le sujet se présente sous la forme de deux dossiers indépendants

Durée : 4 heures coefficient : 4 Le sujet se présente sous la forme de deux dossiers indépendants ÉPREUVE E5 : ANALYSE DE GESTION ET ORGANISATION DU SYSTÈME D INFORMATION Durée : 4 heures coefficient : 4 Le sujet se présente sous la forme de deux dossiers indépendants Page de garde... p 1 Présentation

Plus en détail

Bases de données. Yamine AIT AMEUR. INPT-ENSEEIHT DIMA 2 Rue Charles Camichel 31071 Toulouse Cedex 7

Bases de données. Yamine AIT AMEUR. INPT-ENSEEIHT DIMA 2 Rue Charles Camichel 31071 Toulouse Cedex 7 Bases de données Yamine AIT AMEUR INPT-ENSEEIHT DIMA 2 Rue Charles Camichel 31071 Toulouse Cedex 7 Première partie Introduction 1 Généralités et notions de base Première partie Introduction 1 Généralités

Plus en détail

Résumé S Q L. Auteur: Alexandre PATIN Edition: 22 février 2000 E-mail : alexandre.patin@free.fr URL : http://alexandre.patin.free.

Résumé S Q L. Auteur: Alexandre PATIN Edition: 22 février 2000 E-mail : alexandre.patin@free.fr URL : http://alexandre.patin.free. Résumé S Q L Auteur: Alexandre PATIN Edition: 22 février 2000 E-mail : alexandre.patin@free.fr URL : http://alexandre.patin.free.fr/ Toute reproduction, même partielle, par quelque procédé que ce soit,

Plus en détail

Impact on revenue requirements no Description (000$)

Impact on revenue requirements no Description (000$) IMPACT OF THE CHANGE IN COST OF GAS ON THE REVENUE REQUIREMENT RESULTING FROM THE 2010 VOLUMES COMPONENTS: Transportation, load balancing and commodity 2010 RATE CASE Impact on revenue Line requirements

Plus en détail

Introduction aux Bases de Données 2004/2005

Introduction aux Bases de Données 2004/2005 Introduction aux Bases de Données 2004/2005 Chapitre 6: Le langage SQL Ecole Nationale Supérieur de Physique de Strasbourg Christian Wolf christian.wolf@ensps.u-strasbg.fr 6.1 Stockage physique Film numfil

Plus en détail

Intégrité sémantique dans les bases de données relationnelles

Intégrité sémantique dans les bases de données relationnelles Intégrité sémantique dans les bases de données relationnelles 1 - Intégrité sémantique Bernard ESPINASSE Professeur à Aix-Marseille Université (AMU Ecole Polytechnique Universitaire de Marseille Fev. 2013

Plus en détail

I. MySQL : Serveur et SGBD

I. MySQL : Serveur et SGBD Le Système de Gestion de Base de Données MySQL I. MySQL : Serveur et SGBD Menu I. MySQL : Serveur et SGBG II. Création d'une base de données avec MySQL MySQL est un système de gestion et conception de

Plus en détail

Les BASES de DONNEES dans WampServer

Les BASES de DONNEES dans WampServer Les BASES de DONNEES dans WampServer 1 Définitions Générales Une base de données (BDD) permet d'enregistrer, de stocker, de ranger des données de façon organisée et hiérarchisée. SQL est le langage qui

Plus en détail

PHP 5. La base de données MySql. A. Belaïd 1

PHP 5. La base de données MySql. A. Belaïd 1 PHP 5 La base de données MySql A. Belaïd 1 Base de données C est quoi une base de données? Une base de données contient une ou plusieurs tables, chaque table ayant un ou plusieurs enregistrements Exemple

Plus en détail

Devoir Data WareHouse

Devoir Data WareHouse Université Paris XIII Institut Galilée Master 2-EID BENSI Ahmed CHARIFOU Evelyne Devoir Data WareHouse Optimisation, Transformation et Mise à jour utilisées par un ETL Mr R. NEFOUSSI Année 2007-2008 FICHE

Plus en détail

Historisation des données

Historisation des données Historisation des données Partie 1 : mode colonne par Frédéric Brouard, alias SQLpro MVP SQL Server Expert langage SQL, SGBDR, modélisation de données Auteur de : SQLpro http://sqlpro.developpez.com/ "SQL",

Plus en détail

SQL Server ressource SOMMAIRE

SQL Server ressource SOMMAIRE SOMMAIRE 1 Concepts base de données relationnelles---------------------------------------------------------- 7 1.1 Domaine, attribut & relation --------------------------------------------------------------------------------7

Plus en détail

Auto-évaluation Oracle: cours de base

Auto-évaluation Oracle: cours de base Auto-évaluation Oracle: cours de base Document: F0475Test.fm 14/01/2008 ABIS Training & Consulting P.O. Box 220 B-3000 Leuven Belgium TRAINING & CONSULTING INTRODUCTION AUTO-ÉVALUATION ORACLE: COURS DE

Plus en détail

SQL. Oracle. pour. 4 e édition. Christian Soutou Avec la participation d Olivier Teste

SQL. Oracle. pour. 4 e édition. Christian Soutou Avec la participation d Olivier Teste Christian Soutou Avec la participation d Olivier Teste SQL pour Oracle 4 e édition Groupe eyrolles, 2004, 2005, 2008, 2010, is BN : 978-2-212-12794-2 Partie III SQL avancé La table suivante organisée en

Plus en détail

Partie I : Créer la base de données. Année universitaire 2008/2009 Master 1 SIIO Projet Introduction au Décisionnel, Oracle

Partie I : Créer la base de données. Année universitaire 2008/2009 Master 1 SIIO Projet Introduction au Décisionnel, Oracle Année universitaire 2008/2009 Master 1 SIIO Projet Introduction au Décisionnel, Oracle Ce projet comporte trois parties sur les thèmes suivants : création de base de donnée, requêtes SQL, mise en œuvre

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 12 : Concurrence d accès Anne Vilnat http://www.limsi.fr/individu/anne/cours Plan 1 Accès concurrents Définitions Verrous Collisions Niveaux de cohérence Blocage

Plus en détail

Gestion des utilisateurs et de leurs droits

Gestion des utilisateurs et de leurs droits Gestion des utilisateurs et de leurs droits Chap. 12, page 323 à 360 Lors de la création d'un utilisateur vous devez indiquer son nom, ses attributs, son profil, la méthode d'authentification (par le SE

Plus en détail

CHAPITRE 4 POLITIQUES DE CONTRÔLES DES ACCÈS SOUS ORACLE ADMINISTRATION ET TUNING DE BASES DE DONNÉES 10/05/2015 RESPONSABLE DR K.

CHAPITRE 4 POLITIQUES DE CONTRÔLES DES ACCÈS SOUS ORACLE ADMINISTRATION ET TUNING DE BASES DE DONNÉES 10/05/2015 RESPONSABLE DR K. Université des sciences et de la Technologie Houari Boumediene USTHB Alger Département d Informatique CHAPITRE 4 ADMINISTRATION ET TUNING DE BASES DE DONNÉES RESPONSABLE DR K. BOUKHALFA POLITIQUES DE CONTRÔLES

Plus en détail

1. Base de données SQLite

1. Base de données SQLite Dans ce TP, nous allons voir comment créer et utiliser une base de données SQL locale pour stocker les informations. La semaine prochaine, ça sera avec un WebService. On repart de l application AvosAvis

Plus en détail

SGBDR. Systèmes de Gestion de Bases de Données (Relationnelles)

SGBDR. Systèmes de Gestion de Bases de Données (Relationnelles) SGBDR Systèmes de Gestion de Bases de Données (Relationnelles) Plan Approches Les tâches du SGBD Les transactions Approche 1 Systèmes traditionnels basés sur des fichiers Application 1 Gestion clients

Plus en détail

Support de cours. Introduction à SQL et MySQL. 2003, Sébastien Namèche (sebastien@nameche.fr)

Support de cours. Introduction à SQL et MySQL. 2003, Sébastien Namèche (sebastien@nameche.fr) Support de cours Introduction à SQL et MySQL 2003, Sébastien Namèche (sebastien@nameche.fr) Licence de Libre Diffusion des Documents -- LLDD version 1 (Par Bernard Lang, http://pauillac.inria.fr/~lang/licence/lldd.html)

Plus en détail

NFA 008. Introduction à NoSQL et MongoDB 25/05/2013

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

Plus en détail

Module Administration BD Chapitre 1 : Surcouche procédurale dans les SGBDS

Module Administration BD Chapitre 1 : Surcouche procédurale dans les SGBDS Module Administration BD Chapitre 1 : Surcouche procédurale dans les SGBDS 1. Introduction Nous allons aborder la notion de surcouche procédurale au sein des SGBDS relationnels tels que Oracle (PLSQL)

Plus en détail

Cours 3. Développement d une application BD. DBA - Maîtrise ASR - Université Evry

Cours 3. Développement d une application BD. DBA - Maîtrise ASR - Université Evry Cours 3 Développement d une application BD 1 Plan du cours Gestion de la sécurité des données Optimisation des schémas de bases via la dénormalisation Utilisation de vues Placement du code applicatif dans

Plus en détail

SUPPORT SQL. Thierry GRANDADAM

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

Plus en détail

Cours 4 : Agrégats et GROUP BY

Cours 4 : Agrégats et GROUP BY Cours 4 : Agrégats et GROUP BY Agrégat Fonction qui effectue un calcul sur l ensemble des valeurs d un attribut pour un groupe de lignes Utilisation dans une clause SELECT ou dans une clause HAVING 3 types

Plus en détail

Gestion de base de données

Gestion de base de données Université Libre de Bruxelles Faculté de Philosophie et Lettres Département des Sciences de l Information et de la Communication Gestion de base de données Projet : Take Off ASBL Cours de M. A. Clève STIC-B-505

Plus en détail

Les Triggers SQL. Didier DONSEZ. Université de Valenciennes Institut des Sciences et Techniques de Valenciennes donsez@univ-valenciennes.

Les Triggers SQL. Didier DONSEZ. Université de Valenciennes Institut des Sciences et Techniques de Valenciennes donsez@univ-valenciennes. Les Triggers SQL Didier DONSEZ Université de Valenciennes Institut des Sciences et Techniques de Valenciennes donsez@univ-valenciennes.fr 1 Sommaire Motivations Trigger Ordre Trigger Ligne Condition Trigger

Plus en détail

16H Cours / 18H TD / 20H TP

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

Plus en détail

I4 : Bases de Données

I4 : Bases de Données I4 : Bases de Données Passage de UML au modèle relationnel Georges LOUIS Département Réseaux et Télécommunications Université de La Rochelle Module I4 2008-2009 1 G.Louis Sommaire 1 Des classes aux tables

Plus en détail

Gestion des transactions et accès concurrents dans les bases de données relationnelles

Gestion des transactions et accès concurrents dans les bases de données relationnelles Gestion des transactions et accès concurrents dans les bases de données relationnelles Bernard ESPINASSE Professeur à Aix-Marseille Université (AMU) Ecole Polytechnique Universitaire de Marseille Fev.

Plus en détail

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

Plus en détail

1 Position du problème

1 Position du problème Licence Science et Technologies - INF245 Examen session 1 - mai 2012 Durée : 2 heures Documents non autorisés Le barème est donné à titre indicatif 1 Position du problème Le Club Universitaire de Vélo

Plus en détail

Chapitre 3 LE MODELE RELATIONNEL ET SQL (DDL)

Chapitre 3 LE MODELE RELATIONNEL ET SQL (DDL) Chapitre 3 LE MODELE RELATIONNEL ET SQL (DDL) Un modèle de données définit un mode de représentation de l information selon trois composantes : 1. Des structures de données. 2. Des contraintes qui permettent

Plus en détail

A QUOI SERVENT LES BASES DE DONNÉES?

A QUOI SERVENT LES BASES DE DONNÉES? BASE DE DONNÉES OBJET Virginie Sans virginie.sans@irisa.fr 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

Plus en détail

WEB DEVELOPER SGBD SYSTEME DE GESTION DE BASES DE DONNEES L étudiant sera capable :

WEB DEVELOPER SGBD SYSTEME DE GESTION DE BASES DE DONNEES L étudiant sera capable : BES WEBDEVELOPER - SYSTEME DE GESTION DE BASES DE DONNEES - 5XBDR-1 1 WEB DEVELOPER SGBD SYSTEME DE GESTION DE BASES DE DONNEES L étudiant sera capable : dans le cadre de mise en situations simples et

Plus en détail

Bases de données. Mihaela Mathieu

Bases de données. Mihaela Mathieu Bases de données 2004-2005 Mihaela Mathieu mathieu@emse.fr Objectifs : comprendre et maîtriser les fonctions d un SGBD relationnel (Oracle et MySQL) connaître le langage SQL savoir développer une application

Plus en détail

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

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]

Plus en détail

MySQL avec Mac OS X. Quelques manipulations avec le terminal sont nécessaires si une version de MySQL est déjà lancée:

MySQL avec Mac OS X. Quelques manipulations avec le terminal sont nécessaires si une version de MySQL est déjà lancée: MySQL avec Mac OS X MySQL est un moteur de bases de données relationnelles (SGBDR système de gestion de bases de données relationnelles) basé sur le langage SQL. Il s'agit d'un langage normalisé de requêtes

Plus en détail

Introduction à JDBC. Accès aux bases de données en Java

Introduction à JDBC. Accès aux bases de données en Java Introduction à JDBC Accès aux bases de données en Java Eric Cariou Université de Pau et des Pays de l'adour Département Informatique Eric.Cariou@univ-pau.fr 1 Introduction JDBC : Java Data Base Connectivity

Plus en détail

Bases de Données Avancées

Bases de Données Avancées 1/62 Bases de Données Avancées Introduction & Rappel Conception et Modélisation Thierry Hamon Bureau H202 - Institut Galilée Tél. : 33 1.48.38.35.53 Bureau 150 LIM&BIO EA 3969 Université Paris 13 - UFR

Plus en détail

LE LANGAGE SQL2 1. INTRODUCTION

LE LANGAGE SQL2 1. INTRODUCTION LE LANGAGE SQL2 1. INTRODUCTION Les serveurs de données relationnels présentent aujourd hui une interface externe sous forme d un langage de recherche et mise à jour, permettant de spécifier les ensembles

Plus en détail

BTS/CGO P10 SYSTEME INFORMATION Année 2012-2013

BTS/CGO P10 SYSTEME INFORMATION Année 2012-2013 BTS/CGO P10 SYSTEME INFORMATION Année 2012-2013 TS2 CGO 7 mars 2013 2 heures Aucun document autorisé Calculatrice autorisée Nota : Il vous est demandé d apporter un soin particulier à la présentation de

Plus en détail

Vincent Augusto 2010-2011

Vincent Augusto 2010-2011 le des Systèmes Vincent Augusto École Nationale Supérieure des Mines de Saint-Étienne 2010-2011 Un 1/73 le des Un 2/73 1 2 3 4 le 5 6 7 8 Un le des Un 3/73 Contenu du cours : Techniques pour l analyse

Plus en détail