06.09.2014 Views

Bases de datos: Software libre - Universitat Oberta de Catalunya

Bases de datos: Software libre - Universitat Oberta de Catalunya

Bases de datos: Software libre - Universitat Oberta de Catalunya

SHOW MORE
SHOW LESS

Create successful ePaper yourself

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

© FUOC • 71Z799014MO 13 El lenguaje SQL<br />

Don<strong>de</strong> tenemos lo siguiente:<br />

• La opción <strong>de</strong> borrado <strong>de</strong> esquemas RESTRICT hace que el esquema sólo se<br />

pueda borrar si no contiene ningún elemento.<br />

• La opción CASCADE borra el esquema aunque no esté completamente vacío.<br />

1.2. Creación <strong>de</strong> tablas<br />

Como ya hemos visto, la estructura <strong>de</strong> almacenamiento <strong>de</strong> los <strong>datos</strong> <strong>de</strong>l mo<strong>de</strong>lo<br />

relacional son las tablas. Para crear una tabla, es necesario utilizar la sentencia<br />

CREATE TABLE. Veamos su formato:<br />

Recordad que las tablas se han<br />

estudiado en la unidad “El mo<strong>de</strong>lo<br />

relacional y el álgebra relacional”<br />

<strong>de</strong> este curso.<br />

CREATE TABLE nombre_tabla<br />

( <strong>de</strong>finición_columna<br />

[, <strong>de</strong>finición_columna...]<br />

[, restricciones_tabla]<br />

);<br />

Don<strong>de</strong> <strong>de</strong>finición_columna es:<br />

nombre_columna {tipo_<strong>datos</strong>|dominio} [<strong>de</strong>f_<strong>de</strong>fecto] [restric_col]<br />

El proceso que hay que seguir para crear una tabla es el siguiente:<br />

1) Lo primero que tenemos que hacer es <strong>de</strong>cidir qué nombre queremos poner<br />

a la tabla (nombre_tabla).<br />

2) Después, iremos dando el nombre <strong>de</strong> cada uno <strong>de</strong> los atributos que formarán<br />

las columnas <strong>de</strong> la tabla (nombre_columna).<br />

3) A cada una <strong>de</strong> las columnas le asignaremos un tipo <strong>de</strong> <strong>datos</strong> pre<strong>de</strong>finido o<br />

bien un dominio <strong>de</strong>finido por el usuario. También podremos dar <strong>de</strong>finiciones<br />

por <strong>de</strong>fecto y restricciones <strong>de</strong> columna.<br />

4) Una vez <strong>de</strong>finidas las columnas, sólo nos quedará dar las restricciones <strong>de</strong> tabla.<br />

1.2.1. Tipos <strong>de</strong> <strong>datos</strong><br />

Para cada columna tenemos que elegir entre algún dominio <strong>de</strong>finido por el usuario<br />

o alguno <strong>de</strong> los tipos <strong>de</strong> <strong>datos</strong> pre<strong>de</strong>finidos que se <strong>de</strong>scriben a continuación:<br />

Tipos <strong>de</strong> <strong>datos</strong> pre<strong>de</strong>finidos<br />

Recordad que las correspon<strong>de</strong>ncias<br />

entre los tipos <strong>de</strong> <strong>datos</strong> y los<br />

dominios pre<strong>de</strong>finidos <strong>de</strong>l mo<strong>de</strong>lo<br />

relacional se han visto en el subapartado<br />

2.2 <strong>de</strong> la unidad “El mo<strong>de</strong>lo relacional<br />

y el álgebra relacional” <strong>de</strong> este curso.<br />

Tipos <strong>de</strong> <strong>datos</strong><br />

CHARACTER (longitud)<br />

CHARACTER VARYING (longitud)<br />

Descripción<br />

Ca<strong>de</strong>nas <strong>de</strong> caracteres <strong>de</strong> longitud fija.<br />

Ca<strong>de</strong>nas <strong>de</strong> caracteres <strong>de</strong> longitud variable.

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

Saved successfully!

Ooh no, something went wrong!