Вы находитесь на странице: 1из 26

INSTITUTO TECNOLOGICO

del Valle de oaxaca

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 Sastre
IdTela Identificativo IdSastre Identificativo
Cantidad Simple Nombre Compuesto
Material Compuesto Appaterno Simple
Color Multivalorado Apmaterno Simple
Largo Compuesto Teléfono Multivalorado
Ancho compuesto Dirección Compuesto
FechaIngreso Compuesto
Fechanacimiento Compuesto
Salario Compuesto
IdSucursal Identificativo

Prendas Sucursales
IdPrenda Identificativo IdSucursal Identificativo
Descripción Compuesto Nombre Compuesto
Talla Multivalorado Dirección Compuesto
Color Simple Teléfono Multivalorado
NumeroEmpleados Simple
Horarios Compuesto

Lotes_Fabricados Trabajo_Sastre
IdLote Identificativo IdTrabajo Identificativo
IdPrenda Identificativo IdSastre Identificativo
IdTela Identificativo IdLote Identificativo
CantidadFabricada Simple CantidadFabricada Simple
IdSucursal Identificativo
FechaInicio Compuesto
FechaTermino Compuesto

Clientes Ventas
IdCliente Identificativo IdVenta Identificativo
Nombre Compuesto Fecha Venta Compuesto
ApPaterno Simple IdSucursal Identificativo
ApMaterno Simple IdCliente Identificativo
Teléfono Multivalorado
Dirección Compuesto
Compra_telas Venta_Detalle
IdCompra Identificativo IdVenta_detalle Identificativo
IdProveedor Identificativo IdVenta Identificativo
FechaCompra Compuesto IdPrenda Identificativo
Total Simple Cantidad Compuesto
PrecioUnitario Simple

Apartados Proveedores
IdApartado Identificativo IdProveedor Identificativo
IdCliente Identificativo NombProveedor Compuesto
IdPrenda Identificativo Dirección Compuesto
Cantidad Simple Teléfono Simple
Descripción Compuesto Fax Simple
Precio Simple

Compra_Detalle Prendas_Telas
IdCompra_Detalle Identificativo IdMaterial Identificativo
IdCompra Identificativo IIdPrenda Identificativo
IdTela Identificativo IdTela Identificativo
Cantidad Simple
Precio unitario Simple
Descripción Compuesto
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 Tamaño Descripción
de
dato
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 Tamaño Descripción


de
Dato
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 Tamaño Descripción


de
Dato
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 Tamaño Descripción
de
Dato
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 Tamaño Descripción


de
Dato
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 Tamaño Descripción


de
Dato
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 Tamaño Descripción


de
Dato
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 Tamaño Descripción


de
Dato
IdVenta Serial Clave única con la que se identifica cada uno
de los pedido realizados.
Fecha Date 8 Fecha en la que fue realizada la venta.
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 Tamaño Descripción


de
Dato
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 Tamaño Descripción


Dato
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 Tamaño Descripción


de
Dato
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 Tamaño Descripción


de
Dato
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 Tamaño Descripción


de
Dato
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 Tamaño Descripción


Dato
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

IdSast Nombresa APSast AMSas Teléfo Direcci FechaIngr FechaNacimi Salar IdSucur
re stre re tre no ón eso ento io sal

1 Jorge García Juárez 12365 Centro 01/02/09 12/12/80 1500 10


87
2 Lorenzo Aparici Ménde 89564 xoxo 03/04/09 13/08/81 1500 10
o z 78
3 Javier López López 85479 Jalpan 25/11/05 10/12/75 2000 15
21
4 Antonio Cu Aguilar 12568 Zaachi 15/03/08 07/09/80 1800 15
93 la

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
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
3
Salario Teléfono 2 Nombre Horario Cantidad
Id_proveed Nombre
Fecha_ing Fecha_nac Teléfono Num_emp Tipo Precio

Cod_sastre Nomb_satre Cod_sucursal Dirección


Proveedores Compra_det

Trabaja 1
Sastre Sucursales
2 4
1 Largo Ancho

Fec_inicio Fec_ter
Color Cantidad Detalle
Da
No_lote Cant_fab
3 Cod_tela Material
2
Realiza Lotes_fabric Almacén
Usa

2 En
Están Fabrica Hace
Fecha
Hechas
No_pedido
Prendas Entrega 1 Compra_telas
Ventas Tiene
Detalle

Cod_prenda Descrip
Id_compra Fecha
Cant_elab Color
Son
Ventas_det
Al los
Para Clientes Apartados Precio
Para

Cant Precio
Cod_cliente Teléfono Num_apart Descripción 4
Cantidad
Descrip Nombre 1
MODELO RELACIONAL

Sastre
Almacén Prendas Sucursales LotesFabricados
IdSastre IdLote
IdTela IdPrenda IdSucursal
Nombresastre Descripción Nombre CantidadFabricada
Cantidad
APSastre Color Direccion IdPrenda
Material IdTela
AMSatre Talla Telefono
Color IdSucursal
Teléfono NumeroEmpleados FichaInicio
Largo
Dirección Horarios FechaTermino
Ancho
FechaIngreso
FechaNacimiento
Salario
IdSucursal

TrabajoSastre Clientes Ventas VentaDetalle CompraTelas


No_trabajo IdCliente IdVenta IdVenta IdCompra
IdSastre Nombre FechaVenta IdPrenda PrecioUnitario
IdLote APPaterno IdSucursl Cantidad FechaCompra
CantidadFabricada ApMaterno IdCliente PrecioUnitario Id_Proveedor
Teléfono Total
Dirección

Apartados CompraDetalle Proveedores PrendasTelas


IdApartado IdCompra Id_Proveedor IdMaterial
IdCliente IdTela NomProveedor IdPrenda
IdPrenda Cantidad Direccion IdTela
Cantidad Descripcion
Telefono
Precio PrecioUnitario
Descripcion Fax
MODELO ENTIDAD-RELACION CON DATOS