24.04.2013 Views

PRÁCTICAS DE BASES DE DATOS I - Universidad de Jaén

PRÁCTICAS DE BASES DE DATOS I - Universidad de Jaén

PRÁCTICAS DE BASES DE DATOS I - Universidad de Jaén

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Programación <strong>de</strong> Bases <strong>de</strong> Datos Oracle SQL<br />

);<br />

mat VARCHAR(8) CONSTRAINT pk_coches PRIMARY KEY,<br />

marca VARCHAR(15),<br />

an_fab NUMBER(2)<br />

En los ejercicios <strong>de</strong> este tema se pue<strong>de</strong>n encontrar más ejemplos <strong>de</strong>l comando CREATE TABLE<br />

correspondientes a las tablas que van a ser utilizadas para ejemplificar los distintos conceptos<br />

introducidos en los temas relativos a Oracle.<br />

El comando <strong>de</strong> SQL*PLUS <strong>de</strong>scribe nombre_tabla permite ver la <strong>de</strong>finición <strong>de</strong> una tabla<br />

concreta <strong>de</strong> la base <strong>de</strong> datos. En esta <strong>de</strong>scripción aparecerán los nombres <strong>de</strong> los atributos, el tipo <strong>de</strong><br />

datos <strong>de</strong> cada atributo y si tiene o no permitidos valores NULL. Toda la <strong>de</strong>finición y restricciones <strong>de</strong><br />

una tabla creada con el comando CREATE TABLE pue<strong>de</strong>n ser consultadas a través <strong>de</strong> las siguientes<br />

tablas y vistas <strong>de</strong>l Diccionario <strong>de</strong> Datos <strong>de</strong> Oracle:<br />

• USER_TABLES: almacena toda la información <strong>de</strong> almacenamiento físico relativa a una tabla.<br />

• USER_CONSTRAINTS: almacena todas las restricciones <strong>de</strong> integridad <strong>de</strong>finidas por un usuario<br />

concreto.<br />

• USER_CONS_COLUMNS: almacena las restricciones <strong>de</strong> integridad <strong>de</strong>finidas sobre cada atributo.<br />

4.2. Modificación <strong>de</strong> TABLAS<br />

Para modificar la <strong>de</strong>finición <strong>de</strong> una tabla se utiliza el comando ALTER TABLE. Las posibles<br />

modificaciones que se pue<strong>de</strong>n hacer sobre la <strong>de</strong>finición <strong>de</strong> una tabla son añadir un nuevo atributo o<br />

modificar uno ya existente. Estas dos operaciones se podrán realizar pero teniendo en cuenta una<br />

serie <strong>de</strong> restricciones que posteriormente se <strong>de</strong>tallarán. La sintaxis que a continuación se expone es<br />

también restringida, por las mismas razones expuestas para CREATE TABLE.<br />

ALTER TABLE nombre_tabla<br />

[ADD { nombre_columna tipo [restricción_columna] ...<br />

| restricción_tabla ...}]<br />

[MODIFY {nombre_columna [tipo] [restricción_columna] ...];<br />

La opción ADD permite añadir un nuevo atributo a la tabla, con un valor NULL inicial para todas las<br />

tuplas. MODIFY cambia la <strong>de</strong>finición <strong>de</strong>l atributo que ya existe en la tabla. Las restricciones a tener<br />

en cuenta son las siguientes:<br />

• restricción_columna sólo pue<strong>de</strong> ser NOT NULL.<br />

• Se pue<strong>de</strong> cambiar el tipo <strong>de</strong>l atributo o disminuir su tamaño sólo si todas las tuplas tienen en<br />

ese atributo el valor NULL.<br />

• Un atributo NOT NULL únicamente se pue<strong>de</strong> añadir a una tabla sin tuplas.<br />

• Un atributo ya existente sólo se pue<strong>de</strong> hacer NOT NULL si todas las tuplas tiene en ese atributo<br />

un valor distinto <strong>de</strong> NULL.<br />

• Cuando se modifica un atributo, todo lo no especificado en la modificación se mantiene tal y<br />

como estaba.<br />

<strong>Universidad</strong> <strong>de</strong> <strong>Jaén</strong> 14

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!