Sunteți pe pagina 1din 24

Creacin de tablas

Definicin de tabla Restricciones en las tablas Formatos para la creacin de tablas Integridad referencial Modificacin de una tabla Eliminacin de una tabla Renombrado de una tabla

1.- Definicin de la tabla

Antes de escribir la sentencia para crear una tabla debemos pensar una serie de datos y requisitos que va a ser necesario definir en la creacin. Debemos tener en cuenta:

El nombre de la tabla El nombre de cada columna El tipo de dato almacenado en cada columna El tama o del cada columna

2.- Restricciones en las tablas

!as restricciones son una parte muy importante del modelo relacional pues nos permiten relacionar las tablas entre si y poner restricciones a los valores que pueden tomar los atributos. !as restricciones llamadas "#$%&RAI$&%' son condiciones que imponemos en el momento de crear una tabla para que los datos se a(usten a una serie de caracter)sticas predefinidas que mantengan su integridad.

2.- Restricciones en las tablas

NOT NULL. E*ige la e*istencia de valor en la columna que lleva la restriccin. DEFAULT. +roporciona un valor por defecto cuando a la columna correspondiente no se le da valor en la instruccin de insercin. El valor por defecto debe ser una constante y no funciones o e*presiones. PRIMARY KEY. Indica una o varias columnas como dato o datos que identifican un)vocamente cada fila de la tabla. %lo e*iste una por tabla y en ninguna fila puede tener el valor $,!!' por definicin. Es obligatoria.

2.- Restricciones en las tablas

FOREIGN KEY. Indica que una determinada columna de una tabla' va a servir para referenciar a otra tabla en la que est- definida la misma columna .clave a(ena/. El valor de la clave a(ena deber- coincidir con uno de los valores de esa clave referenciada o ser $,!!. $o e*iste l)mite en el n0mero de claves a(enas que puede tener una tabla. +ara crear una tabla con clave a(ena deber- estar previamente creada la tabla maestra en la que la misma columna es clave primaria.

2.- Restricciones en las tablas

UNIQUE. Indica que esta columna o grupo de columnas debe tener un valor 0nico. &ambi1n admite valores nulos. Al 2acer una nueva insercin se comprobar- que el valor es 0nico o $,!!. CHECK. "omprueba si el valor insertado en esa columna cumple una determinada condicin. AUTO_INCREMENT. $o es e*actamente una restriccin' incrementa los valores de la columna de 3 en 3. %e aplica a columnas que sean enteras y claves.

3.- Formatos en la creacin de tablas

"on restricciones a nivel de columna

"REA&E &A4!E 5IF $#& E6I%&%7 nombre tabla . $ombre"olumna &ipoDato 5restriccin37 5' $ombre"olumna &ipoDato 5restriccin37 87/9

3.- Formatos en la creacin de tablas

E(emplo

"REA&E &A4!E socios .socio:no I$& +RIMAR; <E;' Apellidos =AR">AR.3?/ ,$I@,E' &elefono ">AR.A/ $#& $,!!' Fec2a:alta DA&E DEFA,!& BCDDEFD3FD3B' Direccion =AR">AR.CD/' codigo:postal I$& ">E"< .codigo:postal 4E&GEE$ CEDD A$D CEAAA/' num:prestamo I$&.H/ REFERE$"E% prestamo .num:prestamo/ /9

num_prestamo es clave ajena de socios y principal de la tabla prestamo (all tambi n se llama num_pretamo!

3.- Formatos en la creacin de tablas

"on restricciones a nivel de tabla

"REA&E &A4!E 5IF $#& E6I%&%7 nombre tabla . $ombre"olumna &ipoDato 5' $ombre"olumna &ipoDato87 5restriccinC75' restriccinC 8.7 /9

3.- Formatos en la creacin de tablas

E(emplo

"REA&E &A4!E socios .socio:no I$&' Apellidos =AR">AR.3?/' &elefono ">AR.A/' fec2a:alta DA&E' Direccion =AR">AR.CD/' "odigo:postal I$&' "#$%&RAI$& pI:socio +RIMAR; <E; .socio:no/' "#$%&RAI$& uq:apellidos ,$I@,E .apellidos/' "#$%&RAI$& cI:codigo ">E"< .codigo:postal 4E&GEE$ CEDDD A$D CEAAA/ /9
10

".- #nte$ridad referencial

!a definicin de claves a(enas nos permiten mantener la integridad referencial en una base de datos relacional. >emos dic2o que la columna o columnas definidas como clave a(ena deben tomar valores que se correspondan con un valor e*istente de la clave referenciada. !a pregunta es: Jqu1 sucede si queremos borrar o modificar un valor de la clave primaria referenciadaK. +ues que el sistema debe impedirnos realiLar estas acciones pues de(ar)a de e*istir la integridad referencial.

11

".- #nte$ridad referencial

CASCADE. El borrado o modificacin de una fila de la tabla referenciada lleva consigo el borrado o modificacin en cascada de las filas de la tabla que contiene la clave a(ena. Es la m-s utiliLada. SET NULL. El borrado o modificacin de una fila de la tabla referenciada lleva consigo poner a $,!! los valores de las claves a(enas en las filas de la tabla que referencia.

12

".- #nte$ridad referencial

SET DEFAULT. El borrado o modificacin de una fila de la tabla referenciada lleva consigo poner un valor por defecto en las claves a(enas de la tabla que referencia. NO ACTION. El borrado o modificacin de una fila de la tabla referenciada solo se produce si no e*iste ese valor en la tabla que contiene la clava a(ena. &iene el mismo efecto que RE%&RI"& .valor por defecto/.

13

".- #nte$ridad referencial

Formato 5 .$ombre"olumna 5'

REFERE$"E% $ombre&abla $ombre"olumna7 8 / 7

5#$ DE!E&E M"A%"ADE N %E& $,!! N $# A"&I#$ N %E& DEFA,!& N RE%&RI"&O7 5#$ ,+DA&E M"A%"ADE N %E& $,!! N $# A"&I#$ N %E& DEFA,!& N RE%&RI"&O7

14

".- #nte$ridad referencial

Ejemplo

"REA&E &A4!E empleados . 8.. dep:no I$&' "#%$&RAI$& fI:departamentos REFERE$"E% .dep:no/ departamentos

#$ DE!E&E %E& $,!! #$ ,+DA&E "A%"ADE 8/ 9

Esto quiere decir que el sistema pondr- nulos en dep_ o de la tabla empleado! si se borra el valor correspondiente en departame to! y modificar- el valor de dep_ o en la tabla empleado! con el nuevo valor si se modifica la columna dep_ o de la tabla departame to!.
15

Formato completo

"REA&E &A4!E 5IF $#& E6I%&%7 $ombre&abla .$ombre"olumna &ipoDato 5restriccin37 5' $ombre"olumna &ipoDato 5restriccin3 8 7 5restriccinC7 5' restriccinC 8 7 /9

16

%jercicio

&abla %#"I#% %ocio entero Apellidos varc2ar 3? &elefono c2ar A no nulo fec2a:alta tipo fec2a' por defecto D3FD3FCDDD Direccin varc2ar CD cdigo:postal entero Re!tr"##"o e!$de$ta%la& socio:no clave primaria Apellidos valor 0nico cdigo:postal entre CEDDD y CEAAA

&abla +RE%&AM#% num:prestamo entero clave principal socio:no entero Re!tr"##"o e!$de$ta%la& socio:no es clave a(ena de %#"I#%

17

&.- 'odificacin de (na tabla


A!&ER &A4!E $ombre&abla

EspecificacionModificacion 5' EspecificacionModificacion 8 7

A adir una nueva columna A adir una nueva restriccin 4orrar un columna 4orrar una restriccin Modificar una columna sin cambiar su nombre Modificar una columna y cambiar su nombre Renombrar una tabla

18

&.- 'odificacin de (na tabla

A'ad"r$( a$ (e)a$#ol(m a

ADD 5"#!,M$7 $ombre"olumna &ipoDato 5restriccion37 ADD 5"#$%&RAI$& 5$ombre"onstraint7 7 +RIMAR; <E; .$ombre"olumna 5' $ombre"olumna 8 7 / ADD 5"#$%&RAI$& 5$ombre"onstraint7 7 F#REIP$ <E; .$ombre"olumna 5' $ombre"olumna 8 7 / REFERE$"E% $ombre&abla 5.$ombre"olumna 5' $ombre"olumna 87/7

A'ad"r$( a$CONSTRAINT

ADD 5"#$%&RAI$& 5$ombre"onstraint7 7 ,$I@,E .$ombre"olumna 5' $ombre"olumna 8 7 /

19

&.- 'odificacin de (na tabla

*orrar$( a$#ol(m a

DR#+ 5"#!,M$7 $ombre"olumna DR#+ +RIMAR; <E; DR#+ F#REIP$ <E; $ombre"onstraint M#DIF; 5"#!,M$7 $ombre"olumna &ipoDato 5restriccion37

*orrar$( a$CONSTRAINT

Mod"+"#ar$( a$#ol(m a$!" $#am%"ar$!($ om%re

20

&.- 'odificacin de (na tabla

Mod"+"#ar$la$de+" "#", $de$( a$#ol(m a$-$!($ om%re

">A$PE 5"#!,M$7 $ombre"olumnaAntiguo $ombre"olumna$uevo &ipoDatos 5restriccin37

Re om%rar$la$ta%la

RE$AME 5&#7 $ombre&abla$uevo

21

%jercicios

A adir la columna para la direccin de correo electrnico email' a la tabla !o#"o!. con un tipo de dato alfanum1rico de CD caracteres. A adir en la tabla !o#"o!. la restriccin ,$I@,E para la columna telfono. 4orrar la columna fecha_alta de la tabla !o#"o!. 4orrar la clave primaria de la tabla !o#"o!. Modificar la tabla !o#"o!. para poner $#& $,!! en la columna apellidos Modificar la tabla !o#"o!. cambi-ndole el nombre a la columna apellidos por cognoms e incrementar de 3? a CD caracteres el tama o "ambiar el nombre de la tabla !o#"o!. a !o#"o!.a

22

).- %liminacin de (na tabla


DR#+ &A4!E 5IF E6I%&%7 $ombre&abla 5"A%"ADENRE%&RI"&79

4orrar la tabla empleadosC DR#+ &A4!E IF E6I%&% empleadosC9

23

*.- Renombrado de (na tabla


RE$AME &A4!E $ombreAntiguo &# $ombre$uevo 5' $ombreAntiguo &# $ombre$uevo 8 79

Se pueden renombrar varias tablas en una sentencia por eso van entre corchetes las siguientes tablas a renombrar.

Renombrar la tabla socios para que su nuevo nombre sea sociosC RE$AME &A4!E socios &# sociosC9

24

S-ar putea să vă placă și