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,

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
Initiation aux bases de données et à la programmation événementielle
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)
École dété Régionale 2007 Module : Base de Données Chap I : Notion de Base de Données Chap II : Notion de Systèmes de Gestion de Bases de Données Chap.
LMD: Langage de Manipulation de Données
Développement d’applications web
Faculté I&C, Claude Petitpierre, André Maurer Bases de données SQL (Structured Query Language)
Initiation aux bases de données et à la programmation événementielle
L’utilisation des bases de données
SQL: Contraintes et Triggers
SQL partie3: Langage de définition des données
Création de bases de données
Management of Information Technology - e-business
Bases de Données Avancées - TP2: SQL
1 CSI 2532 Lab3 6 Février 2012 Programmation avancée SQL.
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
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.
Modélisation des données Niveau conceptuel DON-2 V0-0.
Chap 4.5 : SQL (LDD) LDD : Langage de définition de données Réfs : Manuel p105.
 CREATE TABLE  DROP TABLE  ALTER TABLE  INSERT  UPDATE  DELETE  SELECT interrogation 2 Instruction de mise à jour structure.
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.
 C'est une fenêtre par laquelle les informations d'une table peuvent être visualisées et changées.  C'est une table virtuelle: ◦ elle n'existe pas ◦
PostgreSQL – Présentation
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.
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.
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.
Le langage SQL.
Séance /10/2004 SGBD - Approches & Principes.
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
Introduction au langage PL/SQL
Bases de données – Cours 3
Le Langage de Manipulation de Données LMD Module 6.
CONCEPTS BD - Synthèse journée 1 :
De Arnault Chazareix :
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 Initiation aux bases de données et à la programmation événementielle VBA sous ACCESS Cours N° 4 Support de cours rédigé par Bernard COFFIN Université.
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.
1. LE LANGAGE SQL DDL Version 2 - Janvier Le langage SQL-DDL
1. LE LANGAGE SQL DDL Version 1 - Mai 2009 corrigé le 11/2/2011
Transcription de la présentation:

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, ... );

LE LANGAGE SQL : LDD Exemple : Voici 3 structures de tables :  TELEPHONE (NUMERO, #TYPE,#MARQUE,DATE_ACHAT, PRIX,NUM_PORTABLE,COULEUR) MARQUE (MARQUE,LIB_MARQUE, PAYS) TYPE_TEL(TYPE,LIB_TYPE)

LE LANGAGE SQL : LDD Exemple : CREATE TABLE TELEPHONE (NUMERO INTEGER , TYPE CHAR(2), MARQUE INTEGER, DATE_ACHAT DATE, PRIX DECIMAL (9,2), NUM_PROPRIETAIRE INTEGER, COULEUR VARCHAR(25));

LE LANGAGE SQL : LDD Exemple : CREATE TABLE TYPE_TEL ( TYPE CHAR(2), LIB_TYPE VARCHAR(25)); CREATE TABLE MARQUE_TEL ( MARQUE INTEGER, LIB_MARQUE VARCHAR(25), PAYS VARCHAR(30));

LE LANGAGE SQL : LDD La suppression de tables  L’ordre DROP syntaxe DROP TABLE nom_de_table; DROP TABLE TELEPHONE;

LE LANGAGE SQL : LDD La modification de tables  L’ordre ALTER ALTER TABLE nom_de_table [ADD nom_de_colonne Type_colonne] [,DROP COLUMN nom_de_colonne] [,ADD CONSTRAINT nom_contrainte] [,DROP CONSTRAINT nom_contrainte]; Exemples :  Ajouter une colonne :  ALTER TABLE TELEPHONE ADD TELEP_NUM_PIN INTEGER; Supprimer une colonne :  ALTER TABLE TELEPHONE DROP COLUMN TELEP_NUM_PIN;

LE LANGAGE SQL : LDD  Renommer une table (RENAME) RENAME nom_de_table_ancien TO nom_de_table_nouveau; RENAME TELEPHONE TO SAV_TELEPHONE; Attention : certains SGBDR ne connaissent pas cet ordre. Dans ce cas il faut créer une autre table avec  la même structure comme ceci :  CREATE TABLE SAV_TELEPHONE AS SELECT * FROM TELEPHONE; puis supprimer la table initiale :  DROP TABLE TELEPHONE;

Les vues LE LANGAGE SQL : LDD CREATE VIEW <Nom_Vue> AS SELECT ... Exemple :   CREATE VIEW TEL_DATE AS SELECT TELEPHONE.DATE_ACHAT, TELEPHONE.TYPE , TYPE_TEL.LIB_TYPE, TELEPHONE.MARQUE ,MARQUE_TEL.LIB_MARQUE FROM TELEPHONE, TYPE_TEL, MARQUE_TEL WHERE TELEPHONE.TYPE = TYPE_TEL.TYPE AND TELEPHONE.MARQUE = MARQUE_TEL.MARQUE;

LE LANGAGE SQL : LDD Les index CREATE [UNIQUE] INDEX <nom index> ON <nom table> <nom colonne 1> [ASC|DESC], <nom colonne 2> [ASC|DESC], ... ... Exemples :  CREATE INDEX I2_TYPE ON TELEPHONE (TYPE); CREATE INDEX I3_TYPMAR ON TELEPHONE (TYPE, MARQUE); CREATE INDEX I4_COULEUR ON TELEPHONE (COULEUR DESC);

LE LANGAGE SQL : LDD  La suppression d’index DROP INDEX <nom_index> DROP INDEX I2_TYPE; DROP INDEX I4_COULEUR;

LE LANGAGE SQL : LDD L’intégrité des données Les contraintes d’intégrité permettent de maintenir la base cohérente.  On confie au SGBDR les tâches de contrôle  de la validité des données qui  sont insérées.   Les contraintes se substituent aux contrôles réalisés par programmes.  Il existe plusieurs types de contrôles. Il est possible d’indiquer au SGBDR :  quelle valeur par défaut à affecter à une colonne (DEFAULT),  qu’une colonne ne peut pas être null (NOT NULL),  qu’une colonne doit être unique (UNIQUE),  ou coder un contrôle sur une colonne (CHECK). PRIMARY KEY

LE LANGAGE SQL : LDD Exemple : déclaration de PRIMARY KEY sur une colonne  CREATE TABLE TELEPHONE ( NUMERO INTEGER PRIMARY KEY, TYPE VARCHAR(2), MARQUE INTEGER, DATE_ACHAT DATE, PRIX DECIMAL(9,2), NUM_PROPRIETAIRE INTEGER, COULEUR VARCHAR(25)); Automatiquement la colonne numéro sera NOT NULL et UNIQUE. 

LE LANGAGE SQL : LDD S’il y a plusieurs colonnes qui composent la clé, il faudra utiliser la clause CONSTRAINT  qui permet de déclarer une contrainte d’intégrité.  CREATE TABLE TELEPHONE ( NUMERO INTEGER , TYPE VARCHAR(2), MARQUE INTEGER, DATE_ACHAT DATE, PRIX DECIMAL(9,2), NUM_PROPRIETAIRE INTEGER, COULEUR VARCHAR(25), CONSTRAINT PK_TELEPHONE PRIMARY KEY (NUMERO,TYPE,MARQUE));

LE LANGAGE SQL : LDD  La FOREIGN KEY Dans l’exemple, il faut tout d’abord créer une clé primaire sur la table TYPE_TEL  et ensuite créer la clé étrangère  dans la table TELEPHONE. 

LE LANGAGE SQL : LDD  La FOREIGN KEY ALTER TABLE TYPE_TEL ADD CONSTRAINT PK_TELEPHONE PRIMARY KEY (TYPE); CREATE TABLE TELEPHONE (NUMERO INTEGER , TYPE VARCHAR(2), MARQUE INTEGER, DATE_ACHAT DATE, PRIX DECIMAL(9,2), NUM_PROPRIETAIRE INTEGER, COULEUR VARCHAR(25), CONSTRAINT FK_TYPE FOREIGN KEY (TYPE) REFERENCES TYPE_TEL );

LE LANGAGE SQL : LDD La clause « UNIQUE » Comme indiqué dans la section qui traite des PRIMARY KEY, la clause UNIQUE permet de préciser au SGBDR que  la valeur de cette colonne ne doit pas être en doublon dans la table.  CREATE TABLE TELEPHONE ( NUMERO INTEGER PRIMARY KEY, TYPE VARCHAR(2) DEFAULT ’AU’, MARQUE INTEGER, DATE_ACHAT DATE DEFAULT CURRENT_DATE, PRIX DECIMAL(9,2) DEFAULT 0, NUM_PROPRIETAIRE INTEGER UNIQUE, COULEUR VARCHAR(25));

LE LANGAGE SQL : LDD CHECK Attention  :  la  clause  CHECK  est  implémentée  dans  MySQL  mais  n’a  aucun  effet Cette  clause  permet  de  réaliser  toutes  sortes  de  contrôles  sur  les  colonnes  d’une  table.  Il  faut  l’utiliser  avec précaution car elle peut être source de problème de performances significatives. En effet, à chaque modification  de la colonne, l’ordre est exécuté et peut ralentir sensiblement les mises à jour.  CREATE TABLE TELEPHONE ( NUMERO INTEGER PRIMARY KEY, TYPE VARCHAR(2) CHECK (VALUE IN (SELECT TYPE FROM TYPE_TEL)), MARQUE INTEGER CHECK (VALUE BETWEEN 1 AND 99), DATE_ACHAT DATE, PRIX DECIMAL(9,2) CHECK (VALUE > 0), NUM_PROPRIETAIRE INTEGER, COULEUR VARCHAR(25));

LE LANGAGE SQL : LDD Exercices d’application Premier exercice À partir du contenu de ce tableau, écrire la syntaxe de création de la table FILM.  Mettre un index primaire sur la colonnes IDENT_FILM puis un index non unique sur les colonnes GENRE1 associé  à PAYS. 

LE LANGAGE SQL : LDD CREATE TABLE FILM ( IDENT_FILM INTEGER PRIMARY KEY, TITRE VARCHAR(50), GENRE1 VARCHAR(20), RECETTE DECIMAL(15,2), DATE_SORTIE DATE, PAYS SMALLINT, NB_ENTREE INTEGER, RESUME VARCHAR(2000), DATE_SAISIE TIMESTAMP ); Requête de création d'index CREATE INDEX I2_GENREPAYS ON FILM (GENRE1, PAYS);

LE LANGAGE SQL : LDD Deuxième exercice Ajouter une colonne complémentaire nommée NUM_REAL.  Cette colonne est une clé externe sur la table REALISATEUR.  Ajouter une valeur par défaut sur la colonne RECETTE avec la valeur 0.  Mettre les colonnes TITRE et PAYS en NOT NULL.  Supprimer la contrainte. 

LE LANGAGE SQL : LDD Requête d'ajout de colonne. ALTER TABLE FILM ADD (NUM_REAL INTEGER); ajout d'une clé étrangère : –- Création de la table Réalisateur DROP TABLE REALISATEUR; CREATE TABLE REALISATEUR (NUM_REAL INTEGER PRIMARY KEY, NOM VARCHAR(50)); –- AJOUT DE LA CONTRAINTE D INTEGRITE ALTER TABLE FILM ADD CONSTRAINT FK_REALISATEUR FOREIGN KEY (NUM_REAL) REFERENCES REALISATEUR;

LE LANGAGE SQL : LDD Troisième exercice Créer une vue FILM2 à partir de la table FILM contenant les 4 premières colonnes de la table FILM ainsi que la colonne RESUME.  Supprimer cette vue. 

SELECT IDENT_FILM, TITRE, GENRE1, RESUME FROM FILM; LE LANGAGE SQL : LDD CREATE VIEW FILM2 AS SELECT IDENT_FILM, TITRE, GENRE1, RESUME FROM FILM; Supprimer cette vue. DROP VIEW FILM2; Mediaexport 7: LDD

LE LANGAGE SQL : LDD

LE LANGAGE SQL : LDD

LE LANGAGE SQL : LDD

LE LANGAGE SQL : LDD

LE LANGAGE SQL : LDD

LE LANGAGE SQL : LDD

LE LANGAGE SQL : LDD