jorgeprada johnnygarvizu yasuhikoroca proyectofinal
TRANSCRIPT
-
8/19/2019 JorgePrada JohnnyGarvizu YasuhikoRoca ProyectoFinal
1/35
Page: 1
PROYECTO FINAL“BOMBONES CHITY”
ALUMNOS: Jorge Andres PradaJohnny Angel GarvizuYasuhiko Roka
DOCENTE: Ing. Rolando Gonzales
MATERIA: Programacion de Base de Datos
FECHA: 02/07/2012
SANTA CRUZ - BOLIVIA
-
8/19/2019 JorgePrada JohnnyGarvizu YasuhikoRoca ProyectoFinal
2/35
Page: 2
Planteamiento del problema.-
BOMBONES CHITY:
La chocolatería “BOMBONES CHITY”, dedicada a la producción de una variedad de
productos basados en chocolates, desea implementar un sistema computarizado enla empresa con el propósito de optimizar su control de la empresa y la atenciónal cliente.
Actualmente la chocolatería produce una variedad de chocolates que llegan alcliente por medio de promotores, los cuales tienen la obligación de entregarfactura. Actualmente cuenta con un almacén en el B/Conavi por la Av. Paragua lugardonde los promotores recogen el producto. Para ello requiere un sistema de controlde inventario, ventas y personal.
Los se necesita establecer bien el producto ya que tienen una amplia variedad detamaños, colores, sabores, tipos y embalajes.
Deben saber los productos que tienen en un color específico (tipo de producto,color y sabor) para poder promocionarlo.
Necesitan conocer los datos más importante de sus empleados (nombre, apellidopaterno, apellido materno, cargo, y CI).
Quien saber cuáles de sus clientes registrados han realizado una compra eindependientemente mostrar el total de facturas emitidas
Requieren una lista de sus promotores por su mayor cantidad de ventas (nombre,apellido paterno, apellido materno y el número de ventas realizadas)
Deben tener ciertas restricciones a la hora de introducir sus datos, los másnecesarios son:
- Verificar q los productos estén en buen estado.
- Que el teléfono sea un número fijo y no un número de celular.- No aprobar una venta si es q no hay existencias.
Para automatizar su control de ventas desean ir descontando los productos a medidaq realizan una venta.
Desean saber la cuenta total de compra de un cliente (utilizando vistas,procedimientos de almacenado, cursores)
-
8/19/2019 JorgePrada JohnnyGarvizu YasuhikoRoca ProyectoFinal
3/35
Page: 3
Tabla de Contenidos
Detalle del Modelo ......................................................................................................................... 2
Modelo de dominio ................................................................................................................... 2
Cliente ...................................................................................................................................... 2Color ........................................................................................................................................ 4
Embalaje .................................................................................................................................. 5
Factura...................................................................................................................................... 6Funcionario .............................................................................................................................. 7
Persona ..................................................................................................................................... 9
Produccion ............................................................................................................................. 11
Producto ................................................................................................................................. 13Promotor ................................................................................................................................ 16
Sabor ...................................................................................................................................... 17
Tamano .................................................................................................................................. 18
TipoFuncionario ..................................................................................................................... 19TipoProducto.......................................................................................................................... 20
Venta ...................................................................................................................................... 21Objetos del dominio ............................................................................................................. 24
-
8/19/2019 JorgePrada JohnnyGarvizu YasuhikoRoca ProyectoFinal
4/35
Page: 4
Documentación del Modelo
Detalle del ModeloEste documento provee una completa perspectiva general de los detalles de todos los elementos. Para reportes mas
simples y enfocados, simplemente copie esta plantilla inicial y deseleccione las secciones no requeridas.
Modelo de dominioTipo: Paquete Estado: Proposed. Versión . Fase 1.0. Paquete: Model Detalle: Creado el 02/07/2012. Última modificación el 02/07/2012 GUID: {D2A30D6A-9CC8-4147-9D2F-A85799F16ECD}
Modelo de dominio - (diagrama Lógico )Creado por: Administrador el 02/07/2012Última modificación: 02/07/2012Versión: 1.0. Bloquedo: FalsoGUID: {4C41ACC5-7511-4527-8AD1-56303711A687}
Imagen: 1
ClienteTipo: Clase Estado: Propuesto. Versión 1.0. Fase 1.0.
-
8/19/2019 JorgePrada JohnnyGarvizu YasuhikoRoca ProyectoFinal
5/35
Page: 5
Paquete: Modelo de dominio Palabras claves: Detalle: Creado el 02/07/2012. Última modificación el 02/07/2012.GUID: {81E739E6-17A1-49d6-BFF9-2BFD874EA386}
Propiedades Personal izadas
isActive = Falso
Valores Et iquetados
owner = dbo.
Conecciones
Conector Origen Destino Notas
Asociación (idCliente =idCliente)
Origen -> Destino
PublicFK__Venta__idCliente
__37A5467C
Venta
PublicPK__Cliente__885457
EE1ED998B2
Cliente
Asociación (idPersona =
idPersona)
Origen -> Destino
Public
FK__Cliente__idPerso_
_20C1E124
Cliente
Public
PK__Persona__A47881
411B0907CE
Persona
Atributos
Atributo Notas Restricciones y etiquetas
idCliente int
Public
«column»
Predeterminado:
[property =
AutoNum=1;StartNum=1;Increment
=1; ]
idPersona int
Public
«column»
Predeterminado:
-
8/19/2019 JorgePrada JohnnyGarvizu YasuhikoRoca ProyectoFinal
6/35
Page: 6
Atributo Notas Restricciones y etiquetas
ObservacionCliente varchar
Public
«column»
Predeterminado:
Operaciones
Metodo Notas Parámetros
PK__Cliente__885457EE
1ED998B2() Public
int [in] idCliente
FK__Cliente__idPerso__
20C1E124() Public
int [in] idPersona
ColorTipo: Clase Estado: Propuesto. Versión 1.0. Fase 1.0. Paquete: Modelo de dominio Palabras claves: Detalle: Creado el 02/07/2012. Última modificación el 02/07/2012.GUID: {5D7E569A-BB7E-4767-8AD4-3791EE6A05DE}
Propiedades Personal izadas
isActive = Falso
Valores Et iquetados
owner = dbo.
Conecciones
Conector Origen Destino Notas
Asociación (Color =
idColor)
Origen -> Destino
Public
FK__Producto__Color_
_164452B1
Producto
Public
PK__Color__504A3B8
807020F21
Color
Atributos
Atributo Notas Restricciones y etiquetas
-
8/19/2019 JorgePrada JohnnyGarvizu YasuhikoRoca ProyectoFinal
7/35
Page: 7
Atributo Notas Restricciones y etiquetas
idColor int
Public
«column»
Predeterminado:
[property =
AutoNum=1;StartNum=1;Increment
=1; ]
nombreColor varchar
Public
«column»
Predeterminado:
OperacionesMetodo Notas Parámetros
PK__Color__504A3B880
7020F21() Public
int [in] idColor
EmbalajeTipo: Clase Estado: Propuesto. Versión 1.0. Fase 1.0. Paquete: Modelo de dominio Palabras claves: Detalle: Creado el 02/07/2012. Última modificación el 02/07/2012.GUID: {BB52F70D-9BB1-4227-A065-CAD4CB82CA19}
Propiedades Personal izadas
isActive = Falso
Valores Et iquetados
owner = dbo.
Conecciones
Conector Origen Destino Notas
Asociación (Embalaje =
idEmbalaje)
Origen -> Destino
Public
FK__Producto__Embal
a__15502E78
Producto
Public
PK__Embalaje__2071
D65403317E3D
Embalaje
-
8/19/2019 JorgePrada JohnnyGarvizu YasuhikoRoca ProyectoFinal
8/35
Page: 8
Atributos
Atributo Notas Restricciones y etiquetas
idEmbalaje int
Public
«column»
Predeterminado:
[property =AutoNum=1;StartNum=1;Increment
=1; ]
nombreEmbalaje varchar
Public
«column»
Predeterminado:
Operaciones
Metodo Notas Parámetros
PK__Embalaje__2071D6
5403317E3D()
Public
int [in] idEmbalaje
FacturaTipo: Clase Estado: Propuesto. Versión 1.0. Fase 1.0. Paquete: Modelo de dominio Palabras claves: Detalle: Creado el 02/07/2012. Última modificación el 02/07/2012.GUID: {FDB99691-B2BA-448b-8975-A1E053E5CF55}
Propiedades Personal izadas
isActive = Falso
Valores Et iquetados owner = dbo.
Conecciones
Conector Origen Destino Notas
Asociación (idFactura =
idFactura)
Public
FK__Venta__idFactura
Public
PK__Factura__3CD568
-
8/19/2019 JorgePrada JohnnyGarvizu YasuhikoRoca ProyectoFinal
9/35
Page: 9
Conector Origen Destino Notas
Origen -> Destino __3A81B327
Venta
7E31EC6D26
Factura
AtributosAtributo Notas Restricciones y etiquetas
idFactura int
Public
«column»
Predeterminado:
[property =
AutoNum=1;StartNum=1;Increment
=1; ]
NroFactura int
Public
«column»
Predeterminado:
NroAutorizacion int
Public
«column»
Predeterminado:
fechaVencFactura datePublic
«column»
Predeterminado:
Operaciones
Metodo Notas Parámetros
PK__Factura__3CD5687
E31EC6D26() Public
int [in] idFactura
FuncionarioTipo: Clase Estado: Propuesto. Versión 1.0. Fase 1.0. Paquete: Modelo de dominio Palabras claves:
-
8/19/2019 JorgePrada JohnnyGarvizu YasuhikoRoca ProyectoFinal
10/35
Page: 10
Detalle: Creado el 02/07/2012. Última modificación el 02/07/2012.GUID: {174EE7E4-8108-4727-84FC-181E03A71298}
Propiedades Personal izadas
isActive = Falso
Valores Et iquetados
owner = dbo.
Conecciones
Conector Origen Destino Notas
Asociación
(idFuncionario =idFuncionario)
Origen -> Destino
Public
FK__Produccio__idFun __403A8C7D
Produccion
Public
PK__Funciona__B0A122952C3393D0
Funcionario
Asociación(idTipoFuncionario =
idTipoFuncionario)
Origen -> Destino
Public
FK__Funcionar__idTip
__2F10007B
Funcionario
Public
PK__TipoFunc__65659
B96286302EC
TipoFuncionario
Asociación (idPersona =
idPersona)
Origen -> Destino
Public
FK__Funcionar__idPer
__2E1BDC42
Funcionario
Public
PK__Persona__A47881
411B0907CE
Persona
Atributos
Atributo Notas Restricciones y etiquetas
idFuncionario int
Public
«column»
Predeterminado:
[property =
AutoNum=1;StartNum=1;Increment
=1; ]
idPersona intPublic
«column»
Predeterminado:
-
8/19/2019 JorgePrada JohnnyGarvizu YasuhikoRoca ProyectoFinal
11/35
Page: 11
Atributo Notas Restricciones y etiquetas
idTipoFuncionario int
Public
«column»
Predeterminado:
Operaciones
Metodo Notas Parámetros
PK__Funciona__B0A122
952C3393D0() Public
int [in] idFuncionario
FK__Funcionar__idPer_
_2E1BDC42() Public
int [in] idPersona
FK__Funcionar__idTip_ _2F10007B() Public
int [in] idTipoFuncionario
PersonaTipo: Clase Estado: Propuesto. Versión 1.0. Fase 1.0. Paquete: Modelo de dominio Palabras claves: Detalle: Creado el 02/07/2012. Última modificación el 02/07/2012.GUID: {2326F210-FEDA-4fe4-9D8B-138F8FEC67E3}
Propiedades Personal izadas
isActive = Falso
Valores Et iquetados
owner = dbo.
Conecciones
Conector Origen Destino Notas
Asociación (idPersona =
idPersona)
Origen -> Destino
Public
FK__Promotor__idPers
__25869641
Promotor
Public
PK__Persona__A47881
411B0907CE
Persona
Asociación (idPersona =
idPersona)
Public
FK__Funcionar__idPer
Public
PK__Persona__A47881
-
8/19/2019 JorgePrada JohnnyGarvizu YasuhikoRoca ProyectoFinal
12/35
Page: 12
Conector Origen Destino Notas
Origen -> Destino __2E1BDC42
Funcionario
411B0907CE
Persona
Asociación (idPersona =
idPersona)
Origen -> Destino
Public
FK__Cliente__idPerso_
_20C1E124Cliente
Public
PK__Persona__A47881
411B0907CEPersona
Atributos
Atributo Notas Restricciones y etiquetas
idPersona int
Public
«column»
Predeterminado:
[property =
AutoNum=1;StartNum=1;Increment
=1; ]
Nombre varchar
Public
«column»
Predeterminado:
apPaterno varchar
Public
«column»
Predeterminado:
apMaterno varchar
Public
«column»
Predeterminado:
Telefono intPublic
«column»
Predeterminado:
-
8/19/2019 JorgePrada JohnnyGarvizu YasuhikoRoca ProyectoFinal
13/35
Page: 13
Atributo Notas Restricciones y etiquetas
Direccion varchar
Public
«column»
Predeterminado:
Email varchar
Public
«column»
Predeterminado:
CI int
Public
«column»
Predeterminado:
Operaciones
Metodo Notas Parámetros
PK__Persona__A4788141
1B0907CE() Public
int [in] idPersona
ProduccionTipo: Clase Estado: Propuesto. Versión 1.0. Fase 1.0. Paquete: Modelo de dominio Palabras claves: Detalle: Creado el 02/07/2012. Última modificación el 02/07/2012.GUID: {E2ABA18E-A443-41f7-AB3F-F63635A21E5F}
Propiedades Personal izadas
isActive = Falso
Valores Et iquetados
owner = dbo.
-
8/19/2019 JorgePrada JohnnyGarvizu YasuhikoRoca ProyectoFinal
14/35
Page: 14
Conecciones
Conector Origen Destino Notas
Asociación (idProducto
= idProducto)
Origen -> Destino
Public
FK__Produccio__idPro
__3F466844
Produccion
Public
PK__Producto__07F4A
1321273C1CD
Producto
Asociación(idFuncionario =
idFuncionario)
Origen -> Destino
Public
FK__Produccio__idFun
__403A8C7D
Produccion
Public
PK__Funciona__B0A1
22952C3393D0
Funcionario
Atributos
Atributo Notas Restricciones y etiquetas
idProduccion int
Public
«column»
Predeterminado:
[property =AutoNum=1;StartNum=1;Increment
=1; ]
fechaProduccion date
Public
«column»
Predeterminado:
fechaVencimiento date
Public
«column»
Predeterminado:
cantidad int
Public
«column»
Predeterminado:
-
8/19/2019 JorgePrada JohnnyGarvizu YasuhikoRoca ProyectoFinal
15/35
Page: 15
Atributo Notas Restricciones y etiquetas
idProducto int
Public
«column»
Predeterminado:
idFuncionario int
Public
«column»
Predeterminado:
OperacionesMetodo Notas Parámetros
PK__Producci__CB8825
D83D5E1FD2() Public
int [in] idProduccion
FK__Produccio__idFun_
_403A8C7D() Public
int [in] idFuncionario
FK__Produccio__idPro_
_3F466844() Public
int [in] idProducto
ProductoTipo: Clase Estado: Propuesto. Versión 1.0. Fase 1.0. Paquete: Modelo de dominio Palabras claves: Detalle: Creado el 02/07/2012. Última modificación el 02/07/2012.GUID: {1C793FBB-92B9-42d2-BC0F-DFFC015BAE5E}
Propiedades Personal izadas
isActive = Falso
Valores Et iquetados
owner = dbo.
Conecciones
-
8/19/2019 JorgePrada JohnnyGarvizu YasuhikoRoca ProyectoFinal
16/35
Page: 16
Conector Origen Destino Notas
Asociación (idProducto
= idProducto)
Origen -> Destino
Public
FK__Venta__idProduct
__38996AB5
Venta
Public
PK__Producto__07F4A
1321273C1CD
Producto
Asociación(TipoProducto =
idTipoProducto)
Origen -> Destino
PublicFK__Producto__TipoPr
__182C9B23
Producto
PublicPK__TipoProd__2552C
5A50EA330E9
TipoProducto
Asociación (Tamano =
idTamano)
Origen -> Destino
Public
FK__Producto__Taman
o__145C0A3F
Producto
Public
PK__Tamano__8284F1
DB7F60ED59
Tamano
Asociación (Sabor =
idSabor)
Origen -> Destino
Public
FK__Producto__Sabor_
_173876EA
Producto
Public
PK__Sabor__B088378
B0AD2A005
Sabor
Asociación (Embalaje =
idEmbalaje)
Origen -> Destino
Public
FK__Producto__Embal
a__15502E78
Producto
Public
PK__Embalaje__2071
D65403317E3D
Embalaje
Asociación (Color =
idColor)
Origen -> Destino
Public
FK__Producto__Color_
_164452B1
Producto
Public
PK__Color__504A3B8
807020F21
Color
Asociación (idProducto
= idProducto)
Origen -> Destino
Public
FK__Produccio__idPro
__3F466844Produccion
Public
PK__Producto__07F4A
1321273C1CDProducto
Atributos
Atributo Notas Restricciones y etiquetas
idProducto int
Public
«column»
Predeterminado:
[property =
AutoNum=1;StartNum=1;Increment
=1; ]
-
8/19/2019 JorgePrada JohnnyGarvizu YasuhikoRoca ProyectoFinal
17/35
Page: 17
Atributo Notas Restricciones y etiquetas
nombreProducto varchar
Public
«column»
Predeterminado:
Tamano int
Public
«column»
Predeterminado:
Embalaje int
Public
«column»
Predeterminado:
Color int
Public
«column»
Predeterminado:
Sabor int
Public
«column»
Predeterminado:
TipoProducto int
Public
«column»
Predeterminado:
Operaciones
Metodo Notas Parámetros
PK__Producto__07F4A1 int [in] idProducto
-
8/19/2019 JorgePrada JohnnyGarvizu YasuhikoRoca ProyectoFinal
18/35
Page: 18
Metodo Notas Parámetros
321273C1CD() Public
FK__Producto__Color__
164452B1() Public
int [in] Color
FK__Producto__Embala __15502E78() Public
int [in] Embalaje
FK__Producto__Sabor__
173876EA() Public
int [in] Sabor
FK__Producto__Tamano
__145C0A3F() Public
int [in] Tamano
FK__Producto__TipoPr_
_182C9B23()
Public
int [in] TipoProducto
PromotorTipo: Clase Estado: Propuesto. Versión 1.0. Fase 1.0. Paquete: Modelo de dominio Palabras claves: Detalle: Creado el 02/07/2012. Última modificación el 02/07/2012.GUID: {68120C0F-9441-407f-B998-2B302C8648F9}
Propiedades Personal izadas
isActive = Falso
Valores Et iquetados
owner = dbo.
Conecciones
Conector Origen Destino Notas
Asociación (idPromotor
= idPromotor)
Origen -> Destino
Public
FK__Venta__idPromot
o__398D8EEEVenta
Public
PK__Promotor__719B7
F88239E4DCFPromotor
Asociación (idPersona =
idPersona)
Origen -> Destino
Public
FK__Promotor__idPers
__25869641
Promotor
Public
PK__Persona__A47881
411B0907CE
Persona
-
8/19/2019 JorgePrada JohnnyGarvizu YasuhikoRoca ProyectoFinal
19/35
Page: 19
Atributos
Atributo Notas Restricciones y etiquetas
idPromotor int
Public
«column»
Predeterminado:
[property =
AutoNum=1;StartNum=1;Increment
=1; ]
idPersona int
Public
«column»
Predeterminado:
ObservacionPromotor
varcharPublic
«column»
Predeterminado:
Operaciones
Metodo Notas Parámetros
PK__Promotor__719B7F
88239E4DCF()
Public
int [in] idPromotor
FK__Promotor__idPers_
_25869641()
Public
int [in] idPersona
SaborTipo: Clase Estado: Propuesto. Versión 1.0. Fase 1.0. Paquete: Modelo de dominio Palabras claves: Detalle: Creado el 02/07/2012. Última modificación el 02/07/2012.
GUID: {BCC308EB-5655-486a-BC18-73238A19679A}
Propiedades Personal izadas
isActive = Falso
-
8/19/2019 JorgePrada JohnnyGarvizu YasuhikoRoca ProyectoFinal
20/35
Page: 20
Valores Et iquetados
owner = dbo.
Conecciones
Conector Origen Destino NotasAsociación (Sabor =
idSabor)
Origen -> Destino
Public
FK__Producto__Sabor_
_173876EA
Producto
Public
PK__Sabor__B088378
B0AD2A005
Sabor
Atributos
Atributo Notas Restricciones y etiquetas
idSabor int
Public
«column»
Predeterminado:
[property =
AutoNum=1;StartNum=1;Increment=1; ]
nombreSabor varchar
Public
«column»
Predeterminado:
Operaciones
Metodo Notas Parámetros
PK__Sabor__B088378B0
AD2A005() Public
int [in] idSabor
TamanoTipo: Clase
Estado: Propuesto. Versión 1.0. Fase 1.0. Paquete: Modelo de dominio Palabras claves: Detalle: Creado el 02/07/2012. Última modificación el 02/07/2012.GUID: {4D86E89C-D502-4356-8DA2-A576F6C3DB9A}
Propiedades Personal izadas
-
8/19/2019 JorgePrada JohnnyGarvizu YasuhikoRoca ProyectoFinal
21/35
Page: 21
Propiedades Personal izadas
isActive = Falso
Valores Et iquetados
owner = dbo.
Conecciones
Conector Origen Destino Notas
Asociación (Tamano =
idTamano)
Origen -> Destino
Public
FK__Producto__Taman
o__145C0A3F
Producto
Public
PK__Tamano__8284F1
DB7F60ED59
Tamano
AtributosAtributo Notas Restricciones y etiquetas
idTamano int
Public
«column»
Predeterminado:
[property =
AutoNum=1;StartNum=1;Increment
=1; ]
nombreTamano varchar
Public
«column»
Predeterminado:
Operaciones
Metodo Notas Parámetros
PK__Tamano__8284F1D
B7F60ED59()
Public
int [in] idTamano
TipoFuncionarioTipo: Clase Estado: Propuesto. Versión 1.0. Fase 1.0. Paquete: Modelo de dominio Palabras claves: Detalle: Creado el 02/07/2012. Última modificación el 02/07/2012.GUID: {9A16F1E1-E3CF-436a-9F80-99999A3E5943}
-
8/19/2019 JorgePrada JohnnyGarvizu YasuhikoRoca ProyectoFinal
22/35
Page: 22
Propiedades Personal izadas
isActive = Falso
Valores Et iquetados
owner = dbo.
Conecciones
Conector Origen Destino Notas
Asociación(idTipoFuncionario =
idTipoFuncionario)
Origen -> Destino
Public
FK__Funcionar__idTip
__2F10007B
Funcionario
Public
PK__TipoFunc__65659
B96286302EC
TipoFuncionario
Atributos
Atributo Notas Restricciones y etiquetas
idTipoFuncionario int
Public
«column»
Predeterminado:
[property =
AutoNum=1;StartNum=1;Increment
=1; ]
Nombre varcharPublic
«column»
Predeterminado:
Cargo varchar
Public
«column»
Predeterminado:
Operaciones
Metodo Notas Parámetros
PK__TipoFunc__65659B
96286302EC()
int [in] idTipoFuncionario
-
8/19/2019 JorgePrada JohnnyGarvizu YasuhikoRoca ProyectoFinal
23/35
Page: 23
Metodo Notas Parámetros
Public
TipoProducto
Tipo: Clase Estado: Propuesto. Versión 1.0. Fase 1.0. Paquete: Modelo de dominio Palabras claves: Detalle: Creado el 02/07/2012. Última modificación el 02/07/2012.GUID: {E5F33531-B5E5-451b-A37C-7B10AD7FC93E}
Propiedades Personal izadas
isActive = Falso
Valores Et iquetados
owner = dbo.
Conecciones
Conector Origen Destino Notas
Asociación(TipoProducto =
idTipoProducto)
Origen -> Destino
Public
FK__Producto__TipoPr
__182C9B23
Producto
Public
PK__TipoProd__2552C
5A50EA330E9
TipoProducto
Atributos
Atributo Notas Restricciones y etiquetas
idTipoProducto int
Public
«column»
Predeterminado:
[property =
AutoNum=1;StartNum=1;Increment
=1; ]
nombreTipoProducto varchar
Public
«column»
Predeterminado:
-
8/19/2019 JorgePrada JohnnyGarvizu YasuhikoRoca ProyectoFinal
24/35
Page: 24
Operaciones
Metodo Notas Parámetros
PK__TipoProd__2552C5
A50EA330E9() Public
int [in] idTipoProducto
VentaTipo: Clase Estado: Propuesto. Versión 1.0. Fase 1.0. Paquete: Modelo de dominio Palabras claves: Detalle: Creado el 02/07/2012. Última modificación el 02/07/2012.GUID: {225480D1-5120-4689-8CCF-0377F1A80551}
Propiedades Personal izadas
isActive = Falso
Valores Et iquetados
owner = dbo.
Conecciones
Conector Origen Destino Notas
Asociación (idPromotor
= idPromotor)
Origen -> Destino
Public
FK__Venta__idPromot
o__398D8EEEVenta
Public
PK__Promotor__719B7
F88239E4DCFPromotor
Asociación (idProducto
= idProducto)
Origen -> Destino
Public
FK__Venta__idProduct
__38996AB5
Venta
Public
PK__Producto__07F4A
1321273C1CD
Producto
Asociación (idFactura =
idFactura)
Origen -> Destino
Public
FK__Venta__idFactura
__3A81B327
Venta
Public
PK__Factura__3CD568
7E31EC6D26
Factura
Asociación (idCliente =idCliente)
Origen -> Destino
PublicFK__Venta__idCliente
__37A5467C
Venta
PublicPK__Cliente__885457
EE1ED998B2
Cliente
Atributos
Atributo Notas Restricciones y etiquetas
-
8/19/2019 JorgePrada JohnnyGarvizu YasuhikoRoca ProyectoFinal
25/35
Page: 25
Atributo Notas Restricciones y etiquetas
idVenta int
Public
«column»
Predeterminado:
[property =
AutoNum=1;StartNum=1;Increment
=1; ]
Fecha date
Public
«column»
Predeterminado:
Cantidad int
Public
«column»
Predeterminado:
Precio decimal
Public
«column»
Predeterminado:
NIT int
Public
«column»
Predeterminado:
idCliente int
Public
«column»
Predeterminado:
-
8/19/2019 JorgePrada JohnnyGarvizu YasuhikoRoca ProyectoFinal
26/35
Page: 26
Atributo Notas Restricciones y etiquetas
idProducto int
Public
«column»
Predeterminado:
idPromotor int
Public
«column»
Predeterminado:
idFactura int
Public
«column»
Predeterminado:
Operaciones
Metodo Notas Parámetros
PK__Venta__077D56143
5BCFE0A() Public
int [in] idVenta
FK__Venta__idCliente__ 37A5467C() Public
int [in] idCliente
FK__Venta__idFactura_
_3A81B327() Public
int [in] idFactura
FK__Venta__idProduct_
_38996AB5()
Public
int [in] idProducto
FK__Venta__idPromoto_
_398D8EEE() Public
int [in] idPromotor
-
8/19/2019 JorgePrada JohnnyGarvizu YasuhikoRoca ProyectoFinal
27/35
Page: 27
MAPEO
TAMAÑO(idTamaño(PK), nombreTamaño)EMBALAJE(idEmbalaje(PK), nombreEmbalaje)COLOR(idColor(PK), nombreColor)SABOR(idSabor(PK), nombreSabor)TIPOPRODUCTO(idTipoProducto(PK), nombreTipoProducto)PRODUCTO(idProducto(PK), nombreProducto, saldoProducto, idTamaño(FK),idEmbalaje(FK), idColor(FK), idSabor(FK), idtipoProducto(FK))PERSONA(idPersona(PK), Nombre, apPaterno, apMaterno, Telefono, Direccion, Email,CI)CLIENTE(idCliente(PK, idPersona(FK))PROMOTORES(idPromotores(PK), idPersona(FK))TIPOFUNCIONARIO(idTipoFuncionario(PK), Nombre, Cargo)FUNCIONARIO(idFuncionario(PK), idPersona(FK), idtipoFuncionario(FK))FACTURA(idFactura(PK), numeroFactura, numeroAutorizacion,fechaVencimientoFactura)VENTA(idVenta(PK), Fecha, Cantidad, Precio, NIT, idCliente(FK),idFuncionario(FK), idPromotores(FK), idFactura(FK))PRODUCCION(idProduccion(PK), fechaProduccion, fechaVencimiento, cantidad,
idProducto(FK), idFuncionario(FK))
SCRIP TABLAS
create database BOMBONES_CHITYuse BOMBONES_CHITYgo create table Tamano(
idTamano int not null identity,nombreTamano varchar(20) not null,primary key(idTamano)
)gocreate table Embalaje(
idEmbalaje int not null identity,nombreEmbalaje varchar(20) not null,primary key(idEmbalaje)
)gocreate table Color(
idColor int not null identity,nombreColor varchar(20) not null,primary key(idColor)
)gocreate table Sabor(
idSabor int not null identity,nombreSabor varchar(20) not null,primary key(idSabor)
)gocreate table TipoProducto
-
8/19/2019 JorgePrada JohnnyGarvizu YasuhikoRoca ProyectoFinal
28/35
Page: 28
(idTipoProducto int not null identity,nombreTipoProducto varchar(20) not null,primary key(idTipoProducto)
)gocreate table Producto(
idProducto int not null identity,nombreProducto varchar(30) not null,Tamano int not null,Embalaje int not null,Color int not null,Sabor int not null,TipoProducto int not null,primary key(idProducto),foreign key(Tamano)references Tamano(idTamano),foreign key(Embalaje)references Embalaje(idEmbalaje),foreign key(Color)references Color(idColor),foreign key(Sabor)references Sabor(idSabor),
foreign key(TipoProducto)references TipoProducto(idTipoProducto))gocreate table Persona(
idPersona int not null identity,Nombre varchar(30) not null,apPaterno varchar(30) not null,apMaterno varchar(30) not null,Telefono int not null,Direccion varchar(50) not null,Email varchar(30) not null,CI int not null,primary key(idPersona)
)gocreate table Cliente(
idCliente int not null identity,idPersona int not null,ObservacionCliente varchar(20) not null,primary key(idCliente),foreign key(idPersona)references Persona(idPersona)
)gocreate table Promotor(
idPromotor int not null identity,idPersona int not null,ObservacionPromotor varchar(20) not null,primary key(idPromotor),foreign key(idPersona)references Persona(idPersona)
)gocreate table TipoFuncionario(
idTipoFuncionario int not null identity,
-
8/19/2019 JorgePrada JohnnyGarvizu YasuhikoRoca ProyectoFinal
29/35
Page: 29
Nombre varchar(20) not null,Cargo varchar(30) not null,primary key(idTipoFuncionario)
)gocreate table Funcionario(
idFuncionario int not null identity,idPersona int not null,idTipoFuncionario int not null,primary key(idFuncionario),foreign key(idPersona)references Persona(idPersona),foreign key(idTipoFuncionario)references
TipoFuncionario(idTipoFuncionario))gocreate table Factura(
idFactura int not null identity,NroFactura int not null,
NroAutorizacion int not null,fechaVencFactura date not null,primary key(idFactura)
)gocreate table Venta(
idVenta int not null identity,Fecha date not null,Cantidad int not null,Precio decimal(8,2) not null,NIT int not null,idCliente int not null,idProducto int not null,idPromotor int not null,idFactura int not null,primary key(idVenta),foreign key(idCliente)references Cliente(idCliente),foreign key(idProducto)references Producto(idProducto),foreign key(idPromotor)references Promotor(idPromotor),foreign key(idFactura)references Factura(idFactura)
)gocreate table Produccion(
idProduccion int not null identity, fechaProduccion date not null,
fechaVencimiento date not null,cantidad int not null,idProducto int not null,idFuncionario int not null,primary key(idProduccion),foreign key(idProducto)references Producto(idProducto),foreign key(idFuncionario)references Funcionario(idFuncionario)
)
-
8/19/2019 JorgePrada JohnnyGarvizu YasuhikoRoca ProyectoFinal
30/35
Page: 30
SCRIP INSERT Y SELECT
--insert tamano
insert into Tamano values('Grande')insert into Tamano values('Mediano')insert into Tamano values('Pequeño')
select * from Tamano
--insert embalaje
insert into Embalaje values('Caja de Carton')insert into Embalaje values('Caja de Madera')insert into Embalaje values('Emboltura Plastica')insert into Embalaje values('Emboltura Aluminio')
select * from Embalaje
--insert Color
insert into Color values('Blanco')insert into Color values('Cafe')insert into Color values('Roja')insert into Color values('Verde')insert into Color values('Negro')
select * from Color
--insert Sabor
insert into Sabor values('Amarula')insert into Sabor values('Almendra')insert into Sabor values('Coco')insert into Sabor values('Menta')insert into Sabor values('Toffee')
select * from sabor
--insert Tipo Productoinsert into TipoProducto values('Bombon')insert into TipoProducto values('Paleta')insert into TipoProducto values('Trufa')insert into TipoProducto values('Barra Energetica')
select * from TipoProducto
--insert Producto
insert into Producto values ('Bombon Blanco De Amarrula',2,4,1,1,1)insert into Producto values ('Bombon Negro De Almendra',2,4,5,2,1)insert into Producto values ('Bombon Cafe De Toffee',1,4,2,5,1)insert into Producto values ('Bombon Blanco De Coco',1,4,1,3,1)insert into Producto values ('Bombon Blanco De Toffee',2,4,1,5,1)
select * from Producto
-
8/19/2019 JorgePrada JohnnyGarvizu YasuhikoRoca ProyectoFinal
31/35
Page: 31
-- Insert Factura
insert into Factura values (123456,2345,'23/02/2013')insert into Factura values (123457,3456,'23/02/2013')insert into Factura values (123458,4567,'23/02/2013')insert into Factura values (123459,5678,'23/02/2013')insert into Factura values (123460,6789,'23/02/2013')
select * from Factura
-- Insert Persona
insert into Persona values('Marta','Barrios','Arguedas',3274365,'C/las macetas# 24','[email protected]',234521)insert into Persona values('Pablo','Loza','Carrasco',3523478,'C/las piñas #23','[email protected]',4534242)insert into Persona values('Jose','Ramos','Cuellar',3534231,'B/Guaracachi #75','[email protected]',2341243)insert into Persona values('Luis','Zambrana','Romero',3523462,'C/Claveles #35','[email protected]',2412351)
insert into Persona values('Pedro','Garcia','Garvizu',3624524,'B/Callao #64','[email protected]',7778456)insert into Persona values('Laura','Mercado','Roma',3645672,'C/Begonias #45','[email protected]',8567843)insert into Persona values('Susana','Cardenas','Arnes',3958674,'C/Guapay #87','[email protected]',7467456)insert into Persona values('Romane','Cabrera','Parada',3567123,'Av Paragua #56','[email protected]',6987066)insert into Persona values('Jorge','Romera','Arauz',3998706,'Av. Brasil #644','[email protected]',7345634)insert into Persona values('Shauna','Barba','Aniston',3534693,'C/sauna #65','[email protected]',9998665)insert into Persona values('Bruno','Fernandez','Coronado',3235356,'C/ barbarosa# 87','[email protected]',9214253)insert into Persona values('Andres','Prada','Zegarra',3965872,'Av. Paragua #31','[email protected]',67745392)insert into Persona values('Carmen','Roca','Vargas',3645997,'La Ramada #23','[email protected]',6345212)insert into Persona values('Lucia','Franco','Saucedo',3523452,'Los Pozos #534','[email protected]',7764532)insert into Persona values('Laura','Bozo','Rodriguez',3654412,'B/ Las palmeras# 667','[email protected]',5656372)
select * from Persona
-- insert Cliente
insert into Cliente values(1,'Mayorista') insert into Cliente values(2,'Mayorista')insert into Cliente values(3,'Minorista')insert into Cliente values(4,'Mayorista')insert into Cliente values(5,'Minorista')
select * from Cliente
-- insert TipoFuncionario
-
8/19/2019 JorgePrada JohnnyGarvizu YasuhikoRoca ProyectoFinal
32/35
Page: 32
insert into TipoFuncionario values ('ventas','gerente')insert into TipoFuncionario values ('ventas','cajero')insert into TipoFuncionario values ('produccion','encargado')insert into TipoFuncionario values ('contabilidad','encargado')insert into TipoFuncionario values ('limpieza','encargado')
select * from TipoFuncionario-- insert Funcionario
insert into Funcionario values (1,1)insert into Funcionario values (2,2)insert into Funcionario values (3,3)insert into Funcionario values (4,4)insert into Funcionario values (5,5)
select * from Funcionario
-- insert Promotores
insert into Promotor values (11,'cumple meta')insert into Promotor values (12,'no cumple meta')insert into Promotor values (13,'cumple meta')insert into Promotor values (14,'cumple meta')insert into Promotor values (15,'no cumple meta')
select * from Promotor
-- insert Venta
insert into Venta values ('03/06/2012',4,10.00,87954683,1,1,1,1)insert into Venta values ('30/06/2012',5,23.40,9865598,2,2,2,2)insert into Venta values ('20/06/2012',6,2.50,8985529,3,3,3,3)insert into Venta values ('24/06/2012',2,5.20,9986429,3,4,3,4)insert into Venta values ('30/06/2012',4,26.50,1153246,4,5,4,5)
select * from Venta
-- insert Produccion
insert into Produccion values ('05/06/2012','05/09/2012',30,1,3)insert into Produccion values ('06/06/2012','06/09/2012',20,2,3)insert into Produccion values ('07/06/2012','07/09/2012',30,3,3)insert into Produccion values ('08/06/2012','08/09/2012',40,4,3)insert into Produccion values ('09/06/2012','09/09/2012',50,5,3)
select * from Produccion
--------------------------------------------------------Mostrar datos principales de empleados------------------------------------------------------select t.Nombre,t.Cargo,p.Nombre,p.apPaterno,p.apMaterno,p.CI from TipoFuncionario t,Funcionario f,Persona p where f.idPersona = p.idPersonaand f.idTipoFuncionario=t.idTipoFuncionario
select * from Venta
-
8/19/2019 JorgePrada JohnnyGarvizu YasuhikoRoca ProyectoFinal
33/35
Page: 33
------------------------------------------------------------mostrar las listas de clientes que han realizados compras----------------------------------------------------------
select p.nombre, p.apPaterno, p.apMaterno,p.Telefono,p.Direccion, v.Cantidadfrom Persona p inner join Cliente c on p.idPersona = c.idPersona inner join Venta v on c.idCliente=v.idClientewhere v.idCliente = c.idCliente
------------------------------------------------------------mostrar promotores por mayor venta----------------------------------------------------------select * from ventaselect * from promotorselect * from persona
select p.Nombre, p.apPaterno, p.apMaterno, COUNT (v.idPromotor)as NumeroVentasfrom Persona p inner join Promotor prom on p.idPersona=prom.idPersona inner join Venta v on prom.idPromotor=v.idPromotor
group by v.idPromotor,p.Nombre,p.apPaterno,p.apMaternoorder by NumeroVentas desc
------------------------------------------------------------mostrar la cantidad de facturas emitidas----------------------------------------------------------select COUNT_BIG (f.NroFactura) as TotalFacturas from Factura f inner join Venta v on f.idFactura = v.idFacturawhere f.idFactura = v.idFactura
select * from Producto------------------------------------------------------------mostrar los productos de un color de chocolate espesifico----------------------------------------------------------
select tp.nombreTipoProducto, c.nombreColor, s.nombreSaborfrom Producto p inner join Sabor s on p.Sabor = s.idSabor inner join Color c on c.idColor = p.Color
inner join TipoProducto tp on tp.idTipoProducto = p.TipoProductowhere c.nombreColor ='blanco'
SCRIP TRIGGERS
----------------------------------------------Trigger para fecha de vencimiento--------------------------------------------
create trigger tq_validarvencimiento6 on produccion for insertasdeclare @fecha datetime, @fecha_vencimiento dateselect @fecha= getdate()select @fecha_vencimiento = i.fechavencimiento from Inserted i
if (@fecha>@fecha_vencimiento)commit tran
elseRAISERROR ('El producto ya caduco.....!' , 16, 1)rollback tran
-
8/19/2019 JorgePrada JohnnyGarvizu YasuhikoRoca ProyectoFinal
34/35
Page: 34
----------------------------------------------Trigger para numero telefonico empieze en 3--------------------------------------------create trigger validacion_telefono3 on Persona for insertasdeclare @telefono integerselect @telefono= left(i.telefono,1) from inserted i
if (@telefono=3)commit tran
elseRAISERROR ('Ingrese un numero valido!' , 16, 1)rollback tran
----------------------------------------------Trigger para ventas tras realizar una venta se reduce el total--------------------------------------------create trigger validacion_ventas3 on Venta for insertasdeclare @idproducto int, @cantidad int
select @idproducto=i.idproducto from inserted i
select @cantidad = i.cantidad from inserted iupdate produccion set cantidad=cantidad-@cantidad where
idproducto=@idproducto
---------------------------------------------No se puede vender si no tiene inventario-------------------------------------------create trigger validar_inventario on Venta for insertasdeclare @idproducto int, @cantidad int
select @idproducto=i.idproducto from inserted iselect @cantidad = p.cantidad from produccion p where
p.idproducto=@idproductoif (@cantidad>0)commit tran
elseRAISERROR ('No tiene producto en stock!' , 16, 1)rollback tran
SCRIP PROCEDIMIENTO DE ALMACENADO
Create view vis_Ventaasselect venta.*fromventa inner join Cliente on venta.idCliente=Cliente.idCliente
go create procedure sp_preciosSumaClientes@fechaVenta dateasdeclare @idventa intdeclare @precio decimal(8,2)declare cur_totalxCliente cursor forselect vis_Venta.idVenta,SUM(Venta.Cantidad*Venta.Precio)as totalfrom vis_Venta inner join Ventaon vis_Venta.idVenta=Venta.idVenta
-
8/19/2019 JorgePrada JohnnyGarvizu YasuhikoRoca ProyectoFinal
35/35
Page: 35
where vis_Venta.fecha=@fechaVentagroup by vis_Venta.idVenta
open cur_totalxClientefetch next from cur_totalxClienteinto @idventa,@preciowhile @@FETCH_STATUS=0beginif exists(select * from Venta where idVenta=@idventa)beginupdate Ventaset Precio=Precio + @preciowhere idVenta =@idventaendelsebegin insert into Venta values(@idventa,@precio)endfetch next from cur_totalxCliente into @idventa,@precioend