Oracle SQL l’instruction CREATE

Oracle: SQL

L’instruction CREATE
Cette instruction ouvre le monde `a l’utilisateur. Seules quelques unes des instruction CREATE seront decrites ici.

Tables Chaque concepteur de base de donnee doit creer une table un jour ou l’autre. Il est necessaire d’avoir un privilege systeme pour ex´ecuter la  commande CREATE TABLE. L’administrateur de la base de données gère ces privil`eges. La syntaxe pour créer une table est:
CREATE TABLE schema.TABLE (COLUMN DATATYPE default expression column constraint) table constraint
PCTFREE x1 PCTUSED x2 INITRANS x3 MAXTRANS x4 TABLESPACE name STORAGE clause CLUSTER cluster clause ENABLE clause DISABLE clause AS subquery
Dans cette syntaxe, – SCHEMA est un param`etre optionnel pour identifier le sch´ema de la base de donn´ee dans laquelle cette table doit ˆetre plac´ee. Par d´efaut, c’est celui de l’utilisateur. – TABLE est obligatoire et est le nom de la table. – COLUMN DATATYPE sont requis pour identifier chaque colonne dans la table. Les colonnes doivent ˆetre s´epar´ees par des virgules. Il y a au maximum 254 colonnes par table. – L’expression DEFAULT est optionnelle et est utilis´ee pour donner une valeur par d´efaut `a une colonne lorsque des insertions ult´erieures ne r´eussissent pas `a donner une valeur. – COLUMN CONSTRAINT est optionnel. C’est utilis´e pour d´efinir une contrainte d’int´egrit´e telle que not null. – TABLE CONSTRAINT estoptionneletestutilis´epourd´efinirunecontrainted’int´egrit´esurlatable,comme par exemple la cl´e primaire. – PCTFREE est optionnel mais a une valeur par d´efaut de 10. Ceci indique que 10 pour cents de chaque bloc sera reserve pour de futures mises `a jour des lignes de la table. Les entiers de 1 a 99 sont autoris´es. – PCTUSED est optionnel mais a une valeur par defaut de 40. Ceci indique le pourcentage minimum d’espace utilis´e qu’Oracle maintient avant qu’un bloc de donn´ees soit candidat pour une insertion de ligne. Les entiers de 1 `a 99 sont autoris´es. La somme de PCTFREE et PCTUSED doit ˆetre plus petite que 100. – INITRANS est optionnel mais a une valeur par d´efaut de 1. Les entiers de 1 `a 255 sont autoris´es. Il est recommand´e de ne pas modifier cette valeur. C’est une allocation du nombre d’entr´ees de transaction assignees au sein du bloc de donnees de la table.

Index Les index sont utilis´es pour am´eliorer la performance de la base de donnees. Un index est cree sur une ou plusieurs colonnes d’une table ou d’un groupe. On peut avoir plusieurs index par table. Le privil`ege syst`eme de CREATE INDEX est n´ecessaire pour ex´ecuter cette commande. L’administrateur de la base de donn´ees est responsable de ces privil`eges. La syntaxe de creation d’un index est :
CREATE INDEX schema.index ON schema.table (COLUMN ASC/DESC)
CLUSTER schema.cluster INITRANS x MAXTRANS x TABLESPACE name STORAGE clause PCTFREE x NOSORT Dans cette syntaxe, – SCHEMA est un param`etre optionnel identifiant le schema de la base dans lequel doit se trouver l’index. Par defaut, c’est le schema de l’utilisateur. – INDEX est obligatoire et est le nom de l’index. – ON est un mot reserve obligatoire. – TABLE est un nom de table sur lequel est construit l’index. – COLUMN est le nom de colonne `a indexer. S’il y a plus d’une colonne, il faut s’assurer qu’elles sont dans l’ordre de priorit´e. – ASC/DESC sont des parametres optionnels. Les index sont construits en ordre croissant par d´efaut. DESC permet d’avoir l’ordre decroissant. – CLUSTER est necessaire seulement si cet index est destin´e `a un groupe. – INITRANS est optionnel mais a la valeur par defaut de 1. Les entiers de 1 `a 255 sont permis. Il est recommand´e de ne pas changer ce parametre. Il s’agit d’une allocation du nombre d’entr´ees de transactions assignees dans le bloc de donn´ees pour l’index. – MAXTRANS est optionnel mais a une valeur par defaut qui est fonction de la taille du bloc de donn´ees. Il est utilis´e pour identifier le nombre maximal de transactions qui peuvent mettre `a jour en parall`ele un bloc de donn´ees pour l’index. Il est recommande de ne pas changer ce param`etre. – TABLESPACE est optionnel mais a comme valeur par defaut le nom du tablespace du proprietaire du schema. Un nom different du nom par d´efaut peut etre utilise. L’administrateur de la base de donnees sera en mesure de donner des recommandations adequates. – STORAGE est optionnel et a des caracteristiques par defaut definies par l’administrateur de la base de donnees. – PCTFREE est optionnel mais a une valeur par d´efaut de 10. Ceci indique que 10 pour cents de chaque bloc seront r´eserv´es pour de futures mises `a jour de l’index. Les entiers de 1 `a 99 sont autoris´es. – NOSORT est un param`etre optionnel qui permet de gagner du temps lors de la creation de l’index si les donnees de la table sont deja stockees dans l’ordre croissant. Ceci ne peut pas ˆetre utilis´e si un index de groupe est utilise. En utilisant la table ADRESSES definie dans l’exemple du CREATE TABLE, deux index vont être crées dans le prochain exemple:
CREATE INDEX x_adrs_id ON ADDRESSES (ADRS_ID); Ceci créera un index sur la colonne adrs_id seulement.
CREATE INDEX x_city_state ON ADDRESSES (CITY,STATE) TABLESPACE application_indexes;

LIRE AUSSI :  Introduction à SQL sous ORACLE

Cours gratuitTélécharger le cours complet

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *