Partie I du TD 1 au TD 5. Bases de données et MySQL -

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

Download "Partie I du TD 1 au TD 5. Bases de données et MySQL -"

Transcription

1 Système d information Partie I du TD 1 au TD 5 - Bases de données et MySQL - Liliana Ibănescu liliana.ibanescu@agroparistech.fr UFR d informatique Département MMIP Année

2 Ce support de cours s appuie sur l ouvrage Bases de données. Concepts, utilisation et développement de Jean-Luc Hainaut, paru en 2009 aux éditions Dunod. 2

3 Table des matières 1 Les bases de données (BD) La base de données client commande La base de données gie agricole BD, tables, lignes et colonnes Type de donnée Types de base Opérateurs La valeur NULL Clé Clé primaire Clés étrangères Modification et contraintes d intégrité Contraintes imposées par les colonnes obligatoires Contraintes d unicité imposées par les clés primaires Contraintes référentielles imposées par les clés étrangères Schéma et contenu d une base de donnée Le langage SQL (Structured Query Language) Les systèmes de gestion de bases de données (SGBD) Les instructions du langage SQL Sites Web de référence pour SQL et MySQL Le langage SQL DDL (Data Definition Language) Création d un schéma Création d une table (CREATE TABLE) Suppression d une table (DROP) Modification du schéma Le langage SQL DML (Data Manipulation Language) Extraction de données Extraction simple (SELECT-FROM) Extraction de lignes sélectionnées (SELECT-FROM-WHERE) Ordre des lignes d un résultat (clause ORDER BY) Les fonctions agrégatives (ou statistiques) Extraction de données de plusieurs tables (jointure) Les sous-requêtes Sous-requête ou jointure?

4 2.3.9 Ajout de lignes dans une table (INSERT) Suppression de lignes (DELETE) Modification de lignes (UPDATE) Prise en main de l environnement de développement Pré-requis Organisation du répertoire de travail L éditeur de texte Notepad Démarrage de Notepad Créer un nouveau fichier Ouvrir un fichier existant MySQL et phpmyadmin Utiliser MySQL avec phpmyadmin Opérations sur une base de données avec MySQL Opérations sur les tables d une base de données Opérations sur une seule table Ressources en ligne TD 1 : Travaux dirigés en BD, séance 1 Requêtes simples sur une table Premiers pas Exercice 1a : requêtes simples sur la base de données client commande Exemples de requêtes Requêtes générées par l interface de phpmyadmin/mysql Requêtes en SQL Exercice 1b : requêtes sur la BD gie agricole Pour terminer cet exercice Questions de révision Q.R Q.R Q.R TD 2 : Travaux dirigés en BD, séance 2 Requêtes avec jointures entre tables Exercice 2a : requêtes sur la BD client commande Exemples de requêtes Requêtes en SQL Exercice 2b : requêtes sur la BD gie agricole Exercice 3 : fonctions agrégatives Exemples de requêtes sur la BD client commande Exercice 3a : fonctions agrégatives sur la BD client commande Exercice 3b : fonctions agrégatives sur la BD gie agricole Questions de révision Q.R Q.R Q.R Q.R

5 6 TD 3 : Travaux dirigés en BD, séance 3 Requêtes de mise à jour Exercice 4 : requêtes sur la BD client commande Exemples de requêtes Requêtes générées par l interface de phpmyadmin/mysql Requêtes en SQL Exercice 5 : Modification et contraintes d intégrité Question 5a Questions 5b Question 5c Question 5d Questions de révision Q.R Q.R Q.R TD 4 : Travaux dirigés en BD, séance 4 Le système d information Starboat Cahier des charges Description du contexte Fonctionnalités attendues du SI Exercice 6a : le schéma Exercice 6b : les requêtes Exercice 6c : les données Exercice 6d : questions

6 6

7 Chapitre 1 Les bases de données (BD) L objectif de ce chapitre est de présenter de manière formelle et succincte les notions et le vocabulaire utile en base de données. Pour plus de détails vous pourrez vous reporter à l ouvrage Bases de données. Concepts, utilisation et développement de Jean-Luc Hainaut, paru en 2009 aux éditions Dunod. Nous baignons dans un tourbillon d informations : nous recevons des informations de notre environnement et nous lui en transmettons. Les informations prennent la forme de données (symboles mémorisés et véhiculés sur un support matériel ou immatériel). Pour stocker (conserver ou enregistrer) et traiter (interroger et transformer) ces données, on utilise des bases de données (BD), database (DB) en anglais (voir les 1.3 à 1.8). La gestion d une base de données pose des problèmes complexes et elle est assurée par des logiciels spécialisés : les systèmes de gestion de bases de données (SGBD), en anglais DBMS pour database management system (voir le 1.9). Tout au long de ce cours nous utiliserons deux exemples de bases de données : 1. La base de données appelée client commande, décrite dans le 1.1, est utilisée pour enregistrer les clients, les produits et les commandes d une entreprise de matériaux de construction ; le système d information construit sur cette base de données permettra, entre autres, d éditer des factures, de gérer les stocks et la comptabilité. 2. La base de données appelée gie agricole, décrite dans le 1.2, est utilisée par un GIE 1 agricole pour enregistrer les interventions de ses employés sur les parcelles des agriculteurs ; le système d information construit sur cette base de données permettra, entre autres, d éditer les fiches de paye des employés et les interventions effectuées pour un agriculteur. 1. GIE = groupement d intérêt économique 7

8 1.1 La base de données client commande La base de données client commande est utilisée par une entreprise de matériaux de construction pour lui permettre d éditer des factures pour ses clients et de gérer ses stocks. Le schéma de la base de données client commande est présenté dans la figure 1.1 : 1. la table client est utilisée pour enregistrer les propriétés concernant les clients de l entreprise : leur nom, leur adresse, etc. 2. la table produit est utilisée pour enregistrer les propriétés concernant les matériaux de construction disponibles à la vente : leur libellé, le prix à l unité, la quantité en stock. 3. la table commande est utilisée pour enregistrer les propriétés concernant une commande : son numéro, la date de la commande et l identifiant du client (NCLI) qui permet de récupérer dans la table client toutes les informations relatives à ce client. 4. la table detail est utilisée pour enregistrer les lignes des commandes : l identifiant de la commande (NCOM), l identifiant du produit (NPRO) et la quantité commandée. FIGURE 1.1 Le schéma de la base de données client commande. A un instant donné, les lignes (ou enregistrements) de la BD client commande sont ceux donnés dans la figure

9 table client table commande table produit table detail FIGURE 1.2 Les lignes de la base de données client commande à un instant donné. 9

10 1.2 La base de données gie agricole La base de données gie agricole est utilisée par un groupement d intérêt économique (GIE) agricole pour enregistrer les interventions de ses employés sur les parcelles des agriculteurs. La main d œuvre pour l exploitation des parcelles est assurée par les employés du GIE, payés selon un salaire journalier brut. La BD permet, entre autre, d éditer les fiches de payes mensuelles des employés et de lister les interventions effectuées pour un agriculteur. Le schéma de la base de données gie agricole est présenté dans la figure 1.3 : 1. la table agriculteur est utilisée pour enregistrer les propriétés concernant un agriculteur : son nom, son prénom et son adresse. 2. la table parcelle est utilisée pour enregistrer les propriétés concernant les parcelles des agriculteurs : leur nom, leur lieu, leur superficie et l identifiant de leur propriétaire. 3. la table employe est utilisée pour enregistrer les propriétés concernant les employés. 4. la table intervention est utilisée pour enregistrer les interventions des employés du GIE sur les parcelles des agriculteurs. FIGURE 1.3 Le schéma de la base de données gie agricole. A un instant donné, les lignes (ou enregistrements) de la BD gie agricole sont ceux donnés dans la figure

11 table agriculteur table tarif table parcelle table employe table intervention FIGURE 1.4 Les lignes de la base de données gie agricole à un instant donné. 11

12 1.3 BD, tables, lignes et colonnes Une base de données est constituée d un ensemble de tables. Une table contient une collection/suite de lignes, aussi appelées enregistrements. Une ligne d une table est une suite de valeurs, chacune d un type déterminé. Une ligne regroupe les données relatives à une entité ou un fait du domaine d application (la partie du monde à laquelle on s intéresse). Toutes les lignes d une table ont le même format ou structure. Une colonne est définie par son nom et le type de ses valeurs. Exemple 1. La figure 1.5 représente les informations enregistrées à un instant donné dans la table produit de la BD client commande : la table a 7 lignes (enregistrements) décrivant chacune un produit. On trouve dans chaque ligne quatre valeurs représentant respectivement le code, le libellé, le prix à l unité d un produit, ainsi que la quantité restant en stock. La colonne LIBELLE contient des valeurs qui sont des chaînes de caractères, les valeurs de la colonne PRIX sont des nombres décimaux (dont deux chiffres après la virgule) et les valeurs de la colonne QSTOCK sont des nombres entiers (cf à la figure 1.1). FIGURE 1.5 Les lignes de la table produit de la BD client commande à un instant donné. 1.4 Type de donnée En informatique, un type de donnée, ou simplement type, définit le type des valeurs que peut prendre une donnée, ce qui permet de déterminer les opérateurs qui peuvent être appliqués à cette donnée Types de base Les types de base sont les suivants : type booléen : les valeurs true et false. type numérique : des nombres entiers, des nombres décimaux, des nombres réels. type chaîne de caractères : du texte. type temporel : une date (jour, mois et année), une heure (heure, minute et seconde). 12

13 1.4.2 Opérateurs Les opérateurs utilisés pour comparer des valeurs sont : = égal à > plus grand que < plus petit que <> différent de >= plus grand ou égal <= plus petit ou égal L interprétation de ces relations est évidente pour les valeurs numériques. Pour les valeurs temporelles, l expression date 1 < date 2 s interprète comme date 1 est antérieure à date 2 dans le calendrier. Pour les chaînes de caractères, l expression ch 1 < ch 2 pour toute chaînes ch 1 et ch 2, s interprète comme ch 1 est plus petite que ch 2 selon l ordre lexicographique (celui du dictionnaire). Attention : le caractère a n est pas égal à A. Les opérateurs logiques utilisés pour les valeurs de type booléen sont : and : conjonction or : disjonction not : négation Lorsqu une expression complexe comporte plusieurs opérateurs, les priorités des opérateurs (ou précédence des opérateurs) déterminent l ordre d exécution des opérations. Cet ordre peut affecter considérablement la valeur du résultat. Un opérateur de priorité élevée est évalué avant un opérateur de priorité basse. Lorsque deux opérateurs dans une expression ont le même niveau de priorité, ils sont évalués de gauche à droite en fonction de leur position dans l expression. En règle générale les opérateurs arithmétiques de multiplication et de division sont prioritaires sur les opérateurs arithmétiques d addition et de soustraction ; les opérateurs arithmétiques sont prioritaires sur les opérateurs de comparaison ; les opérateurs de comparaison sont prioritaires sur les opérateurs logiques ; l opérateur logique and est prioritaire sur l opérateur or. Pour modifier la priorité habituelle des opérateurs dans une expression il faut utiliser des parenthèses. Tout ce qui se trouve entre parenthèses est évalué en premier pour produire une seule valeur, qui est ensuite utilisée par un opérateur en dehors des parenthèses. Exemple 2. L expression est calculée comme l expression (2 + (3 4)) car la multiplication est prioritaire sur l addition. L expression 5 6 : 3 est calculée comme l expression ((5 6) : 3) car la multiplication et la division ont la même priorité et l évaluation se fait de gauche à droite. L expression age = or age = 20 and ville = Paris est calculée comme l expression ((age = (16 + 5)) or ((age = 20) and (ville = Paris ))) car l opérateur arithmétique d addition est prioritaire sur tous les autres opérateurs, l opérateur de comparaison = est prioritaire aux opérateurs logiques et l opérateur and est prioritaire sur l opérateur or. 13

14 1.4.3 La valeur NULL L absence de valeur d une colonne dans une ligne d une table se signalera par l affectation de la valeur conventionnelle NULL à cette colonne. On peut imposer l interdiction d assigner la valeur NULL à une colonne : cette colonne sera alors une colonne obligatoire. Si la valeur NULL est autorisée, cette colonne sera dite facultative. Contrainte : Toute tentative d insérer une ligne qui ne posséderait pas de valeur pour une colonne obligatoire serait automatiquement signalée comme erreur. Exemple 3. Dans la table client de la BD client commande la colonne CAT, pour catégorie de client, est une colonne facultative. Si au moment de l enregistrement d un client la valeur de la catégorie de ce client n est pas connue, alors il est possible de ne pas renseigner cette colonne pour ce client et c est le marqueur NULL qui sera enregistré. Remarque : La valeur NULL a un statut particulier par rapport aux autres valeurs, son usage entraîne de multiples difficultés et certains auteurs recommandent de l éviter. 1.5 Clé Une ligne dans une table regroupe des informations sur une entité. Une des propriété importante dans une table c est de pouvoir identifier de manière unique une ligne à l aide d un identifiant ou une clé (key en anglais). Une clé peut être composée de plusieurs colonnes de la table. Exemple 4. Une ligne de la table client donne les informations relative à un client : son nom, son adresse, la ville où il habite. Déclarer que la colonne NOM est une clé de la table client, impliquerais alors, qu à tout instant, il n existera pas deux (ou plusieurs) lignes ayant la même valeur dans la colonne NOM. Déclarer que le couple de colonnes (NOM, VILLE) est une clé de la table client, implique alors, qu à tout instant, il n existera pas deux (ou plusieurs) lignes ayant la même valeur pour le couple (nom du client, ville) Clé primaire Parmi les identifiants d une table, l un est déclaré identifiant primaire ou clé primaire(primary key en anglais). La clé primaire d une table impose une contrainte d unicité : le SGBD rejettera automatiquement toute tentative d insertion d une ligne dont la valeur de la clé primaire est déjà présente dans la table. Une clé primaire peut être composée de plusieurs colonnes, qui doivent toutes être obligatoires. Il est recommandé de toujours déclarer une clé primaire dans une table. 14

15 Exemple 5. La clé primaire de la table employe de la base de données gie agricole 2 est représentée par la colonne Emp Nss qui contient les numéros de sécurité sociale des employés, qui sont donc uniques. La clé primaire de la table detail de la base de données client commande 3 est représentée par le couple de deux colonnes NCOM et NPRO, ce qui impose qu on ne pourra pas enregistrer deux lignes ayant le même numéro de commande et le même numéro de produit (voir aussi l exemple 9, page 16). La clé primaire de la table intervention de la base de données gie agricole 4 est représentée par ses trois premières colonnes Clés étrangères Dans une table, appelée table enfant, une de ses colonnes, appelée clé étrangère (foreign key en anglais), peut faire référence à la colonne qui est clé primaire dans une autre table, appelée table parent. Le couple constitué par une clé étrangère de la table enfant et la clé primaire de la table parent permet de relier des lignes dans des tables distinctes. Exemple 6. La table parcelle (table enfant) de la base de données gie agricole 5 a été définie avec une clé étrangère représentée par la colonne Par Prop qui fait référence à la clé primaire Agr Id de la table agriculteur (table parent). Ceci implique que pour une ligne de la table parcelle, la valeur de la colonne Par Prop permet de la relier cette ligne à une ligne de la table agriculteur. Pour la version de la BD de la figure 1.4, sur la troisième ligne de la table parcelle, la valeur 1 dans la colonne Par Prop permet de relier la parcelle décrite sur cette ligne, Plan des Bauges, avec la première ligne de la table agriculteur, en retrouvant ainsi toutes les informations concernant l agriculteur : son nom (Dulhac), son prénom et son adresse. Exemple 7. La table detail (table enfant) de la base de données client commande 6 a deux clés étrangères : 1. la colonne NCOM, appelée dans la suite FK1, qui fait référence à la clé primaire, la colonne NCOM, de la table commande (table parent) ; 2. la colonne NPRO, appelée dans la suite FK2, qui fait référence à la clé primaire NPRO, de la la table produit (table parent ). Pour la version de la BD de la figure 1.2, pour la dernière ligne de la table detail la valeur dans la colonne NCOM permet de relier cette ligne avec la dernière ligne de la table commande en retrouvant ainsi la date de la commande, le 3 janvier 2009 (par la clé FK1). la valeur PH222 dans la colonne NPRO permet de relier cette ligne avec l avantdernière ligne de la table produit en retrouvant ainsi toutes les informations concernant le produit PL. HETRE 200x20x2 (par la clé FK2). 2. voir la figure 1.3, page voir la figure 1.1, page 8 4. voir la figure 1.3, page voir la figure 1.3, page voir la figure 1.1, page 8 15

16 On notera que le nom d une colonne formant une clé étrangère peut être le même ou peut-être différent de celui de la clé primaire à laquelle elle fait référence. Pour qu une clé étrangère joue correctement le rôle de référence, il est nécessaire que l ensemble de ses valeurs dans la table enfant soit un sous-ensemble des valeurs de la clé primaire de la table parent. Cette propriété est appelée contrainte référentielle (voire aussi le 1.6.3, page 17). Elle est garantie par le SGBD pour autant qu on ait explicitement déclaré les clés étrangères (c.à.d. créer les relations avec les clés primaires auxquelles elles font référence) : toute opération qui conduirait à violer cette contrainte serait automatiquement rejetée. 1.6 Modification et contraintes d intégrité Les colonnes obligatoires, les clés primaires et les clés étrangères, imposent aux données des contraintes qui doivent être satisfaites à tout instant. Ces contraintes, désignées généralement sous le terme de contraintes d intégrité, seront donc prises en compte lors de toute tentative de modification sur les données. Ajouter une ligne, supprimer une ligne ou modifier une valeur de colonne d une ligne sont des opérations qui ne sont autorisées que si ces contraintes sont toujours respectées par les données après ces opérations. Si ces contraintes sont violées, on dit que les données ont perdu leur intégrité Contraintes imposées par les colonnes obligatoires Si une colonne est déclarée obligatoire, chaque ligne doit en posséder une valeur. Lors des opérations de création et de modification de lignes, cette colonne devra reçevoir une valeur, à l exclusion de la valeur NULL Contraintes d unicité imposées par les clés primaires Une clé primaire (cf ) impose une contrainte d unicité signifiant qu à tout instant les lignes d une table possèdent des valeurs distinctes pour la ou les colonnes constituant la clé. La création d une ligne est autorisée s il n existe pas de ligne possédant la même valeur pour la clé primaire. Pour la suppression d une ligne il n y a pas de contrainte. La modification de la clé primaire d une ligne est autorisée s il n existe pas déjà une ligne possédant cette nouvelle valeur de la clé primaire. Exemple 8. La clé primaire de la table client de la BD client commande 7 est représentée par la colonne NCLI. Pour la version de la BD de la figure 1.2, la création d une nouvelle ligne ayant comme valeur C123 dans la colonne NCLI n est pas autorisée car il existe déjà une ligne, la sixième, dans cette table ayant cette valeur dans la colonne NCLI. Exemple 9. La clé primaire de la table detail de la BD client commande 8 est 7. voir la figure 1.1, page 8 8. voir la figure 1.1, page 8 16

17 représentée par le couple de deux colonnes NCOM et NPRO. Pour la version de la BD de la figure 1.2, la création d une ligne ayant comme valeur dans la colonne NCOM et PH222 dans la colonne NPRO n est pas autorisée car il existe déjà une ligne, la dernière, ayant ces valeurs pour la clé primaire Contraintes référentielles imposées par les clés étrangères Une contrainte référentielle précise que dans une table enfant chaque colonne identifiée comme étant une clé étrangère doit à tout instant, pour chaque ligne, contenir une valeur correspondant à la valeur d une clé primaire dans une ligne de la table parent. Exemple 10. La clé étrangère de l exemple 6 page 15 pour la BD gie agricole impose que dans la colonne Par Prop de la table parcelle les seules valeurs acceptées sont celles déjà présentes dans la colonne Agr Id de la table agriculteur. Exemple 11. Les deux clés étrangères présentées dans l exemple 7 page 15 pour la BD client commande impose deux contraintes référentielles : 1. la première, cf. FK1, indique que toute valeur de la colonne NCOM dans detail doit faire référence à une valeur de la colonne NCOM de la table commande ; 2. la seconde, cf. FK2, indique que toute valeur de la colonne NPRO dans detail doit faire référence à une valeur de la colonne NPRO de la table produit. Exemple 12. La table commande (table enfant) de la BD client commande doit respecter la contrainte référentielle donnée par la colonne NCLI identifié comme étant une clé étrangère, appelée FK3, qui fait référence à la colonne NCLI de la table client (table parent) : dans la colonne NCLI de la table commande les seules valeurs acceptées sont celles déjà présentes dans la colonne NCLI de la table client. La suppression dans la table parent d une ligne référencée par d autres lignes dans une table enfant sera exécutée selon une des stratégies possibles suivantes, appelées delete mode : blocage : la suppression de la ligne dans la table parent est refusée ; cascade : la suppression de la ligne dans la table parent est accompagnée de la suppression des lignes correspondantes dans la table enfant ; indépendance : la suppression de la ligne dans la table parent est accompagnée par la mise à NULL des colonnes correspondant aux clés étrangères des lignes concernées dans la table enfant. Exemple 13. Dans la base de données client commande la table detail a pour clé primaire le couple de colonnes (NCOM, NPRO) (voir aussi l exemple 5) et doit respecter les deux contraintes référentielles données dans l exemple 11. Les conséquences sur la modification de cette table sont les suivantes : 1. La création d une ligne dans la table detail est autorisée seulement si : (a) la valeur de la colonne NCOM de cette nouvelle ligne existe dans la colonne NCOM de la table commande (cf. FK1) ; 17

18 (b) la valeur de la colonne NPRO de cette nouvelle ligne existe dans la colonne NPRO de la table produit (cf. FK2) ; (c) le couple de valeurs (NCOM, NPRO) n existe pas déjà dans une ligne de la table detail (voir aussi l exemple 8). 2. La suppression d une ligne dans la table detail est autorisée. 3. La modification de la clé primaire d une ligne dans la table detail, c est-à-dire le couple de valeurs (NCOM, NPRO), est autorisée seulement si ces valeurs respectent les contraintes 1(a), 1(b) et 1(c) vues ci-dessus. Exemple 14. Dans la base de données client commande, la table commande i) a pour clé primaire la colonne NCOM, ii) est la table parent dans la clé étrangère FK1 (voir aussi l exemple 7), et iii) est la table enfant dans la clé étrangère FK3 (voir aussi l exemple 12). Les conséquences sur la modification de cette table sont les suivantes : 1. La création d une ligne dans la table commande est autorisée seulement si : (a) la valeur de la colonne NCOM de cette nouvelle ligne n existe pas déjà dans une ligne de la table commande (NCOM est clé primaire) ; (b) la valeur de la colonne NCLI de cette nouvelle ligne existe dans la colonne NCLI de la table client (cf. FK3). 2. Si la stratégie de suppression est en mode blocage, alors la suppression d une ligne l comm dans la table commande est autorisée seulement s il n existe pas de lignes dans la table detail qui font référence à cette ligne l comm (cf. FK1). 3. La modification de la clé primaire d une ligne dans la table commande, c est à dire la valeur de la colonne NCOM, est autorisée seulement si cette valeur respecte la contrainte 1(a). Exemple 15. Dans la base de données client commande la table client a pour clé primaire la colonne NCLI et elle est la table parent dans la clé étrangère FK3. Les conséquences sur la modification de cette table sont les suivantes : 1. La création d une ligne dans la table client est autorisée seulement si la valeur de la colonne NCLI de cette nouvelle ligne n existe pas déjà dans une ligne de la table. 2. Si la stratégie de suppression est en mode blocage, alors la suppression d une ligne l cli dans la table client est autorisée seulement s il n existe pas de lignes dans la table commande qui font référence à cette ligne l cli (cf. FK3). 3. La modification de la clé primaire d une ligne dans la table client, c est à dire la valeur de la colonne NCLI, est autorisée seulement si cette valeur n existe pas déjà dans une ligne de la table client. Exemple 16. Dans la base de données client commande, si la stratégie de suppression est en mode cascade pour les clés étrangères FK3 et FK1, alors la suppression d une ligne dans la table client sera accompagnée de la suppression de toutes les lignes de la table commande qui y font référence (c.à.d. toutes les commandes de ce client), ainsi que la suppression de toutes les lignes concernées de la table detail (c.à.d. toutes les lignes de toutes les commandes de ce client). 18

19 1.7 Schéma et contenu d une base de donnée Une base de données est composée de deux parties distinctes : son schéma et son contenu. Le schéma d une base de données spécifie la liste des tables et pour chacune son nom, la liste de ses colonnes, sa clé primaire et, éventuellement, sa/ses clé(s) étrangère(s). Pour chaque colonne il faut spécifier son nom, son type et préciser si c est une colonne obligatoire ou non. Le contenu d une base de données à un instant t est l ensemble des lignes de toutes les tables. Le contenu d une base de données réelle est généralement volumineux (plusieurs millions de lignes) et est susceptible d évoluer constamment. En revanche, le schéma comporte un nombre limité d éléments (quelques tables à quelques milliers de tables en général) présentant une relative stabilité dans le temps : on ne modifie la structure d une base de données que lorsque la structure du domaine d application à représenter évolue. Il existe plusieurs conventions graphiques de représentation d un schéma de BD, parmi lesquelles les plus utilisées sont les suivantes : 1. Une table est représentée soit par un rectangle contenant le nom de la table et celui de chaque colonne, en liste horizontale (à la mode EXCEL ), soit par une boîte dont le premier compartiment indique le nom de la table et ensuite les noms de ses colonnes en liste verticale. 2. La clé primaire est soit soulignée d un trait continu, soit elle est indiquée en gras, soit elle est spécifiée par la clause id :. 3. Une clé étrangère est soit soulignée d un trait pointillé, soit spécifiée par la clause ref :. 4. Une contrainte référentielle est représentée par une flèche qui part du nom de la colonne qui est une clé étrangère et qui pointe vers la clé primaire référencée dans la table cible. 19

20 Exemple 17. La figure 1.6 donne trois représentations graphiques du schéma de la base de données client commande, décrite dans le 1.1. Nous utiliserons dans ce cours la représentation graphique produite par MySQL, donnée dans la figure 1.1 et reprise dans la figure 1.7. FIGURE 1.6 Différentes représentations graphiques d un même schéma d une BD (source : Bases de données. Concepts, utilisation et développement de Jean-Luc Hainaut). FIGURE 1.7 Le schéma de la base de données client commande. 20

21 1.8 Le langage SQL (Structured Query Language) Les SGBD proposent un langage de requête dénommé SQL (Structured Query Language). Présenté pour la première fois en 1973, ce langage a rapidement été adopté comme standard potentiel et pris en charge par les organismes de normalisation ANSI et ISO qui ont publié 3 normes : SQL-89, SQL-92 (dénommée aussi SQL2) et SQL : 1999 (SQL3). Malheureusement, les éditeurs de SGBD ne respectent pas intégralement ces normes : ils ne reprennent qu un sous-ensemble de spécifications, modifient la syntaxe, voire l interprétation des concepts retenus, et ajoutent leur propres fonctions. Dans ce cours, nous utilisons la syntaxe SQL2 dans sa version MySQL. Le langage de bases de données SQL est composé de deux sous-langages : 1. SQL DDL (Data Definition Language) pour la définition et la modification des structures (table, colonne, contrainte). Les instructions sont : CREATE, ALTER, et DROP ; 2. SQL DML (Data Manipulation Language) pour l extraction et la modification des données. Les instructions sont : SELECT, INSERT, DELETE, et UPDATE. Une instruction SQL constitue une requête (en anglais query), c est-à-dire la description d une opération que le SGBD doit exécuter. Une requête SQL peut être écrite en utilisant le clavier, générée à partir d une interface graphique, ou importée à partir d un fichier. Le résultat de l exécution d une requête peut apparaître à l écran avec des éventuels messages d erreurs. Pour la première partie, du cours nous utilisons cette formulation interactive des requêtes SQL. Une requête peut également être envoyée par un programme (écrit en C, PHP ou Java, par exemple) au SGBD. Dans ce cas, le résultat de la requête est rangé par le SGBD, ligne par ligne, dans les variables du programme. Dans la deuxième partie du cours, nous utiliserons le langage PHP pour envoyer des requêtes au SGBD et exploiter ensuite leurs résultats dans des programmes. 21

22 1.9 Les systèmes de gestion de bases de données (SGBD) La gestion d une base de données est assurée par des logiciels spécialisés : les SGBD. Les fonctions d un SGBD sont les suivantes : 1. Organisation des données : le SGBD organise les données en tables stockées sur disque et il crée les mécanismes garantissant un accès rapide aux données. 2. Gestion des données : le SGBD garantit l évolution cohérente des données et il vérifie que les contraintes (unicité, référence entre tables, etc.) sont respectées. 3. Accès aux données : le SGBD permet l accès aux données à la fois par un utilisateur occasionnel et par des programmes de traitement de données. 4. Gestion des accès concurrents : le SGBD permet l accès simultané aux données par des centaines voire des milliers d utilisateurs. Il contrôle rigoureusement les opérations simultanées sur les mêmes données. 5. Contrôle des accès : le SGBD garantit que seuls les utilisateurs autorisés peuvent accéder aux données et les modifier. Les différents SGBD sur le marché se différencient par le périmètre d utilisation des bases de données. Le périmètre influence le nombre d utilisateurs simultanés, la taille des bases de données et la puissance de calcul nécessaire. Certains SGBD, utilisés dans les entreprises, supportent de très grandes bases de données et nécessitent des ordinateurs puissants et très couteux. D autres SGBD fonctionnent sur des ordinateurs personnels bon marché, avec des limites quant à la taille des bases de données et la puissance de calcul. Le marché des SGBD 9 se répartit entre 1. des SGBD commerciaux (payants) : Oracle Database 10, DB2 Database Software 11 d IBM, SQL Server 12 de Microsoft, Access 13, édité par Microsoft, qui fait partie de la suite bureautique MS Office Pro, etc. 2. des SGBD Open Source (ou libre) : MySQL 14, PostgreSQL 15, etc. Nous utiliserons dans ce cours le SGBD MySQL 16, un logiciel SGBD libre. 9. Pour en savoir plus sur les parts de marché consultez, par exemple, why-mysql/marketshare/

23 Chapitre 2 Les instructions du langage SQL Dans la suite nous présentons une syntaxe simplifiée des instructions du langage SQL, adaptée aux objectifs du cours. Le langage SQL est le standard utilisé pour la définition du schéma d une base de donnée et pour la manipulation des données. 2.1 Sites Web de référence pour SQL et MySQL Une version complète de la syntaxe SQL DDL (Data Definition Language) se trouve, par exemple, à l adresse : Pour consulter la syntaxe des instruction du SQL DML (Data Manipulation Language) consultez les adresses suivantes : Le logiciel MySQL implémente le langage SQL, mais ne respecte pas toujours la norme SQL. Sur le site de référence de MySQL se trouvent les instructions/commandes pour la définition des données (l implémentation du langage SQL DDL) : et pour la manipulation des données : Le langage SQL DDL (Data Definition Language) Le langage SQL DDL offre des commandes de définition et de modification des structures permettant de définir (créer), de supprimer et de modifier une table, une colonne ou une contrainte Création d un schéma Une base de données est définie par son schéma. Pour créer un schéma vide (sans tables), le langage SQL propose l instruction suivante : 23

24 CREATE SCHEMA nom_schema où nom schema est remplacé par le nom de la nouvelle base de données. Sous MySQL la syntaxe pour créer le schéma d une base de données est la suivante : CREATE DATABASE nom_schema où nom schema est remplacé par le nom de la nouvelle base de données. Exemple 18. Pour créer en MySQL la base de données client commande il faut écrire : 1 CREATE DATABASE client_commande Cette opération produit une nouvelle BD, sans tables Création d une table (CREATE TABLE) Pour créer une table, le langage SQL propose l instruction CREATE TABLE : CREATE TABLE nom_table ( nom_colonne type, nom_colonne type,... nom_colonne type ) Il faut spécifier le nom de la nouvelle table, nom table, ainsi que la description de ses colonnes : pour chaque colonne il faut spécifier son nom, nom colonne, et le type de ses valeurs. Sur les colonnes on peut ajouter des contraintes de colonne : pour définir une colonne obligatoire, il faut ajouter NOT NULL après sa définition ; pour définir une clé primaire, il faut ajouter PRIMARY KEY ; pour définir une clé étrangère, il faut ajouter FOREIGN KEY REFERENCES table cible (colonne). Cette opération produit une table vide (c est-à-dire sans lignes). Les colonnes et leurs types SQL offre divers types de données, dites de base, possible pour une colonne d une table. On citera les principaux : smallint : entier signé court ; integer ou int : entier signé long ; numeric(p,q) : nombre décimaux de p chiffres dont q après le point décimal ; si elle n est pas mentionnée, la valeur de q est 0 ; decimal(p,q) : nombre décimaux d au moins p chiffres dont q après le point décimal ; si elle n est pas mentionnée, la valeur de q est 0 ; float(p) ou float : nombre en virgule flottante ; character(p) ou char : chaîne de longueur fixe de p caractères ; character varying ou varchar(p) : chaîne de longueur variable de p caractères ; 24

25 date : date (année, mois et jour) ; time : instant (heure, minute, seconde, millième de seconde) ; La norme SQL 3 (1999) a rajouté 3 types fondamentaux : booléen, CLOB et BLOB. boolean : type de données valant vrai ou faux ; les Binary Large Objects (BLOB) : sorte de contenants génériques pouvant accueillir des chaînes de bits de longueur non-bornée telles que des images, séquences vidéo, séquences sonores ou musicales. Les Character Large Objects (CLOB) sont similaires, mais considérés comme étant formés de caractères ; ce type est utilisé pour stocker des textes de taille importante. Exemple 19. Pour créer dans la base de données client commande la table client, la commande MySQL est la suivante : 1 CREATE TABLE client 2 ( NCLI char(8) NOT NULL, 3 NOM char(18) NOT NULL, 4 ADRESSE char(24) NOT NULL, 5 LOCALITE char(20) NOT NULL, 6 CAT char(2) DEFAULT NULL, 7 COMPTE decimal(9,2) NOT NULL, 8 PRIMARY KEY (NCLI) ) Pour créer la table detail, la commande MySQL est la suivante : 1 CREATE TABLE detail 2 ( NCOM char(8) NOT NULL, 3 NPRO char(10) NOT NULL, 4 QCOM int(11) NOT NULL, 5 PRIMARY KEY (NCOM,NPRO) 6 FOREIGN KEY (NCOM) REFERENCES commande (NCOM), 7 FOREIGN KEY (NPRO) REFERENCES produit (NPRO) ) Suppression d une table (DROP) Pour supprimer une table, le langage SQL propose l instruction suivante : DROP nom_table Attention : Toutes les données ainsi que la structure de la table seront perdues à la suite de cette opération! Modification du schéma La modification du schéma d une base de données implique le plus souvent des modifications de données. Par exemple, l ajout d une colonne à une table contenant des lignes est suivi de la modification de cette colonne pour chacune des lignes (mises à NULL ou à la valeur par défaut). Pour pouvoir être appliquées, ces opérations de modification doivent respecter les contraintes d intégrité. Nous donnons quelques exemples de règles : 25

26 Ajout d une colonne. Si la colonne est facultative, l opération s effectue sans contrainte. Si elle est obligatoire, alors la table doit être vide ou la colonne doit être accompagnée d une valeur par défaut. Suppression d une colonne. Cette colonne ne peut pas intervenir dans la composition d une clé primaire ou d une clé étrangère. Si nécessaire, ces clés doivent d abord être modifiées ou supprimés. Ajout d une clé primaire. Si la table n est pas vide, les lignes doivent respecter la contrainte d unicité. Suppression d une clé primaire. Cette suppression n est pas soumise à des conditions sur les données. Cependant, cette clé primaire ne doit pas être référencée par une clé étrangère. Ajout d une clé étrangère. Si la table n est pas vide, les lignes doivent respecter la contrainte référentielle. Attention! A cause de toutes ces règles, la modification du schéma d une base de données n est pas une opération fréquente et s il faut le faire alors il faut prendre des précautions. 2.3 Le langage SQL DML (Data Manipulation Language) Le langage SQL DML (Data Manipulation Language) comporte deux grandes classes de fonctions : l extraction de données et la modification de données Extraction de données L extration 1 de données fait l objet d une seule commande : la requête select. Une requête select simple contient trois parties principales : 1. la clause select précise le nom des colonnes dont on veut récupérer les valeurs dans le résultat de la requête, 2. la clause from indique la table ou les tables sur lesquelles portent la requête. Toutes les colonnes de la clause select doivent appartenir à une des tables de la clause from. 3. la clause where spécifie les conditions de sélection des valeurs du résultat de la requête. L exécution d une requête select produit un résultat qui est une table volatile car ses lignes sont envoyées à l écran, mais cette table n est pas créée dans la base de données Extraction simple (SELECT-FROM) La requête select la plus simple, appelée projection, n a pas de clause where et permet l affichage de toutes les lignes d une table, mais en ne montrant que certaines 1. Une donnée extraite reste dans la base de données, on en extrait une copie! La commande delete est utilisée pour extraire (effacer) une donnée. 26

27 colonnes. Sa forme générale est : SELECT liste_colonnes FROM nom_table Exemple 20. Pour la base de données client commande, la requête 1 SELECT NCLI, NOM, LOCALITE 2 FROM client affiche pour toutes les lignes de la table client seulement les valeurs des trois colonnes NCLI, NOM, et LOCALITE. Pour obtenir les valeurs de toutes les colonnes, la requête est : 1 SELECT * 2 FROM client Extraction de lignes sélectionnées (SELECT-FROM-WHERE) Une requête de sélection contient dans la clause where des conditions qui permettent de ne sélectionner que certaines lignes d une table. Sa forme générale est : SELECT liste_colonnes FROM nom_table WHERE condition Exemple 21. Pour la base de données client commande, la requête 1 SELECT NCLI, NOM 2 FROM client 3 WHERE LOCALITE = Toulouse n affiche que les lignes de la table client dont la valeur de la colonne LOCALITE est égale à la chaîne de caractères Toulouse. De plus, seules les valeurs des colonnes NCLI et NOM seront affichées. Conditions de sélection Dans la clause where, pour construire la condition de sélection on dispose : des noms des colonnes de la table nom table ; des opérateurs du ; des constantes : numériques et décimales, comme par exemple : 123, , 7.12 ; chaînes de caractères : valeurs entre et (exemple : Jean Mercier ) ; la présence du caractère dans la chaîne se représente par son redoublement (exemple : rue de l Eté ) ; dates : (standard SQL 2) ; autres variantes selon les SGBD : , 14/02/

28 Pour les expressions composées 2 l usage des paranthèses permet de former des conditions plus élaborées, comme par exemple : 1 SELECT NCLI, NOM 2 FROM client 3 WHERE COMPTE >0 AND (CAT = C1 OR LOCALITE = P a r i s ) Conditions de sélection plus complexes Une condition peut porter sur la présence de la valeur NULL : 1 CAT is null 2 CAT is not null ou sur l appartenance à un ensemble : 1 CAT in ( C1, C2, C3 ) 2 LOCALITE not in ( Toulouse, Namur, Breda ) ou encore sur la présence de certains caractères dans une valeur : 1 CAT like 1 2 ADDRESSE like %Neuve% Dans les deux dernières conditions, le signe désigne un caractère quelconque et % désigne toute suite de caractères, éventuellement vide. Lignes dupliquées dans le résultat Pour éliminer les lignes en double dans le résultat d une requête, on utilise la clause distinct 1 SELECT distinct LOCALITE 2 FROM client Données extraites et données dérivées La clause select permet aussi de spécifier des données calculées ou encore des constantes. Dans l exemple : 1 SELECT NPRO, =, 0.196*PRIX*QSTOCK AS montant TVA 2 FROM produit le résultat de la requête sera un tableau des montants TVA des articles en stock. MySQL offre plusieurs fonctions permettant de dériver des valeurs à partir des valeurs des colonnes des lignes extraites. Pour les chaînes de caractères on peut utiliser, par exemple, les fonctions : lower, upper, substring, trim voir sur html, la priorité des opérateurs en MySQL 3. voir 28

29 2.3.4 Ordre des lignes d un résultat (clause ORDER BY) Il est possible d imposer un ordre de présentation spécifique lors de l affichage des lignes du résultat d une requête en utilisant la clause order by : SELECT liste_colonnes FROM nom_table WHERE condition ORDER BY liste_colonnes ASC DESC Par défault, le classement se fait par ordre ascendant des valeurs. On peut également spécifier explicitement un ordre ascendant (ASC) ou descendant (DESC). Exemple 22. Pour la base de données client commande les lignes résultant de la requête 1 SELECT * 2 FROM client 3 WHERE CAT is not null 4 ORDER BY LOCALITE vont apparaître classées par ordre alphabétique croissant sur le noms des localités. On peut indiquer plusieurs critères de tri : 1 SELECT * 2 FROM client 3 ORDER BY LOCALITE, CAT Les clients vont apparaître classés par localité, puis dans chaque localité, classés par catégorie. L ordre des composants du critère de tri est important. La requête 1 SELECT * 2 FROM client 3 ORDER BY CAT, LOCALITE affiche les clients classés par catégorie, puis dans chaque catégorie, classés par localité Les fonctions agrégatives (ou statistiques) Il existe des fonctions prédéfinies qui donnent une valeur agrégée calculée pour les lignes sélectionnées par la requête select : count(*) compte le nombre de ligne trouvées, count(nom colonne) compte le nombre de valeurs de la colonne, avg(nom colonne) calcule la moyenne des valeurs de la colonne, sum(nom colonne) calcule la somme des valeurs de la colonne, min(nom colonne) calcule le minimum des valeurs de la colonne, max(nom colonne) calcule le maximum des valeurs de la colonne. Il est à noter que ces fonctions, à l exception de la première (count), ne considèrent que les valeurs non NULL de la colonne. En outre, chaque valeur est prise en compte, même si elle apparaît plusieurs fois. 29

30 Exemple 23. Pour la base de données client commande la requête 1 SELECT count(*) 2 FROM client compte le nombre de clients, la requête 1 SELECT count(ncli) 2 FROM commande compte le nombre de commandes, la requête 1 SELECT count(distinct NCLI) 2 FROM commande compte le nombre de clients ayant passé au moins une commande, et la requête 1 SELECT sum(qstock*prix) 2 FROM produit 3 WHERE LIBELLE like %SAPIN% calcule le montant total de produits de type sapin en stock. Attention : La requête 1 SELECT MAX(DATECOM) 2 FROM commande affiche bien la date de la dernière commande enregistrée dans la table commande, mais la requête 1 SELECT MAX(DATECOM), NCOM 2 FROM commande est fausse car elle ne permet pas de récupérer le numéro de cette dernière commande! La solution est d utiliser une sous-requête (voir aussi le 2.3.7) : 1 SELECT NCOM, DATECOM 2 FROM commande 3 WHERE DATECOM in (SELECT MAX(DATECOM) 4 FROM commande) Extraction de données de plusieurs tables (jointure) Pour extraire des données corrélées, stockées dans deux tables, on utilise une jointure (join en anglais), définie par une condition de jointure, spécifiant la règle selon laquelle les lignes des tables sont reliées : SELECT liste_colonnes FROM nom_table_e, nom_table_p WHERE col_fk_e = col_pk_p AND condition Dans la clause FROM on donne la liste des noms des tables à relier. Dans la clause WHERE on donne la condition de jointure qui se présente sous la forme d une égalité entre les valeurs de deux colonnes : col FK E = col PK P, où 30

31 i) la colonne col FK E est la clé étrangère de la table nom table E (table enfant), ii) la colonne col PK P est la clé primaire de la table nom table P (table parent), et iii) la table nom table P est la table parent référencée dans la table nom table E par la clé étrangère col FK E. Dans la clause WHERE, en plus de la condition de jointure (obligatoire!), on peut ajouter d autres conditions de sélection des valeurs dans la partie condition. Exemple 24. Pour la base de données client commande, la requête 1 SELECT NCOM, DATECOM, NOM, LOCALITE 2 FROM commande, client 3 WHERE commande.ncli = client.ncli affiche pour chaque commande de la table commande, le nom et la ville du client qui a passé cette commande (voir la figure 2.1). FIGURE 2.1 Le résultat de la requête de l exemple 24. Les valeurs des colonnes NCOM et DATECOM sont extraites de la table commande (table enfant) tandis que les valeurs des colonnes NOM et LOCALITE sont extraites de la table client (table parent). La colonne commande.ncli est une clé étrangère 4 de la table commande et fait référence à la clé primaire client.ncli de la table client. Remarque 1 : Si les deux tables ont des colonnes qui ont le même nom, il faut lever l ambiguïté et préciser à quelle table appartient la colonne, en utilisant la syntaxe suivante : nom_table.nom_colonne Remarque 2 : L ordre des noms des tables dans la clause FROM ainsi que l ordre des conditions dans la clause WHERE n a pas d importance. La requête 1 SELECT NCOM, DATECOM, NOM, LOCALITE 2 FROM client, commande 3 WHERE client.ncli = commande.ncli est la même que la requête de l exemple 24 et que la requête suivante 4. notée FK3 dans l exemple 11, page 17 31

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Cours d introduction à l informatique. Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions

Cours d introduction à l informatique. Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions Cours d introduction à l informatique Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions Qu est-ce qu un Une recette de cuisine algorithme? Protocole expérimental

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

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

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

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

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

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

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

Cours d Informatique Bases de données

Cours d Informatique Bases de données Cours d Informatique Bases de données 1 année Antoine Cornuéjols www.lri.fr/~antoine antoine.cornuejols@agroparistech.fr http://www.lri.fr/~antoine/courses/agro/tc/cours-1a-bd-(v3)x2.pdf Partie 1 - Place

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

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

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

Gestion des bases de données

Gestion des bases de données Gestion des bases de données DU Chef de Projet en Recherche Clinique 23/11/2012 Fabrice GOURMELON URC/CIC Necker - Cochin 2 A. Qu est-ce qu une donnée? B. Qu est-ce qu une base de données? C. Définition

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

Exercices et solutions

Exercices et solutions Ce document constitue l annexe A de l ouvrage "Bases de données", J-L Hainaut, Dunod, 2012 Date de dernière modification : 8/6/2012 Annexe A A1 Exercices et solutions Cette annexe propose une collection

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

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

Objectifs du TP : Initiation à Access

Objectifs du TP : Initiation à Access Objectifs du TP : Initiation à Access I. Introduction Microsoft Access fait partie de l ensemble Microsoft Office. C est un SGBDR (système de gestion de bases de données relationnelles) présentant une

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

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

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

EXCEL TUTORIEL 2012/2013

EXCEL TUTORIEL 2012/2013 EXCEL TUTORIEL 2012/2013 Excel est un tableur, c est-à-dire un logiciel de gestion de tableaux. Il permet de réaliser des calculs avec des valeurs numériques, mais aussi avec des dates et des textes. Ainsi

Plus en détail

Gestion de base de données

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

Plus en détail

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

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

Créer le schéma relationnel d une base de données ACCESS

Créer le schéma relationnel d une base de données ACCESS Utilisation du SGBD ACCESS Polycopié réalisé par Chihab Hanachi et Jean-Marc Thévenin Créer le schéma relationnel d une base de données ACCESS GENERALITES SUR ACCESS... 1 A PROPOS DE L UTILISATION D ACCESS...

Plus en détail

Construction d un EDD avec SQL 2008 R2. D. Ploix - M2 Miage - EDD - Création

Construction d un EDD avec SQL 2008 R2. D. Ploix - M2 Miage - EDD - Création Construction d un EDD avec SQL 2008 R2 Plan Analyse du DW construit Construction de la base DW dans SQL 2008 Construction des tables de faits et dimensions Injection des données Étapes de l injection des

Plus en détail

PHP et mysql. Code: php_mysql. Olivier Clavel - Daniel K. Schneider - Patrick Jermann - Vivian Synteta Version: 0.9 (modifié le 13/3/01 par VS)

PHP et mysql. Code: php_mysql. Olivier Clavel - Daniel K. Schneider - Patrick Jermann - Vivian Synteta Version: 0.9 (modifié le 13/3/01 par VS) PHP et mysql php_mysql PHP et mysql Code: php_mysql Originaux url: http://tecfa.unige.ch/guides/tie/html/php-mysql/php-mysql.html url: http://tecfa.unige.ch/guides/tie/pdf/files/php-mysql.pdf Auteurs et

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

Faculté des sciences de gestion et sciences économiques BASE DE DONNEES

Faculté des sciences de gestion et sciences économiques BASE DE DONNEES BASE DE DONNEES La plupart des entreprises possèdent des bases de données informatiques contenant des informations essentielles à leur fonctionnement. Ces informations concernent ses clients, ses produits,

Plus en détail

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

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

Cours SQL. Base du langage SQL et des bases de données Cours SQL Base du langage SQL et des bases de données Auteur Tony Archambeau Site web http://sql.sh Date 24 mai 2014 Licence Mis à disposition selon les termes de la licence Creative Commons Attribution

Plus en détail

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

FORMATION A L UTILISATION DE PMB QUELQUES NOTIONS DE SQL

FORMATION A L UTILISATION DE PMB QUELQUES NOTIONS DE SQL FORMATION A L UTILISATION DE PMB QUELQUES NOTIONS DE SQL Cette création est mise à disposition selon le Contrat Paternité-Pas d'utilisation Commerciale-Partage des Conditions Initiales à l'identique 2.0

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

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

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

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

PHP 4 PARTIE : BASE DE DONNEES

PHP 4 PARTIE : BASE DE DONNEES PHP 4 PARTIE : BASE DE DONNEES 1. Introduction 2. Présentation de MySQL 3. Principe 4. Connexion 5. Interrogation 6. Extraction des données 7. Fonctions de services 8. Traitement des erreurs 9. Travaux

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

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

Bases de Données. Stella MARC-ZWECKER. stella@unistra.u-strasbg.fr. Maître de conférences Dpt. Informatique - UdS

Bases de Données. Stella MARC-ZWECKER. stella@unistra.u-strasbg.fr. Maître de conférences Dpt. Informatique - UdS Bases de Données Stella MARC-ZWECKER Maître de conférences Dpt. Informatique - UdS stella@unistra.u-strasbg.fr 1 Plan du cours 1. Introduction aux BD et aux SGBD Objectifs, fonctionnalités et évolutions

Plus en détail

La Clé informatique. Formation Excel XP Aide-mémoire

La Clé informatique. Formation Excel XP Aide-mémoire La Clé informatique Formation Excel XP Aide-mémoire Septembre 2005 Table des matières Qu est-ce que le logiciel Microsoft Excel?... 3 Classeur... 4 Cellule... 5 Barre d outil dans Excel...6 Fonctions habituelles

Plus en détail

Quelques patterns pour la persistance des objets avec DAO DAO. Principe de base. Utilité des DTOs. Le modèle de conception DTO (Data Transfer Object)

Quelques patterns pour la persistance des objets avec DAO DAO. Principe de base. Utilité des DTOs. Le modèle de conception DTO (Data Transfer Object) Quelques patterns pour la persistance des objets avec DAO Ce cours présente des modèles de conception utilisés pour effectuer la persistance des objets Université de Nice Sophia-Antipolis Version 1.4 30/8/07

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

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

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

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

Sage 100 CRM Guide de l Import Plus avec Talend Version 8. Mise à jour : 2015 version 8

Sage 100 CRM Guide de l Import Plus avec Talend Version 8. Mise à jour : 2015 version 8 Sage 100 CRM Guide de l Import Plus avec Talend Version 8 Mise à jour : 2015 version 8 Composition du progiciel Votre progiciel est composé d un boîtier de rangement comprenant : le cédérom sur lequel

Plus en détail

UML et les Bases de Données

UML et les Bases de Données CNAM UML et les Bases de Données UML et les Bases de Données. Diagramme de classes / diagramme d objets (UML)...2.. Premier niveau de modélisation des données d une application...2.2. Les éléments de modélisation...2.2..

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

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

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

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

Excel 2007 Niveau 3 Page 1 www.admexcel.com

Excel 2007 Niveau 3 Page 1 www.admexcel.com Excel 2007 Niveau 3 Page 1 TABLE DES MATIERES UTILISATION DE LISTES DE DONNEES... 4 REMARQUES PREALABLES SUR LES LISTES DE DONNEES... 4 METTRE EN FORME LE TABLEAU... 6 METTRE LA LISTE A JOUR... 7 a/ Directement

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

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

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

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

et les Systèmes Multidimensionnels

et les Systèmes Multidimensionnels Le Data Warehouse et les Systèmes Multidimensionnels 1 1. Définition d un Datawarehouse (DW) Le Datawarehouse est une collection de données orientées sujet, intégrées, non volatiles et historisées, organisées

Plus en détail

Introduction à la B.I. Avec SQL Server 2008

Introduction à la B.I. Avec SQL Server 2008 Introduction à la B.I. Avec SQL Server 2008 Version 1.0 VALENTIN Pauline 2 Introduction à la B.I. avec SQL Server 2008 Sommaire 1 Présentation de la B.I. et SQL Server 2008... 3 1.1 Présentation rapide

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

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

Bases de données Cours 1 : Généralités sur les bases de données

Bases de données Cours 1 : Généralités sur les bases de données Cours 1 : Généralités sur les bases de données POLYTECH Université d Aix-Marseille odile.papini@univ-amu.fr http://odile.papini.perso.esil.univmed.fr/sources/bd.html Plan du cours 1 1 Qu est ce qu une

Plus en détail

Créer une base de données

Créer une base de données Access Créer une base de données SOMMAIRE Généralités sur les bases de données... 3 Création de la base de données... 4 A) Lancement d'access... 4 B) Enregistrement de la base de données vide... 4 Création

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

Système de Gestion Informatisée des. Exploitations Agricoles Irriguées avec Contrôle de l Eau

Système de Gestion Informatisée des. Exploitations Agricoles Irriguées avec Contrôle de l Eau MINISTERE DE L AGRICULTURE DE L ELEVAGE ET DE LA PECHE DIRECTION DU GENIE RURAL PROJET DE RENFORCEMENT DES CAPACITES NATIONALES DE SUIVI DES RESSOURCES EN EAU AXE SUR LA GESTION DE L EAU AGRICOLE Système

Plus en détail