11. MySQL. Cours Web. MySQL. 11. MySQL. 11. MySQL. Structured Query Language. Lionel Seinturier. Université Pierre & Marie Curie

Documents pareils
COMMANDES SQL... 2 COMMANDES DE DEFINITION DE DONNEES... 2

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

Bases de données relationnelles

SQL Historique

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

Le Langage De Description De Données(LDD)

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

CREATION WEB DYNAMIQUE

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

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

Le Langage SQL version Oracle

Olivier Mondet

1 Introduction et installation

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

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

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

Langage SQL : créer et interroger une base

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

Le langage SQL Rappels

Création et Gestion des tables

14/04/2014. un ensemble d'informations sur un sujet : exhaustif, non redondant, structuré, persistant. Gaëlle PERRIN SID2 Grenoble.

I. MySQL : Serveur et SGBD

1. LA GESTION DES BASES DE DONNEES RELATIONNELLES

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

16H Cours / 18H TD / 20H TP

A QUOI SERVENT LES BASES DE DONNÉES?

Les bases de données

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

Cours: Administration d'une Base de Données

1. Base de données SQLite

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

Initiation à SQL. Le langage de communication avec une base de données relationnelles. Application avec PostgreSQL. Nathalie Camelin 2011/2012

SQL sous SqlServer OLIVIER D. DEHECQ Olivier 0

Historisation des données

Introduction aux Bases de Données 2004/2005

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

Compétences Business Objects

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

MySQL / SQL EXEMPLES

Magasins et entrepôts de données (Datamart, data warehouse) Approche relationnelle pour l'analyse des données en ligne (ROLAP)

ISC Système d Information Architecture et Administration d un SGBD Compléments SQL

A QUOI SERVENT LES BASES DE DONNÉES?

Support de cours. Introduction à SQL et MySQL. 2003, Sébastien Namèche

Intégrité des données

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

I4 : Bases de Données

1/ Présentation de SQL Server :

Les BASES de DONNEES dans WampServer

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

Bases de données élémentaires Maude Manouvrier

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

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

Optimisations des SGBDR. Étude de cas : MySQL

FileMaker 13. Guide de référence SQL

OpenPaaS Le réseau social d'entreprise

Chapitre 3 LE MODELE RELATIONNEL ET SQL (DDL)

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

TP3 : Creation de tables 1 seance

Bases de données relationnelles & SQL

TP Contraintes - Triggers

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

TP Bases de données réparties

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

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

Résumé S Q L. Auteur: Alexandre PATIN Edition: 22 février alexandre.patin@free.fr URL :

Devoir Data WareHouse

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

Encryptions, compression et partitionnement des données

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

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)

Stockage du fichier dans une table mysql:

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

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

MODE OPERATOIRE OPENOFFICE BASE

Structured Query Language

TP base de données SQLite. 1 Différents choix possibles et choix de SQLite : 2 Définir une base de donnée avec SQLite Manager

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

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

Administration des bases de données. Jean-Yves Antoine

Objectifs du TP : Initiation à Access

UNIVERSITE DE CONSTANTINE 1 FACULTE DES SIENCES DE LA TECHNOLOGIE DEPARTEMENT D ELECTRONIQUE 3 ème année LMD ELECTRONIQUE MEDICALE

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

Installation d'un serveur FTP géré par une base de données MySQL

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

PHP 4 PARTIE : BASE DE DONNEES

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

Bases de données Oracle Virtual Private Database (VPD) pour la gestion des utilisateurs d applications

Mejdi BLAGHGI & Anis ASSÈS

Vincent Augusto

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

Application web de gestion de comptes en banques

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

Bases de données et sites WEB

La présente publication est protégée par les droits d auteur. Tous droits réservés.

Les Triggers SQL. Didier DONSEZ. Université de Valenciennes Institut des Sciences et Techniques de Valenciennes

Pratique et administration des systèmes

Plan. Accès aux données dans le framework.net. ADO.NET Entity Framework LINQ ADO.NET ADO.NET. 1. ADO.NET Mode connecté Mode non connecté

Transcription:

Cours Web Lionel Seinturier Université Pierre & Marie Curie Lionel.Seinturier@lip6.fr Structured Query Language Langage de manipulation des données stockées dans une base de données interrogation/insertion/modification/suppression gestion des droits d'accès Principe organisation des données en base = espace de stockage principale structure stockée dans une base table = ensemble de données ayant un lien logique entre elles Exemple : base "gestion du personnel" contenant tables "employés", "congés" Les données d'une table référencent éventuellement les données d'autres tables SGBDR : système de gestion de bases de données relationnel 11/7/02 Exemple : Oracle, SQL Server, Access, PostGres,,... Web 253 Lionel Seinturier Web 254 Lionel Seinturier Création/suppression de bases Fonctionne selon le mode client/serveur www.mysql.com CREATE DATABASE nombase ; DROP DATABASE nombase ; client requête SQL serveur Tables protocole réponse chaque table est définie par un ensemble d'attributs chaque attribut à un type (chaîne, entier, réel, booléen, date,...) un enregistrement dans une table (= une ligne) est appelé un tuple Attributs Nom Adresse Salaire Age n-uplets ou tuples Web 255 Lionel Seinturier Web 256 Lionel Seinturier

Principe des commandes SELECT attribut 1,..., attribut n WHERE prédicat ; SELECT : un ensemble d'attributs aux tables FROM : un ensemble de tables de la base WHERE : un prédicat pour sélectionner les tuples Prédicat construit à partir des attributs mentionnés dans la clause SELECT d'opérateurs de comparaison ( < > >= <= = <> ) d'opérateurs booléens ( AND OR NOT ) tous les tuples qui vérifient le prédicat sont affichés à l'écran le résultat peut être vide Web 257 Lionel Seinturier Web 258 Lionel Seinturier Clause WHERE facultative sélection de tous les tuples de la table La liste d'attributs du SELECT peut être remplacée par * sélection de tous les attributs de la table Création/suppression de tables CREATE TABLE nomtable ( attribut 1 type 1,..., attribut n type n ) ; ex : CREATE TABLE employes ( nom varchar(20), adresse varchar(30), salaire float, age int ) ; Types de données int, float, varchar(n), text (n max. 255, text max 65535) numeric(m,d), datetime, date, time, blob, enum(v 1,..,v n ) tinyint, smallint, mediumint, bigint, double Suppression de table DROP TABLE nomtable ; Web 259 Lionel Seinturier Web 260 Lionel Seinturier

Création/suppression de tables Définition de clés primaires attributs clé NOT NULL clause PRIMARY KEY ex : CREATE TABLE adresses ( nom varchar(20) NOT NULL, nom varchar(20) NOT NULL, adresse varchar(30), PRIMARY KEY(nom,prenom) ) ; Champs auto-incrémenté ex : CREATE TABLE cd ( id int AUTO_INCREMENT, titre varchar(20), interprete varchar(20), PRIMARY KEY(id) ) ; Ajout/modification de tuple dans une table INSERT INTO nomtable VALUES ( val 1,..., val n ); ex : INSERT INTO employes VALUES ( 'John', 'MD', 150000.00, 32 ) ; autant de valeurs que d'attributs (sinon erreur) chaînes entre apostrophes Modification de tuples UPDATE nomtable SET attribut 1 = val 1,..., attribut n = val n WHERE predicat ; ex : UPDATE employes SET salaire = salaire + 1000 WHERE adresse = 'CA' ; éventuellement +sieurs tuples modifiés par la commande Web 261 Lionel Seinturier Web 262 Lionel Seinturier Suppression de tuple dans une table DELETE FROM nomtable WHERE predicat ; ex : DELETE FROM employes WHERE adresse = 'CA' ; éventuellement +sieurs tuples supprimés par la commande Tri du résultat SELECT attribut 1,..., attribut n FROM... WHERE... ORDER BY attribut 1,..., attribut p ; affichage des tuples selon l'ordre spécifié par la clause ORDER BY par défaut ordre ascendant (alphabétique ou numérique) mot clé DESC après l'attribut = ordre descendant les attributs de la clause ORDER BY ne sont pas forcément ceux du SELECT Web 263 Lionel Seinturier Web 264 Lionel Seinturier

Requêtes multi relations extraction de données parmi +sieurs tables mise en relation (jointure) entre +sieurs attributs pris chacun dans une table ces attributs ne sont pas forcément ceux du SELECT utilisation d'alias pour différencier les tables les alias peuvent être omis en cas de non ambiguïté SELECT alias 1.attribut 1,..., alias p.attribut n FROM table 1 alias 1,..., table p alias p WHERE predicat ; ex : SELECT p.intitule, p.chef, e.salaire p, employes e WHERE p.chef = e.nom ; Web 265 Lionel Seinturier Web 266 Lionel Seinturier Requêtes imbriquées utilisation d'une requête SELECT imbriquée dans la clause WHERE +sieurs niveaux d'imbrication possible utilisation d'opérateurs : IN, EXISTS ou NOT EXISTS Opérateur IN WHERE attribut 1,..., attribut n IN ( ) ; les n attributs doivent aux tuples sélectionnés par le SELECT imbriqué autant d'attributs dans le SELECT imbriqué que dans le WHERE les types des attr. du SELECT imbriqué doivent correspondre à ceux des attr. du WHERE Web 267 Lionel Seinturier Requêtes imbriquées IN Quels sont les chefs de projet qui habitent dans des états dans lesquels il y a des projets dont le budget est > à 1 M$? SELECT chef WHERE adresse IN ( SELECT adresse WHERE budget > 1000000 ); Web 268 Lionel Seinturier

Requêtes imbriquées EXISTS / NOT EXISTS WHERE EXISTS ( SELECT * FROM... ) ; EXISTS est un quantificateur existenciel le WHERE est vérifié si le SELECT imbriqué selectionne au moins un tuple WHERE NOT EXISTS ( SELECT * FROM... ) ; le WHERE est vérifié si le SELECT imbriqué selectionne aucun tuple Requêtes imbriquées EXISTS Nom des employés qui habitent dans un état où il y a un projet? SELECT nom FROM employes e WHERE EXISTS ( SELECT * p WHERE p.adresse = e.adresse ); Web 269 Lionel Seinturier Web 270 Lionel Seinturier Fonctions d'aggrégation permettent d'effectuer certains calculs à partir d'une sélection fonctions disponibles : SUM, MAX, MIN, AVG (moyenne), COUNT (nombre) SELECT fonction(attribut 1 ),..., fonction(attribut n ) WHERE prédicat ; Budget moyen des projets en Californie? SELECT AVG(budget) WHERE adresse = 'CA' ; Web 271 Lionel Seinturier Groupements permettent de grouper les tuples sélectionnés en fonction d'attributs SELECT attribut 1,..., attribut n WHERE prédicat GROUP BY attribut 1,..., attribut p sélectionne les n attr. en les groupant selon l'ordre spécifié par les p attr. du GROUP BY ex : liste des chefs de projet groupée par état Web 272 Lionel Seinturier