Le langage SQL.

Slides:



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

Programme Introduction aux BD et aux SGBD Le modèle relationnel
SGBD – Oracle Cours BD LF2 info
INTEGRITE ET BD ACTIVES
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,
AYARI Mejdi Formation 2121 * ISD * 1 tructured uery Anguage 2006.
Rappel sur les bases de données et le vocabulaire
Initiation aux bases de données et à la programmation événementielle
Le modèle relationnel.
L’utilisation des bases de données
MODELE RELATIONNEL concept mathématique de relation
SQL: Contraintes et Triggers
SQL partie3: Langage de définition des données
Base de données Chapitre 1 Introduction
Création de bases de données
Bases de Données Avancées - TP2: SQL
1 CSI 2532 Lab3 6 Février 2012 Programmation avancée SQL.
Maria Berger - Maîtrise d'AES
Michel Tollenaere SQL et relationnel ENSGI Cours MSI 2A Relationnel et SQL version 1.4 du 25 septembre 2007 (ajout jointures) 1 Modèle relationnel Historique.
Christine Bonnet SOURCES : « Samples » dOracle, « Oracle 8 » R. Chapuis PRO*C – C ++
LE LANGAGE DE REQUETES SQL2
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.
Problèmes BD. Bases de données - Yann Loyer2 Problèmes BD Ensemble de problèmes couramment rencontrés lors du développement d’applications de bases de.
Chap 4.5 : SQL (LDD) LDD : Langage de définition de données Réfs : Manuel p105.
Le langage de requêtes SQL
INTEGRITE ET BD ACTIVES
PostgreSQL – Présentation
DEFINITION DES DONNEES : schéma conceptuel. Schéma conceptuel instructiondescription CREATE TABLEcréation d'une relation ALTER TABLEmodification de la.
Module 4 : Implémentation de l'intégrité des données.
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.
Cours SQL.
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
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.
Méthode d’analyse et de conception
Les vues Une vue: c’est une relation virtuelle. Définie par:
13 Copyright © Oracle Corporation, Tous droits réservés. Gérer l'intégrité des données.
Définition des contraintes Vérification des contraintes Triggers
Le Langage de Définition de Données LDD. 2 Les ordres et les objets Ordre CREATE –Création de la structure de l’objet  DD Ordre DROP –Suppression des.
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.
Séance /10/2004 SGBD - Approches & Principes.
Initiation aux bases de données et à la programmation événementielle
NIVEAU LOGIQUE Vues. Fenêtre dynamique sur la base Ses données proviennent d'autres tables ou d'autres vues.
INTRODUCTION AUX BASES DE DONNEES Base et métabase
Cours n°2 Implémentation et exploitation
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.
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.
Le langage de définition de données B.T.S. S.I.O – SI3 –
SQL : 4 fonctions d'exploitation de SGBD SQL (Structured Query Language, traduisez Langage de requêtes structuré) est un langage informatique ayant pour.
SQL partie 1 Langage de Définition de Données. SQL est un langage de définition de données  SQL est un langage de définition de données (LDD), c'est-à-dire.
Structured Query Language SQL DDL
Structured Query Language
Généralité sur les bases de données
1. LE LANGAGE SQL DDL Version 2 - Janvier Le langage SQL-DDL
7 Contraintes d’intégrité en SQL
1. LE LANGAGE SQL DDL Version 1 - Mai 2009 corrigé le 11/2/2011
Transcription de la présentation:

Le langage SQL

SQL : plusieurs facettes Une syntaxe simple Un langage Déclaratif/Associatif Un seul langage pour l’Interrogation, la Manipulation, la Définition et de le Contrôle des données

SQL : plusieurs facettes Définition des données: Create , Drop, alter, rename Interrogation de données: select Modifications de données: Insert, Upadate, Delete Gestion des transactions: Commit, rallback Contrôle des données : Grant Revoke

SQL : Langage de définition de données

Plan Types de données Création et modification de tables Création et modification de contraintes Création et modification de données

Types de données

Types de données Type numérique Entier: INTEGER INT SMALLINT NUMBER() Réel: DECIMAL (NUMBER – Oracle) REAL (ex : 3.27E-4, 24E5 ) DOUBLE PRECISION FLOAT NUMERIC(n,d)

Types de données Type texte Chaîne de caractères de longueur fixe: CHARACTER() CHAR () Chaîne de caractère de longueur variable: CHARACTER VARYING() VARCHAR()

Types de données Type date DATE (Oracle) (ex: ‘1998-08-25’) DATETIME (SQLServer) TIME (Ex: '14:04:32.25‘ ) TIMESTAMP ( ex: '1998-08-25 14:04:32.25)

Types de données Autres types (liés à l'implémentation) Monétaire: CURRENCY MONEY (SQL Server) Booléen: LOGICAL

Création et modification de tables (LDD)

Création de table clause CREATE TABLE La clause permet de créer une structure de stockage. Syntaxe CREATE TABLE <nomtable> ( <nomattribut> <type> [[ DEFAULT <valeurdéfaut> ] [[ CONSTRAINT <nomcontrainte>] <contrainte_attr>], ……………………………………………………………..., [[ CONSTRAINT <nomcontrainte>] <contrainte_tab>], …………………………………………………………… ) A t r i b u s C o n t r a i e S de tables

CREATE TABLE Exemple Oracle CREATE TABLE Entreprise ( id_entreprise INTEGER, nom VARCHAR(30) ); CREATE TABLE Employé ( id_employe INTEGER, nom VARCHAR(30), prenon VARCHAR(20), pays VARCHAR(10) DEFAULT ‘Maroc', Salaire_base NUMERIC(5,2)

CREATE TABLE Exemple SQL Server CREATE TABLE Entreprise ( id_entreprise INTEGER, nom VARCHAR(30) ); CREATE TABLE Employé ( id_employe INTEGER, nom VARCHAR(30), prénom VARCHAR(20), pays VARCHAR(10) DEFAULT ‘Maroc', Salaire_base MONEY

Syntaxe de spécification De Colonne 15

Modification de table clause ALTER TABLE La clause ALTER TABLE permet : d'ajouter un attribut de supprimer un attribut de modifier un attribut d'ajouter une contrainte de supprimer une contrainte

clause ALTER TABLE (Oracle) Syntaxe Oracle: ALTER TABLE <nom_table> ADD <definition_attribut> MODIFY <definition_attribut> DROP <nom_attribut> ADD <definition_contrainte> DROP <nom_contrainte> Exemples ALTER TABLE Entreprise ADD adresse VARCHAR(20); MODIFY adresse VARCHAR(30);

clause ALTER TABLE (SQL Server) Syntaxe SQL Server: ALTER TABLE <nom_table> ADD <definition_attribut> DROP COLUMN <nom_attribut> ALTER COLUMN <nom_attribut> <type_données> ADD CONSTRAINT <definition_contrainte> DROP CONSTRAINT <nom_contrainte> Exemples ALTER TABLE Entreprise ADD adresse VARCHAR(20); ALTER COLUMN adresse VARCHAR(30);

Suppression d'une table clause DROP TABLE La clause DROP TABLE supprime une table. Syntaxe : DROP TABLE <nomtable>; Exemple : DROP TABLE Employe ; Attention: on ne peut supprimer une table, dont la clé primaire est une clé étrangère dans une autre table, avant cette autre table.

Création et modification de contraintes (LDD)

Définition des contraintes clause CREATE TABLE Syntaxe A t r i b u s CREATE TABLE <nom_table> ( <nom_attribut> <type> [ DEFAULT <valeur_défaut> ], [[ CONSTRAINT <nom_contrainte> ]<contrainte> ], …, [ CONSTRAINT <nom_contrainte> <contrainte> ] ) C o n t r a i e s

Contrainte de clé clause PRIMARY KEY L’attribut (ou le groupe d’attributs) doit avoir une valeur unique et identifier un tuple de manière unique Exemple CREATE TABLE entreprise ( id_entreprise INTEGER CONSTRAINT pk_entreprise PRIMARY KEY, nom VARCHAR(20) ); Ou (contrainte de table) : CREATE TABLE entreprise ( id_entreprise INTEGER, nom VARCHAR(20), CONSTRAINT pk_entreprise PRIMARY KEY(id_entreprise) );

Contrainte de non nullité clause NOT NULL L’attribut ne peut pas prendre de valeur nulle, il doit être toujours renseigné. Exemple: CREATE TABLE Employe ( id_employe INTEGER CONSTRAINT pk_employe PRIMARY KEY, nom VARCHAR(30), prénom VARCHAR(20), pays VARCHAR(10) DEFAULT ‘Maroc', id_entreprise INTEGER, Salaire_base MONEY CONSTRAINT nn_salaire NOT NULL);

Contrainte d'unicité clause UNIQUE L’attribut (ou le groupe d’attributs) doit avoir une valeur unique. Exemple: CREATE TABLE Entreprise ( id_entreprise NUMERIC(4) CONSTRAINT pk_entreprise PRIMARY KEY, nom VARCHAR(20) CONSTRAINT unq_nom UNIQUE ); Ou (contraintes de table): id_entreprise NUMERIC(4), nom VARCHAR(20), CONSTRAINT pk_entreprise PRIMARY KEY(id_entreprise), CONSTRAINT unq_nom UNIQUE(nom) );

Contrainte référentielle clause REFERENCES Toute valeur d'un attribut ou d'un groupe d'attributs, appelé clé étrangère, doit exister dans une autre table. Exemple: CREATE TABLE Employé ( id_employe INTEGER CONSTRAINT pk_employe PRIMARY KEY, nom VARCHAR(30), prénom VARCHAR(20), pays VARCHAR(10) DEFAULT ‘Maroc', id_entreprise INTEGER CONSTRAINT fk_employe_entreprise Foreign KEY REFERENCES entreprise(id_entreprise), Salaire_base MONEY CONSTRAINT nn_salaire NOT NULL );

Contrainte de domaine clause CHECK spécifie les valeurs que peut prendre un attribut d’une relation. Exemple: CREATE TABLE Employé ( id_employe INTEGER CONSTRAINT pk_employe PRIMARY KEY, nom VARCHAR(30), prénom VARCHAR(20), Echelle Varchar(10) CONSTRAINT check_Echelle CHECK (Echelle IN (‘Cadre', ‘Technicien’ ), pays VARCHAR(10) DEFAULT ‘Maroc', id_entreprise INTEGER, Salaire_base MONEY );

Contrainte référentielle et suppression clause ON DELETE CASCADE Si le tuple référencé est supprimé alors tous les tuples qui le référencent sont supprimés également. Exemple : CREATE TABLE Employé ( id_employe INTEGER CONSTRAINT pk_employe PRIMARY KEY, nom VARCHAR(30), prénom VARCHAR(20), pays VARCHAR(10) DEFAULT ‘Maroc', id_entreprise INTEGER CONSTRAINT fk_employe_entreprise Foreign KEY REFERENCES entreprise(id_entreprise) ON DELETE CASCADE, Salaire_base MONEY CONSTRAINT nn_salaire NOT NULL);

Un autre exemple CREATE TABLE T_Vendeur( noVendeur NUMERIC(6) CONSTRAINT pk_noVendeur PRIMARY KEY, nom VARCHAR(20) NOT NULL, alias VARCHAR(10) CONSTRAINT unq_alias UNIQUE, noAgence NUMERIC(4)CONSTRAINT fk_noAgence REFERENCES Agence(noAgence) ON DELETE CASCADE NOT NULL , comm CHAR(1) DEFAULT 'O' CHECK (comm IN ('O','N')), salaire NUMERIC(9,2), commission NUMERIC(5,2), CONSTRAINT chk_sal CHECK (commission<salaire), CONSTRAINT chk_comm CHECK ((comm='N' AND commission IS NULL) OR (comm='O' AND commission IS NOT NULL)) );

Suppression des contraintes clause ALTER TABLE Syntaxe : ALTER TABLE <nomtable> DROP CONSTRAINT <nomcontrainte> Exemple : ALTER TABLE Employe DROP CONSTRAINT nn_salaire;

Synthèse

Synthèse Nous avons vu : Types de données Oracle : NUMBER(p), NUMBER(p,s), VARCHAR(l), DATE SQL Server : INT, NUMERIC(n,d), VARCHAR(l), DATETIME Création et modification de tables CREATE TABLE, ALTER TABLE, DROP TABLE Création et modification de contraintes PRIMARY KEY, NOT NULL, FOREIGN KEY, CHECK Création et modification de données SELECT, INSERT, UPDATE, DELETE