Administracion de Base de Datos I
Semana 03
Tablas
• Conceptos Basicos
• Estructura
• Sintaxis de Creacion
• Modificacion
• Eliminacion
Conceptos Basicos
El lenguaje de definición de datos (DDL,
Data Definition Language) es el encargado
de permitir la descripcion de los objetos
que forman una base de datos.
Conceptos Basicos
El lenguaje de definición de datos le va a
permitir llevar a cabo las siguientes
acciones:
• Creación de tablas, índices y vistas.
• Modificación de las estructura de
tablas, índices y vistas.
• Supresión de tablas, índices y vistas.
Creación
CREATE TABLE <nombre_tabla>
(
<nombre_campo> <tipo_datos(tamaño)>
[null | not null] [default <valor_por_defecto>]
{
,<nombre_campo> <tipo_datos(tamaño)>
[null | not null] [default <valor_por_defecto>]}
[
, constraint <nombre> primary key (<nombre_campo>[ ,...n ])]
[
, constraint <nombre> foreign key (<nombre_campo>[ ,...n ])
references <tabla_referenciada> ( <nombre_campo> [ ,...n ] ) ]
);
Creación
CREATE TABLE tCoches
(
matricula char(8) not null,
marca varchar(255) null,
modelo varchar(255) null,
color varchar(255) null,
numero_kilometros numeric(14,2) null default
0,
constraint PK_Coches primary key (matricula)
);
Creación
En este ejemplo creamos una tabla llamada
tCoches con cinco campos (matricula, marca,
modelo, color, numero_kilometros).
Nótese que se han omitido las tildes y los
espacios a propósito. Nunca cree campos que
contengan caracteres específicos de un idioma
(tildes, eñes, ...) ni espacios.
Modificacion
En ocasiones puede ser necesario modificar la
estructura de una tabla, comúnmente para
añadir un campo o reestricción. Para ello
disponemos de la instruccción ALTER TABLE.
Modificacion
ALTER TABLE nos va a permitir:
• Añadir campos a la estructura incial de una
tabla.
• Añadir
restricciones
y
referencias.
Modificacion
ALTER TABLE <nombre_tabla>
ADD <nombre_campo> <tipo_datos(tamaño)>
[null |not null] [default <valor_por_defecto>]
{
, <nombre_campo> <tipo_datos(tamaño)>
[null |not null] [default <valor_por_defecto>]} ;
Modificacion
ALTER TABLE tCoches
ADD num_plazas integer null default 5;
En este ejemplo añadimos el campo num_plazas
a la tabla tCoches que habiamos creado en el
apartado anterior.
Modificacion
Para añadir una clave primaria vamos
a crear una tabla de cliente y le
añadiremos
la
clave
primaria
ejecutando una sentencia alter table:
Modificacion
CREATE TABLE tClientes
(
codigo integer not null,
nombre varchar(255) not null,
apellidos varchar(255) null,
nif varchar(10) null,
telefono varchar(9) null,
movil varchar(9) null
);
ALTER TABLE tClientes ADD
CONSTRAINT PK_tClientes primary key (codigo); :
Modificación
Solo podemos modificar una única
tabla a la vez con ALTER TABLE, para
modificar más de una tabla debemos
ejecutar una sentencia ALTER TABLE
por tabla.
Modificación
Para añadir una clave externa (o foránea)
necesitamos una tercera tabla en nuestra
estructura. Por un lado tenemos la tabla
tCoches y la tabla tClientes, ahora vamos a
crear la tabla tAlquileres que será la
encargada de "decirnos" que clientes han
alquilado un coche.
Modificación
CREATE TABLE tAlquileres
(
codigo integer not null,
codigo_cliente integer not null,
matricula char(8) not null,
fx_alquiler datetime not null,
fx_devolucion datetime null
);
Modificación
ALTER TABLE tAlquileres ADD
CONSTRAINT PK_tAlquileres primary key
(codigo),
CONSTRAINT FK_Clientes foreign key
(codigo_cliente)
references tClientes (Codigo),
CONSTRAINT FK_Coches foreign key (matricula)
references tCoches (matricula);
Modificación
Creamos la tabla tAlquileres, y luego mediante
una sentencia ALTER TABLE añadimos una clave
primaria llamada PK_tAlquileres en el campo
codigo, una clave externa llamada FK_Clientes
referenciada al codigo de la tabla tClientes, y por
último otra clave externa llamada FK_Coches
referenciada al campo matricula de la tabla
tCoches.
Modificación
Cuando creamos una clave externa el campo
referenciado y el que sirve de referencia deben
ser del mismo tipo de datos.
Si somos observadores nos daremos cuenta que
los campos que sirven de referencia a las claves
foráneas son las claves primarias de sus tablas.
Sólo podemos crear claves externas que
referencien claves primarias.
Eliminación
Para eliminar una tabla se realiza la siguiente
instrucción :
DROP TABLE <nombre_tabla>; .
Eliminación
La instrucción DROP TABLE elimina de forma
permanente la tabla y los datos en ella
contenida.
Si intentamos eliminar una tabla que tenga
registros relacionados a través de una clave
externa la instrucción DROP TABLE fallará por
integridad referencial.
Cuando eliminamos una tabla eliminamos
también sus índices.
Ejercicios
Ejercicios
Descargar

Aplicaciones Moviles II