Langage Définition des Données LDD DROP ALTER CREATE.
of 36
/36
-
Author
rogier-ferrer -
Category
Documents
-
view
108 -
download
3
Embed Size (px)
Transcript of Langage Définition des Données LDD DROP ALTER CREATE.
- Page 1
- Langage Dfinition des Donnes LDD DROP ALTER CREATE
- Page 2
- TYPES DE DONNEES TypeSyntaxeRemarques / Exemple NUMBERNUMBER [(total [, Dcimal])]Total est max gal 38. Salaire NUMBER(7,2) CHARCHAR [(longueur)]Nom CHAR(15) VARCHAR2VARCHAR2 [(longueur)]Le type chane le plus efficace sous Oracle DATE Date_Naiss DATE RAWRAW (longueur)Gr comme le VARCHAR2, mais pas affichable. Seq RAW(100) LONG Permet de stocker des chanes d'une longueur max de 2 Go. Texte LONG LONG RAW Stockage de fichiers binaires comme les images, son et de la vido. Longueur max est 2Go Photo LONG RAW
- Page 3
- TypeSyntaxeRemarques / Exemple BLOB Binaires de type long CLOB Caractres codes sur 2 octets NCLOB Caractres cods sur 4 octets ROWID Chane de 18 caractre donnant l'adresse unique d'un enregistrement. Les LOB (Large Objects) permettent le stockage de 4 Go de donnes dans la base, ils existent depuis la version 8 d'Oracle, il existe 3 types (BLOB, CLOB, NCLOB). TYPES DE DONNEES
- Page 4
- LES TABLES Syntaxe formelle CREATE TABLE [schema.]table ( { column datatype [DEFAULT expr] [column_constraint]... | table_constraint} [,{ column datatype [DEFAULT expr] [column_constraint]... | table_constraint} ]...) [ [PCTFREE integer] [PCTUSED integer] [INITRANS integer] [MAXTRANS integer] [TABLESPACE tablespace] [STORAGE storage_clause] [ RECOVERABLE | UNRECOVERABLE ] [ PARALLEL ( [ DEGREE { integer | DEFAULT } ] [ INSTANCES { integer | DEFAULT } ] ) | NOPARALLEL ] [ CACHE | NOCACHE ] | [CLUSTER cluster (column [, column]...)] ] [ ENABLE enable_clause | DISABLE disable_clause ]... [AS subquery] Cration
- Page 5
- LES TABLES Chaque table est stocke dans un espace logique appel TABLESPACE. Il est possible de crer une table et de la renseigner par les rsultats dun ordre SELECT. Les types de donnes sont les mmes que les types des colonnes du SELECT CREATE TABLE bonus1(nom,remuneration) AS SELECT nom,salaire FROM emp; Une table ne peut contenir plus de 1000 colonnes (255 sous la version 7.x). une table contient au plus 1 colonne de type LONG ou LONG RAW. Exemple 1 CREATE TABLE employes ( emp_no NUMBER(3) CONSTRAINT pk_01 PRIMARY KEY, nom VARCHAR2(25) NOT NULL, prn VARCHAR2(35), dt_nais DATE NOT NULL, sal NUMBER(11,2) NOT NULL, sup_no NUMBER(3) CONSTRAINT fk_01 REFERENCES superieur(sup_no) TABLESPACE users STORAGE (INITIAL 1M NEXT 1M MINEXTENTS 1 MAXEXTENTS 10)); Caractristiques/Exemples
- Page 6
- LES TABLES Modification Exemple 2 CREATE TABLE employes ( no_emp NUMBER, no_service NUMBER, CONSTRAINT no_emp_pk PRIMARY KEY (no_emp), CONSTRAINT no_service_fk FOREIGN KEY (no_service) REFERENCES service (no_service) TABLESPACE tbs_emp; Remarques Lutilisation du TABLESPACE est trs importante. Les contraintes peuvent concernes, soit les colonnes, soit les tables. Les noms des contraintes permettent lactivation ou la dsactivation de la contrainte. Caractristiques/Exemples
- Page 7
- Modification des tables ALTER TABLE Changer le type de donnes dune colonne vide Augmenter ou diminuer la taille dune colonne. Ajouter et supprimer des colonnes dune table Modifier la contrainte NOT NULL. LES TABLESModification Marquer les colonnes comme inutilisables Crer ou supprimer une contrainte Modification de la structure des tables
- Page 8
- LES TABLESModification Syntaxe formelle ALTER TABLE [schema.]table [ADD { { column datatype [DEFAULT expr] [column_constraint]...| table_constraint} | ( { column datatype [DEFAULT expr] [column_constraint]...| table_constraint} [, { column datatype [DEFAULT expr] [column_constraint]...| table_constraint} ]... ) } ] [ MODIFY { column [datatype] [DEFAULT expr] [column_constraint]... | (column [datatype] [DEFAULT expr] [column_constraint]... [, column datatype [DEFAULT expr] [column_constraint]...]...) } ] [PCTFREE integer] [PCTUSED integer] [INITRANS integer] [MAXTRANS integer] [STORAGE storage_clause] [DROP drop_clause]... [ALLOCATE EXTENT [( [SIZE integer [K|M] ] [DATAFILE 'filename'] [ INSTANCE integer] )] [ PARALLEL ( [ DEGREE { integer | DEFAULT } ] [ INSTANCES { integer | DEFAULT } ] ) | NOPARALLEL ] [ CACHE | NOCACHE ] [ ENABLE { enable_clause | TABLE LOCK } | DISABLE { disable_clause | TABLE LOCK } ]...
- Page 9
- LES TABLESModification Syntaxe usuelle ALTER TABLE nom_table [MODIFY(col1 type1 [NOT NULL] [, col1 type1 [NOT NULL], ])] [ADD(col1 type1 [NOT NULL] [, col1 type1 [NOT NULL], ])] [DROP col1,col2,)] [ADD CONSTRAINT clause_contrainte] [SET UNUSED COLUMN nom_col] [DROP UNUSED COLUMNS] Exemple 1 ALTER TABLE employes MODIFY dt_nais NULL; Exemple 2 ALTER TABLE employesADD (dt_rec DATE NOT NULL,adresse VARCHAR2(50)); Exemple 3 ALTER TABLE employesADD (age NUMBER(2) NOT NULL) DROP (dt_nais,dt_rec); Exemple 4 ALTER TABLE employes ADD CONSTRAINT emp_sup_no CHECK (sup_no!=no);
- Page 10
- LES TABLESChangement de nom Syntaxe RENAME ancien_nom TO nouveau_nom ; Exemple RENAME employe TO emps; Remarque La syntaxe est la mme pour tous objets du schma : table, vue, squence, synonyme,
- Page 11
- LES TABLESSuppression des lignes Syntaxe TRUNCATE TABLE [schema.]table [ {DROP | REUSE} STORAGE] ; Rle Supprime toutes les lignes dune table. Prserve la structure de la table. Commande irrversible, car ne ncessitant pas de validation. Cette commande est du ressort du DBA. Exemple TRUNCATE TABLE emps;
- Page 12
- LES TABLESSuppression tables Syntaxe DROP TABLE [schema.]table [CASCADE CONSTRAINTS] ; Rle Supprime toutes les lignes dune table. Supprime la structure de la table. Lespace de la table est libr. CASCADE CONSTRAINTS permet de supprimer la table mme si lune de ses colonnes sont rfrences par dautres tables. Exemple DROP TABLE emps CASCADE CONSTRAINTS;
- Page 13
- LES TABLESLes partitions Partitionner une table revient diviser une grande table en plusieurs tables plus petites Amliorer les performances au niveau recherche pour les requtes SQL. Prvenir contre la corruption des fichiers de la base. Avantages des partitions Faciliter les sauvegardes et les restaurations de la base.
- Page 14
- LES TABLESLes partitions Partitionnement par plage Cration des partitions en fonction d'une plage de valeurs d'une colonne TYPES PARTITIONS Partitionnement par hachage Partition en fonction de valeurs gnres par hachage sur une cl donne.
- Page 15
- LES TABLESLes partitions Syntaxe 1 : par plage CREATE TABLE table (col1 type_donne1, , coln type_donnen) PARTITION BY RANGE (col) (PARTITION part1 VALUES THAN (val1) TABLESPACE tbs1, (PARTITION partn VALUES THAN (MAXVALUE) TABLESPACE tbsn); Syntaxe 1 : par Hachage CREATE TABLE table (col1 type_donne1, , coln type_donnen) PARTITION BY HASH (col) PARTITION n STORE IN (tbs1,tbs2,tbsn);
- Page 16
- LES VUES - VIEWSDfinition - Syntaxe Table virtuelle base sur un SELECT VUE - VIEW Chaque appel de la vue invoque le SELECT Donnes de la vue se trouvent dans les tables qui la sous-tendent Cataloguer des ordres SQL complexes. Restreindre l'accs certaines des colonnes d'une ou de plusieurs tables. Cacher la structure physique de la base de donnes.
- Page 17
- Syntaxe CREATE [OR REPLACE] VIEW [schema.]view [(alias [,alias]...)] AS subquery [WITH CHECK OPTION [CONSTRAINT constraint]] ; Exemple CREATE OR REPLACE VIEW vue_4145 AS SELECT no,nom,titre,salaire*4*12 "SALAIRE ANNUEL" FROM e_emp WHERE service_no BETWEEN 41 AND 45; Remarques Le SELECT peut contenir toutes les clauses sauf : CONNECT BY/ORDERBY. WITH CHECK OPTION permet que les UPDATE ou INSERT faits travers la vue ne produisent que des lignes correspondant la dfinition de la vue. Une view peut tre cre par SELECTION, JOINTURE ou PROJECTION. LES VUES - VIEWSCration - Syntaxe
- Page 18
- INSERT VUE VIEW DELETE UPDATE Ne pas Contenir toutes les colonnes NOT NULL. LES VUES - VIEWSContraintes Contient une colonne calcule Renferme la clause GROUP BY Renferme la clause DISTINCT
- Page 19
- LES VUES - VIEWS Modification / Suppression Modification ALTER VIEW [schema.]view COMPILE; Utilise si la structure des tables sous-tendant la view changent. Suppression DROP VIEW [schema.]view; Exemple DROP VIEW vue_4145;
- Page 20
- INDEX Dfinition - Syntaxe Acclrateur d'accs sur une table ou un cluster. INDEX Transparent aux requte, mais utilis par l'optimiseur Oracle. Peut tre unique ou multiple, concatn ou non. Amlioration des temps d'accs. Intervenir dans le tuning des bases Oracle.
- Page 21
- INDEX Dfinition - Syntaxe Syntaxe CREATE [UNIQUE] INDEX [schema.]index ON { [schema.]table (column [ASC|DESC][, column [ASC|DESC]]...) | CLUSTER [schema.]cluster } [INITRANS integer] [MAXTRANS integer] [TABLESPACE tablespace] [STORAGE storage_clause] [PCTFREE integer] [NOSORT | SORT] [ RECOVERABLE | UNRECOVERABLE ] Exemple CREATE UNIQUE INDEX i_nom_emp ON employes(nom DESC) TABLESPACE tbs_idx;
- Page 22
- INDEX Rgles construction index Utiliser un index UNIQUE pour crer une contrainte d'unicit sur une colonne. Stocker les index dans un TABLESPACE diffrent de celui des donnes. Le choix des colonnes d'index doit tenir compte de leurs frquence de mise jour. Un index peut tre partitionn. Depuis la version 8i d'Oracle, on peut dfinir des index sur les fonctions : Exemple CREATE INDEX nom_idx ON table(UPPER(col));
- Page 23
- INDEX Modification - Suppression Modification ALTER INDEX [schema.]index REBUILD; Utiliser cette commande pour reconstruire l'index. Suppression DROP INDEX [schema.]index; Exemple DROP INDEX vue_4145;
- Page 24
- SEQUENCE Dfinition - Syntaxe Rle Permet de gnrer squentiellement des numros attribus des colonnes numriques ayant une contrainte de type PRIMARY KEY ou UNIQUE. Syntaxe CREATE SEQUENCE [schema.]sequence [INCREMENT BY integer] [START WITH integer] [MAXVALUE integer | NOMAXVALUE] [MINVALUE integer | NOMINVALUE] [CYCLE | NOCYCLE] [CACHE integer | NOCACHE] [ORDER | NOORDER]
- Page 25
- SEQUENCE Dfinition - Syntaxe ClauseSignification START WITHDfinit la valeur de dpart de la squence. INCREMENT BYDfinit le pas d'incrmentation. MINVALUE/NOMINVALUEDfinit la valeur minimale de la squence, ou la dsactive. MAXVALUE/NOMAXVALUEDfinit la valeur maximale de la squence, ou la dsactive (1 ou 10E27. CYCLE/NOCYCLEAutorise ou non les cycles dans le cas o la MAXVALUE est atteinte. CACHE/NOCACHEDemande au systme de pr-allouer ou pas un espace en mmoire. LONGPermet de stocker des chanes d'une longueur max de 2 Go. Texte LONG ORDER/NOORDERSquence ordonne ou non.
- Page 26
- SEQUENCE Exemples - Fonctions Exemple 1 CREATE SEQUENCE seq_emp INCREMENT BY 1 START WITH 100 MAXVALUE 50000 MINVALUE 10 CYCLE CACHE 100 ORDER; Exemple 2 SELECT seq_emp.NEXTVAL // Valeur suivante de la squence FROM dual; Exemple 3 SELECT seq_emp.CURRVAL //valeur courante FROM dual;
- Page 27
- SEQUENCE Modification - Suppression Modification ALTER SEQUENCE [schema.]sequence [INCREMENT BY integer] [MAXVALUE integer | NOMAXVALUE] [MINVALUE integer | NOMINVALUE] [CYCLE | NOCYCLE] [CACHE integer | NOCACHE] [ORDER | NOORDER] ; Suppression DROP SEQUENCE [schema.]sequence; Exemple DROP SEQUENCE seq_emp;
- Page 28
- SYNONYMES Dfinition - Syntaxe Rle Permet de donner un nom ou un alias afin de le rfrencer diffremment. Un synonyme peut tre cr sur les objets suivants : TABLES, VUES, SEQUENCES, SYNONYMES, CLUSTERS, PROCEDURES, FONCTIONS, PACKAGES. Syntaxe CREATE [PUBLIC] SYNONYM [schema.]synonym FOR [schema.]object[@dblink ] Exemple CREATE SYNONYM t_employes FOR employes; SELECT * from t_employes; t_employes et employes rfrencent la mme table.
- Page 29
- SYNONYMES Nom - Suppression Remarques PUBLIC permet de crer des synonymes accessibles par tous les utilisateurs. Par dfaut le synonyme est priv, accessible uniquement par le propritaire. Un synonyme est mesure de protection des objets. Changement de nom RENAME SYNONYM ancien TO nouveau; Suppression DROP SYNONYM nom_syn;
- Page 30
- UTILISATEURS Dfinition - Syntaxe Dfinition Un utilisateur est un objet au mme titre que les autres (tables, vues, ). Des tables spciales entretenues par le DBA permettent de stocker toutes les informations sur les utilisateurs. Un synonyme est mesure de protection des objets. Utilisateurs prdfinis SCOTT / TIGER : droits limits. SYS / CHANGE_ON_INSTALL : superutilisateur. SYSTEM / MANAGER : synonyme de SYS, ayant des droits, mais moins que SYS. Oprations sur les utilisateurs Cration. Modification. Suppression. Attribution des privilges. Attribution de rles.
- Page 31
- UTILISATEURS Cration Syntaxe CREATE USER user IDENTIFIED BY password [DEFAULT TABLESPACE tablespace] [TEMPORARY TABLESPACE tablespace] [QUOTA {integer [K|M] | UNLIMITED} ON tablespace]... [PROFILE profile]; Exemple CREATE USER rpig4 IDENTIFIED BY rpig4 DEFAULT TABLESPACE users TEMPORAY TABLESPACE temp; L'indication du DEFAULT TABLESPACE est importante. Le quota permet d'attribuer l'utilisateur un quota sur un TABLESPACE.