Le Langage SQL. - les instructions de LCD (Langage de Contrôle de Données ) permettant la gestion des autorisations d'accès aux données de la base.

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

Download "Le Langage SQL. - les instructions de LCD (Langage de Contrôle de Données ) permettant la gestion des autorisations d'accès aux données de la base."

Transcription

1 Le Langage SQL 1 - Introduction Conçu dans les années 70 par IBM, le langage S.Q.L. (Structured Query Language) fut choisi par le comité ANSI comme standard d'interrogation de bases de données relationnelles. Il a fait ensuite l'objet d'une normalisation en 1986, puis d'une révision en 1989, et enfin une dernière en 1992 ( SQL-2). Il est actuellement utilisé par l'ensemble des serveurs de type relationnel, ainsi que sur les micro ordinateurs., mais malgré l'existence d'une norme, chaque implémentation de SQL constitue une version particulière. Ce langage permet de communiquer avec une base de données relationnelle au moyen de requêtes. Il est proche de l'anglais, puissant et facile à manipuler. Ses requêtes peuvent être : - soit soumises à un terminal, en mode interactif : chaque requête émise est alors exécutée "en direct", et son résultat renvoyé immédiatement après exécution, - soit intégrées dans un langage de programmation ( Cobol, C, VB, PL SQL), appelé alors "langage hôte". (Cf cours de 2 nde année) SQL est basé sur les concepts suivants : - table : pour désigner une relation - colonne : désigner les attributs (rubriques) de la table - ligne : pour désigner les occurrences de la table. - domaine: (en SQL2 uniquement), et non obligatoire, pour désigner les domaines de définition des données d'une table. SQL est un langage non procédural, où l'utilisateur spécifie ce qu'il recherche et non comment y parvenir. C'est au SGBD de déterminer le chemin d'accès aux données. Il existe trois types d'instructions : - les instructions de LDD (Langage de Définition de Données) permettant la déclaration, la modification et la suppression de tables, et la création d'index. - les instructions de LMD (Langage de Manipulation de Données) permettant l'insertion, la suppression et la mise à jour des données d'une table, ainsi que leur interrogation. - les instructions de LCD (Langage de Contrôle de Données ) permettant la gestion des autorisations d'accès aux données de la base. S Q L DEFINITION MANIPULATION CONTROLE Create Alter Drop Select Insert Update Delete Grant Revoke Commit Rollback Le Langage SQL 1

2 2 - Instructions de manipulation des données 2.1 Select Format: SELECT [DISTINCT] nom-col1 [,noml-col2 ] FROM nom-table1 [nom-table2 ] [ WHERE [ conditions de sélection ] [ AND expressions de jointure ] ] [ GROUP BY nomcol1 [ nom-col2 ] [ HAVING [ conditions de sélection] ]] [ORDER BY [Desc] nom-col1 [,nom-col2 ] [Desc]] Fonction : extraire des données de une ou plusieurs tables, au moyen des différentes opérations relationnelles telles que la projection, la sélection, la jointure et la division., grâce à différentes clauses ou mots clefs : Les clauses de base - SELECT : énumère les champs projetés par la requête. Si tous les champs d'une table doivent être projetés, on peut remplacer leur énumération par une *. La clause Distinct, facultative, permet de faire afficher toutes les lignes différentes d'une table, et élimine ainsi les informations redondantes. Il est possible d'effectuer des calculs entre les champs, et éventuellement avec des constantes, en utilisant les opérateurs arithmétiques classiques : +, -, / et * - FROM : énumère toutes les tables d'où proviennent les colonnes mentionnées dans toutes les clauses de la requête. - WHERE : énumère les jointures et les conditions de sélection. * Les jointures entre les différentes tables expriment une relation entre une clef étrangère d'une table et la clef primaire d'une autre table à laquelle elle fait référence. Select nom-col1 [,nom-col2]... From nom-table1, nom-table2, [,nom-table «n»]. Where nom-table1.col = nom-table2.col And nom-table3.col =.. ; Remarques : - «l'équi-jointure» correspond à l'opération de jointure basée sur l'égalité, - «la non équi-jointure» (ou «théta-jointure») est une jointure utilisant un opérateur du type <, >, <> ou!=. Le Langage SQL 2

3 - lorsque la jointure nécessite l'utilisation de deux colonnes de deux tables différentes, si celles-ci portent le même nom, on fait précéder le nom de la colonne par le nom de la table. Cette marque porte le nom d'alias. (table.colonne) * Les sélections peuvent être exprimées au moyen de différents opérateurs tels que : - les opérateurs de comparaison : =, <, <=, >, >=, <> - ou des opérateurs spécifiques SQL : between, like, in between : indique les valeurs de deux bornes (incluses). Where nom-colonne [Not] Between val1 AND val2 like : compare les valeurs d'un attribut (colonne) et une chaîne de caractères. Dans la chaîne de caractères, il est possible d'utiliser deux caractères spéciaux : % : représente une «sous-chaîne» de longueur variable (* avec Access). _ : représente un caractère (? avec Access). Where nom-colonne [Not] Like 'chaîne-car. [ % ' ]' _ ' in : teste si les valeurs d'un attribut (colonne) se trouvent dans la liste de valeurs citée à la suite de l'opérateur. Where nom-colonne [Not] In (liste de valeurs) Remarques : - Avec ces 3 opérateurs, l'opérateur Not permet d'obtenir la condition inverse. - Les différentes conditions de sélection peuvent être reliées par les opérateurs logiques : AND, OR et NOT. - ORDER BY : indique l'ordre dans lequel les informations seront affichées. Par défaut, un tri est réalisé sur les valeurs ascendantes de la colonne. Desc : descending, trie les valeurs par ordre décroissant. Les noms des colonnes cités pour le tri ne sont pas obligatoirement indiqués dans la clause Select. Exemples : Liste des produits dont le prix est compris entre 300 et 500. SELECT * FROM PRODUIT WHERE Prix BETWEEN 300 AND 500; Liste des clients des villes suivantes : Bordeaux, Paris et Toulouse. SELECT * FROM CLIENT WHERE Ville IN "BORDEAUX","PARIS","TOULOUSE"); Liste des clients dont le nom se termine par les lettres "END". Le Langage SQL 3

4 SELECT * FROM CLIENT WHERE Nom LIKE "%END"; Les Fonctions d agrégat Select Nom-Fonction (nom-col) [ AS nom-résultat] From nom-table1, Where ; Fonction : ce type de requête effectue un calcule une fonction sur une colonne d'une table et retourne le résultat. Le résultat renvoyé par cette requête est donc un nombre, qui peut être renommé grâce à un alias, par le mot AS. SQL dispose des fonctions suivantes : AVG (nom-colonne) : calcule la moyenne arithmétique des données de la colonne spécifiée. SUM (nom-colonne) : calcule la somme des données de la colonne spécifiée. MIN (nom-colonne) : renvoie un nombre correspondant à la valeur minimale contenue dans la colonne spécifiée. MAX (nom-colonne) : renvoie un nombre correspondant à la valeur maximale contenue dans la colonne spécifiée. COUNT(*) : compte le nombre total de lignes d'une table. COUNT ([Distinct] nom-colonne) : compte le nombre total de lignes de la table en fonction de la colonne spécifiée. La clause «Distinct» permet de compter le nombre de lignes différentes de la colonne spécifiée (en excluant donc les homonymes ou les égalités). Exemples : Montant total du stock. SELECT SUM(Prix*Stock) FROM PRODUIT ; Nombre de produits, prix maximum, prix minimum et prix moyen SELECT COUNT(DISTINCT NumProd), MAX(Prix), MIN(Prix), AVG(Prix) FROM PRODUIT; Le Langage SQL 4

5 Les calculs avec regroupement GROUP BY nom-col : regroupe les lignes d'une table ayant même(s) valeur(s) au niveau des colonnes spécifiées. Cette clause s'utilise toujours combinée avec une fonction. Les colonnes mentionnées dans la clause Group by doivent obligatoirement être indiquées dans la ligne Select.... Group by nom-col1 [,nom-col2]... HAVING : exprime une condition de sélection sur le résultat de la fonction. ( Elle a la même action que la clause Where sur les lignes d'une table.) Elle doit être obligatoirement utilisée avec la clause «Group by». Il est impossible d'utiliser dans la clause Having un alias donné à une colonne par As. And... Having condit.1 [ Or condit.2 ]... Not Exemple : Montant de toutes les commandes contenant plus de trois lignes. SELECT NumCde, SUM(QtéCdée * Prix) FROM LIGNE_CDE X, PRODUIT Y WHERE X.NumProd= Y.NumProd GROUP BY NumCde HAVING COUNT(*) > 3 ; Le Langage SQL 5

6 2.2 - Insert into Insert into nom-table [(nom-col1 [,nom-col2 ]... )] values (valeur1 [,valeur2]...); Fonction : ajoute une ligne à la fin d'une table. Remarques : - si les noms des colonnes ne sont pas indiqués cela signifie que toutes sont concernées. - il doit y avoir compatibilité entre les valeurs introduites et les types et longueurs des attributs. - cette commande peut être utilisée pour recopier une ou plusieurs lignes en provenance d'une autre table. Insert into nom-table [(nom-col.1 [,nom-col.2 ]... )] Select... From... Where Update Update nom-table Set nom-col1 = nouvelle-valeur1 [,nom-col2 = nouvelle-valeur2 ] [ Where conditions ]; Fonction : modifie une ou plusieurs valeurs de colonnes d'une ou plusieurs lignes d'une table. Exemple : Augmentation de tous les prix de 2 %. UPDATE PRODUIT SET Prix = Prix * 1,02; 2.4 Delete from Delete from nom-table Where conditions ; Fonction : supprime une ou plusieurs lignes de données d'une table. Exemple : Suppression de tous les clients habitant Paris. DELETE FROM CLENT WHERE Ville = "Paris"; Le Langage SQL 6

7 3 - Instructions de définition des données IUT GLT Create Table Create table nom-table (nom-col.1 type [(Lg)] [constraint <nom-cont.>] [clause contrainte], [nom-col.2 type [(Lg)] [constraint <nom-cont.>] [clause contrainte]], [nom-col.n type [(Lg)] [constraint <nom-cont.>] [clause contrainte]]); Fonction : crée une table, en définissant le nom, le type et la longueur de chacune de ses colonnes. Principaux types de données : Type Forme SQL Valeur Smallint Integer Decimal(m,n) entier court entier long décimal chaîne caractères fixe variable ± 3276 ± «m» = longueur totale dont «n» décimales. Char(n) longueur «n» maxi. 255 caractères Varchar(n) date Date JJ/MM/AAAA ou JJ-MM-AAAA Exemple : Création de la table CLIENT. CREATE TABLE Client (NumClt SERIAL NOT NULL, NomClt CHAR(20), AdresseClt CHAR<100), CPClt DECIMAL(5,0), TelClt DECIMAL(8,0)); Contraintes liées à une table La norme SQL2 a introduit la notion de contrainte. Cette norme prévoit trois types de contraintes utilisables lors de la création des tables. - contraintes d'attribut (ou de domaine), - contrainte d'intégrité d'entité, - contrainte d'intégrité référentielle. NB : Par la suite, nous n'utiliserons pas la notion de domaine. Les contraintes à utiliser seront donc directement définies au niveau des attributs Contraintes d'attribut (ou de domaine) Ces contraintes définissent l'ensemble des valeurs que peut prendre un attribut d'une table. Elles sont décrites dans la déclaration des attributs concernés Définition de domaine create domain Nom-domaine type [(Lg)] ; Fonction : déclarer un domaine auquel pourront se référer les attributs des tables. Le Langage SQL 7

8 Clause "Constraint" Nom-col type [(Lg)] [contraintes [Constraint Nom-Contrainte]], Ou : contraintes Constraint Nom-Contrainte, { à la fin des attributs } Fonction : spécifie le nom de la contrainte. C'est ce nom qui sera affiché par le système lorsqu'il signalera une éventuelle erreur de contrainte d'intégrité lors de l'exécution de la requête. Les contraintes peuvent être une ou plusieurs de celles présentées ci après. Remarque : - Le second format peut être utilisé pour les clauses check, primary key et foreign key Clause "Not null" Nom-col type [(Lg)] [Not Null [Constraint Nom-Contrainte] ], Fonction : spécifie que l'attribut déclaré possède toujours une valeur Clause "Unique" Nom-col type [(Lg)] [Unique [Constraint Nom-Contrainte] ], Fonction : évite d'avoir des valeurs homonymes pour l'attribut cité Clause " Default" Nom-col type [(Lg)] [Default valeur [Constraint Nom-Contrainte] ], Fonction : attribue une valeur par défaut à l'attribut lorsqu'aucune saisie n'est réalisée Clause "Check" Nom-col type [(Lg)] [Check (condition) [Constraint Nom-Contrainte] ], Fonction : spécifie une contrainte qui sera vérifiée à chaque usage des lignes de la table. Elle permet de réaliser un contrôle sur les valeurs manipulées. Remarque : - la condition peut être exprimée : - par les opérateurs de comparaison ( =, <,>, <=, >=, <>), - ou par between and ( bornes incluses) - ou par in (,, ) Le Langage SQL 8

9 Contrainte d'intégrité d'entité IUT GLT Formats : Nom-col type [(Lg)] Primary key [Constraint nom-contrainte], Ou : Primary key ( nom-col1, [nomcol2,..]) [Constraint nom-contrainte], Fonction : permet de définir la clé primaire (identifiant) d'une table Contrainte d'intégrité référentielle Ou : Nom-col type [(Lg)] References nom table [clauses] [Constraint nomcontrainte], Foreign key (nom-col1) References nom table [clauses] [Constraint nomcontrainte], Fonction : contrôle les valeurs des clés étrangères introduites dans une relation «dynamique», ayant une correspondance en tant que valeurs de clé primaire d'une table «référencée» (relation «statique»). *Remarques : 1- Création-Modification d'une occurence : La saisie d'une valeur inexistante pour la clef étrangère sera automatiquement détectée par le serveur du SGBD qui l'indiquera par un message d'erreur. 2- Suppression-Modification d'une clef primaire : La suppression ou la modification d'une valeur de la clé primaire d'une table peut être lourd de conséquences si celle-ci est référencée en tant que clef étrangères dans d'autres tables. SQL2 dispose de clauses réalisant automatiquement certaines opérations dans cette situation : - On Update Delete No action : la modification ou la suppression de la clef primaire est refusée par le SGBD et une erreur est renvoyée (clause par défaut) - On Update Delete Cascade : la modification de la clef primaire entraîne la modification de la valeur des clefs étrangères correspondantes. La suppression de la ligne entraîne la suppression des lignes où apparaissent les clefs étrangères correspondantes. - On Update Delete Set Null : les clefs étrangères sont mises à Null. - On Update Delete Set Default : les clefs étrangères correspondantes sont mises à leur valeur par défaut.. Le Langage SQL 9

10 Alter Table Alter table add Alter table nom-table Add nom-colonne type [(Lg)]; Fonction : ajoute une colonne à la fin d'une table déjà créée Alter table Modify Alter table nom-table Modify nom-colonne type [(Lg)]; Fonction : modifie la longueur d'une colonne d'une table déjà créée Alter table Drop Alter table nom-table Drop nom-colonne; Fonction : supprime une colonne d'une table déjà créée Drop Table Drop table nom-table; Fonction : supprime une table. ( contenant ou non des données). Exemple : Modifier la table CLIENT en supprimant la colonne VILLLE, en modifiant le type des colonnes NOM en CHAR(50) et CP en CHAR(5). ALTER TABLE Client DROP (Ville) MODIFY (Nom CHAR(50), CP CHAR(5)); Le Langage SQL 10

11 3.4 - Gestion d'un index associé à une table Un index est un élément physique associé à une table ; il permet de repérer dans une table la valeur d'un attribut auquel est associé la liste des adresses des occurrences possédant cette valeur. Créer un index sur un (ou plusieurs) champ(s) d une table présente 2 avantages essentiels : - accélérer la recherche dans cette table - garantir que la (les)colonne(s) contient des valeurs uniques. De plus, lors de l'utilisation de la table, il est inutile d'indiquer l index à utiliser : c'est le SGBD qui se charge de l'optimisation de la recherche en utilisant l'index le plus approprié. Les index des tables sont tenus à jour automatiquement. En revanche, la création d un grand nombre d index sur une table présente des inconvénients : - occupation de place sur le support mémoire. - ralentissement des opérations de mises à jour. Dans quelles conditions est il intéressant de créer un index? - sur une table ayant plus de 200 ou 300 lignes, - sur une colonne ayant de nombreuses valeurs différentes, - sur des colonnes souvent utilisées dans les clauses «Where» et «Order by» Create index Create [Unique] Index nom-index On nom-table (nom-col1 [Desc] [,nom-col2 [Desc]...); Remarques : - Unique : Ce paramètre indique que les valeurs de la clé à indexer doivent être toutes différentes (identifiant par exemple). Cette option est à utiliser avec rigueur car le travail du SGBD est plus long lors des ajouts par exemple. En effet, celui-ci contrôle que la nouvelle valeur de clé n'existe pas déjà. - Desc : (descending) : cette option permet d'obtenir un index trié par ordre décroissant des valeurs de la clé. Par défaut : ordre croissant Drop index Drop index nom-index; Fonction : supprime l'index mentionné. Le Langage SQL 11

12 4 - Les Requêtes imbriquées Une requête imbriquée est composée d'une ou plusieurs sous-requête. La requête principale ainsi que chaque sous-requête comportent l'instruction Select. L'exécution d'une requête imbriquée se réalise en partant de la sous-requête hiérarchiquement de niveau le plus bas pour remonter jusqu'à la requête principale. Chaque sous-requête fournit, à l'issue de son exécution, une ou plusieurs valeurs intermédiaires utilisées par la requête de niveau supérieur. C'est dans les conditions des clauses Where et Having que sont intégrées les sous requêtes, et reliées à la requête principale au moyen de divers (de comparaison ou des mots du langage SQL). Toutefois, lorsque cela est possible, il faut toujours préférer la jointure à des requêtes imbriquées Condition avec opérateur de comparaison (exemple) Select nom-col1 From nom-table1 Where nomcol1 > ( select nom_col1 From nom-table2 Where condition de sélection ) ; Fonction : consiste à comparer un nom de colonne à une valeur renvoyée par la sous requête au moyen des opérateurs : =, <>, >, <, >=, <=. Remarques : Avec ces opérateurs, la sous-requête ne doit renvoyer qu'une valeur à la requête principale. Les sous requêtes peuvent aussi être utilisées dans une clause Having, associée sur une fonction. Dans les 2 cas, la comparaison dans la clause Where ou Having doit porter sur des noms identiques Condition avec opérateur spécifique SQL Opérateur Any Select nom-col1 [,nom-col2]... From nom-table1 Where nom-colonne opér.-compar. Any (Select nom-colonne From nom-table2 [ Where condition ]); Fonction : vérifie l'existence de valeurs d'un attribut (colonne) dans une liste de valeurs générée par la sous-requête. La comparaison des valeurs de la colonne doit être vraie pour au moins une des valeurs de la liste. Le Langage SQL 12

13 Opérateur All Select nom-col1 [,nom-col2]... From nom-table1 Where nom-colonne opér.-compar. All (Select nom-colonne From nom-table2 [ Where condition ]); Fonction : vérifie l'existence de valeurs d'un attribut (colonne) dans une liste de valeurs générée par la sous-requête. La comparaison entre les valeurs de la colonne et de celles de la liste formée par la sous requête doit être vraie pour toutes les valeurs de la liste Opérateur In Select nom-col1 [,nom-col2]... From nom-table1 Where nom-colonne [Not] In (Select nom-colonne From nom-table2 [ Where condition ]); Fonction : teste si les valeurs d'un attribut (colonne) se trouvent dans la liste de valeurs déterminée par l'exécution de la sous-requête. Le résultat de la comparaison peut être vrai pour une ou plusieurs valeurs de la liste de valeurs générée par la sous-requête Opérateur Exist Select nom-col1 [,nom-col2]... From nom-table1 Where [Not] Exists (Select nom-col1 [,nom-col2]... From nom-table2 Where condition ); Fonction : une ligne de la requête extérieure appartient au résultat s il existe au moins une ligne dans le résultat de la requête intérieure Remarques : - Avec ces 4 opérateurs, la sous-requête peut renvoyer plusieurs valeurs à la requête principale. - Il est possible, de faire précéder chacun de 4 opérateurs par NOT pour obtenir la condition inverse. Le Langage SQL 13

14 5 - Les Opérations ensemblistes Le langage SQL2 comporte des opérateurs spécifiques pour les opérations ensemblistes d'union, de différence et d'intersection. Ils doivent porter sur des tables uni-compatibles : c'est à dire que le nombre d'attributs projeté par la clause Select, leur ordre et leur type doivent être identiques; seule leur longueur peut être différente Union Select nom-col1 [,nom-col2]... From nom-table1 [ Where conditions ] Union [All] Select nom-col1 [,nom-col2]... From nom-table2 [ Where conditions] ; Fonction : regroupe deux tables en une dans laquelle les lignes identiques aux deux tables ne figurent qu'une fois. En faisant suivre l'opérateur UNION du mot clé ALL, les lignes identiques sont intégralement conservées Intersection Select nom-col1 [,nom-col2]... From nom-table1 [ Where conditions] Intersect Select nom-col1 [,nom-col2]... From nom-table2 [ Where conditions] ; Fonction : obtient une table résultat dans laquelle figurent les lignes communes aux tables spécifiées en entrée. Remarque : - l'intersection peut aussi être réalisée avec une requête imbriquée associée avec la clause In ou la clause Exists. Le Langage SQL 14

15 5.3 - Except Select nom-col1 [,nom-col2]... From nom-table1 [ Where conditions] Except Select nom-col1 [,nom-col2]... From nom-table2 [ Where conditions] ; Fonction : obtient une table résultat qui comporte les lignes de la première table spécifiée qui n'appartiennent pas à la deuxième. Remarques : - la différence peut aussi être réalisée avec une requête imbriquée associée avec la clause Not In ou la clause Not Exists. - Sous Oracle, l'opérateur de différence est "Minus" Produit Cartésien Select nom-col1 [,nom-col2]... From nom-table1, nom-table2 Where nom-col-tab1 = nom-col-tab2; Fonction : obtenir une table dans laquelle les lignes résultats sont les produits successifs de chaque ligne de la première table spécifiée en entrée par l'ensemble des lignes de la deuxième table. Remarque : - Cette opération est réalisée automatiquement dans les requêtes qui utilisent intégralement le contenu de plusieurs tables lors d'opérations de jointure. 6 - Les vues Le langage SQL permet de créer d'autres objets que les tables, les vues, qui sont des tables virtuelles, n'ayant pas d'existence physique propre, et ne prenant donc aucune place en mémoire. Seule la structure de la vue est sauvegardée. Une vue est constituée de lignes et de colonnes en provenance d'une ou de plusieurs tables. L'intérêt essentiel d'une vue réside dans le fait qu'elle ne prend qu'une partie des tables spécifiées ce qui rend leur manipulation plus aisée, plus rapide au niveau des requêtes, et plus sécurisée, et transparente pour l'utilisateur. La mise à jour des données d'une vue, entraîne celle des tables concernées et réciproquement. Le Langage SQL 15

16 6.1 - Création d'une vue IUT GLT Create view nom-vue [(Vnom-col1 [Vnom-col2]...)] As Select Tnom-col1 [Tnom-col2]... From nom-table1 [,nom-table2]... [Where conditions]; Remarques : - Il est possible d'utiliser toutes les clauses du Select pour construire une view. - Si les noms des colonnes de la vue sont les mêmes que ceux spécifiés avec les tables concernées, il est inutile de les mentionner : ce seront les mêmes par défaut. - Une fois créée, la vue accessible comme toute autre table, et on peut formuler des instructions d'extraction, de manipulation, (si toutefois les champs sont entièrement compatibles et cela reste cohérent avec les tables de la base de données). Exemple 1 : Créer une vue contenant uniquement les clients habitant Bordeaux, appelée CLIENT_BX : CREATE VIEW CLENT_BX AS SELECT * FROM CLIENT WHERE Ville = "Bordeaux" ; Exemple 2 : Pour créer une vue nommée CDE_BX contenant la liste des commandes passées par les clients de Bordeaux, plusieurs requêtes sont possibles. CREATE VIEW CDE_BX AS SELECT NumCde, X. NumClt, DateCde FROM COMMANDE X, CLIENT Y WHERE X.NumClt = Y.NumClt AND Ville = "BORDEAUX" ; OU CREATE VIEW CDE_BX AS SELECT * FROM COMMANDE WHERE NumClt IN (SELECT NumClt FROM CLIENT WHERE Ville = "BORDEAUX"); OU CREATE VIEW CDE_BX AS SELECT * FROM COMMANDE WHERE NumClt IN (SELECT NumClt FROM CLIENT_BX); Le Langage SQL 16

17 6.2 - Suppression d'une vue Drop view nom-vue; Exemple : Suppression de la vue contenant les clients Bordelais. DROP VIEW CLIENT X; Consultation : Manipulation de données à travers une vue Liste des clients Bordelais dont l'initiale du nom est A. SELECT Nom, Adresse, Tel FROM CLIENT_BX WHERE Nom(1,1) = "A"; Soit la vue PROD_NB contenant la quantité commandée par produit : CREATE VIEW PROD_NB AS SELECT NomProd, SUM(QteCdée) Nombre FROM LIGNE_CDE GROUP BY NumProd; Pour connaître la quantité moyenne des produits commandés, on écrira la requête suivante : SELECT AVG(Nombre) FROM PROD_NB ; La mise à jour : Une vue est modifiable si et seulement si : Elle est mono table Elle ne contient aucune expression ou fonction d'agrégat Elle ne contient pas la clause DISTINCT dans la liste de sélection Elle ne contient pas la clause GROUP BY ni la clause HAVING dans la liste de sélection. Elle ne contient pas de sous-requête dans la clause WHERE. Exemple : On ne peut pas modifier la vue PROD_NB. En revanche, la mise à jour de la vue CLIENT_BX est possible. Le Langage SQL 17

18 7- Sécurité d'accès aux tables IUT GLT Autorisation d'accès Lorsqu'un utilisateur a créé les tables d'une base de données, lui seul peut les manipuler. Toutefois, l'accès aux données d'une base peut être contrôlé en accordant l'autorisation (ou privilège) d'effectuer certaines opérations sur certaines tables à d'autres utilisateurs. Alter Delete Index Grant Insert [(nom-col1 [,nom-col2]...)] On nom-table Select Update [(nom-col1 [,nom-col2]...)] All To utilis1 [,utilis2] Public [ With grant option ]; Fonction : donne l'autorisation d'effectuer une ou plusieurs opérations sur une table à un ou plusieurs utilisateurs. Remarques : - l'insertion et la modification peuvent être limitées à certaines colonnes, qu'il faut préciser. - "Public" désigne l'ensemble des utilisateurs. - "All" désigne l'ensemble des opérations. - L'option "with grant option" permet à l'utilisateur de redistribuer le privilège à d'autres utilisateurs. Exemple : Accorder la connexion à tous les utilisateurs, le privilège RESSOURCE à Pierre et Jean, et le privilège DBA à Paul. GRANT CONNECT TO PUBLIC GRANT RESSOURCE TO Pierre, Jean GRANT DBA TO Paul ; Accorder tous les privilèges sur la table produit à Pierre ; GRANT ALL PRIVILEGES ON PRODUIT TO Pierre WITH GRANT OPTION; Accorder la consultation des champs NumClt, Nom et Tel de la table Client à Paul : GRANT SELECT (NumClt, Nom, Tel) ON CLIENT TO Paul ; Accorder la mise à jour des champs Prix et Stock de la table PRODUIT à Jacques : GRANT UPDATE (Prix, Stock) ON PRODUIT TO Jacques ; Le Langage SQL 18

19 7.2 - Suppression d'accès Alter Delete Index Revoke [ Grant option for] Insert On nom-table Select Update All From utilis1 [,utilis2] Public ; Fonction : supprime le droit d'effectuer une ou plusieurs opérations sur une table pour un ou plusieurs utilisateurs. Remarque : - l'option "grant option for" supprime l'autorisation de redistribuer les droits à d'autres utilisateurs. Exemple : Retirer le privilège RESSOURCE à Jean REVOKE RESSOURCE FROM Jean ; Suppression du droit de modification sur la table Produit à Jacques. REVOKE UPDATE ON PRODUIT TO Jacques ; Le Langage SQL 19

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

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

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

Langage SQL : créer et interroger une base

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

Plus en détail

Le Langage SQL 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

1. LA GESTION DES BASES DE DONNEES RELATIONNELLES

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

Plus en détail

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

1 Introduction et installation

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

Plus en détail

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

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

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

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

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

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

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

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

INTRODUCTION : Données structurées et accès simplifié

INTRODUCTION : Données structurées et accès simplifié INTRODUCTION : Données structurées et accès simplifié À l'origine de l'informatique, le stockage d'information se faisait sur cartes perforées. Ces supports pauvres ne permettaient pas de définir la structuration

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

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

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

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

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

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

Cours: Administration d'une Base de Données

Cours: Administration d'une Base de Données Bases de Données Avancées Module A IUT Lumière, License CE-STAT 2006-2007 Pierre Parrend Cours: Administration d'une Base de Données Table of Contents Principes...1 Structure d'un Base de Données...1 Architecture...1

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

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

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

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

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

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

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

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

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

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

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

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

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

Présentation du module Base de données spatio-temporelles

Présentation du module Base de données spatio-temporelles Présentation du module Base de données spatio-temporelles S. Lèbre slebre@unistra.fr Université de Strasbourg, département d informatique. Partie 1 : Notion de bases de données (12,5h ) Enjeux et principes

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

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

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

Cours Base de données relationnelles. M. Boughanem, IUP STRI

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

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

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

Access et Org.Base : mêmes objectifs? Description du thème : Création de grilles d écran pour une école de conduite.

Access et Org.Base : mêmes objectifs? Description du thème : Création de grilles d écran pour une école de conduite. Access et Org.Base : mêmes objectifs? Description du thème : Création de grilles d écran pour une école de conduite. Mots-clés : Niveau : Bases de données relationnelles, Open Office, champs, relations,

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

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

TD n 10 : Ma première Base de Données

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

Plus en détail

Master Exploration Informatique des données DataWareHouse

Master Exploration Informatique des données DataWareHouse Master Exploration Informatique des données DataWareHouse Binôme Ahmed BENSI Enseignant tahar ARIB SOMMAIRE I. Conception...1 1. Contexte des contrats...1 2. Contexte des factures...1 II. Modèle physique...2

Plus en détail

Bases de données Outils de gestion

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

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

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

OpenPaaS Le réseau social d'entreprise

OpenPaaS Le réseau social d'entreprise OpenPaaS Le réseau social d'entreprise Spécification des API datastore SP L2.3.1 Diffusion : Institut MinesTélécom, Télécom SudParis 1 / 12 1OpenPaaS DataBase API : ODBAPI...3 1.1Comparaison des concepts...3

Plus en détail

Table des matières PRESENTATION DU LANGAGE DS2 ET DE SES APPLICATIONS. Introduction

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

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

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

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

4. Utilisation d un SGBD : le langage SQL. 5. Normalisation

4. Utilisation d un SGBD : le langage SQL. 5. Normalisation Base de données S. Lèbre slebre@unistra.fr Université de Strasbourg, département d informatique. Présentation du module Contenu général Notion de bases de données Fondements / Conception Utilisation :

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

Application web de gestion de comptes en banques

Application web de gestion de comptes en banques Application web de gestion de comptes en banques Objectif Réaliser une application Web permettant à un client de gérer ses comptes en banque Diagramme de cas d'utilisation 1 Les cas d'utilisation Connexion

Plus en détail

TP Bases de données réparties

TP Bases de données réparties page 1 TP Bases de données réparties requêtes réparties Version corrigée Auteur : Hubert Naacke, révision 5 mars 2003 Mots-clés: bases de données réparties, fragmentation, schéma de placement, lien, jointure

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

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

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

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

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

MODE OPERATOIRE OPENOFFICE BASE

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

Plus en détail

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

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

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

Plus en détail

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

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

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

Comprendre les bases de données

Comprendre les bases de données Comprendre les bases de données Auteur : Hervé LEFEBVRE 9 mars 2002 Version compilée des articles parus sur , ce document reprends l introduction à Postgresql

Plus en détail

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

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

Plus en détail