Modélisation et base de données VII) SQL

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

SQL Historique

Les bases de données

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

Le Langage SQL version Oracle

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

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

CREATION WEB DYNAMIQUE

1 Introduction et installation

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

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

Bases de données relationnelles

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

Le langage SQL Rappels

Olivier Mondet

Les BASES de DONNEES dans WampServer

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

16H Cours / 18H TD / 20H TP

Bases de données et sites WEB

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

1. LA GESTION DES BASES DE DONNEES RELATIONNELLES

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

MySQL / SQL EXEMPLES

Mysql. Les requêtes préparées Prepared statements

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

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

Introduction aux Bases de Données 2004/2005

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

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

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

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

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

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

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

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

SQL sous SqlServer OLIVIER D. DEHECQ Olivier 0

Information utiles. webpage : Google+ : digiusto/

Vincent Augusto

Chapitre 3 LE MODELE RELATIONNEL ET SQL (DDL)

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

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

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

Bienvenue dans le monde SQL

MODE OPERATOIRE OPENOFFICE BASE

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

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

Introduction aux Bases de Données

Bases de données élémentaires Maude Manouvrier

Systèmes de Gestion de Bases de Données

Cours: Administration d'une Base de Données

A QUOI SERVENT LES BASES DE DONNÉES?

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

TP Bases de données réparties

Plan Général Prévisionnel (1/2) (non contractuel) Internet et Outils L1/IO S2-IO2 Bases de données: Jointures, Transactions

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

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

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

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

A QUOI SERVENT LES BASES DE DONNÉES?

Cours SGBD 1. Concepts et langages des Bases de Données Relationnelles

Le Langage De Description De Données(LDD)

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

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

OpenPaaS Le réseau social d'entreprise

Mysql avec EasyPhp. 1 er mars 2006

FORMATION A L UTILISATION DE PMB QUELQUES NOTIONS DE SQL

Cours Bases de données 2ème année IUT

Gestion des utilisateurs et de leurs droits

TP3 : Creation de tables 1 seance

BTS/CGO P10 SYSTEME INFORMATION Année

FileMaker 13. Guide de référence SQL

Intégrité des données

I. MySQL : Serveur et SGBD

Bases de Données Avancées

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

Réplication E-maj Foreign Data Wrapper PostGIS PostgreSQL-f

SUPPORT SQL. Thierry GRANDADAM

Chapitre 11 Bases de données

THEME PROJET D ELABORATION D UNE BASE DE DONNEES SOUS LE SERVEUR MYSQL

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

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

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

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

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

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

Structured Query Language

LE LANGAGE SQL2 1. INTRODUCTION

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

Session S12 Les bases de l optimisation SQL avec DB2 for i

PROJET 1 : BASE DE DONNÉES REPARTIES

Gestion des utilisateurs, des groupes et des rôles dans SQL Server 2008

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

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

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

Les bases fondamentales du langage Transact SQL

Les déclencheurs. Version 1.0. Grégory CASANOVA

Transcription:

Modélisation et base de données VII) SQL Jérôme Fortin Polytech Montpellier Université de Montpellier 2015-2016 Modélisation BD 1 / 20

Structured Query Language (SQL) le language SQL sert à manipuler les données ou la structure de la base de données Élaboré dans les années 70 SQL est composé de trois partie majeures et distinctes : Data Manipulation Language Data Definition Language Data Contol Language Modélisation BD 3 / 20

Structured Query Language (SQL) Principaux ordre employés : DML DDL DCL (manipulation) (definition) (contrôle) SELECT CREATE GRANT INSERT ALTER REVOKE DELETE RENAME UPDATE DROP Modélisation BD 4 / 20

Structured Query Language (SQL) Une requête SQL peut être employée seule dans un éditeur de requête fourni par le SGBD directement intégrée dans un langage de programation Exemple : une requête peut être testée directement avec phpmyadmin, puis intégrée dans une page web grâce au langage PHP pour interagir depuis une page internet sur la base de donnée. Modélisation BD 5 / 20

SELECT La commande SELECT permet de réaliser une recherche d information selon certains critères Syntaxe SELECT {ALL / DISTINCT} nom attribut1 [, nom attribut2,... ] FROM nom table [, nom table2,...] WHERE <condition de recherche > Modélisation BD 6 / 20

SELECT l option ALL permet de selectionner l ensemble des lignes satisfaisant la condition de recherche l option DISTINCT permet de ne conserver que des lignes distinctes La liste des attributs indique la liste des colonnes choisies On utilise * pour selectionner l ensemble des colonnes d une table la liste des tables indique les tables sur lesquelles portent les opérations la condition de recherche permet d exprimer des critères de recherche complexes à l aide d opérateurs logiques et/ou arithmétiques Modélisation BD 7 / 20

Exemples T Clients(NumCli, Nom, Prenom, Adresse, CodeP, Ville, Tel) T Achats(#NumCli, #NumArt, Date, Qte) T Articles(NumArt, Designation, Categorie, Prix) Modélisation BD 8 / 20

Exemples Table T Clients NumCli Nom Prénom Adresse CodeP Ville Tel 1 Fortin Jérôme 2 r bonnard 34000 Montpellier 04 73 80 25 2 Fonglias John 4 r Caillaud 44000 Nantes 3 Fonglias Céline Av des Paulines 63 000 Clermont Fd 4 Durand Camille Place d espagne 75 019 Paris 01 45 78 25 5 Roger Julie 16 r substantion 34000 Montpellier 04 75 24 63 #NumCli #NumArt Date Qte Table T Achats Table T Articles 1 1 30/01/2009 1 1 5 30/01/2009 4 4 3 29/01/2009 1 4 2 30/01/2009 2 5 2 30/01/2009 2 NumArt Désignation Categorie Prix 1 Product placement Cd 12 2 Kaamelott DVD 19 2 WebCam Informatique 24 4 Graveur Informatique 38 5 Clé USB 16 Go2 Informatique 18 Modélisation BD 9 / 20

Projection Construire une relation en ne gardant que certains attributs Afficher le contenu de la table Clients SELECT From T Clients; Afficher le nom et prénom des clients SELECT Nom, Prenom From T Clients; Modélisation BD 10 / 20

Mot clé Distinct Conserver que les lignes distinctes Mot clé All actif par défaut Afficher les noms des Clients (avec doublons eventuels) : SELECT Nom From T Clients; Afficher le nom et prénom des clients SELECT DISTINCT Nom From T Clients; Modélisation BD 11 / 20

Modification des entêtes affichées : As SELECT DISTINCT Nom As "Nom des clients" From T Clients; Modélisation BD 12 / 20

Restrictions : Where Pour ne garder que les tuples vérifiants une certaine condition Dans la clause WHERE les opérateurs suivants peuvent être utilisés : comparateur numériques : >, >=, <, <=, =, <> opérateurs logiques : AND, OR, NOT, NOT NULL, ALL, ANY, EXISTS... IN BETWEEN LIKE Modélisation BD 13 / 20

Restrictions : WHERE Clients habitant Montpellier SELECT From T Clients WHERE Ville= Montpellier ; Articles dont le prix est compris entre 14 et 30 Euros SELECT From T Articles WHERE prix>14 AND prix < 30; From T Articles WHERE prix BETWEEN 14 AND 30; Clients dont le numero est saisie SELECT From T Clients WHERE Tel IS NOT NULL; Modélisation BD 14 / 20

LIKE Permet d utiliser des expressions régulières Clients dont le nom commence par F SELECT From T Clients WHERE Nom Like B% ; Clients dont le nom fini par d SELECT From T Clients WHERE Nom Like %d ; Clients dont le nom contient un F SELECT From T Clients WHERE Nom Like %B% ; Modélisation BD 15 / 20

Les tris La clause ORDER BY, associée aux mots ASC ou DESC permet de trier les résultats : SELECT * FROM Clients ORDER BY Nom DESC NumCli Nom Prénom Adresse CodeP Ville Tel 4 Durand Camille Place d espagne 75 019 Paris 01 45 78 25 3 Fonglias Céline Av des Paulines 63 000 Clermont Fd 2 Fonglias John 4 r Caillaud 44000 Nantes 1 Fortin Jérôme 2 r bonnard 34000 Montpellier 04 73 80 25 5 Roger Julie 16 r substantion 34000 Montpellier 04 75 24 63 Modélisation BD 16 / 20

Les jointures La jointure consite à rapprocher deux relations R1 et R2 afin de former une troisième relation R3 vérifiant une certaine condition de rapprochement. Afficher les noms et prénoms des clients ayant acheté un article le 30 février 2009 SELECT Nom, Prenom FROM Clients, Achats WHERE Clients.NumClient=Achets.NumClient AND Achat.Date= 30/12/2009 SELECT Nom, Prenom FROM Clients JOIN Achats ON Clients.NumClient=Achets.NumClient WHERE Achat.Date= 30/12/2009 Modélisation BD 17 / 20

AS Les noms de tables peuvent devenir fastidieux à saisir, on peut simplifier l écriture en utilisant le mot clé AS. Afficher les noms et prénoms des clients ayant acheté un article le 30 février 2009 SELECT Nom, Prenom FROM Clients AS Cl JOIN Achats AS Ach ON Cl.NumClient=Ach.NumClient WHERE Achat.Date= 30/12/2009 Modélisation BD 18 / 20

Les fonctions statistiques Fonction description AVG(attrubut) Caul la moyenne des valeurs dans l attribut SUM(attribut) Calcul la somme des valeurs dans l attribut MIN(attribut) Détermine la plus petite valeur dans l attribut MAX(attribut) Détermine la plus grande valeur dans l attribut COUNT(attribut) Compte de nombre d occurence dans l attrubut Calculer le prix moyen des articles : SELECT AVG(Prix) As Prix moyen, MIN(Prix), MAX(Prix) FROM Articles ; Compter le nombre de cathégories : SELECT COUNT(Cathégorie) As Nombre de cathégories FROM Articles ; Modélisation BD 19 / 20

Sous-requêtes Une sous requête permet de réaliser de façon élégante des traitement qui seraient fasitdieux voir difficilement réalisables à l aide de requetes simples. le rôle d une sous requête est d envoyer le résultat de son traitement dans la requête principale Articles dont le prix est suppérieur au prix moyen : SELECT * FROM articles WHERE Prix > (Select AVG(PRIX) FROM Articles); Modélisation BD 20 / 20