sábado, 2 de abril de 2011

Crear Tablas

Para la creación de una tabla usaremos la sintaxis SQL CREATE TABLE:
CREATE TABLE "nombre_tabla"
("columna 1" "tipo_de_datos_para_columna_1",
"columna 2" "tipo_de_datos_para_columna_2",
... )
Entonces, si queremos crear una tabla para el cliente ingresaríamos:
CREATE TABLE cliente
(Nombre char(50),
Apellido char(50),
Direccion char(50),
Ciudad char(50),
Fecha_nacimiento date);

También puede limitar el tipo de información que una tabla puede mantener. Esto se realiza a través de lapalabra clave CONSTRAINT, en cuyas restricciones comunes se incluyen las que se estan usando en fbd:
- NOT NULL: especifica que la columna no puede contener un valor nulo.
- CHECK: especifica una condición que se debe evaluar a "cierto".
- UNIQUE: no permite duplicados; combinado con NOT NULL es la forma de definir una clave alternativa.
- Clave primaria (Primary Key): identifica de manera única a cada fila de la tabla mediante una o varias columas, estas columnas que forman la clave primaria no pueden tener valores nulos.
- Clave externa (Foreign Key): establece una relación entre una(s) columna(s) de la tabla y otra(s) columna(s) de la tabla referenciada, siendo esta última(s) columna(s) la PRIMARY KEY


Si queremos que por ejemplo el nombre sea un campo obligatorio para rellenar, que no puede estar vacío le asignamos NOT NULL, de tal modo que quedaría así:
CREATE TABLE cliente
(Nombre char(50) NOT NULL,
Apellido char(50),
Direccion char(50),
Ciudad char(50),
Fecha_nacimiento date);

También hay que tener en cuenta que toda tabla debe tener una clave primaria para poder identificar de forma única cada línea en la tabla. Una tabla puede tener varias claves primarias, en este caso se denominaría claves compuestas.

Para verlo aplicado vamos a crear una tabla como la anteriormente vista en otros ejemplos, pero en este caso añadiendo el campo DNI como clave primaria:
CREATE TABLE cliente 
(DNI char (9),
 Nombre char(50) NOT NULL,
 Apellido char(50),
 Direccion char(50),
 Ciudad char(50),
 Fecha_nacimiento date, 

   PRIMARY KEY (DNI));

También podemos trabajar con 2 tablas relacionadas, por ejemplo, una tabla tienda y otra tabla vendedor, y para relacionarlas utilizaremos la clave ajena, de tal modo que ambas tablas queden relacionadas. Esto lo que hace es que una clave externa es un campo (o campos) que señala la clave primaria de otra tabla. El propósito de la clave externa es asegurar la integridad referencial de los datos.

Tabla vendedor:
CREATE TABLE vendedor
(DNI char (9),
 Nombre char(50) NOT NULL,
 Apellido char(50),
 Direccion char(50),
 Ciudad char(50),
 Fecha_nacimiento date, 

   PRIMARY KEY (DNI));
Tabla pedido:
CREATE TABLE pedido
(
ID_pedido integer;
 vendedor integer,
 Fecha_pedido date,
 cantidad integer,
 precio double,
   Primary Key (ID_pedido),
   FOREIGN KEY (vendedor) REFERENCES vendedor(DNI));

No hay comentarios:

Publicar un comentario