Post on 16-Jun-2015
description
IINNSSTTIITTUUTTOO TTEECCNNOOLLOOGGIICCOO
ddeell VVaallllee ddee ooaaxxaaccaa
B A S E D E D A T O S ALUMNOS:
CARREÑO CRUZ ARTURO
HERNÁNDEZ APARICIO LOURDES
MARTINEZ MARTINEZ BENJAMIN
PROFESOR:
L.I. AMBROSIO CARDOSO JIMENEZ
MATERIA:
TALLER DE BASES DE DATOS I
SEMESTRE: 6º GRUPO: “A”
ESPECIALIDAD:
LIC. EN INFORMATICA
Ex Hacienda De Nazareno Xoxocotlán,
Oaxaca, MAYO 2009
INTRODUCCION
Objetivo: Elaborar una base de datos en donde pueda almacenar, y controlar la
información de una sastrería de una manera sencilla pero eficaz.
Una conocida sastrería ha tenido un crecimiento gradual tanto en sus empleados
como en sus sucursales, así también como en la producción de sus prendas lo que ha
dificultado la manipulación de su información, pues de hacerla de una manera manual
lo hace todavía más complicado, por lo dicha sastrería ha contratado a un equipo de
informáticos para que elaboren una base de datos en la cual puedan guardar los datos
relevantes y poder manipular y controlar la información de la manera correcta y sin
errores. Para poder tener un buen control de la información de la sastrería la base de
datos contendrá lo siguiente:
Tendrá una tabla en donde se guardaran todos los datos de cada trabajador, en donde principalmente se almacenará datos generales como nombre, dirección, teléfono etc.
Contendrá un campo en donde almacenará los datos generales de todas las sucursales de la sastrería para poder tener un manejo adecuado de estos mismos.
Además contendrá la tabla de telas en la cual guardara datos de estos, para poder ocupar estos datos de una manera correcta.
Para el mejor manejo de la producción de prendas existirá un campo en donde se guardará la información de prendas elaboradas por lotes, que empleado la elaboro, que cantidad etc.
Se tendrá también la tabla en donde se guarde los datos generales de cada prenda, así el vendedor tendrá siempre a la mano información de estas.
La base de datos contendrá también la tabla de ventas así como de compras, esto es de vital importancia para la sastrería por tal razón no pueden haber errores.
De igual manera contendrá la tabla de clientes, se almacenaran datos generales de estos mismos.
También se tendrá el control de otras actividades como apartados, control de compras
que se hacen con los proveedores
PROCESO
Los pasos a seguir para el almacenamiento de esta información son:
1. Se almacenaran los datos principales de las prendas que se están
produciendo, su código, características y precios.
2. Se almacenara los tipos de telas que se van a emplear para la
elaboración de las prendas, su código y su descripción.
3. Se almacenaran las sucursales donde trabajan los empleados, su código
y su dirección
4. Se almacenar en una tabla los datos particulares de los sastres, su
código, su nombre, el código de la sucursal donde trabaja y su fecha de
nacimiento.
5. Se almacenaran los lotes de fabricación, con el número de lote, código
de la prensa, o la cantidad fabricada, la fecha de inicio y la fecha final.
6. Se almacenara en una tabla los tipos de telas que fueron empleados
para realizar cada prenda.
7. Se almacenara en una tabla los registros de los trabajos realizados, su
número de lote, su código de sastre y el número de prendas que fueron
fabricadas.
ENTIDADES Y CLASIFICACION DE ATRIBUTOS
Almacén
IdTela Identificativo
Cantidad Simple
Material Compuesto
Color Multivalorado
Largo Compuesto
Ancho compuesto
Sastre
IdSastre Identificativo
Nombre Compuesto
Appaterno Simple
Apmaterno Simple
Teléfono Multivalorado
Dirección Compuesto
FechaIngreso Compuesto
Fechanacimiento Compuesto
Salario Compuesto
IdSucursal Identificativo
Prendas
IdPrenda Identificativo
Descripción Compuesto
Talla Multivalorado
Color Simple
Sucursales
IdSucursal Identificativo
Nombre Compuesto
Dirección Compuesto
Teléfono Multivalorado
NumeroEmpleados Simple
Horarios Compuesto
Lotes_Fabricados
IdLote Identificativo
IdPrenda Identificativo
IdTela Identificativo
CantidadFabricada Simple
IdSucursal Identificativo
FechaInicio Compuesto
FechaTermino Compuesto
Trabajo_Sastre
IdTrabajo Identificativo
IdSastre Identificativo
IdLote Identificativo
CantidadFabricada Simple
Clientes
IdCliente Identificativo
Nombre Compuesto
ApPaterno Simple
ApMaterno Simple
Teléfono Multivalorado
Dirección Compuesto
Ventas
IdVenta Identificativo
Fecha Venta Compuesto
IdSucursal Identificativo
IdCliente Identificativo
Compra_telas
IdCompra Identificativo
IdProveedor Identificativo
FechaCompra Compuesto
Total Simple
Venta_Detalle
IdVenta_detalle Identificativo
IdVenta Identificativo
IdPrenda Identificativo
Cantidad Compuesto
PrecioUnitario Simple
Apartados
IdApartado Identificativo
IdCliente Identificativo
IdPrenda Identificativo
Cantidad Simple
Descripción Compuesto
Precio Simple
Proveedores
IdProveedor Identificativo
NombProveedor Compuesto
Dirección Compuesto
Teléfono Simple
Fax Simple
Compra_Detalle
IdCompra_Detalle Identificativo
IdCompra Identificativo
IdTela Identificativo
Cantidad Simple
Precio unitario Simple
Descripción Compuesto
Prendas_Telas
IdMaterial Identificativo
IIdPrenda Identificativo
IdTela Identificativo
DOCUMENTACION DE LAS TABLAS
Tabla Sastre
Objetivo: Almacena la información de los empleados de la sastrería, con la finalidad de llevar un control de los datos del empleado. Llave primaria: PkSastre (IdSastre). Llave extranjera:
FkSusursal(IdSucursal) se relaciona con el campo Id Sucursal en la tabla Sucursal.
Campo
Tipo de
dato
Tamaño Descripción
IdSastre Serial Clave única con la que se identifica al empleado dentro de la sastrería.
Nombre Char 30 Nombre del sastre.
Appaterno Char 20 Apellido paterno del sastre.
Apmaterno Char 20 Apellido materno del sastre.
Teléfono Char 20 Teléfono celular del empleado y/o domicilio.
Dirección Char 50 Dirección del empleado.
FechaIngreso Date 8 Fecha en que el empleado ingreso a la empresa.
Fechanacimiento Date 8 Fecha de nacimiento del empleado
Salario Float 10 Salario que percibe el trabajador
IdSucursal Int Sucursal en la que trabaja el sastre
Total Bytes 166
Tabla Almacén
Objetivo: Almacenar la información de las telas que actualmente se encuentra
en el almacén.
Llave primaria: PkTela (IdTela) Llave extranjera:
Campo
Tipo de
Dato
Tamaño Descripción
IdTela Serial Clave única con la que se identifican las telas dentro del almacén.
Cantidad Int Cantidad de telas de un mismo tipo en almacén.
Nombre Char 20 Material del que está hecho la tela
Color Char 15 Color de la tela.
Largo Float 10 El largo total de la tela.
Ancho Float 10 Ancho total de la tela
Total Bytes 55
Tabla Prendas
Objetivo: Almacenar la información de cada una de las prendas que se
elaborarán dentro de la sastrería.
Llave primaria: PkPrenda(IdPrenda), Llave extranjera:
Campo
Tipo de
Dato
Tamaño Descripción
IdPrenda Serial Clave única con la que se identifican los tipos de prendas que han sido elaborados.
Descripción Char 50 Descripción de cada una de las prendas.
Talla Char 10 Talla de cada una de las prendas
Color Char 15 Color de la prenda.
Total Bytes 75
Tabla Sucursales
Objetivo: Almacenar la información de cada una de las sucursales con las que
se cuenta.
Llave primaria: PkSucursal(IdSucursal) Llave extranjera:
Campo
Tipo de
Dato
Tamaño Descripción
IdSucursal Serial Clave única con la que se identifican cada una de las sucursales con las que se cuenta.
Nombre Char 20 Nombre de cada una de las sucursales.
Dirección Char 30 Dirección de cada una de las sucursales.
Teléfono Char 20 Teléfono de cada una de las sucursales.
NumeroEmpleados Int Número de empleados con los que cuenta cada una de las sucursales.
Horarios Char 10 Horario en el que labora el personal de cada sucursal
Total Bytes 80
Tabla Lotes Fabricados
Objetivo: Almacenar la información de cada uno de los lotes por prenda que se
elaboran.
Llave primaria: PkLote(IdLote) Llave extranjera:
FkPrenda(IdPrenda) se relaciona con el campo IdPrenda en la tabla Prenda
FkSucursal(IdSucursal) se relaciona con el campo IdSucursal en la tabla Sucursal
FkTela(IdTela) se relaciona con el campo IdTela en la tabla Almacén.
Campo
Tipo de
Dato
Tamaño Descripción
IdLote Serial Clave única con la que se identifican cada uno de los lotes elaborados.
IdPrenda Int Clave única con la que se identifican los tipos de prendas que han sido elaborados.
IdTela Int Clave única con la que se identifican las telas dentro del almacén.
CantidadFabricada Int Numero de prendas de un mismo tipo que han sido elaboradas en cada lote.
IdSucursal Int Clave única con la que se identifican cada una de las sucursales con las que se cuenta.
FechaInicio Date 8 Fecha en que el lote comenzó a producirse.
FechaTermino Date 8 Fecha en que el Lote dejo de Producirse
Total Bytes 16
Tabla Trabajo_Sastre Objetivo: Almacenar la información de cada uno de los trabajo en los que interviene cada sastre. Llave primaria:Pktrabajo(Idtrabajo) Llave extranjera:
FkSastre(IdSastre) se relaciona con el campo IdSastre en la tabla Sastre.
FkLote(IdLote) se relaciona con el campoIdLote en la tabla Lotes_Fabricados.
Campo
Tipo de
Dato
Tamaño Descripción
IdTrabajo Serial Clave de cada uno de los trabajos que han realizado los sastres.
IdSastre Int Clave única con la que se identifica al empleado dentro de la sastrería.
IdLote Int Clave única con la que se identifican cada uno de los lotes elaborados.
CantidadFabricada Int Cantidad de prendas que un trabajador elaboro
Total Bytes 0
Tabla Clientes
Objetivo: Almacenar la información de cada uno de los clientes con los que
cuenta la sastreria.
Llave primaria: PkCliente(IdCliente) Llave extranjera:
Campo
Tipo de
Dato
Tamaño Descripción
IdCliente Serial Clave única con la que se identifica a cada uno de los clientes.
Nombre Char 30 Nombre del cliente
ApPaterno Char 20 Apellido Paterno del Cliente.
ApMaterno Char 20 Apellido Materno del Cliente
Teléfono Char 20 Teléfono del cliente
Dirección Char 50 Dirección del cliente
Total Bytes 140
Tabla Ventas
Objetivo: Almacenar la información de cada una de las ventas que se realizan.
Llave primaria: PkVenta(IdVenta) Llave extranjera:
FkSucursal(IdSucursal) se relación con el campo IdSucursal en la tabla Sucursal.
FkCliente(IdCliente) se relaciona con el campo IdCLiente en la tabla Cliente.
Campo
Tipo de
Dato
Tamaño Descripción
IdVenta Serial Clave única con la que se identifica cada uno de los pedido realizados.
Fecha Venta
Date 8 Fecha en la que fue realizada la venta.
IdSucursal Int Clave única con la que se identifican cada una de las sucursales con las que se cuenta
IdCliente Int Clave única con la que se identifica a cada uno de los clientes
Total Bytes 8
Tabla Compra_Telas
Objetivo: Almacenar la información de cada una de las compras de telas que se
realizan.
Llave primaria: PkCompra(IdCompra) Llave extranjera:
FkProveedor(IdProveedor) se relaciona con el campo IdProveedor en la tabla Proveedor
Campo
Tipo de
Dato
Tamaño Descripción
IdCompra Serial Clave única con la que se identifica cada uno de las compras .
IdProveedor Int Clave única del proveedor
FechaCompra Date 8 Fecha en que la compra de tela fue realizada.
Total float 10 Monto total de la compra
Total Bytes 18
Tabla Venta_Detalle
Objetivo: Almacenar la información de cada una de las prendas que han sido
vendidas.
Llave primaria: Pkventa_detalle(IdVenta_Detalle) Llave extranjera:
FkVenta(IdVenta) se relaciona con el campo IdVenta en la tabla Venta.,
FkPrenda(IdPrenda) se relaciona con el campo IdPrenda en la tabla Prenda.
Campo
Tipo de Dato
Tamaño Descripción
IdVenta_Detalle serial Clave única de cada una de las ventas detalle realizadas.
IdVenta Int Clave única con la que se identifica cada uno de las ventas realizadas.
IdPrenda
Int Clave única con la que se identifican los tipos de prendas que han sido elaborados.
Cantidad Int Cantidad prendas que han sido vendidas.
PrecioUnitario Float 10 Precio da cada prenda.
Total Bytes 10
Tabla Apartados
Objetivo: Almacenar la información de cada uno de los apartados que los
clientes realizan a la sastrería.
Llave primaria: PkApartado(IdApartado) Llave extranjera: FkCliente(IdCliente) se relaciona con el campo IdCLiente en la tabla Cliente. FkPrenda(IdPrenda) se relaciona con el campo IdPrenda de la tabla Prenda.
Campo
Tipo de
Dato
Tamaño Descripción
IdApartado Serial Clave única con la que se identifica cada uno de los apartados
IdCliente Int Clave única con la que se identifica a cada uno de los clientes
IdPrenda Int Clave única con la que se identifican los tipos de prendas que han sido elaborados.
Cantidad Int Cantidad de prendas que han sido apartadas.
Descripcion Char 50 Descripción de cada una de las prendas apartadas
Precio Float 10 Precio de cada una de las prendas.
Total Bytes 60
Tabla Proveedores
Objetivo: Almacenar la información de cada uno de los proveedores de la
sastrería
Llave primaria: PkProveedor(IdProveedor) Llave extranjera:
Campo
Tipo de
Dato
Tamaño Descripción
IdProveedor Serial Clave única con la que se identifica cada uno de los proveedores
NombProveedor Char 20 Nombre del proveedor
Dirección Char 50 Dirección de cada uno de los proveedores
Teléfono Char 20 Teléfono del proveedor
Fax Char 20 Fax del proveedor
Total Bytes 110
Tabla Compra_Detalle
Objetivo: Almacenar la información detallada de cada una de las compras
hechas.
Llave primaria: PkCompradetalle(idCompra_detalle) Llave extranjera:
FkCompra(IdCompra) se relaciona con el campo IdCompra de la tabla Compra_Tela.
Fktela(IdTela) se relaciona con el campo IdTela en la tabla Almacen.
Campo
Tipo de
Dato
Tamaño Descripción
IdCompra_Detalle serial Clave única de cada una de las compras detalle realizadas
IdCompra Int Clave única con la que se identifica cada uno de las compras .
IdTela Int Clave única con la que se identifican las telas dentro del almacén.
Cantidad Int Cantidad de prendas que fueron compradas
PrecioUnitario Float 10 Precio de cada una de las telas compradas
Descripción Char 50 La descripción de cada tela que se ha comprado
Total Bytes 60
Tabla Prendas_Telas
Objetivo: Almacenar la información de cada una de las telas empleadas para
cada una de las prendas
Llave primaria: PkPrendas_Telas(IdMaterial) Llave extranjera:
FkPrenda(IdPrenda) se relaciona con el campo IdPrenda de la tabla Prenda.
FkTela(IdTela) se relaciona con el campo IdTela de la tabla Almacen.
Campo
Tipo de Dato
Tamaño Descripción
IdMaterial serial Clave única para el registro de cada uno de las prendas con su respectivo material
IdPrenda Int Clave única con la que se identifican los tipos de prendas que han sido elaborados
IdTela Int Clave única con la que se identifican las telas dentro del almacén.
Total Bytes 0
CODIGO DE LA BASE DE DATOS POSTGRESQL
/*CREAR TABLA ALMACEN */ CREATE TABLE almacen (idtela serial not null,cantidad int, nombre varchar(20),color varchar(15),largo float,ancho float, CONSTRAINT pktela PRIMARY KEY (idtela)); /*CREAR TABLA PRENDAS */ CREATE TABLE prenda (idprenda serial not null, idtela INT NOT NULL, descripcion varchar(50), color varchar(15),talla varchar (10), CONSTRAINT pkprenda PRIMARY KEY (idprenda)); /*CREAR TABLA SUCURSALES */ CREATE TABLE sucursal (idsucursal serial not null,nombre varchar(20), direccion varchar(30),telefono varchar(20),num_empleados int, horario varchar (10), CONSTRAINT pksucursal PRIMARY KEY (idsucursal)); /*CREAR TABLA CLIENTES */ CREATE TABLE cliente (idcliente serial not null,nombre varchar(30), appaterno varchar(20),apmaterno varchar (20),telefono varchar(20),direccion varchar(50), CONSTRAINT pkcliente PRIMARY KEY (idcliente)); /*CREAR TABLA PROVEEDORES */ CREATE TABLE proveedor (idproveedor serial not null,nomb_proveedor varchar(20), direccion varchar(50),telefono varchar (20),fax varchar(20), CONSTRAINT pkproveedor PRIMARY KEY (idproveedor)); /*CREAR TABLA SASTRE */ CREATE TABLE sastre (idsastre serial not null,nomb_sastre varchar(30), appaterno varchar(20),apmaterno varchar (20),telefono varchar(20), direccion varchar(50),fechaingeso timestamp,fechanacimiento timestamp, salario float,idsucursal INT NOT NULL, CONSTRAINT pksastre PRIMARY KEY (idsastre), CONSTRAINT fksucursal FOREIGN KEY (idsucursal) REFERENCES sucursal (idsucursal) ON UPDATE CASCADE); /*CREAR TABLA LOTES_FABRICADOS */ CREATE TABLE lotes_fabricados (idlote serial not null,idprenda INT NOT NULL, cantidad_fabricada int,idsucursal INT NOT NULL,idtela INT NOT NULL, fecha_inicio timestamp,fecha_termino timestamp, CONSTRAINT pklote PRIMARY KEY (idlote), CONSTRAINT fkprenda FOREIGN KEY (idprenda) REFERENCES prenda (idprenda), CONSTRAINT fktela FOREIGN KEY (idtela) REFERENCES almacen (idtela), CONSTRAINT fksucursal FOREIGN KEY (idsucursal) REFERENCES sucursal (idsucursal) ON UPDATE CASCADE);
/*CREAR TABLA TABAJO_SASTRE */ CREATE TABLE trabajo_sastre (idtrabajo serial not null,idsastre INT NOT NULL,idlote INT NOT NULL, cant_fabricada int, CONSTRAINT pktrabajo PRIMARY KEY (idtrabajo), CONSTRAINT fksastre FOREIGN KEY (idsastre) REFERENCES sastre (idsastre), CONSTRAINT fklote FOREIGN KEY (idlote) REFERENCES lotes_fabricados (idlote) ON UPDATE CASCADE); /*CREAR TABLA VENTAS*/ CREATE TABLE venta (idventa serial not null,fecha_venta timestamp, idsucursal INT NOT NULL, idcliente INT NOT NULL, CONSTRAINT pkventa PRIMARY KEY (idventa), CONSTRAINT fksucursal FOREIGN KEY (idsucursal) REFERENCES sucursal (idsucursal), CONSTRAINT fkcliente FOREIGN KEY (idcliente) REFERENCES cliente (idcliente) ON UPDATE CASCADE); /*CREAR TABLA COMPRA_TELAS*/ CREATE TABLE compra_tela (idcompra serial not null, idproveedor INT NOT NULL,fecha_compra timestamp,total float, CONSTRAINT pkcompra PRIMARY KEY (idcompra), CONSTRAINT fkproveedor FOREIGN KEY (idproveedor) REFERENCES proveedor(idproveedor) ON UPDATE CASCADE); /*CREAR TABLA VENTA_DETALLE*/ CREATE TABLE venta_detalle (idventa_detalle serial not null, idventa INT NOT NULL, idprenda INT NOT NULL,cantidad int,precio_unitario float, CONSTRAINT pkventa_detalle PRIMARY KEY (idventa_detalle), CONSTRAINT fkventa FOREIGN KEY (idventa) REFERENCES venta (idventa), CONSTRAINT fkprenda FOREIGN KEY (idprenda) REFERENCES prenda (idprenda) ON UPDATE CASCADE); /*CREAR TABLA APARTADOS*/ CREATE TABLE apartados (idapartado serial not null, idcliente INT NOT NULL,idprenda INT NOT NULL,cantidad int, descrpcion varchar (50), precio float, CONSTRAINT pkapartado PRIMARY KEY (idapartado), CONSTRAINT fkcliente FOREIGN KEY (idcliente) REFERENCES cliente (idcliente), CONSTRAINT fkprenda FOREIGN KEY (idprenda) REFERENCES prenda (idprenda) ON UPDATE CASCADE); /*CREAR TABLA COMPRA_DETALLE*/ CREATE TABLE compra_detalle (idcompra_detalle serial not null, idcompra INT NOT NULL, idtela INT NOT NULL,cantidad int, descripcion varchar (50), precio_unitario float, CONSTRAINT pkcompra_detalle PRIMARY KEY (idcompra_detalle), CONSTRAINT fkcompra FOREIGN KEY (idcompra) REFERENCES compra_tela (idcompra),
CONSTRAINT fktela FOREIGN KEY (idtela) REFERENCES almacen (idtela) ON UPDATE CASCADE); /*CREAR TABLA PRENDAS_TELAS*/ CREATE TABLE prendas_telas (idmaterial serial not null, idprenda INT NOT NULL, idtela INT NOT NULL, CONSTRAINT pkmaterial PRIMARY KEY (idmaterial), CONSTRAINT fkprenda FOREIGN KEY (idprenda) REFERENCES prenda (idprenda), CONSTRAINT fktela FOREIGN KEY (idtela) REFERENCES almacen (idtela) ON UPDATE CASCADE);
CODIGO DE LA BASE DE DATOS MySQL
/*CREAR TABLA ALMACEN */ CREATE TABLE almacen (idtela INT NOT NULL AUTO_INCREMENT,cantidad int, material varchar(20),color varchar(15),largo float,ancho float, PRIMARY KEY (idtela)) TYPE=InnoDB; /*CREAR TABLA PRENDAS */ CREATE TABLE prenda (idprenda INT NOT NULL AUTO_INCREMENT, idtela INT NOT NULL, descripcion varchar(50), color varchar(15),talla varchar (10), PRIMARY KEY (idprenda)) TYPE=InnoDB; /*CREAR TABLA SUCURSALES */ CREATE TABLE sucursal (idsucursal INT NOT NULL AUTO_INCREMENT,nombre varchar(20), direccion varchar(30),telefono varchar(20),num_empleados int,horario varchar(10), PRIMARY KEY (idsucursal)) TYPE=InnoDB; /*CREAR TABLA CLIENTES */ CREATE TABLE cliente (idcliente INT NOT NULL AUTO_INCREMENT,nombre varchar(30), appaterno varchar(20),apmaterno varchar (20),telefono varchar(20),direccion varchar(50), PRIMARY KEY (idcliente)) TYPE=InnoDB; /*CREAR TABLA PROVEEDORES */ CREATE TABLE proveedor (idproveedor INT NOT NULL AUTO_INCREMENT,nomb_proveedor varchar(20), direccion varchar(50),telefono varchar (20),fax varchar(20), PRIMARY KEY (idproveedor)) TYPE=InnoDB; /*CREAR TABLA SASTRE */ CREATE TABLE sastre (idsastre INT NOT NULL AUTO_INCREMENT ,nomb_sastre varchar(30), appaterno varchar(15),apmaterno varchar (20),telefono varchar(20), direccion varchar(50),fechaingeso Date,fechanacimiento Date, salario float,idsucursal INT NOT NULL, PRIMARY KEY (idsastre), INDEX(idsucursal), FOREIGN KEY (idsucursal) REFERENCES sucursal (idsucursal) ON UPDATE CASCADE) TYPE=InnoDB; /*CREAR TABLA LOTES_FABRICADOS*/ CREATE TABLE lotes_fabricados (idlote INT NOT NULL AUTO_INCREMENT,idprenda INT NOT NULL, cantidad_fabricada int,idsucursal INT NOT NULL,idtela INT NOT NULL, fecha_inicio Date,fecha_termino Date,
PRIMARY KEY (idlote), INDEX (idprenda), INDEX (idtela), INDEX (idsucursal), FOREIGN KEY (idprenda) REFERENCES prenda (idprenda) ON UPDATE CASCADE, FOREIGN KEY (idtela) REFERENCES almacen (idtela) ON UPDATE CASCADE, FOREIGN KEY (idsucursal) REFERENCES sucursal (idsucursal) ON UPDATE CASCADE ) TYPE=InnoDB; /*CREAR TABLA TABAJO_SASTRE */ CREATE TABLE trabajo_sastre (idtrabajo INT NOT NULL AUTO_INCREMENT,idsastre INT NOT NULL,idlote INT NOT NULL, cant_fabricada int, PRIMARY KEY (idtrabajo), INDEX (idsastre), INDEX (idlote), FOREIGN KEY (idsastre) REFERENCES sastre (idsastre) ON UPDATE CASCADE, FOREIGN KEY (idlote) REFERENCES lotes_fabricados (idlote) ON UPDATE CASCADE) TYPE=InnoDB; /*CREAR TABLA VENTAS*/ CREATE TABLE venta (idventa INT NOT NULL AUTO_INCREMENT,fecha_venta Date, idsucursal INT NOT NULL, idcliente INT NOT NULL, PRIMARY KEY (idventa), INDEX (idsucursal), INDEX (idcliente), FOREIGN KEY (idsucursal) REFERENCES sucursal (idsucursal) ON UPDATE CASCADE, FOREIGN KEY (idcliente) REFERENCES cliente (idcliente) ON UPDATE CASCADE) TYPE=InnoDB; /*CREAR TABLA COMPRA_TELAS*/ CREATE TABLE compra_tela (idcompra INT NOT NULL AUTO_INCREMENT, idproveedor INT NOT NULL,fecha_compra Date,total float, PRIMARY KEY (idcompra), INDEX (idproveedor), FOREIGN KEY (idproveedor) REFERENCES proveedor(idproveedor) ON UPDATE CASCADE) TYPE=InnoDB; /*CREAR TABLA VENTA_DETALLE*/ CREATE TABLE venta_detalle (idventa_detalle INT NOT NULL AUTO_INCREMENT, idventa INT NOT NULL,idprenda INT NOT NULL,cantidad int,precio_unitario float, PRIMARY KEY (idventa_detalle), INDEX (idventa), INDEX(idprenda), FOREIGN KEY (idventa) REFERENCES venta (idventa) ON UPDATE CASCADE, FOREIGN KEY (idprenda) REFERENCES prenda (idprenda) ON UPDATE CASCADE) TYPE=InnoDB; /*CREAR TABLA APARTADOS*/ CREATE TABLE apartado (idapartado INT NOT NULL AUTO_INCREMENT, idcliente INT NOT NULL ,idprenda INT NOT NULL ,cantidad int, descrpcion varchar (50), precio float, PRIMARY KEY (idapartado), INDEX(idcliente), INDEX(idprenda), FOREIGN KEY (idcliente) REFERENCES cliente (idcliente) ON UPDATE CASCADE,
FOREIGN KEY (idprenda) REFERENCES prenda (idprenda) ON UPDATE CASCADE) TYPE=InnoDB; /*CREAR TABLA COMPRA_DETALLE*/ CREATE TABLE compra_detalle (idcompra_detalle INT NOT NULL AUTO_INCREMENT, idcompra INT NOT NULL,idtela INT NOT NULL,cantidad int, descripcion varchar (50), precio_unitario float, PRIMARY KEY (idcompra_detalle), INDEX (idcompra), INDEX (idtela), FOREIGN KEY (idcompra) REFERENCES compra_tela (idcompra) ON UPDATE CASCADE, FOREIGN KEY (idtela) REFERENCES almacen (idtela) ON UPDATE CASCADE) TYPE=InnoDB; /*CREAR TABLA PRENDAS_TELAS*/ CREATE TABLE prendas_telas (idmaterial INT NOT NULL AUTO_INCREMENT, idprenda INT NOT NULL, idtela INT NOT NULL, PRIMARY KEY (idmaterial), FOREIGN KEY (idprenda) REFERENCES prenda (idprenda) ON UPDATE CASCADE, FOREIGN KEY (idtela) REFERENCES almacen (idtela) ON UPDATE CASCADE) TYPE=InnoDB;
Sastre
Almacén
IdTela
Cantidad
Material
Color
Largo Ancho
21 1500 Algodón Blanco 150 100
22 500 Poliéster Rojo 200 100
23 150 Nylon Negro 150 150
Prendas
IdPrenda
Descripción
Color
Talla
31 Blusa de… Azul 32
32 Pantalón … Negro 30
33 Camisa… Roja 32
Sucursales
IdSucursal
Nombre
Dirección
Teléfono
Numeroempleados
Horarios
10 Mañanero Centro… 1235689 18 9:00-14:00
11 Clothes Xoxo 1258479 29 6:00:14:00
15 Sastre 1 Reforma 3698745 32 8:00-17:00
Lotes_fabricados
IdLote
CantidadFabricada
IdPrenda
IdTela
IdSucursal
FichaInicio
FechaTermino
41 500 31 21 10 25/12/08 01/01/09
42 200 31 21 10 12/04/09 15/04/09
43 350 32 23 15 15/05/09 20/05/09
IdSastre
Nombresastre
APSastre
AMSastre
Teléfono
Dirección
FechaIngreso
FechaNacimiento
Salario
IdSucursal
1 Jorge García Juárez 1236587
Centro 01/02/09 12/12/80 1500 10
2 Lorenzo Aparicio
Méndez
8956478
xoxo 03/04/09 13/08/81 1500 10
3 Javier López López 8547921
Jalpan 25/11/05 10/12/75 2000 15
4 Antonio Cu Aguilar 1256893
Zaachila
15/03/08 07/09/80 1800 15
Trabajo_sastre
No_trabajo
IdSastre
IdLote
CantidadFabricada
51 1 41 500
52 1 42 200
53 2 43 350
Clientes
IdCliente
Nombre
APPaterno
ApMaterno
Teléfono
Dirección
61 Miguel Rojas Machuca 4582168 Centro…
62 Ana Gomez Diaz 4785968 Xoxo
63 Fabiola Cruz Perez 4589765 Reforma
Ventas
IdVenta
FechaVenta
IdSucursal
IdCliente
71 23/02/09 10 51
72 114/05/09 10 51
73 01/01/09 15 53
Venta_detalle
IdVentaDetalle IdVenta
IdPrenda
Cantidad
PrecioUnitario
15 71 31 6 50
16 72 31 8 60
17 71 31 2 75
Apartados
IdApartado
IdCliente
IdPrenda
Cantidad
Precio
Descripción
81 61 31 2 100 Blusa…
82 63 31 2 100 Blusa…
83 61 33 5 250 Camisa…
Proveedores
Id_Proveedor
NomProveedor
Direccion
Telefono
Fax
91 Casa sastre Centro… 1238497 1238497
92 Mexicana 5 Señores 9763198 9763198
93 Telas sr Sta. Rosa 7961358 7961358
CompraTelas
IdCompra
PrecioUnitario
FechaCompra
Id_Proveedor
Total
101 50 25/04/09 91 2000
102 100 25/05/09 91 1000
103 25 30/01/09 90 100
CompraDetalle
IdCompra
IdTela
Cantidad
Descripcion
PrecioUnitario
101 21 20 Tela de… 50
102 22 1000 Tela de… 100
103 22 4 Tela de… 25
PrendasTelas
IdMaterial
IdPrenda
IdTela
10 33 21
11 33 22
12 38 4
DIAGRAMA ENTIDAD-RELACIÓN
Lotes_fabric
Sastre
Cod_sastre Nomb_satre
Fecha_ing Fecha_nac
Salario Teléfono
Trabaja Sucursales
Cod_sucursal Dirección
Teléfono Num_emp
Nombre Horario
Realiza
No_lote Cant_fab
Fec_inicio Fec_ter
Da
Usa Almacén
Cod_tela Material
Cantidad Color
Largo Ancho
Hace
Compra_telas
Id_compra Fecha
Detalle
Compra_det
Tipo
Cantidad
Precio
Fabrica
Prendas
Cod_prenda Descrip
Cant_elab Color
Hechas
Entrega
Son
Apartados
Num_apart Cantidad
Precio
Descripción
Para Clientes
Cod_cliente Teléfono
Nombre
Tiene Ventas Detalle
Ventas_det
Para
No_pedido
Fecha
Precio Cant
Descrip
1
1
En 2
2
Están
3
2
3
2
Proveedores
Al los
4
1
4
1
Id_proveed Nombre
MODELO RELACIONAL
IdSastre Nombresastre APSastre AMSatre Teléfono Dirección FechaIngreso FechaNacimiento Salario IdSucursal
Sastre
IdTela Cantidad Material Color Largo Ancho
Almacén
IdPrenda Descripción Color Talla
Prendas
IdSucursal Nombre Direccion Telefono NumeroEmpleados Horarios
Sucursales
No_trabajo IdSastre IdLote CantidadFabricada
TrabajoSastre
IdCliente Nombre APPaterno ApMaterno Teléfono Dirección
Clientes
IdVenta FechaVenta IdSucursl IdCliente
Ventas
IdCompra PrecioUnitario FechaCompra Id_Proveedor Total
CompraTelas
IdVenta IdPrenda Cantidad PrecioUnitario
VentaDetalle
IdCompra IdTela Cantidad Descripcion
PrecioUnitario
CompraDetalle
IdApartado IdCliente IdPrenda Cantidad Precio Descripcion
Apartados
Id_Proveedor
NomProveedor
Direccion
Telefono
Fax
Proveedores
IdLote CantidadFabricada IdPrenda IdTela IdSucursal FichaInicio FechaTermino
LotesFabricados
IdMaterial
IdPrenda
IdTela
PrendasTelas
MODELO ENTIDAD-RELACION CON DATOS