martes, 21 de junio de 2011

LABORATORIO 1


CLAVES FORANEAS EN MYSQL


Primero creamos una base de datos:

CREATE DATABASE lab1;

y luego nos ubicamos en ella:

USE DATABASE lab1;

Esta es una de las tantas posibles implementaciones de las tablas de la figura de arriba.

CREATE TABLE Proveedores
(
IdProveedor INT,
NombreProveedor varchar(20),
Direccion varchar(20),
Ciudad varchar(20),
Region varchar(20),
Pais varchar(20),
Telefono int,
PRIMARY KEY(IdProveedor)
) TYPE = INNODB;


CREATE TABLE Categorias
(
IdCategoria INT,
NombreCategoria varchar(20),
Descripcion varchar(20),
PRIMARY KEY(IdCategoria)
) TYPE = INNODB;


CREATE TABLE Clientes
(
IdCliente INT,
NombreCliente varchar(20),
NombreContacto varchar(20),
CargoContacto varchar(20),
Direccion varchar(20),
Ciudad varchar(20),
Region varchar(20),
Pais varchar(20),
Telefono int,
PRIMARY KEY(IdCliente)
) TYPE = INNODB;


CREATE TABLE CiaEnvios
(
IdCiaEnvios INT,
NombreCia varchar(20),
telefono int,
PRIMARY KEY(IdCiaEnvios)
) TYPE = INNODB;


CREATE TABLE Empleados
(
IdEmpleado INT,
Apellidos varchar(20),
Nombre varchar(20),
Cargo varchar(20),
FechaNacimiento date,
FechaContratacion date,
Direccion varchar(20),
PRIMARY KEY(IdEmpleados)
) TYPE = INNODB;


CREATE TABLE Productos
(
IdProducto INT NOT NULL,
NombreProducto INT NOT NULL,
IdProveedor INT NOT NULL,
IdCategoria INT NOT NULL,
CantidadPorUnidad int,
PrecioUnidad float,
Stock int,
PRIMARY KEY(IdProducto),
INDEX (IdProveedor,IdCategoria),
FOREIGN KEY (IdProveedor) REFERENCES Proveedores(IdProveedor) ON DELETE CASCADE ON UPDATE CASCADE,
FOREIGN KEY (IdCategoria) REFERENCES Categorias(IdCategoria) ON DELETE CASCADE ON UPDATE CASCADE
) TYPE = INNODB;


CREATE TABLE Pedidos
(
IdPedido INT NOT NULL,
IdCliente INT NOT NULL,
IdEmpleado INT NOT NULL,
FechaPedido date,
FechaEntrega date,
FechaEnvio date,
FormaEnvio int,
PRIMARY KEY(IdPedido),
INDEX (IdCliente,IdEmpleado,FormaEnvio),
FOREIGN KEY (IdCliente) REFERENCES Clientes(IdCliente) ON DELETE CASCADE ON UPDATE CASCADE,
FOREIGN KEY (IdEmpleado) REFERENCES Empleados(IdEmpleado) ON DELETE CASCADE ON UPDATE CASCADE,
FOREIGN KEY (FormaEnvio) REFERENCES CiaEnvios(IdCiaEnvios) ON DELETE CASCADE ON UPDATE CASCADE
) TYPE = INNODB;


CREATE TABLE DetallesPedidos
(
IdPedido INT NOT NULL,
IdProducto INT NOT NULL,
PrecioUnidad float,
Cantidad int,
PRIMARY KEY(IdPedido,IdProducto),
INDEX (IdPedido,IdProducto),
FOREIGN KEY (IdPedido) REFERENCES Pedidos(IdPedido) ON DELETE CASCADE ON UPDATE CASCADE,
FOREIGN KEY (IdProducto) REFERENCES Productos(IdProducto) ON DELETE CASCADE ON UPDATE CASCADE
) TYPE = INNODB;

Como se darán cuenta, da igual el uso de mayúsculas y minúsculas (a excepción de los nombres de las base de datos, las tablas y los atributos); aquí solo resalto la forma de creación de las tablas.

No hay comentarios:

Publicar un comentario

otros