Cours SQL.

Slides:



Advertisements
Présentations similaires
Bases de Données Avancées: Bases de Données Relationnelles
Advertisements

SGBD – Oracle Cours BD LF2 info
Année universitaire Système dinformation Le SQL (Structured Query Language) langage dinterrogation dune base de données.
Faculté I&C, Claude Petitpierre, André Maurer Bases de données SQL (Structured Query Language)
LE LANGAGE SQL : LDD La création de tables L’ordre CREATE CREATE TABLE nom_de_table (Nom_colonne Type_colonne, Nom_colonne Type_colonne,
Développement d’applications web
AYARI Mejdi Formation 2121 * ISD * 1 tructured uery Anguage 2006.
Faculté I&C, Claude Petitpierre, André Maurer Bases de données SQL (Structured Query Language)
Contrôles d'accès aux données
L’utilisation des bases de données
Rappel sur les bases de données et le vocabulaire
Initiation aux bases de données et à la programmation événementielle
T ECHNOLOGIES O RACLE Manipulation des données © sebvita.com.
Bases de données et SGBD relationnels
SELECT {* | Expression [Alias] [,...] } FROM Table [WHERE Condition] [ORDER BY { Expression | Alias } [ ASC | DESC ] [NULLS FIRST | NULLS LAST ] [,...]
L’utilisation des bases de données
SQL partie3: Langage de définition des données
Bases de Données Avancées - TP2: SQL
Manipulation des données Requêtes simples
1 CSI 2532 Lab3 6 Février 2012 Programmation avancée SQL.
Maria Berger - Maîtrise d'AES
Christine Bonnet SOURCES : « Samples » dOracle, « Oracle 8 » R. Chapuis PRO*C – C ++
Introduction Le SQL (Structured  Query Language) est un langage universel de gestion des bases de données. Il a une triple fonction : LDD Langage de Définition.
Cours 4b: Introduction au SQL, le langage des SGBD Relationnels
Introduction.
SQL Partie 1.
SQL partie 3. SQL est un langage de définition de données SQL est un langage de définition de données (LDD), c'est-à-dire qu'il permet de créer des tables.
Chap 4.5 : SQL (LDD) LDD : Langage de définition de données Réfs : Manuel p105.
EPID-CPI-ISAIP Philippe Bancquart - mise à jour 24/02/ page 1 Transac SQL Intégrité des données.
Cours n°4M2. ESCE (S. Sidhom) Séminaire ( 6-12 Février 2007 ) Promo. M2 ESCE-Tunis 2006/07 Conception d’un système d'information sur Internet Architecture.
JDBC L'API JDBC est utilisée pour utilisée pour intéragir avec une base de données.
05/02/98WEB ESNIG Modèle logique de données Oracle Designer/2000 & Oracle Web Server.
1 PHP 5 Notions fondamentales (cours #5) Formation continue – Cégep de Sainte-Foy.
Module 7 : Utilisation de requêtes élaborées
DEFINITION DES DONNEES : schéma conceptuel. Schéma conceptuel instructiondescription CREATE TABLEcréation d'une relation ALTER TABLEmodification de la.
DOSSIER G10 – La base de données Relationnelle
Module 4 : Implémentation de l'intégrité des données.
Sélection de colonnes (la projection)
Les Contraintes.
SQL : Langage de Manipulation des données
21/04/2015© Robert Godin. Tous droits réservés.1 6Gestion des contraintes d’intégrité en SQL n Contrainte d'intégrité statique – respectée pour chacun.
Quinio1 Bases de données : modèlisation et SGBD Séance 3 B Quinio.
Création et Gestion de Tables
Le Langage de Définition de Données LDD
3 Copyright © Oracle Corporation, Tous droits réservés. Créer des fonctions.
Cours n°4M1.ist-ie (S. Sidhom) UE 203 Promo. M1 IST-IE 2006/07 Conception d’un système d'information sur Internet Architecture trois-tiers : technologies.
Les vues Une vue: c’est une relation virtuelle. Définie par:
Cours Access TuanLoc NGUYEN. Contact Nguyen TuanLoc Tél: Web:
06/04/06 LES BASES DE DONNEES INTRODUCTION CogniTIC – Bruxelles Formation - Cepegra.
Structured Query Language 1/34. SQL Types de données Langage de Définition de Données (LDD) Langage de Manipulation de Données (LDM) Langage de Contrôle.
Les bases de données Séance 8 Jointures.
Le langage SQL.
Séance /10/2004 SGBD - Approches & Principes.
Initiation aux bases de données et à la programmation événementielle Cours N°2 : langage d’interrogation de données. (Les requêtes statistiques et autres).
Initiation aux bases de données et à la programmation événementielle
1 Initiation aux bases de données et à la programmation événementielle Cours N°8 : Gestion de la cohérence avec des zones de liste déroulantes. Souheib.
INTRODUCTION AUX BASES DE DONNEES Base et métabase
Cours n°2 Implémentation et exploitation
Les vues, indexes, séquences.  Qu’est ce qu’une vue 1. Une vue est une vision partielle ou particulière des données d'une ou plusieurs tables de la base.
Bases de données – Cours 3
Le Langage de Manipulation de Données LMD Module 6.
CONCEPTS BD - Synthèse journée 1 :
Le langage SQL LA Plan 1. Introduction Rappels sur le modèle relationnel Les caractéristiques du langage SQL 2. Le Langage d'Interrogation des.
SQL Partie 2. SQL est un langage de manipulation de données SQL est un langage de manipulation de données (LMD), cela signifie qu'il permet de sélectionner,
Les bases de données Séance 4 Construction du Modèle Physique (la BDD)
Bases de données : modèlisation et SGBD Séance 3.
1 Les bases de données Séance 5 -- Le Langage de Définition de Données ou la manœuvre de la structure de la base -- Le Langage de Manœuvre de Données.
SQL partie 5 1 LMD create – update – primary key secondary key.
Transcription de la présentation:

Cours SQL

INTRODUCTION Une base de données est un ensemble d'informations structurées. Un SGBDR (Système de Gestion de Bases de Données Relationnel) est un logiciel qui permet de : - stocker,   - consulter, - modifier, - supprimer les données de la base de données.   Un SGBDR stocke les informations dans des tables.

Définitions SQL (Strutured Query Language) : - est le langage utilisé pour accéder aux données d'une base de données. - est normalisé. C'est un standard adopté par l'ANSI (American National Standards Institute). ANSI SQL89   - est un langage ensembliste (non procédural) - est un langage « universel » utilisé par : * les administrateurs * les développeurs * les utilisateurs pour :   administrer et contrôler définir et développer manipuler

Les commandes Commandes de manipulation des données : - SELECT : interrogation - INSERT : insertion - UPDATE : mise à jour - DELETE : suppression Les commandes de définition de données : - CREATE : création d'un objet - ALTER : modification d'un objet - TRUNCATE : supprimer les lignes d'une table - DROP : supprimer un objet - RENAME : renommer un objet Remarque : les commandes GRANT et REVOKE seront vues dans le cours d'administration.

Catégorie Commandes SQL Description des données (DDL) CREATE Création de tables ALTER Modification de tables DROP Suppression de tables Manipulation des données (DML) INSERT Insertion de lignes dans une table UPDATE Mise à jour de lignes dans une table DELETE Suppression de lignes dans une table

Contrôle des données (DCL) GRANT Attribution de droits d'accès REVOKE Suppression de droits d'accès COMMIT Prise en compte des mises à jour ROLLBACK Suppression des mises à jour Interrogation des données SELECT Interrogations diverses

Les objets Les objets du SGBD Relationnel ORACLE sont les suivants : - les Tables, - les Vues, - les Index, - les Séquences, - les Synonymes, - les Clusters. Seuls les objets TABLES, VUES, INDEX et SYNONYMES seront vus dans ce cours.

Créer une Base de données Une base de données, usuellement abrégée en BD ou BDD, est un ensemble structuré et organisé permettant le stockage de grandes quantités d'informations afin d'en faciliter l'exploitation (ajout, mise à jour, recherche de données). Syntaxe simple : Create database Nom_Base ex : Create database MaBase Quand on utilise cette commande simple, SQL choisi des valeurs par défauts pour la taille du fichier de base et journal leurs noms leurs incrémentations etc.…,

CREATE TABLE CREATE TABLE "nom de table" ("colonne 1" "type de données pour la colonne 1", "colonne 2" "type de données pour la colonne 2", ... ); Exemple : CREATE TABLE Customer (First_Name char(50), Last_Name char(50), Address char(50), City char(50), Country char(25), Birth_Date datetime);

clé primaire La clé primaire concourt à identifier uniquement chaque ligne d’une table. Elle peut représenter une partie d’un enregistrement concret, ou être un champ artificiel (un champ qui n’a rien à voir avec l’enregistrement réel). La clé primaire peut représenter un ou plusieurs champs d’une table. Lorsque la clé primaire représente plusieurs champs, elle est appelée « clé composite ». CREATE TABLE Persons( P_Id int NOT NULL, LastName varchar(255) NOT NULL, FirstName varchar(255), Address varchar(255), City varchar(255), CONSTRAINT pk_PersonID PRIMARY KEY (P_Id,LastName) )

clé étrangère  La clé étrangère représente un champ (ou des champs) qui pointe vers la clé primaire d’une autre table. L’objectif de la clé étrangère est d’assurer l’intégrité référentielle des données. En d’autres mots, seules les valeurs devant apparaître dans la base de données sont permises. CREATE TABLE Orders ( O_Id int NOT NULL, OrderNo int NOT NULL, P_Id int, PRIMARY KEY (O_Id), CONSTRAINT fk_PerOrders FOREIGN KEY (P_Id) REFERENCES Persons(P_Id) )

Insert Insertion : Pour insérer des données dans une base, il y a 2 syntaxes principales : Insérer une ligne en indiquant les informations pour chaque colonne existante (en respectant l’ordre) Insérer une ligne en spécifiant les colonnes que vous souhaiter compléter. Il est possible d’insérer une ligne en renseigner seulement une partie des colonnes INSERT INTO client (prenom, nom, ville, age) VALUES ('Rébecca', 'Armand', 'Saint-Didier-des-Bois', 24), ('Aimée', 'Hebert', 'Marigny-le-Châtel', 36), ('Marielle', 'Ribeiro', 'Maillères', 27), ('Hilaire', 'Savary', 'Conie-Molitard', 58);

update SQL UPDATE La commande UPDATE permet d’effectuer des modifications sur des lignes existantes. Très souvent cette commande est utilisée avec WHERE pour spécifier sur quelles lignes doivent porter la ou les modifications. Exemple : UPDATE client SET rue = '49 Rue Ameline', ville = 'Saint-Eustache-la-Forêt', code_postal = '76210' WHERE id = 2;

SQL DELETE La commande DELETE en SQL permet de supprimer des lignes dans une table. En utilisant cette commande associé à WHERE il est possible de sélectionner les lignes concernées qui seront supprimées. Exemple DELETE FROM utilisateur WHERE date_inscription < '2012-04-10‘;

DROP SQL DROP TABLE La commande DROP TABLE en SQL permet de supprimer définitivement une table d’une base de données. Cela supprime en même temps les éventuels index, trigger, contraintes et permissions associées à cette table. Attention : il faut utiliser cette commande avec attention car une fois supprimée, les données sont perdues. Avant de l’utiliser sur une base importante il peut être judicieux d’effectuer un backup (une sauvegarde) pour éviter les mauvaises surprises. DROP TABLE nom_table

Opération de sélection SELECT nom de colonne FROM nom de table Where condition; La clause WHERE permet d'effectuer un filtrage de tuples. C'est à dire sélectionner un sous-ensemble de lignes dans les tables. Seules les lignes vérifiant la clause WHERE seront retournées. - Les opérateurs logiques (AND, OR) peuvent être utilisés dans le cas de prédicats multiples. - L'opérateur NOT inverse le sens du prédicat. - Pas de limite dans le nombre de prédicats.

Exemples : Lister tous les pilotes de la compagnie SQL> SELECT Exemples : Lister tous les pilotes de la compagnie SQL> SELECT * FROM pilote; ==> - pas de sélection - tous les tuples de la relation PILOTE sont ramenés Lister les pilotes qui vivent à Nice FROM PILOTE WHERE ADR='Nice'; ==> - sélection : clause WHERE - seuls les tuples de la relation PILOTE vérifant la clause WHERE sont ramenés

Opérateurs arithmétiques Dans les critères de la clause WHERE, nous pouvons avoir les opérateurs de comparaison arithmétiques suivants : = : égal, != : différent, > : supérieur, >= : supérieur ou égal, < : inférieur, <= : inférieur ou égal. Exemple : Liste des pilotes qui gagnent plus de 10000 et dont le numéro de tel est 93000000 SQL> SELECT plnom FROM pilote WHERE sal > 10000 AND tel='93000000';

les opérateurs sur les chaînes : LIKE et SOUNDEX Opérateur LIKE Caractères jokers de l'opérateur LIKE : % : remplace 0 à n caractères _ : remplace 1 et un seul caractère Exemple 1 : Sélectionnez les pilotes dont le nom commence par M. SQL> SELECT * FROM pilote WHERE plnom LIKE 'M%'; Exemple 2 : Sélectionnez les pilotes dont le nom contient un A en troisième position. SQL> SELECT * FROM pilote WHERE plnom LIKE '___A%';

ESCAPE La clause ESCAPE permet de de-spécialiser les caractères jokers : _ et %. Le caractère précisé derrière la clause ESCAPE permet la recherche des caractères _ et % dans une chaîne de caractères. Exemple 3 : Sélectionnez les pilotes dont le nom contient le caractère _. SQL> SELECT * FROM pilote WHERE plnom LIKE '%*_%' ESCAPE '*';

Opérateur SOUNDEX Opérateur SOUNDEX SOUNDEX(chaîne) est une fonction qui permet une comparaison phonétique. SOUNDEX(chaîne) génère une valeur numérique sur 4 octets (selon un algorithme précis). Pour faire une comparaison phonétique entre 2 chaînes : SOUNDEX(chaîne1) = SOUNDEX(chaîne2) Exemple : Sélectionnez les pilotes dont le nom ressemble à Tonton SQL> SELECT plnom FROM pilote WHERE SOUNDEX(plnom) = SOUNDEX('Tonton'); PLNOM ------------ Tintin

l'opérateur IN and not in IN est l'opérateur qui permet de tester l'appartenance de la valeur d'une colonne à une liste. Exemples : Liste des vols dont la ville d'arrivée est Nice ou Paris. SQL> SELECT vol FROM vol WHERE va IN ('Nice ', 'Paris');

l'opérateur BETWEEN BETWEEN est l'opérateur qui permet de tester si une valeur appartient à un intervalle. Remarque : les bornes sont incluses. Exemple : Salaire et nom des pilotes gagnant entre 15000 et 18000 SQL> SELECT plnom, sal FROM pilote WHERE sal BETWEEN 15000 AND 18000; PLNOM SAL ------------ --------- Mathé 15000 Icare 17000,6 Mopolo 17000,6 Chretien 15000,6 Vernes 17000,6 Tournesol 15000,6 6 ligne(s) sélectionnée(s).

Les opérateurs ANY, SOME et ALL Ils se combinent avec l'un des opérateurs arithmétiques : Remarques : - l'opérateur ANY est équivalent à l'opérateur SOME. - la condition =ANY est équivalent à l'opérateur IN.

Exemple 2 : Sélectionnez les pilotes dont le salaire n'est pas un nombre rond. SQL> SELECT plnom FROM pilote WHERE sal != ALL (12000, 13000, 14000, 15000, 16000, 17000, 18000, 19000, 20000, 21000, 22000, 24000, 25000, 26000, 27000, 28000,29000); Remarque : La condition != ALL est équivalente à la condition NOT IN.

DISTINCT Cette clause permet de ne pas afficher les lignes qui ont même valeur. Si elle est indiquée, les enregistrements en double seront supprimés du fichier résultant final.: Exemple: SELECT DISTINCT dynastie FROM monarque

EXERCICES « Id et type d'avions de capacité supérieure à 300" "Nom des pilotes habitants taza ou casa" "Quels sont les noms de pilotes comportant un 't' . "Quels sont les vols au départ de kenitra, rabat ou fes ?" "Quels sont les avions dont la capacité est comprise entre 250 et 310 ?" "Quels sont les pilotes dont l'adresse ou le téléphone sont inconnus ?" "Nom des pilotes ayant un 'a' et un 'e' dans leur nom" "Nom des pilotes ayant 2 'o' dans leur nom " "Nom des pilotes dont le numéro de téléphone est renseigné"

Alter Table  Vous pouvez être amené à modifier à n’importe quel moment la structure d’une table créée dans la base de données. Les raisons classiques de modification d’une table sont les suivantes : Ajouter une colonne Supprimer une colonne Changer un nom de colonne Changer les types de données d’une colonne La syntaxe SQL de ALTER TABLE est : ALTER TABLE table_name ADD column_name datatype ALTER TABLE table_name DROP COLUMN column_name ALTER TABLE table_name MODIFY COLUMN column_name datatype

TRUNCATE Cette commande est très utile pour supprimer toutes les données d’une table. La commande DROP TABLE, que nous avons vue dans la last section  permet aussi d’exécuter cette opération. Mais comment devons-nous procéder pour supprimer les données tout en conservant la table ? Pour ce faire, il convient d’utiliser la commande TRUNCATE TABLE. La syntaxe pour TRUNCATE TABLE est : TRUNCATE TABLE "nom de table";