Patrick Dezécache Novembre SQL - Structured Query Language avec MySQL5 - L essentiel

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

Download "Patrick Dezécache 2012-2013 Novembre 2012. SQL - Structured Query Language avec MySQL5 - L essentiel"

Transcription

1 Patrick Dezécache Novembre SQL - Structured Query Language avec MySQL5 - L essentiel

2 TABLE DES MATIÈRES TABLE DES MATIÈRES Table des matières I Introduction 2 1 Bases de données 2 2 Systèmes de gestion de bases de données 3 3 Le langage SQL Algèbre relationnelle Familles d ordres SQL Convention de syntaxe pour les ordres SQL Conception des bases de données Le dictionnaire de données La matrice des dépendances fonctionnelles Le Modèle Entité-Association - MCD Merise Construction du modèle logique de données - MLD relationnel Merise Modèle physique de données - MPD Merise Avertissement 11 II DDL - gérer la structure 12 6 Créer une base de données - CREATE DATABASE Exercices Créer les tables - CREATE TABLE Identificateur des tables et colonnes Types de donnée Chaînes de caractères : CHAR et VARCHAR Nombres entiers : INTEGER Nombres décimaux exacts : NUMERIC Nombres décimaux approchés : DOUBLE Dates, heures : DATE, TIME, DATETIME, TIMES- TAMP, YEAR

3 TABLE DES MATIÈRES TABLE DES MATIÈRES Valeurs binaires : BIT Objets volumineux : TEXT, BLOB Types de données géographiques Contraintes de colonnes Donnée obligatoire - NOT NULL Valeur par défaut - DEFAULT Sequence - AUTO_INCREMENT Valeur unique - UNIQUE Vérification de valeur - CHECK Clef primaire - PRIMARY KEY Clef étrangère - FOREIGN KEY Contraintes de tables Créer une table à partir d une requête Renommer une table - RENAME TABLE 26 9 Modifier la structure - ALTER TABLE ajouter une colonne -...ADD COLUMN modifier une colonne -...MODIFY COLUMN ajouter une contrainte -...ADD CONSTRAINT supprimer une contrainte -...DROP FOREIGN KEY supprimer une colonne -...DROP COLUMN Erreurs de définition des FK Supprimer une table - DROP TABLE Supprimer une base de données - DROP DATABASE Les index Créer un index - CREATE INDEX Supprimer un index - DROP INDEX III DML - gerer le contenu Ajouter des lignes - INSERT INTO complètes à partir de valeurs fixes incomplètes à partir de valeurs fixes à partir d une requête

4 TABLE DES MATIÈRES TABLE DES MATIÈRES 14 Modifier le contenu de colonnes - UPDATE Supprimer des lignes - DELETE FROM Vider une table - TRUNCATE TABLE 36 IV DML - interroger Syntaxe générale ordre SELECT Choisir les colonnes à récupérer : SELECT ALL et DISTINCT Alias de colonne : AS Valeur conditionnelle : CASE Définir l origine des colonnes : FROM Choisir les lignes à récupérer : WHERE Opérateurs de comparaison : =, >, >=, <, <=, <>,!= Liste de valeurs : IN, NOT IN Concordance avec un modèle : LIKE, NOT LIKE Expression régulière : REGEXP Intervalle : BETWEEN, NOT BETWEEN Connecteurs logiques : AND, OR Opérateur : NOT Valeurs non renseignées : IS NULL, IS NOT NULL Agréger des valeurs : GROUP BY Agrégats globaux Agrégats sous-totaux par Utilisation de DISTINCT Choisir des lignes après regroupement : HAVING Classer le résultat final : ORDER BY Récupérer un nombre de lignes : LIMIT Jointures Introduction Le produit cartésien - CROSS JOIN La jointure interne d égalité - INNER JOIN...= Jointures externes gauche - LEFT OUTER JOIN

5 TABLE DES MATIÈRES TABLE DES MATIÈRES droite - RIGHT OUTER JOIN totale - FULL OUTER JOIN Autres cas de jointures Non équi-jointures, théta jointure Auto jointures Jointure naturelle Colonnes calculées Opérateurs arithmétiques Opérateur chaine de caractères Fonctions mathématiques Fonctions de dates Fonctions de textes Fonctions et variables système Sous-requêtes Types de résultat d une sous-requête valeur unique colonne unique, lignes multiples jeu de données quelconque valeur unique et opérateurs de comparaison valeur unique et BETWEEN colonne unique et IN colonne unique et ALL colonne unique et ANY, SOME jeu quelconque et EXISTS Résultat de sous-requête dans une colonne résultat Apports de la norme SQL IN et colonnes multiples FROM et requête comme table Requêtes ensemblistes Requête d union : UNION Requête d intersection : INTERSECT Requête de différence : MINUS ou EXCEPT Requête de division

6 TABLE DES MATIÈRES TABLE DES MATIÈRES V DDL - vues, procedures, déclencheurs Les vues Créer une vue : CREATE VIEW Utiliser une vue : SELECT Supprimer une vue : DROP VIEW Procédures stockées Langage procédural DECLARE variable DECLARE...CURSOR DECLARE...HANDLER SET SELECT...INTO Structure conditionnelle IF Structure répétitive LOOP et LEAVE Structure répétitive REPEAT...UNTIL Structure répétitive WHILE...DO OPEN, FETCH, CLOSE Procédures Créer une procédure : CREATE PROCEDURE Utiliser une procedure Supprimer une procedure : DROP PROCEDURE Fonctions stockées Créer une fonction : CREATE FUNCTION Utiliser une fonction Supprimer une fonction : DROP FUNCTION Déclencheurs, ou triggers Créer un déclencheur : CREATE TRIGGER Lister les déclencheurs : SHOW TRIGGERS Supprimer un déclencheur : DROP TRIGGER VI DCL - droits 96 5

7 TABLE DES MATIÈRES TABLE DES MATIÈRES 26 Les utilisateurs Créer un utilisateur : CREATE USER Renommer un utilisateur : RENAME USER Supprimer un utilisateur : DROP USER Les Privilèges Attribuer un privilège : GRANT Retirer un privilège : REVOKE VII TCL - transactions Mécanisme des transactions propriétés ACID Concurrent d accès et verrouillage Définir le niveau d isolation - SET TRANSACTION Démarrer une transaction - START TRANSACTION Confirmer - COMMIT Annuler - ROLLBACK Autovalidation - AUTO-COMMIT Verrous avec SELECT VIII Administration : compléments Sauvegardes et restauration Sauvegardes logiques ou physiques Sauvegardes en ligne ou hors ligne Sauvegardes locales ou distantes Sauvegardes complète ou incrémentale Périodicité des sauvegardes Importation / Exportation des données Importer des données : LOAD DATA INFILE Exporter des données : SELECT... INTO OUTFILE Opérations sur les tables Verifier les tables : CHECK TABLE Informations tables : SHOW COLUMN, DESCRIBE

8 TABLE DES MATIÈRES TABLE DES MATIÈRES 31.3 Informations requetes : EXPLAIN Informations objets : SHOW CREATE Informations objets : SHOW IX Annexes Références Droit relatif aux bases de données Editeurs et SGBD Ressources SQL générales MySQL PostgreSQL Firebird Oracle Database 10g Express Microsoft SQL Server 2005 Express IBM DB2 Express-C Utilisation SQL embarqué Exemple de scripts Script MySQL assocart Script MySQL - extension geographique MySQL et PHP

9 1 BASES DE DONNÉES Première partie Introduction 1 Bases de données Les informations utilisées par les organisations (entreprise, association, etc.) sont à la base de leur fonctionnement. Ces informations donnent une «image» de l organisation (les éléments qui la constituent) et de son fonctionnement (les flux qu elle met en oeuvre). Exemple : Les informations relatives aux clients, aux produits,etc. sont une représentation des clients véritables et produits réels. Les informations relatives aux commandes, livraisons, etc., sont une trace de l existence de flux dans l organisation. Ces informations servent à organiser les tâches quotidiennes et à assurer le fontionnement opérationnel de l organisation. Exemple : La liste des commandes à livrer permet au service gérant les expéditions d organiser son travail quotidien. Elles offrent également le moyen de mesurer l activité de l organisation et d ajuster ou corriger son fonctionnement. Exemple : L ensemble des factures agrégées sur une période de temps, par client, par exemple, indique les clients qui ont réalisé les meilleurs (ou plus mauvais) chiffres d affaires : cela permet d adapter la démarche commerciale auprès de ces clients. Les données portant ces informations sont donc fondamentales pour assurer le fonctionnement et la pérennité d une organisation. Elles sont stockées sur des supports de persistance 1. Une base de données (anglais : database) est un ensemble de données organisées de manière cohérente et sans redondance, stockées sur un support de persistance, partagées et utilisables par plusieurs personnes. Tout fichier permettant la mémorisation de données sous une forme organisée peut ainsi être considéré comme une «base de données»(par exemple : 1. on entend par support de persistance les dispositifs permettant une conservation durable des données (disque dur d un ordinateur, par exemple) 2

10 2 SYSTÈMES DE GESTION DE BASES DE DONNÉES un classeur). Cependant, l organisation interne du fichier n est pas toujours optimale pour garantir un accès sûr et performant aux données qu il contient. Dans une base de données relationnelle (anglais : relational database) les données sont organisées sous forme de tables - des colonnes et des lignes - mises en relations. Elles ont été concues pour supporter les besoins des organisations et s appuient sur des fondements théoriques robustes : la théorie des relations élaborée par Tedd Codd dans les années L importance des données nécessite la mise en oeuvre de dispositifs permettant de garantir la cohérence des données et l accès sécurisé à ces données. C est le rôle assuré par une famille de logiciels : les SGBD. 2 Systèmes de gestion de bases de données Un SGBD, Système de Gestion de Bases de Données, (anglais : DBMS, DataBase Management System) est le logiciel qui assure l intégrité des données stockées dans une base de données, en fonction des règles qui lui ont été fixées. Un SGBD se compose de quatre niveaux fonctionnels qui sont : le niveau conceptuel qui, par l intermédiaire du schéma conceptuel des données permet de représenter la structure logique de l ensemble des données : objets et liens entre les objets le niveau global qui est la représentation dans un modèle logique existant, du schéma conceptuel, à l aide d un langage de description des données (schéma logique) le niveau externe qui permet à chaque utilisateur de voir la base de données suivant ses propres besoins. A un niveau global pourront correspondre plusieurs niveaux externes. Les utilisateurs disposeront à ce niveau, d un langage de manipulation de données qui sera procédural ou non procédural (schéma externe ou sous-schéma) le niveau interne qui correspond à la structure physique de la base de données (schéma physique) Les SGBDR (anglais : RDBMS, Relational DBMS) sont les SGBD des bases de données relationnelles. Les principaux services attendus d un SGBD sont les suivants : assurer la persistance des données, garantir la cohérence des données stockées, 3

11 3 LE LANGAGE SQL resister aux pannes (défaillance logicielle ou matérielle), permettre un accès concurrent (simultané) aux données, offrir un accès sécurisé aux données (selon des profils d utilisateurs), offrir un accès aux données performant. Quelques grands éditeurs de logiciels se partagent le marché des SGBD : Oracle avec le SGBD du même nom, IBM avec DB2, Microsoft avec SQL Server. La communauté du libre donne également accès à des SGBD : PostgreSQL : SGBD très complet, Firebird : complet et léger (cousin de Borland Interbase) MySQL : très utilisé associé à Apache et PHP, Les grands éditeurs propose également en téléchargement des versions légères de leurs SGBD utilisables gratuitement. Un large éventail de SGBD vous est donc offert pour découvrir la gestion des bases de données. 3 Le langage SQL SQL (Structured Query Language) est le langage permettant de donner des ordres aux SGBDR afin de définir l organisation des données d une base de données, poser les règles permettant d en assurer l intégrité, et accéder à ces données de manière simple et efficace. Le langage SQL s appuie sur les opérateurs de l algèbre relationnelle, élaborés dans les années 1970 par EF Codd dans le cadre du développement du modèle relationnel. Il a été développé par IBM pour un prototype de système de gestion de base de données relationnelle, System R, au milieu des années Le langage SQL originel (SEQUEL2) a été décrit dans l édition de novembre 1976 du journal IBM journal R&D. En 1979, la compagnie Oracle a introduit la première version commerciale de SQL. SQL a également été implémenté pour les SGBD DB2 et SQL/DS d IBM. SQL est un langage largement implémenté ; il est le langage standard d accès aux bases de données relationnelles. Le langage SQL est normalisé. 4

12 3.1 Algèbre relationnelle 3 LE LANGAGE SQL version volume SQL/86 première implémentation d IBM SQL/89, SQL1 120 pages SQL/92, SQL2 579 pages, 3 niveaux (entrée, intermédiaire et total) SQL/99, SQL3 extensions objet, requêtes récursives SQL/2003 XML SQL/2006 XQuery pour XML SQL/ SQL/2011 données temporelles Les standards sont implémentés à différents niveau selon les SGBDR. La norme la plus intégrée actuellement est SQL92 (ou SQL2) 2. Documents accessibles sur le Web : http :// 3.1 Algèbre relationnelle Le langage SQL utilise le concept des relations, l équivalent des relations étant les tables pour SQL (cf. 1 page 7). L algèbre relationnelle définit des opérations transformant une ou plusieurs relations en une nouvelle relation. A B C Soit la relation R(A, B, C) : a b c d a f c b d A B C Soit la relation S(A, B, C) : b g a d a f La projection La projection consiste à ne retenir que certains attributs d une relation (restriction de colonnes). A B a b T = projection(r, A, B) : d a c b La sélection ou restriction La sélection consiste à ne retenir que certains tuples d une relation (restriction de lignes). 2. (norme ANSI X http :// ) 5

13 3.1 Algèbre relationnelle 3 LE LANGAGE SQL T = selection(r, A<> a ) : A B C d a f c b d Le produit cartésien Le produit cartésien consiste à combiner chacun des tuples d une relation avec tous les autres tuples d une autre relation. R.A R.B R.C S.A S.B S.C a b c b g a a b c d a f T = produit(r, S) : d a f b g a d a f d a f c b d b g a c b d d a f L union L union consiste à rassembler l ensemble des tuples de 2 relations. Les doublons en sont éliminés. A B C a b c T = union(r, S) : d a f c b d b g a La différence La différence consiste à récupèrer les tuples d une relation sauf ceux appartenant aussi à une autre relation. A B C T = difference(r, S) : a b c c b d La jointure La jointure consiste à récupérer les tuples d un produit cartésien satisfaisant à l application d une sélection. La jointure interne conserve seulement les tuples répondant à la sélection. T = jointureint(r, S, R.A = S.C) : R.A R.B R.C S.A S.B S.C a b c b g a La jointure externe conserve tous les tuples d une des relations et seulement les tuples de l autre relation qui répondent à la sélection. 6

14 3.2 Familles d ordres SQL 3 LE LANGAGE SQL algèbre relationnelle relation tuple attribut domaine bases de données table (table) ligne (row) ou enregistrement (record) colonne (column) ou champ (field) type de données (datatype) Figure 1 Equivalences de vocabulaire : algèbre relationnelle et bases de données T = jointureext(r, S, R.A = S.C) : R.A R.B R.C S.A S.B S.C a b c b g a d a f null null null c b d null null null L intersection L intersection consiste à prendre les tuples communs à 2 relations. A B C T = intersection(r, S) : d a f La division La division produit une relation qui, combinée à une première relation, donne des tuples appartenant tous à une seconde relation. A B C a toto titi Soit la relation Rd(A, B, C) : d a f a a f d toto titi B C Soit la relation Sd(B, C) : toto titi A T = division(rd, Sd) : a d 3.2 Familles d ordres SQL Le langage SQL permet de couvrir tous les besoins d accès aux bases de données relationnelles grâce à 4 groupes d instructions : 7

15 3.3 Convention de syntaxe4 pour CONCEPTION les ordres SQL DES BASES DE DONNÉES DDL (anglais : Data Definition Language), Langage de Définition des Données, LDD, pour gérer les objets de la base de données (créer, modifier et supprimer les tables, etc.), DCL (Data Control Language), Langage de Contrôle des Données, LCD, pour définir les droits d accès aux tables par utilisateur, TCL (Transaction Control Language), Langage de Contrôle des Transactions, LCT, pour s assurer du maintien des bases de données dans un état cohérent durant des transactions longues, DML (Data Manipulation Language), Langage de Manipulation des Données, LMD, pour gérer le contenu des tables : ajouter des lignes, modifier des valeurs de colonnes, supprimer des lignes, interroger le contenu des tables (cette dernière action étant parfois associée au DQL (Data Query Language), LID, Langage d Interrogation des Données). Les SGBD apportent des ordres complémentaires permettant de couvrir tous les besoins d administration d une base de données. 3.3 Convention de syntaxe pour les ordres SQL entre [ ] : des valeurs optionnelles entre : une liste de valeur obligatoires possibles de part et d autre de : une valeur parmi celles proposées souligné : valeur par défaut (elle est souvent omise) 4 Conception des bases de données L importance d une base de données pour une organisation exige une reflexion sérieuse pour sa création : des démarches ont été élaborées pour construire ces bases de données à partir des informations à gérer dans une organisation. La modélisation des données d un système d information est organisée en différentes étapes, fournissant chacune des résultats intermédiaires (généralement sous forme de modèles) permettant une vérification constante de l évolution de la construction. Merise est l une des méthodes fournissant un cadre méthodolique pour la conception de bases de données (et des applications). 8

16 4.1 Le dictionnaire de données 4 CONCEPTION DES BASES DE DONNÉES 4.1 Le dictionnaire de données L analyse des données passe d abord par un recueil exhaustif des informations gérées par l organisation et aboutit à la production d un dictionnaire de données et une liste de règles definissant des relations pouvant exister entre ces données. Le dictionnaire recence chaque information, en lui attribuant un nom unique et non ambigu, et précise sa nature et d autres informations utiles à son traitement. 4.2 La matrice des dépendances fonctionnelles A partir du dictionnaire, une matrice met en évidence les relations de dépendance entre les informations recueillies, mettant en évidence des regroupements formant des objets de gestion. Le Graphe des Dépendances Fonctionnelles est une représentation graphique des dépendances sous forme arborescente, la racine étant formée par les données sources de dépendances qui ne sont pas elles-mêmes cibles de dépendances fonctionnelles. La Structure d Accès Théorique (SAT), ou couverture minimale, est un graphe des dépendances apuré des dépendances fonctionnelles transitives. 4.3 Le Modèle Entité-Association - MCD Merise La matrice des dépendances fonctionnelle (ou la mise en évidence des objets de gestion) permet la construction d un modèle Entité-Association : les objets de gestion de l organisation deviennent entités 3, avec leurs propriétés dont l une d elle possède le rôle d identifiant, les liens existants entre ces objets deviennent associations reliant 2 entités (ou plus), avec leurs propriétés et des cardinalités qui définissent le nombre de fois qu une entité participe à l association ; Le modèle Entité-association est un modèle général, universel, qui est indépendant d une technologie particulière. 3. ou classes d entités, les entités correspondant aux occurrences d une classe d entités ou objets 9

17 4.4 Construction du modèle 4 logique CONCEPTION de données DES - MLD BASES relationnel DE DONNÉES Merise 4.4 Construction du modèle logique de données - MLD relationnel Merise Le choix d un modèle de réprésentation de base de données est l objet de l étape suivante, le plus utilisé aujourd hui étant le modèle relationnel (basé sur les théories évoquées plus haut). Le MRD 4 va représenter la traduction du MEA dans le modèle relationnel. Cette traduction obéit à des règles simples dont voici un extrait : toute entité devient une relation (= une table relationnelle), les propriétés de la table deviennent les attributs de la relation, l identifiant de l entité devient la clef primaire de la table ; toute association 1,1-1,N devient une clef étrangère, toute association 1,N - 1,N devient une relation (= une table relationnelle), ses propriétés deviennent des attributs de la table, sa clef primaire est composée des identifiants des entités participant à l association, qui seront aussi clefs étrangères vers les tables d origine.. D autres règles traitent des associations aux cardinalités (1,1-0,1) et de l héritage. A ce stade, des règles de normalisation permettent de valider le modèle relationnel (les formes normales). Remarque : dans la mesure où le MCD a été soigneusement construit et les règles de traduction appliquées rigoureusement, le modèle relationnel généré doit être valide. 4.5 Modèle physique de données - MPD Merise La dernière phase consiste en l implantation du MRD dans une base de données précise : le modèle relationnel fournit la description des tables et leurs clefs primaires, ainsi que la définition des contraintes d intégrité référentielle au travers des clés étrangères le dictionnaire fournit la nature des données associée à chaque colonne, ainsi que certaines vérifications de valeurs à effectuer sur la colonne, les spécifications techniques de la base de données fournissent le type de données adapté à la nature des données.. 4. Modèle Relationnel de Données 10

18 5 AVERTISSEMENT A cette étape, il arrive qu on modifie le schéma de la base : on parle de «dénormalisation». Là où des règles interdisaient la non-redondance de données, on choisit d inclure de la redondance afin de rendre l accès aux données plus performant. Les considérations conceptuelles sont maintenant contraintes par des nécessités opérationnelles. La représentation du MPD reprend les tables, leur clef primaire et leurs colonnes avec le type de données qui leur est associé, ainsi que les clefs étrangères. Le script SQL de création des tables est produit à partir de ce modèle (ou parfois remplace la création de ce modèle). 5 Avertissement Les informations données dans ce document sont utilisées comme support de formation. L objectif est de fournir les éléments essentiels de syntaxe SQL permettant la construction et l interrogation des bases de données relationnelles, plus particulièrement ici MySQL dans sa version 5, dans le cadre de cette formation. Le langage SQL permet des manipulations puissantes sur des bases de données volumineuses. Avant de se lancer dans la création de requêtes destinées à un usage opérationnel (et professionnel), il est indispensable de maitriser : le schéma des bases de données utilisées (tables, contraintes, etc.) les spécificités du SGBD utilisé (dans la version utilisée) 11

19 6 CRÉER UNE BASE DE DONNÉES - CREATE DATABASE Deuxième partie DDL - gérer la structure Les ordres DDL permettent la gestion de la structure des objets d une base de données. Le principal de ces objets est la table, structure d accueil des données. Les ordres DDL ne manipulent donc pas directement les données elles-mêmes. Remarque : attention cependant, la suppression des tables entraine évidemment la suppression des données qui y sont stockées. 6 Créer une base de données - CREATE DA- TABASE Syntaxe : CREATE DATABASE CREATE { DATABASE SCHEMA } [ IF NOT EXISTS ] nombd [ CHARACTER SET jeudecaracteres ] [ COLLATE collation ]; où : nombd : nom de la base de données. jeudecaracteres : jeu de caractères par défaut pour la base de données 5 utilisé par défaut pour la base de données. latin1 est le jeu de caractères que nous utilisons en Europe de l ouest. collation 6. Exemple : créer la base de données assocart CREATE DATABASE assocart ; Suite à la création de la base de données MySQL, un répertoire du même nom est créé dans le répertoire de données de MySQL (data/nombd). Les informations relatives à cette base de données seront gérées dans des tables 5. un jeu de caractères est un ensemble de symboles et de codes associés 6. une collation définit les règles de comparaison des caractères dans un jeu de caractères donné. latin1_swedish_ci est le jeu de règles défini par défaut pour le jeu de caractères latin1 (une règle importante : les comparaisons ne tiennent pas compte de la casse des caractères - minuscules ou majuscule - d où le nom de la collation de terminant par -ci, case insensitive 12

20 6.1 Exercices 7 CRÉER LES TABLES - CREATE TABLE systèmes (répertoire "data/mysql"), les données seront gérées dans le répertoire de la nouvelle base de données, dans des fichiers aux extensions suivantes :.myd : contenu des tables (données).frm : structure des tables (format).myi : index.opt : options de jeu de caractères et de collation pour la base Pour définir une base de données comme active (pour l exécution des prochains ordres) : Syntaxe : USE USE nombd ; où : nombd : nom de la base de données. Exemple : rendre la base de données assocart active USE assocart ; Pour connaître la liste des jeux de caractères : Exemple : lister les jeux de caractères SHOW CHARACTER SET ; latin1 Pour connaître la liste des collations : Exemple : lister les collations pour SHOW COLLATION LIKE " l a t i n 1%"; Les noms de collations débutent toujours par le nom du jeu de caractères associé. 6.1 Exercices 1. créer la base de donnes bd_cinema 2. définir bd_cinema comme base de données courante 7 Créer les tables - CREATE TABLE Créer une table, c est : 13

21 7 CRÉER LES TABLES - CREATE TABLE définir la structure d accueil des données : les colonnes et leur type de données, définir des règles de vérifications de ces données : les contraintes. Syntaxe : CREATE TABLE CREATE TABLE [ IF NOT EXISTS ] nomtable ( nomcolonne typededonnee [ valeurdefaut ][ contraintecolonne ] [, nomcolonne1 typededonnee1 [ valeurdefaut1 ][ contraintecolonne1 ]...] [, contraintetable...] ) optionstable ; où : nomtable : nom de la table, nomcolonne, nomcolonne1 : noms des colonnes, typededonnee, typededonnee1 : type de données des colonnes, valeurdefaut, valeurdefaut1 : valeur par défaut des colonnes, contraintecolonne, contraintecolonne1 : contrainte posée pour la colonne, contraintetable : contrainte posée pour une ou plusieurs colonnes de la table, optionstable : options précisées au niveau de la table (comme le jeu de caractères utilisé, le type de moteur de base de données (ENGINE ou TYPE), répertoire de stockage des données, répartition des données dans plusieurs fichiers, etc. ) Le moteur de bases de données est le programme qui assure la mise en oeuvre du stockage et des contrôles d intégrité. MySQL permet l utilisation simultanée de plusieurs moteurs pour une base de données (chaque table pouvant utiliser un moteur différent) : MyISAM : simple et léger en terme de fichiers de bases de données, mais ne gère pas les transactions ni l intégrité référenrtielle, InnoDB : gère les transactions et l intégrité référentielle. Exemple : créer la table pays CREATE TABLE pays ( id_ pays SMALLINT UNSIGNED NOT NULL PRIMARY KEY, code3_ pays CHAR (3) NOT NULL, code2_ pays CHAR (2) NOT NULL, nomusuel_ pays VARCHAR ( 40) NOT NULL, nomiso_ pays VARCHAR ( 40) NOT NULL, 14

22 7.1 Identificateur des tables7et CRÉER colonnes LES TABLES - CREATE TABLE aut reappe llati on_ pay s VARCHAR ( 40) NULL ) ENGINE = InnoDB, DEFAULT CHARACTER SET latin1, COMMENT = t a b l e des pays ; Dans le cas d une table InnoDB, le nombre de colonnes est limité à la longueur d une clef est limitée à 1024 octets... la longueur d une ligne est limitée à 8000 octets... les type de données BLOB et TEXT ont une taille maximale de 4Go, dont 512 au plus sont stockés le verrouilage d accès en mise à jour est réalisé au niveau des lignes (et non au niveau de la table comme avec MyISAM). Exemple : Lister les moteurs disponibles SHOW ENGINES ; 7.1 Identificateur des tables et colonnes Les caractères acceptés pour les noms de tables et colonnes sont lettres : [ a.. z ] ou [ A.. Z] chiffres : [ ] certains caractères comme le séparateur _ (tiret bas). éventuellement le caractère (espace) : le nom doit alors être encadré par les caractères " (guillemets), (apostrophe) ou [ ] (crochets). Un nom d ojet doit toujours commencer par une lettre. Conseil :Evitez l utilisation de caractères spéciaux pour nommer les tables et colonnes (et autres objets de base de données). Vous limiterez ainsi les problèmes de portage des scripts d une base de données vers une autre. 7.2 Types de donnée Un type de donnée, ou domaine de valeurs, représente l ensemble des valeurs pouvant être prises par une colonne (la nature d une colonne). Il représente le premier niveau de contrôle de l intégrité des données d une base de données. C est pourquoi le choix d un type de données (et d une taille pour certains) est très important. 15

23 7.2 Types de donnée 7 CRÉER LES TABLES - CREATE TABLE Chaînes de caractères : CHAR et VARCHAR Une chaîne de caractères peut contenir n importe quelle valeur de caractère (lettres, chiffres, etc.). On en distingue 2 formes : CHARACTER(nn) ou CHAR(nn) : chaîne de longueur fixe nn caractères (comblée à droite par des espaces) ; le type CHAR est souvent utilisé pour les textes dont la longueur varie peu (les codifications, par exemple) ; sa taille maximale est 255 caractères ; CHARACTER VARYING ou VARCHAR(nn) : chaîne de longueur variable, avec un maximum de nn caractères ; le type VARCHAR est souvent utilisé pour les textes dont la longueur varie (les noms, désignations, adresses, par exemple) sa taille maximale varie selon la version de MySQL : 255 caractères en général, pour MySQL 7.. Ce type de données utilise un jeu de caractère standard et nécessite 1 octet par caractères stocké (plus 1 octet supplémentaire pour mémoriser la longueur en VARCHAR). Le standard SQL définit 2 types de données complémentaires, NCHAR et NVARCHAR qui définissent les colonnes comme utilisant le jeu de caractères par défaut du serveur MySQL (UNICODE, utf8). NATIONAL CHARACTER ou NCHAR(nn), est équivalent à CHAR(nn) CHARACTER SET utf8, NATIONAL CHARACTER VARYING ou NVARCHAR(nn), est équivalent à VARCHAR(nn) CHARACTER SET utf8. Ce type de données nécessite 2 octets par caractère stocké Nombres entiers : INTEGER Les entiers relatifs : INTEGER, reprennent l ensemble des nombres entiers relatifs (entiers naturels et leurs équivalents négatifs). 7. Attention : la taille globale d une ligne (un enregistrement) ne doit pas dépasser octets, toutes colonnes confondues : aussi la taille maximale du type VARCHAR dépend de la présence d autres colonnes et du jeu de caractères utilisé 16

24 7.2 Types de donnée 7 CRÉER LES TABLES - CREATE TABLE type nbre de octets à TINYINT, (INT1) SMALLINT, (INT2) MEDIUMINT, (INT3) INTEGER, INT (INT4) BIGINT, (INT8) Les entiers naturels : INTEGER UNSIGNED, sont des nombres positifs ou nuls, «permettant de dénombrer des objets comptant chacun pour un». Remarque : L attribut UNSIGNED n est pas standard. type nbre de octets à TINYINT, 1 0 (INT1) SMALLINT, 2 0 (INT2) MEDIUMINT, 3 0 (INT3) INTEGER,INT 4 0 (INT4) BIGINT, 8 0 (INT8) (entre parenthèses, les types rencontrés dans d autres SGBD : MySQL les importe et les convertit.) Nombres décimaux exacts : NUMERIC Le type de données NUMERIC permet le stockage de nombres décimaux exacts, c est à dire sans perte de précision (contrairement aux nombres décimaux approchés). Syntaxe : type de données NUMERIC 17

25 7.2 Types de donnée 7 CRÉER LES TABLES - CREATE TABLE... nomcolonne { NUMERIC DECIMAL DEC } ( longueur [, nombredecimales ])... où : nomcolonne : nom de colonne décrite, longueur : nombre total de chiffres (64 chiffres au plus), nombredecimales : nombre de chiffres de la partie décimale (30 chiffres au plus après le point décimal) Nombres décimaux approchés : DOUBLE Ces nombres ont une valeur approchée 8. REAL, DOUBLE, DOUBLE PRECISION, (FLOAT8) : stocké sur 8 octets (de E+38 à E+38 : attention,une plage de valeurs proches de 0 n est pas représentable), FLOAT, (FLOAT4) : stocké sur 4 octets (de E+308 à E+308 : attention,une plage de valeurs proches de 0 n est pas représentable). Remarque : La norme SQL définit un type REAL plus petit que DOUBLE PRECISION Dates, heures : DATE, TIME, DATETIME, TIMESTAMP, YEAR Dates et heures sont stockées sous une forme spécifique à chaque SGBD, et présentée à l utilisateur sous plusieurs formes. DATE : date seule, AAAA-MM-JJ, entre et , TIME : heure seule, HH :MN :SS, entre -838 :59 :59 à 838 :59 :59 (pour représenter des heures mais également des durées), DATETIME : date et heure sous forme AAAA-MM-JJ HH :MN :SS.mmm, entre 1000 et 9999 TIMESTAMP : date et heure sous forme AAAA-MM-JJ HH :MN :SS.mmm, entre 1970 et 2038 ; une valeur par défaut pour la date et l heure actuelle : DEFAULT CURRENT_TIMESTAMP YEAR : année, entre 1901 et 2155 (0000 si hors plage). 8. la conversion en binaire fait perdre une certaine précision 18

26 7.3 Contraintes de colonnes7 CRÉER LES TABLES - CREATE TABLE Valeurs binaires : BIT BIT : permet le stockage d un certain nombre de bits (un octet est formé par le regroupement de 8 bits) Objets volumineux : TEXT, BLOB Ces types de données permettent le stockage de données de taille importante dans une colonne, comme le contenu de fichiers, par exemple : BLOB : Binary Large OBject, stockage d objets binaires (images, documents PDF, par exemple), TEXT : permet le stockage de textes (contenu de fichiers textes ASCII, par exemple). Les capacités de ces types de données : MEDIUMBLOB, MEDIUMTEXT : taille maximale d environ 16 millions d octets, LONGBLOB, LONGTEXT : taille maximale d environ 4 milliards d octets Types de données géographiques Des extensions de MySQL permettent la gestion des données géographiques (spatial data). Valeurs géométriques simples : GEOMETRY : n importe quelle forme géométrique, POINT : définit un point LINESTRING : définit une ligne, POLYGONE : définit un polygone. Groupes de formes géométriques : MULTIPOINT : plusieurs points, MULTILINESTRING : plusieurs lignes, MULTIPOLYGON : plusieurs polygones, GEOMETRYCOLLECTION : collection de formes quelconques. Remarque : cf. exemple dans l annexe. 7.3 Contraintes de colonnes Ces contraintes de colonnes, ou contraintes verticales, portent sur la valeur d une seule colonne. 19

27 7.3 Contraintes de colonnes7 CRÉER LES TABLES - CREATE TABLE Donnée obligatoire - NOT NULL La contrainte NOT NULL / NULL interdit ou autorise la présence d une valeur nulle dans une colonne. Attention, la valeur NULL est différente de 0 pour un nombre ou de "" pour une chaîne de caractères. Exemple : contraintes NULL et NOT NULL dans oeuvre CREATE TABLE oeuvre ( id_ oeuvre INTEGER NOT NULL PRIMARY KEY, titre_ oeuvre VARCHAR ( 40) NOT NULL, annee_ oeuvre INTEGER NULL, id_ artiste INTEGER NOT NULL REFERENCES artiste ( id_ artiste ) ); Remarque : par défaut, c est l option NULL qui est appliquée Valeur par défaut - DEFAULT Le mot-clef DEFAULT permet de spécifier une valeur par défaut au cas où aucune valeur n est fournie pour une colonne. La valeur par défaut est une valeur litérale. Exemple : valeur DEFAULT pour minpart_activ CREATE TABLE activite ( id_ activ INTEGER PRIMARY KEY, intitule_ activ VARCHAR ( 20) NOT NULL, date_ activ DATETIME, minpart_ activ INTEGER DEFAULT 10, tarif1_ activ NUMERIC (6,2), tarif2_ activ NUMERIC (6,2) ) ENGINE = InnoDB ; Sequence - AUTO_INCREMENT Cette possibilité offerte par les SGBD, sous différentes formes, permet d attribuer à une colonne (en général une clef primaire ayant un type de données numérique), une valeur croissante automatique (un compteur). Exemple : clef primaire id_expo auto-incrémentée dans exposition CREATE TABLE exposition ( id_ expo INTEGER NOT NULL AUTO_ INCREMENT PRIMARY KEY, 20

28 7.3 Contraintes de colonnes7 CRÉER LES TABLES - CREATE TABLE titre_ expo VARCHAR ( 20) NOT NULL, datedeb_ expo DATETIME NOT NULL, datefin_ expo DATETIME NOT NULL, ville_ expo VARCHAR ( 20) NOT NULL ) ENGINE = InnoDB ; Valeur unique - UNIQUE La contrainte UNIQUE refuse les doublons dans les valeurs d une colonne. Exemple : contrainte UNIQUE pour _memb dans membre CREATE TABLE membre ( id_ memb INTEGER NOT NULL PRIMARY KEY, nom_ memb VARCHAR ( 20) NOT NULL, prenom_ memb VARCHAR ( 20) NOT NULL, adresse_ memb VARCHAR ( 30) NOT NULL, ville_ memb VARCHAR ( 20) NOT NULL, _ memb VARCHAR ( 40) UNIQUE, datenais_ memb DATETIME NOT NULL, comment_ memb VARCHAR ( 40) NULL ) ENGINE = InnoDB ; Vérification de valeur - CHECK Le mot-clef CHECK permet la définition d une règle de validité de la valeur d une colonne. Cette contrainte n est pas prise en compte par le SGBD MySQL, elle y est seulement documentaire. 30 Exemple : vérifier que la colonne densite_mat a une valeur comprise entre 1 et CREATE TABLE materiau ( code_ mat CHAR (4) NOT NULL PRIMARY KEY, libelle_ mat VARCHAR ( 20), densite _ mat NUMERIC (6,2) CHECK ( densite_ mat BETWEEN 1 AND 30) ) ENGINE = InnoDB ; Clef primaire - PRIMARY KEY Le mot-clef PRIMARY KEY définit l intégrité d identité d une table (toute table doit posséder une colonne clef primaire dont la valeur doit être unique). Exemple : contrainte de clef primaire pour artiste 21

29 7.3 Contraintes de colonnes7 CRÉER LES TABLES - CREATE TABLE CREATE TABLE artiste ( id_ artiste INTEGER NOT NULL PRIMARY KEY, nom_ artiste VARCHAR ( 20) NOT NULL, prenom_ artiste VARCHAR ( 20) NOT NULL, annais_ artiste INTEGER, -- année naissance andisp_ artiste INTEGER, -- année disparition paysorigine_ artiste SMALLINT REFERENCES pays ( id_ pays ) ) ENGINE = InnoDB ; Clef étrangère - FOREIGN KEY Le mot-clef FOREIGN KEY...REFERENCES définit la contrainte d intégrité référentielle : à une valeur d une colonne d une table (la clef étrangère) doit correspondre une valeur existante en tant que clef primaire dans une autre table (ou dans la même table). Syntaxe : reference de clef étrangère... definitioncolonne REFERENCES nomtableref ( colonnetableref ) [ ON UPDATE [ RESTRICT CASCADE SET NULL NO ACTION ] ] [ ON DELETE [ RESTRICT CASCADE SET NULL NO ACTION ] ] [ [ NOT ] DEFERRABLE ]... ou bien : Syntaxe : reference de clef étrangère... definitioncolonne CONSTRAINT nomcontrainte FOREIGN KEY REFERENCES nomtableref ( colonnetableref ) [ ON UPDATE [ RESTRICT CASCADE SET NULL NO ACTION ] ] [ ON DELETE [ RESTRICT CASCADE SET NULL NO ACTION ] ] [ [ NOT ] DEFERRABLE ]... où : nomcolonne : nom de la colonne clef étrangère ; nomtableref : nom de la table référencée ; 22

30 7.3 Contraintes de colonnes7 CRÉER LES TABLES - CREATE TABLE colonnetableref : nom de la colonne (clef primaire) de la table référencée ; ON UPDATE/DELETE : action à prendre en cas de modification/suppression de la valeur de la colonne dans la table référencée : RESTRICT ou NO ACTION : empêche toute modification CASCADE : modifie/supprime la ligneen cascade SET NULL : modifie la valeur à NULL en cas de suppression de la ligne référencée DEFERRABLE : permet de différer la verification de l intégrité référentielle à la fin d une transaction (et non pas immédiatement), et ainsi gérer les dépendances mutuelles (cf. SET CONSTRAINT nom- Contrainte DEFERRED pour le temps d une transaction. Exemple : clefs étrangères dans inscrire CREATE TABLE inscrire ( id_ memb INTEGER NOT NULL REFERENCES membre ( id_ memb ) ON DELETE CASCADE, id_ activ INTEGER NOT NULL REFERENCES activite ( id_ activ ) ON DELETE CASCADE, date_ inscrire DATETIME, CONSTRAINT pk_ inscrire PRIMARY KEY ( id_memb, id_ activ ) ) ENGINE = InnoDB ; Exemple : clefs étrangères dans inscrire - constraintes nommées CREATE TABLE inscrire ( id_ memb INTEGER NOT NULL CONSTRAINT fk_ inscrire_ membre FOREIGN KEY REFERENCES membre ( id_ memb ) ON DELETE CASCADE, id_ activ INTEGER NOT NULL CONSTRAINT fk_ inscrire_ activite FOREIGN KEY REFERENCES activite ( id_ activ ) ON DELETE CASCADE, date_ inscrire DATETIME, CONSTRAINT pk_ inscrire PRIMARY KEY ( id_memb, id_ activ ) ) ENGINE = InnoDB ; Remarque : ATTENTION : les noms des contraintes doivent être uniques dans la base de données. 23

31 7.4 Contraintes de tables 7 CRÉER LES TABLES - CREATE TABLE La notion de dépendance mutuelle intervient quand 2 tables se font référence l une l autre. Par exemple, un conducteur conduit un véhicule, et un véhicule est conduit par un conducteur. Exemple : créer la table chauffeur CREATE TABLE chauffeur ( id_ chauffeur INTEGER NOT NULL PRIMARY KEY, nom_ chauffeur VARCHAR ( 20) NOT NULL, num_ voiture INTEGER NOT NULL REFERENCES voiture ( id_ voiture ) ) ENGINE = InnoDB ; Exemple : créer la table voiture CREATE TABLE vehicule ( id_ vehicule INTEGER NOT NULL PRIMARY KEY, nom_ vehicule VARCHAR ( 20) NOT NULL, num_ conducteur INTEGER NOT NULL REFERENCES conducteur ( id_ conducteur ) ) ENGINE = InnoDB ; Il est impossible d ajouter un conducteur ou une voiture : le contrôle d intégrité référentielle va générer une erreur. Ainsi, il est possible de retarder le contrôle de l intégrité référentielle à la fin d une transaction (ensemble de mises à jour cohérentes) : Exemple : créer la table chauffeur avec contrôle différé CREATE TABLE chauffeur ( id_ chauffeur INTEGER NOT NULL PRIMARY KEY, nom_ chauffeur VARCHAR ( 20) NOT NULL, num_ voiture INTEGER NOT NULL REFERENCES voiture ( id_ voiture ) DEFERRABLE ) ENGINE = InnoDB ; 7.4 Contraintes de tables Elles sont spécifiées après la définition des colonnes et concernent (généralement) plusieurs colonnes de la table. Ces contraintes sont de type : UNIQUE, CHECK, PRIMARY KEY et FOREIGN KEY. 24

32 7.5 Créer une table à partir7d une CRÉER requête LES TABLES - CREATE TABLE Le nommage explicite des contraintes permet l identification claire les problèmes liés aux violations de contraintes (messages d erreurs). Syntaxe : contraintes de table... CONSTRAINT nomcontrainte typecontrainte defcontrainte... où : nomcontrainte : nom donné à la contrainte, en général préfixé par pk, fk, ck, un pour chacune des contraintes de clef primaire, de clef étrangère, de vérification de valeur ou d unicité ; typecontrainte : mot clef définissant le type de contrainte defcontrainte : définition des éléments de la contrainte en fonction du type de contrainte. Exemple : clefs primaire et étrangères dans visiter CREATE TABLE visiter ( id_ activ INTEGER NOT NULL, id_ expo INTEGER NOT NULL, CONSTRAINT pk_ visiter PRIMARY KEY ( id_ activ, id_ expo ), CONSTRAINT fk_ visiter_ activite FOREIGN KEY ( id_activ ) REFERENCES activite ( id_activ ), CONSTRAINT fk_ visit er_ ex positi on FOREIGN KEY ( id_ expo ) REFERENCES exposition ( id_ expo ) ) ENGINE = InnoDB ; 7.5 Créer une table à partir d une requête Il est également possible de créer une table à partir d une requête SE- LECT. Syntaxe : CREATE TABLE...SELECT... CREATE TABLE [ IF NOT EXISTS ] nomtable ( nomcolonne typededonnees [ valeurdefaut ][ contraintecolonne ] [, nomcolonne1 typededonnees1 [ valeurdefaut1 ][ contraintecolonne1 ]...] [, contraintetable...] ) optionstable requeteselect ; où : 25

33 9 MODIFIER LA STRUCTURE - ALTER TABLE nomtable : identifiant de la table, nomcolonne, nomcolonne1 : identifiants des colonnes, typededonnees, typededonnees1 : type de données des colonnes, valeurdefaut, valeurdefaut1 : valeur par défaut des colonnes, contraintecolonne, contraintecolonne1 : contrainte posée pour la colonne, contraintetable : contrainte posée pour une ou plusieurs colonnes de la table, optionstable : options précisées au niveau de la table, requeteselect : requête SQL permettant de compléter la définition de la table. Si la création de la table définit des colonnes, les colonnes provenant de la requête y sont ajoutées. Remarque : Les contraintes définies dans les tables d origine ne sont pas reprises. Exemple : créer la table membre_sv à partir de membre CREATE TABLE membre_ sv ENGINE = InnoDB SELECT * FROM membre ; 8 Renommer une table - RENAME TABLE L ordre RENAME TABLE permet : le changement de nom d une table le déplacement d une table d une base de données vers une autre base de données. Syntaxe : RENAME TABLE RENAME TABLE [ nombd1.] nomtable1 TO [ nombd2.] nomtable2 [,... ] 9 Modifier la structure - ALTER TABLE La commande ALTER TABLE permet d apporter des modifications de structure à une table (ajout, modification et suppression de colonnes) 26

34 9.1 ajouter une colonne 9 - MODIFIER...ADD COLUMN LA STRUCTURE - ALTER TABLE de contraintes d intégrité associées à une table. Attention : les modifications de structure risquent d affecter les données déjà stockées dans la table. Syntaxe : ALTER TABLE ALTER TABLE nomtable { ADD CONSTRAINT defcontrainte DROP PRIMARY KEY nomcontrainte DROP FOREIGN KEY nomcontrainte DROP INDEX nomindex ADD [ COLUMN ] defcolonne MODIFY [ COLUMN ] defcolonne [ FIRST AFTER nomcolonne ] DROP [ COLUMN ] nomcolonne ALTER [ COLUMN ] { SET DEFAULT valeurdefaut DROP DEFAULT } ); 9.1 ajouter une colonne -...ADD COLUMN Exemple : ajouter une colonne à membre ALTER TABLE membre ADD COLUMN id_ memb_ parrain INTEGER NULL ; 9.2 modifier une colonne -...MODIFY COLUMN MOdifier la colonne : ATTENTION : LES DONNEES SERONT CONVERTIES AU NOUVEAU TYPE DE DONNEE ET PEUVENT ETRE ALTEREES. Exemple : modifier le type de données de datenais_memb ALTER TABLE membre MODIFY COLUMN datenais_ memb DATE ; 9.3 ajouter une contrainte -...ADD CONSTRAINT Exemple : ajouter une contrainte d intégrité référentielle ALTER TABLE membre ADD CONSTRAINT fk_ membre_ parrain FOREIGN KEY ( id_ memb_ parrain ) REFERENCES membre ( id_ memb ) ON DELETE SET NULL ; 27

35 9.4 supprimer une contrainte 10 SUPPRIMER -...DROP FOREIGN UNE TABLE KEY - DROP TABLE 9.4 supprimer une contrainte -...DROP FOREIGN KEY La suppression d une contrainte n entraine pas la suppression de données. Cependant la contrainte d intégrité ne sera plus vérifiée. Exemple : supprimer une contrainte d intégrité référentielle ALTER TABLE membre DROP FOREIGN KEY fk_ membre_ parrain ; 9.5 supprimer une colonne -...DROP COLUMN Supprimer la colonne : ATTENTION : LES DONNEES SONT PERDUES. Exemple : supprimer la colonne id_memb_parrain ALTER TABLE membre DROP COLUMN id_ memb_ parrain ; 9.6 Erreurs de définition des FK En cas d erreur lors de la définition d une contrainte d intégrité référentielle, vérifier les points suivants : les types des données sources et des données cibles sont identiques (type de donnée, signe les moteurs de base de données sont les mêmes pour les 2 tables (InnoDB n accepte pas de cibler une table MyISAM - ce dernier ne supportant pas les clefs étrangères 10 Supprimer une table - DROP TABLE ATTENTION : LA SUPPRESSION D UNE TABLE EFFACE DE MANIERE DEFINITIVE LES DONNEES QUI Y ETAIENT STOCKEES. La table qui doit être supprimée ne doit pas être la cible d une contrainte de clef étrangère (un message d erreur sera affiché dans ce cas). Syntaxe : DROP TABLE DROP TABLE [ IF EXISTS ] nomtable [ RESTRICT CASCADE ]; 28

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

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

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

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

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

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

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

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

Plus en détail

SQL 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

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

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

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

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

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

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

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

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

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

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

Bases de données relationnelles & SQL

Bases de données relationnelles & SQL Bases de données relationnelles & SQL Objectifs Appréhender les concepts du modèle relationnel. Etre capable de concevoir un schéma relationnel. Etre capable de créer une base de données relationnelle

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

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

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

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

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

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

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

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

Plus en détail

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

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

1/ Présentation de SQL Server :

1/ Présentation de SQL Server : Chapitre II I Vue d ensemble de Microsoft SQL Server Chapitre I : Vue d ensemble de Microsoft SQL Server Module: SQL server Semestre 3 Année: 2010/2011 Sommaire 1/ Présentation de SQL Server 2/ Architerture

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

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

Exemple accessible via une interface Web. Bases de données et systèmes de gestion de bases de données. Généralités. Définitions

Exemple accessible via une interface Web. Bases de données et systèmes de gestion de bases de données. Généralités. Définitions Exemple accessible via une interface Web Une base de données consultable en ligne : Bases de données et systèmes de gestion de bases de données The Trans-atlantic slave trade database: http://www.slavevoyages.org/tast/index.faces

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

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

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

Introduction à MySQL (ou MySQL en 3 heures montre en main)

Introduction à MySQL (ou MySQL en 3 heures montre en main) Contexte MySQL Introduction à MySQL (ou MySQL en 3 heures montre en main) Guillaume Allègre Guillaume.Allegre@silecs.info INP Grenoble - Formation Continue 2012 Contexte MySQL LAMP LAMP - contexte et architecture

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

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

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

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

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

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

DEVAKI NEXTOBJET PRESENTATION. Devaki Nextobjects est un projet sous license GNU/Public.

DEVAKI NEXTOBJET PRESENTATION. Devaki Nextobjects est un projet sous license GNU/Public. DEVAKI NEXTOBJET 1 Présentation...2 Installation...3 Prérequis...3 Windows...3 Linux...3 Exécution...4 Concevoir une BDD avec Devaki NextObject...5 Nouveau MCD...5 Configurer la connexion à la base de

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

Cours Bases de données

Cours Bases de données Informations sur le cours Cours Bases de données 9 (10) séances de 3h Polycopié (Cours + TD/TP) 3 année (MISI) Antoine Cornuéjols www.lri.fr/~antoine antoine.cornuejols@agroparistech.fr Transparents Disponibles

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

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

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

CONCEPTION Support de cours n 3 DE BASES DE DONNEES

CONCEPTION Support de cours n 3 DE BASES DE DONNEES CONCEPTION Support de cours n 3 DE BASES DE DONNEES Auteur: Raymonde RICHARD PRCE UBO PARTIE III. - LA DESCRIPTION LOGIQUE ET PHYSIQUE DES DONNEES... 2 A. Les concepts du modèle relationnel de données...

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

Modélisation et Gestion des bases de données avec mysql workbench

Modélisation et Gestion des bases de données avec mysql workbench Modélisation et Gestion des bases de données avec mysql workbench par novembre 2011 Table des matières 1 Installation 3 1.1 Ecran de chargement 3 1.2 Page d accueil 3 2 Réalisation d une base de données

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

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

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

Optimisations des SGBDR. Étude de cas : MySQL

Optimisations des SGBDR. Étude de cas : MySQL Optimisations des SGBDR Étude de cas : MySQL Introduction Pourquoi optimiser son application? Introduction Pourquoi optimiser son application? 1. Gestion de gros volumes de données 2. Application critique

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

Bases de données élémentaires Maude Manouvrier

Bases de données élémentaires Maude Manouvrier Licence MI2E- 1ère année Outils en Informatique Bases de données élémentaires Maude Manouvrier Définitions générales et positionnement du cours dans la formation Vocabulaire relatif aux bases de données

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

Bible MySQL! La première version de MySQL est apparue en 1995. Cette première version est créée pour un usage personnel à partir de msql.

Bible MySQL! La première version de MySQL est apparue en 1995. Cette première version est créée pour un usage personnel à partir de msql. Bible MySQL! Bref historique de MySQL 1. MySQL MySQL est le Système de Gestion de Base de Données Relationnelle (SGBDR) Open Source le plus répandu dans le monde. Il est développé par MySQL AB, une entreprise

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

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

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

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

Les bases de données Page 1 / 8

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

Plus en détail

Développement de base de données Microsoft SQL Server 2012. Durée : 5 jours Référence : DPSQL12. Contenu

Développement de base de données Microsoft SQL Server 2012. Durée : 5 jours Référence : DPSQL12. Contenu Développement de base de données Microsoft SQL Server 2012 Durée : 5 jours Référence : DPSQL12 Cette formation permet aux participants de maîtriser les fonctionnalités de Microsoft SQL Server 2012 telles

Plus en détail

Structured Query Language

Structured Query Language Informatique S6 3A Structured Query Language PostgreSQL Alexis NEDELEC LISYC EA 3883 UBO-ENIB-ENSIETA Centre Européen de Réalité Virtuelle Ecole Nationale d Ingénieurs de Brest enib c 2007 nedelec@enib.fr

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

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

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

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

Bases de Données. Plan

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

Plus en détail

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

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

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

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

Bases de données et sites WEB Licence d informatique LI345

Bases de données et sites WEB Licence d informatique LI345 Bases de données et sites WEB Licence d informatique LI345 Anne Doucet Anne.Doucet@lip6.fr http://www-bd.lip6.fr/ens/li345-2013/index.php/lescours 1 Contenu Transactions en pratique Modèle relationnel-objet

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

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

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

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

Introduction aux Bases de Données

Introduction aux Bases de Données Introduction aux Bases de Données I. Bases de données I. Bases de données Les besoins Qu est ce qu un SGBD, une BD Architecture d un SGBD Cycle de vie Plan du cours Exemples classiques d'applications BD

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

A.E.C. GESTION DES APPLICATIONS TECHNOLOGIE DE L'INFORMATION LEA.BW

A.E.C. GESTION DES APPLICATIONS TECHNOLOGIE DE L'INFORMATION LEA.BW A.E.C. GESTION DES APPLICATIONS TECHNOLOGIE DE L'INFORMATION LEA.BW Groupe : 322 Exploitation des Banques de données 420-PK6-SL (1-2-1) Étape : 3 Professeur Nom: Marcel Aubin Courriel : maubin@cegep-st-laurent.qc.ca

Plus en détail

DOSSIER D'ACTIVITES SUR LE PHP N 03 Créer une base de données MySQL avec PHPMyAdmin

DOSSIER D'ACTIVITES SUR LE PHP N 03 Créer une base de données MySQL avec PHPMyAdmin DOSSIER D'ACTIVITES SUR LE PHP N 03 Créer une base de données MySQL avec PHPMyAdmin Objectifs : Apprendre à l apprenant à lancer un serveur local «Apache» Apprendre à l'apprenant à lancer un serveur MySQL

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

Installation et Mise en œuvre de MySQL

Installation et Mise en œuvre de MySQL T-GSI STAGE RENOVATION - SQL.Chapitre 2 - Installation et Mise en œuvre de MySQL Olivier Mondet http://unidentified-one.net A. Pourquoi choisir MySQL? A.1. MySQL, très controversé La base de données MySQL

Plus en détail

Dossier I Découverte de Base d Open Office

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

Plus en détail

Pratique et administration des systèmes

Pratique et administration des systèmes Université Louis Pasteur Licence Informatique (L2) UFR de Mathématiques et Informatique Année 2007/2008 1 But du TP Pratique et administration des systèmes TP10 : Technologie LAMP Le but de ce TP est 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

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

Mercredi 15 Janvier 2014

Mercredi 15 Janvier 2014 De la conception au site web Mercredi 15 Janvier 2014 Loïc THOMAS Géo-Hyd Responsable Informatique & Ingénierie des Systèmes d'information loic.thomas@anteagroup.com 02 38 64 26 41 Architecture Il est

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

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

Chapitre 5 LE MODELE ENTITE - ASSOCIATION

Chapitre 5 LE MODELE ENTITE - ASSOCIATION Chapitre 5 LE MODELE ENTITE - ASSOCIATION 1 Introduction Conception d une base de données Domaine d application complexe : description abstraite des concepts indépendamment de leur implémentation sous

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

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

Exercices sur SQL server 2000

Exercices sur SQL server 2000 Exercices sur SQL server 2000 La diagramme de classe : Exercices sur SQL server 2000 Le modèle relationnel correspondant : 1 Créer les tables Clic-droit on Tables et choisir «New Table» Créer la table

Plus en détail