Anda di halaman 1dari 35

Page: 1

PROYECTO FINAL
BOMBONES CHITY
ALUMNOS:

Jorge Andres Prada


Johnny Angel Garvizu
Yasuhiko Roka

DOCENTE:

Ing. Rolando Gonzales

MATERIA:

Programacion de Base de Datos

FECHA:

02/07/2012

SANTA CRUZ - BOLIVIA

Page: 2
Planteamiento del problema.BOMBONES CHITY:
La chocolatera BOMBONES CHITY, dedicada a la produccin de una variedad de
productos basados en chocolates, desea implementar un sistema computarizado en
la empresa con el propsito de optimizar su control de la empresa y la atencin
al cliente.
Actualmente la chocolatera produce una variedad de chocolates que llegan al
cliente por medio de promotores, los cuales tienen la obligacin de entregar
factura. Actualmente cuenta con un almacn en el B/Conavi por la Av. Paragua lugar
donde los promotores recogen el producto. Para ello requiere un sistema de control
de inventario, ventas y personal.
Los se necesita establecer bien el producto ya que tienen una amplia variedad de
tamaos, colores, sabores, tipos y embalajes.
Deben saber los productos que tienen en un color especfico (tipo de producto,
color y sabor) para poder promocionarlo.
Necesitan conocer los datos ms importante de sus empleados (nombre, apellido
paterno, apellido materno, cargo, y CI).
Quien saber cules de sus clientes registrados han realizado una compra e
independientemente 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 nmero de ventas realizadas)
Deben tener ciertas restricciones a la hora de introducir sus datos, los ms
necesarios son:

Verificar q los productos estn en buen estado.


Que el telfono sea un nmero fijo y no un nmero de celular.
No aprobar una venta si es q no hay existencias.

Para automatizar su control de ventas desean ir descontando los productos a medida


q realizan una venta.
Desean saber la cuenta total de compra de un cliente (utilizando vistas,
procedimientos de almacenado, cursores)

Page: 3

Tabla de Contenidos
Detalle del Modelo ......................................................................................................................... 2
Modelo de dominio ................................................................................................................... 2
Cliente ...................................................................................................................................... 2
Color ........................................................................................................................................ 4
Embalaje .................................................................................................................................. 5
Factura...................................................................................................................................... 6
Funcionario .............................................................................................................................. 7
Persona ..................................................................................................................................... 9
Produccion ............................................................................................................................. 11
Producto ................................................................................................................................. 13
Promotor ................................................................................................................................ 16
Sabor ...................................................................................................................................... 17
Tamano .................................................................................................................................. 18
TipoFuncionario ..................................................................................................................... 19
TipoProducto.......................................................................................................................... 20
Venta ...................................................................................................................................... 21
Objetos del dominio ............................................................................................................. 24

Page: 4

Documentacin del Modelo


Detalle del Modelo
Este 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 dominio
Tipo:
Estado:
Paquete:
Detalle:
GUID:

Paquete
Proposed. Versin . Fase 1.0.
Model
Creado el 02/07/2012. ltima modificacin el 02/07/2012
{D2A30D6A-9CC8-4147-9D2F-A85799F16ECD}

Modelo de dominio - (diagrama Lgico )


Creado por:
Administrador el 02/07/2012
ltima modificacin:
02/07/2012
Versin:
1.0. Bloquedo: Falso
GUID:
{4C41ACC5-7511-4527-8AD1-56303711A687}

Imagen: 1

Cliente
Tipo:
Estado:

Clase
Propuesto. Versin 1.0. Fase 1.0.

Page: 5

Paquete:
Detalle:
GUID:

Modelo de dominio
Palabras claves:
Creado el 02/07/2012. ltima modificacin el 02/07/2012.
{81E739E6-17A1-49d6-BFF9-2BFD874EA386}

Propiedades Personalizadas
isActive = Falso

Valores Etiquetados
owner = dbo.

Conecciones
Conector
Asociacin (idCliente =
idCliente)
Origen -> Destino

Origen
Public
FK__Venta__idCliente
__37A5467C
Venta

Asociacin (idPersona = Public


idPersona)
FK__Cliente__idPerso_
Origen -> Destino
_20C1E124
Cliente

Atributos
Atributo
idCliente int
Public

Notas

Destino
Public
PK__Cliente__885457
EE1ED998B2
Cliente

Notas

Public
PK__Persona__A47881
411B0907CE
Persona

Restricciones y etiquetas
Predeterminado:
[property =
AutoNum=1;StartNum=1;Increment
=1; ]

column

idPersona int
Public

column

Predeterminado:

Page: 6

Atributo

Notas

Restricciones y etiquetas
Predeterminado:

ObservacionCliente
varchar
Public

column

Operaciones
Metodo
Notas
PK__Cliente__885457EE
1ED998B2()
Public
FK__Cliente__idPerso__
20C1E124()
Public

Parmetros
int [in] idCliente

int [in] idPersona

Color
Tipo:
Estado:
Paquete:
Detalle:
GUID:

Clase
Propuesto. Versin 1.0. Fase 1.0.
Modelo de dominio
Palabras claves:
Creado el 02/07/2012. ltima modificacin el 02/07/2012.
{5D7E569A-BB7E-4767-8AD4-3791EE6A05DE}

Propiedades Personalizadas
isActive = Falso

Valores Etiquetados
owner = dbo.

Conecciones
Conector
Asociacin (Color =
idColor)
Origen -> Destino

Atributos
Atributo

Origen
Public
FK__Producto__Color_
_164452B1
Producto

Notas

Destino
Notas
Public
PK__Color__504A3B8
807020F21
Color

Restricciones y etiquetas

Page: 7

Atributo

Notas

Restricciones y etiquetas

idColor int
Public

Predeterminado:
[property =
AutoNum=1;StartNum=1;Increment
=1; ]

column

nombreColor varchar
Public

Predeterminado:

column

Operaciones
Metodo
Notas
PK__Color__504A3B880
7020F21()
Public

Parmetros
int [in] idColor

Embalaje
Tipo:
Estado:
Paquete:
Detalle:
GUID:

Clase
Propuesto. Versin 1.0. Fase 1.0.
Modelo de dominio
Palabras claves:
Creado el 02/07/2012. ltima modificacin el 02/07/2012.
{BB52F70D-9BB1-4227-A065-CAD4CB82CA19}

Propiedades Personalizadas
isActive = Falso

Valores Etiquetados
owner = dbo.

Conecciones
Conector
Asociacin (Embalaje =
idEmbalaje)
Origen -> Destino

Origen
Public
FK__Producto__Embal
a__15502E78
Producto

Destino
Public
PK__Embalaje__2071
D65403317E3D
Embalaje

Notas

Page: 8

Atributos
Atributo

Notas

idEmbalaje int
Public

Restricciones y etiquetas
Predeterminado:
[property =
AutoNum=1;StartNum=1;Increment
=1; ]

column

nombreEmbalaje varchar
Public

Predeterminado:

column

Operaciones
Metodo
Notas
PK__Embalaje__2071D6
5403317E3D()
Public

Parmetros
int [in] idEmbalaje

Factura
Tipo:
Estado:
Paquete:
Detalle:
GUID:

Clase
Propuesto. Versin 1.0. Fase 1.0.
Modelo de dominio
Palabras claves:
Creado el 02/07/2012. ltima modificacin el 02/07/2012.
{FDB99691-B2BA-448b-8975-A1E053E5CF55}

Propiedades Personalizadas
isActive = Falso

Valores Etiquetados
owner = dbo.

Conecciones
Conector
Origen
Destino
Notas
Asociacin (idFactura = Public
Public
idFactura)
FK__Venta__idFactura PK__Factura__3CD568

Page: 9

Conector
Origen -> Destino

Atributos
Atributo

Origen
__3A81B327
Venta

Destino
7E31EC6D26
Factura

Notas

idFactura int
Public

Notas

Restricciones y etiquetas
Predeterminado:
[property =
AutoNum=1;StartNum=1;Increment
=1; ]

column

NroFactura int
Public

Predeterminado:

column

NroAutorizacion int
Public

Predeterminado:

column

fechaVencFactura date
Public

Predeterminado:

column

Operaciones
Metodo
Notas
PK__Factura__3CD5687
E31EC6D26()
Public

Funcionario
Tipo:
Estado:
Paquete:

Clase
Propuesto. Versin 1.0. Fase 1.0.
Modelo de dominio
Palabras claves:

Parmetros
int [in] idFactura

Page: 10

Detalle:
GUID:

Creado el 02/07/2012. ltima modificacin el 02/07/2012.


{174EE7E4-8108-4727-84FC-181E03A71298}

Propiedades Personalizadas
isActive = Falso

Valores Etiquetados
owner = dbo.

Conecciones
Conector
Asociacin
(idFuncionario =
idFuncionario)
Origen -> Destino

Origen
Public
FK__Produccio__idFun
__403A8C7D
Produccion

Destino
Notas
Public
PK__Funciona__B0A1
22952C3393D0
Funcionario

Public
FK__Funcionar__idTip
__2F10007B
Funcionario

Public
PK__TipoFunc__65659
B96286302EC
TipoFuncionario

Asociacin (idPersona = Public


idPersona)
FK__Funcionar__idPer
Origen -> Destino
__2E1BDC42
Funcionario

Public
PK__Persona__A47881
411B0907CE
Persona

Asociacin
(idTipoFuncionario =
idTipoFuncionario)
Origen -> Destino

Atributos
Atributo
idFuncionario int
Public

Notas

Restricciones y etiquetas
Predeterminado:
[property =
AutoNum=1;StartNum=1;Increment
=1; ]

column

idPersona int
Public

column

Predeterminado:

Page: 11

Atributo

Notas

Restricciones y etiquetas

idTipoFuncionario int
Public

Predeterminado:

column

Operaciones
Metodo
Notas
PK__Funciona__B0A122
952C3393D0()
Public
FK__Funcionar__idPer_
_2E1BDC42()
Public
FK__Funcionar__idTip_
_2F10007B()
Public

Parmetros
int [in] idFuncionario

int [in] idPersona

int [in] idTipoFuncionario

Persona
Tipo:
Estado:
Paquete:
Detalle:
GUID:

Clase
Propuesto. Versin 1.0. Fase 1.0.
Modelo de dominio
Palabras claves:
Creado el 02/07/2012. ltima modificacin el 02/07/2012.
{2326F210-FEDA-4fe4-9D8B-138F8FEC67E3}

Propiedades Personalizadas
isActive = Falso

Valores Etiquetados
owner = dbo.

Conecciones
Conector
Asociacin (idPersona =
idPersona)
Origen -> Destino

Origen
Public
FK__Promotor__idPers
__25869641
Promotor

Destino
Notas
Public
PK__Persona__A47881
411B0907CE
Persona

Asociacin (idPersona = Public


Public
idPersona)
FK__Funcionar__idPer PK__Persona__A47881

Page: 12

Conector
Origen -> Destino

Origen
__2E1BDC42
Funcionario

Asociacin (idPersona = Public


idPersona)
FK__Cliente__idPerso_
Origen -> Destino
_20C1E124
Cliente

Atributos
Atributo
idPersona int
Public

Notas

Destino
411B0907CE
Persona

Notas

Public
PK__Persona__A47881
411B0907CE
Persona

Restricciones y etiquetas
Predeterminado:
[property =
AutoNum=1;StartNum=1;Increment
=1; ]

column

Nombre varchar
Public

Predeterminado:

column

apPaterno varchar
Public

Predeterminado:

column

apMaterno varchar
Public

Predeterminado:

column

Telefono int
Public

column

Predeterminado:

Page: 13

Atributo

Notas

Direccion varchar
Public

Restricciones y etiquetas
Predeterminado:

column

Email varchar
Public

Predeterminado:

column

CI int
Public

Predeterminado:

column

Operaciones
Metodo
Notas
PK__Persona__A4788141
1B0907CE()
Public

Produccion
Tipo:
Estado:
Paquete:
Detalle:
GUID:

Clase
Propuesto. Versin 1.0. Fase 1.0.
Modelo de dominio
Palabras claves:
Creado el 02/07/2012. ltima modificacin el 02/07/2012.
{E2ABA18E-A443-41f7-AB3F-F63635A21E5F}

Propiedades Personalizadas
isActive = Falso

Valores Etiquetados
owner = dbo.

Parmetros
int [in] idPersona

Page: 14

Conecciones
Conector
Asociacin (idProducto
= idProducto)
Origen -> Destino

Asociacin
(idFuncionario =
idFuncionario)
Origen -> Destino

Atributos
Atributo
idProduccion int
Public

Origen
Public
FK__Produccio__idPro
__3F466844
Produccion

Destino
Notas
Public
PK__Producto__07F4A
1321273C1CD
Producto

Public
FK__Produccio__idFun
__403A8C7D
Produccion

Public
PK__Funciona__B0A1
22952C3393D0
Funcionario

Notas

Restricciones y etiquetas
Predeterminado:
[property =
AutoNum=1;StartNum=1;Increment
=1; ]

column

fechaProduccion date
Public

Predeterminado:

column

fechaVencimiento date
Public

Predeterminado:

column

cantidad int
Public

column

Predeterminado:

Page: 15

Atributo

Notas

idProducto int
Public

Restricciones y etiquetas
Predeterminado:

column

idFuncionario int
Public

Predeterminado:

column

Operaciones
Metodo
Notas
PK__Producci__CB8825
D83D5E1FD2()
Public
FK__Produccio__idFun_
_403A8C7D()
Public
FK__Produccio__idPro_
_3F466844()
Public

Producto
Tipo:
Estado:
Paquete:
Detalle:
GUID:

Clase
Propuesto. Versin 1.0. Fase 1.0.
Modelo de dominio
Palabras claves:
Creado el 02/07/2012. ltima modificacin el 02/07/2012.
{1C793FBB-92B9-42d2-BC0F-DFFC015BAE5E}

Propiedades Personalizadas
isActive = Falso

Valores Etiquetados
owner = dbo.

Conecciones

Parmetros
int [in] idProduccion

int [in] idFuncionario

int [in] idProducto

Page: 16

Conector
Asociacin (idProducto
= idProducto)
Origen -> Destino

Origen
Public
FK__Venta__idProduct
__38996AB5
Venta

Destino
Notas
Public
PK__Producto__07F4A
1321273C1CD
Producto

Asociacin
(TipoProducto =
idTipoProducto)
Origen -> Destino

Public
FK__Producto__TipoPr
__182C9B23
Producto

Public
PK__TipoProd__2552C
5A50EA330E9
TipoProducto

Asociacin (Tamano =
idTamano)
Origen -> Destino

Public
FK__Producto__Taman
o__145C0A3F
Producto

Public
PK__Tamano__8284F1
DB7F60ED59
Tamano

Asociacin (Sabor =
idSabor)
Origen -> Destino

Public
FK__Producto__Sabor_
_173876EA
Producto

Public
PK__Sabor__B088378
B0AD2A005
Sabor

Asociacin (Embalaje = Public


idEmbalaje)
FK__Producto__Embal
Origen -> Destino
a__15502E78
Producto

Public
PK__Embalaje__2071
D65403317E3D
Embalaje

Asociacin (Color =
idColor)
Origen -> Destino

Public
FK__Producto__Color_
_164452B1
Producto

Public
PK__Color__504A3B8
807020F21
Color

Asociacin (idProducto
= idProducto)
Origen -> Destino

Public
FK__Produccio__idPro
__3F466844
Produccion

Public
PK__Producto__07F4A
1321273C1CD
Producto

Atributos
Atributo
idProducto int
Public

Notas

Restricciones y etiquetas
Predeterminado:
[property =
AutoNum=1;StartNum=1;Increment
=1; ]

column

Page: 17

Atributo

Notas

nombreProducto varchar
Public

Restricciones y etiquetas
Predeterminado:

column

Tamano int
Public

Predeterminado:

column

Embalaje int
Public

Predeterminado:

column

Color int
Public

Predeterminado:

column

Sabor int
Public

Predeterminado:

column

TipoProducto int
Public

Predeterminado:

column

Operaciones
Metodo
PK__Producto__07F4A1

Notas

Parmetros
int [in] idProducto

Page: 18

Metodo
Notas
321273C1CD()
Public
FK__Producto__Color__
164452B1()
Public
FK__Producto__Embala
__15502E78()
Public
FK__Producto__Sabor__
173876EA()
Public
FK__Producto__Tamano
__145C0A3F()
Public
FK__Producto__TipoPr_
_182C9B23()
Public

Parmetros

int [in] Color

int [in] Embalaje

int [in] Sabor

int [in] Tamano

int [in] TipoProducto

Promotor
Tipo:
Estado:
Paquete:
Detalle:
GUID:

Clase
Propuesto. Versin 1.0. Fase 1.0.
Modelo de dominio
Palabras claves:
Creado el 02/07/2012. ltima modificacin el 02/07/2012.
{68120C0F-9441-407f-B998-2B302C8648F9}

Propiedades Personalizadas
isActive = Falso

Valores Etiquetados
owner = dbo.

Conecciones
Conector
Asociacin (idPromotor
= idPromotor)
Origen -> Destino

Origen
Public
FK__Venta__idPromot
o__398D8EEE
Venta

Asociacin (idPersona = Public


idPersona)
FK__Promotor__idPers
Origen -> Destino
__25869641
Promotor

Destino
Notas
Public
PK__Promotor__719B7
F88239E4DCF
Promotor
Public
PK__Persona__A47881
411B0907CE
Persona

Page: 19

Atributos
Atributo

Notas

idPromotor int
Public

Restricciones y etiquetas
Predeterminado:
[property =
AutoNum=1;StartNum=1;Increment
=1; ]

column

idPersona int
Public

Predeterminado:

column

ObservacionPromotor
varchar
Public

Predeterminado:

column

Operaciones
Metodo
Notas
PK__Promotor__719B7F
88239E4DCF()
Public
FK__Promotor__idPers_
_25869641()
Public

Sabor
Tipo:
Estado:
Paquete:
Detalle:
GUID:

Clase
Propuesto. Versin 1.0. Fase 1.0.
Modelo de dominio
Palabras claves:
Creado el 02/07/2012. ltima modificacin el 02/07/2012.
{BCC308EB-5655-486a-BC18-73238A19679A}

Propiedades Personalizadas
isActive = Falso

Parmetros
int [in] idPromotor

int [in] idPersona

Page: 20

Valores Etiquetados
owner = dbo.

Conecciones
Conector
Asociacin (Sabor =
idSabor)
Origen -> Destino

Origen
Public
FK__Producto__Sabor_
_173876EA
Producto

Atributos
Atributo

Destino
Public
PK__Sabor__B088378
B0AD2A005
Sabor

Notas

idSabor int
Public

Notas

Restricciones y etiquetas
Predeterminado:
[property =
AutoNum=1;StartNum=1;Increment
=1; ]

column

nombreSabor varchar
Public

Predeterminado:

column

Operaciones
Metodo
Notas
PK__Sabor__B088378B0
AD2A005()
Public

Tamano
Tipo:
Estado:
Paquete:
Detalle:
GUID:

Clase
Propuesto. Versin 1.0. Fase 1.0.
Modelo de dominio
Palabras claves:
Creado el 02/07/2012. ltima modificacin el 02/07/2012.
{4D86E89C-D502-4356-8DA2-A576F6C3DB9A}

Propiedades Personalizadas

Parmetros
int [in] idSabor

Page: 21

Propiedades Personalizadas
isActive = Falso

Valores Etiquetados
owner = dbo.

Conecciones
Conector
Asociacin (Tamano =
idTamano)
Origen -> Destino

Atributos
Atributo

Origen
Public
FK__Producto__Taman
o__145C0A3F
Producto

Destino
Notas
Public
PK__Tamano__8284F1
DB7F60ED59
Tamano

Notas

idTamano int
Public

Restricciones y etiquetas
Predeterminado:
[property =
AutoNum=1;StartNum=1;Increment
=1; ]

column

nombreTamano varchar
Public

Predeterminado:

column

Operaciones
Metodo
Notas
PK__Tamano__8284F1D
B7F60ED59()
Public

TipoFuncionario
Tipo:
Estado:
Paquete:
Detalle:
GUID:

Clase
Propuesto. Versin 1.0. Fase 1.0.
Modelo de dominio
Palabras claves:
Creado el 02/07/2012. ltima modificacin el 02/07/2012.
{9A16F1E1-E3CF-436a-9F80-99999A3E5943}

Parmetros
int [in] idTamano

Page: 22

Propiedades Personalizadas
isActive = Falso

Valores Etiquetados
owner = dbo.

Conecciones
Conector
Asociacin
(idTipoFuncionario =
idTipoFuncionario)
Origen -> Destino

Atributos
Atributo

Origen
Public
FK__Funcionar__idTip
__2F10007B
Funcionario

Notas

idTipoFuncionario int
Public

Destino
Notas
Public
PK__TipoFunc__65659
B96286302EC
TipoFuncionario

Restricciones y etiquetas
Predeterminado:
[property =
AutoNum=1;StartNum=1;Increment
=1; ]

column

Nombre varchar
Public

Predeterminado:

column

Cargo varchar
Public

Predeterminado:

column

Operaciones
Metodo
Notas
PK__TipoFunc__65659B
96286302EC()

Parmetros
int [in] idTipoFuncionario

Page: 23

Metodo
Public

Notas

Parmetros

TipoProducto
Tipo:
Estado:
Paquete:
Detalle:
GUID:

Clase
Propuesto. Versin 1.0. Fase 1.0.
Modelo de dominio
Palabras claves:
Creado el 02/07/2012. ltima modificacin el 02/07/2012.
{E5F33531-B5E5-451b-A37C-7B10AD7FC93E}

Propiedades Personalizadas
isActive = Falso

Valores Etiquetados
owner = dbo.

Conecciones
Conector
Asociacin
(TipoProducto =
idTipoProducto)
Origen -> Destino

Atributos
Atributo
idTipoProducto int
Public

Origen
Public
FK__Producto__TipoPr
__182C9B23
Producto

Notas

Destino
Notas
Public
PK__TipoProd__2552C
5A50EA330E9
TipoProducto

Restricciones y etiquetas
Predeterminado:
[property =
AutoNum=1;StartNum=1;Increment
=1; ]

column

nombreTipoProducto
varchar
Public

column

Predeterminado:

Page: 24

Operaciones
Metodo
Notas
PK__TipoProd__2552C5
A50EA330E9()
Public

Parmetros
int [in] idTipoProducto

Venta
Tipo:
Estado:
Paquete:
Detalle:
GUID:

Clase
Propuesto. Versin 1.0. Fase 1.0.
Modelo de dominio
Palabras claves:
Creado el 02/07/2012. ltima modificacin el 02/07/2012.
{225480D1-5120-4689-8CCF-0377F1A80551}

Propiedades Personalizadas
isActive = Falso

Valores Etiquetados
owner = dbo.

Conecciones
Conector
Asociacin (idPromotor
= idPromotor)
Origen -> Destino

Origen
Public
FK__Venta__idPromot
o__398D8EEE
Venta

Destino
Notas
Public
PK__Promotor__719B7
F88239E4DCF
Promotor

Public
FK__Venta__idProduct
__38996AB5
Venta

Public
PK__Producto__07F4A
1321273C1CD
Producto

Asociacin (idFactura = Public


idFactura)
FK__Venta__idFactura
Origen -> Destino
__3A81B327
Venta

Public
PK__Factura__3CD568
7E31EC6D26
Factura

Asociacin (idCliente =
idCliente)
Origen -> Destino

Public
PK__Cliente__885457
EE1ED998B2
Cliente

Asociacin (idProducto
= idProducto)
Origen -> Destino

Atributos
Atributo

Public
FK__Venta__idCliente
__37A5467C
Venta

Notas

Restricciones y etiquetas

Page: 25

Atributo
idVenta int
Public

Notas

Restricciones y etiquetas
Predeterminado:
[property =
AutoNum=1;StartNum=1;Increment
=1; ]

column

Fecha date
Public

Predeterminado:

column

Cantidad int
Public

Predeterminado:

column

Precio decimal
Public

Predeterminado:

column

NIT int
Public

Predeterminado:

column

idCliente int
Public

column

Predeterminado:

Page: 26

Atributo

Notas

idProducto int
Public

Restricciones y etiquetas
Predeterminado:

column

idPromotor int
Public

Predeterminado:

column

idFactura int
Public

Predeterminado:

column

Operaciones
Metodo
Notas
PK__Venta__077D56143
5BCFE0A()
Public
FK__Venta__idCliente__
37A5467C()
Public
FK__Venta__idFactura_
_3A81B327()
Public
FK__Venta__idProduct_
_38996AB5()
Public
FK__Venta__idPromoto_
_398D8EEE()
Public

Parmetros
int [in] idVenta

int [in] idCliente

int [in] idFactura

int [in] idProducto

int [in] idPromotor

Page: 27
MAPEO
TAMAO(idTamao(PK), nombreTamao)
EMBALAJE(idEmbalaje(PK), nombreEmbalaje)
COLOR(idColor(PK), nombreColor)
SABOR(idSabor(PK), nombreSabor)
TIPOPRODUCTO(idTipoProducto(PK), nombreTipoProducto)
PRODUCTO(idProducto(PK), nombreProducto, saldoProducto, idTamao(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_CHITY
use BOMBONES_CHITY
go
create table Tamano(
idTamano int not null identity,
nombreTamano varchar(20) not null,
primary key(idTamano)
)
go
create table Embalaje
(
idEmbalaje int not null identity,
nombreEmbalaje varchar(20) not null,
primary key(idEmbalaje)
)
go
create table Color
(
idColor int not null identity,
nombreColor varchar(20) not null,
primary key(idColor)
)
go
create table Sabor
(
idSabor int not null identity,
nombreSabor varchar(20) not null,
primary key(idSabor)
)
go
create table TipoProducto

Page: 28

(
idTipoProducto int not null identity,
nombreTipoProducto varchar(20) not null,
primary key(idTipoProducto)
)
go
create 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)
)
go
create 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)
)
go
create 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)
)
go
create 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)
)
go
create table TipoFuncionario
(
idTipoFuncionario int not null identity,

Page: 29

Nombre varchar(20) not null,


Cargo varchar(30) not null,
primary key(idTipoFuncionario)
)
go
create 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)
)
go
create table Factura
(
idFactura int not null identity,
NroFactura int not null,
NroAutorizacion int not null,
fechaVencFactura date not null,
primary key(idFactura)
)
go
create 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)
)
go
create 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)
)

Page: 30
SCRIP INSERT Y SELECT
--insert tamano
insert into Tamano values('Grande')
insert into Tamano values('Mediano')
insert into Tamano values('Pequeo')
select * from Tamano
--insert embalaje
insert
insert
insert
insert

into
into
into
into

Embalaje
Embalaje
Embalaje
Embalaje

values('Caja de Carton')
values('Caja de Madera')
values('Emboltura Plastica')
values('Emboltura Aluminio')

select * from Embalaje


--insert Color
insert
insert
insert
insert
insert

into
into
into
into
into

Color
Color
Color
Color
Color

values('Blanco')
values('Cafe')
values('Roja')
values('Verde')
values('Negro')

select * from Color


--insert Sabor
insert
insert
insert
insert
insert

into
into
into
into
into

Sabor
Sabor
Sabor
Sabor
Sabor

values('Amarula')
values('Almendra')
values('Coco')
values('Menta')
values('Toffee')

select * from sabor


--insert Tipo Producto
insert into TipoProducto
insert into TipoProducto
insert into TipoProducto
insert into TipoProducto

values('Bombon')
values('Paleta')
values('Trufa')
values('Barra Energetica')

select * from TipoProducto


--insert Producto
insert
insert
insert
insert
insert

into
into
into
into
into

Producto
Producto
Producto
Producto
Producto

values
values
values
values
values

select * from Producto

('Bombon
('Bombon
('Bombon
('Bombon
('Bombon

Blanco De Amarrula',2,4,1,1,1)
Negro De Almendra',2,4,5,2,1)
Cafe De Toffee',1,4,2,5,1)
Blanco De Coco',1,4,1,3,1)
Blanco De Toffee',2,4,1,5,1)

Page: 31

-- Insert Factura
insert
insert
insert
insert
insert

into
into
into
into
into

Factura
Factura
Factura
Factura
Factura

values
values
values
values
values

(123456,2345,'23/02/2013')
(123457,3456,'23/02/2013')
(123458,4567,'23/02/2013')
(123459,5678,'23/02/2013')
(123460,6789,'23/02/2013')

select * from Factura


-- Insert Persona
insert into Persona values('Marta','Barrios','Arguedas',3274365,'C/las macetas
# 24','mart.barg@hotmail.com',234521)
insert into Persona values('Pablo','Loza','Carrasco',3523478,'C/las pias #
23','pabloza@hotmail.com',4534242)
insert into Persona values('Jose','Ramos','Cuellar',3534231,'B/Guaracachi #
75','pepipto@hotmail.com',2341243)
insert into Persona values('Luis','Zambrana','Romero',3523462,'C/Claveles #
35','lucho@hotmail.com',2412351)
insert into Persona values('Pedro','Garcia','Garvizu',3624524,'B/Callao #
64','pedro_sos@hotmail.com',7778456)
insert into Persona values('Laura','Mercado','Roma',3645672,'C/Begonias #
45','laulau@hotmail.com',8567843)
insert into Persona values('Susana','Cardenas','Arnes',3958674,'C/Guapay #
87','susi@hotmail.com',7467456)
insert into Persona values('Romane','Cabrera','Parada',3567123,'Av Paragua #
56','romanecab@hotmail.com',6987066)
insert into Persona values('Jorge','Romera','Arauz',3998706,'Av. Brasil #
644','george@hotmail.com',7345634)
insert into Persona values('Shauna','Barba','Aniston',3534693,'C/sauna #
65','shaunita@hotmail.com',9998665)
insert into Persona values('Bruno','Fernandez','Coronado',3235356,'C/ barbarosa
# 87','fernandez@hotmail.com',9214253)
insert into Persona values('Andres','Prada','Zegarra',3965872,'Av. Paragua #
31','andrew@hotmail.com',67745392)
insert into Persona values('Carmen','Roca','Vargas',3645997,'La Ramada #
23','carmina@hotmail.com',6345212)
insert into Persona values('Lucia','Franco','Saucedo',3523452,'Los Pozos #
534','lulufra@hotmail.com',7764532)
insert into Persona values('Laura','Bozo','Rodriguez',3654412,'B/ Las palmeras
# 667','bozolau@hotmail.com',5656372)
select * from Persona
-- insert Cliente
insert
insert
insert
insert
insert

into
into
into
into
into

Cliente
Cliente
Cliente
Cliente
Cliente

values(1,'Mayorista')
values(2,'Mayorista')
values(3,'Minorista')
values(4,'Mayorista')
values(5,'Minorista')

select * from Cliente


-- insert TipoFuncionario

Page: 32

insert
insert
insert
insert
insert

into
into
into
into
into

TipoFuncionario
TipoFuncionario
TipoFuncionario
TipoFuncionario
TipoFuncionario

values
values
values
values
values

('ventas','gerente')
('ventas','cajero')
('produccion','encargado')
('contabilidad','encargado')
('limpieza','encargado')

select * from TipoFuncionario


-- insert Funcionario
insert
insert
insert
insert
insert

into
into
into
into
into

Funcionario
Funcionario
Funcionario
Funcionario
Funcionario

values
values
values
values
values

(1,1)
(2,2)
(3,3)
(4,4)
(5,5)

select * from Funcionario


-- insert Promotores
insert
insert
insert
insert
insert

into
into
into
into
into

Promotor
Promotor
Promotor
Promotor
Promotor

values
values
values
values
values

(11,'cumple meta')
(12,'no cumple meta')
(13,'cumple meta')
(14,'cumple meta')
(15,'no cumple meta')

select * from Promotor


-- insert Venta
insert
insert
insert
insert
insert

into
into
into
into
into

Venta
Venta
Venta
Venta
Venta

values
values
values
values
values

('03/06/2012',4,10.00,87954683,1,1,1,1)
('30/06/2012',5,23.40,9865598,2,2,2,2)
('20/06/2012',6,2.50,8985529,3,3,3,3)
('24/06/2012',2,5.20,9986429,3,4,3,4)
('30/06/2012',4,26.50,1153246,4,5,4,5)

select * from Venta


-- insert Produccion
insert
insert
insert
insert
insert

into
into
into
into
into

Produccion
Produccion
Produccion
Produccion
Produccion

values
values
values
values
values

('05/06/2012','05/09/2012',30,1,3)
('06/06/2012','06/09/2012',20,2,3)
('07/06/2012','07/09/2012',30,3,3)
('08/06/2012','08/09/2012',40,4,3)
('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
f.idPersona = p.idPersona
and f.idTipoFuncionario=t.idTipoFuncionario
select * from Venta

where

Page: 33

-----------------------------------------------------------mostrar las listas de clientes que han realizados compras


---------------------------------------------------------select p.nombre, p.apPaterno, p.apMaterno,p.Telefono,p.Direccion, v.Cantidad
from Persona p inner join Cliente c on p.idPersona = c.idPersona inner join Venta
v on c.idCliente=v.idCliente
where v.idCliente = c.idCliente
-----------------------------------------------------------mostrar promotores por mayor venta
---------------------------------------------------------select * from venta
select * from promotor
select * from persona
select p.Nombre, p.apPaterno, p.apMaterno, COUNT (v.idPromotor)as NumeroVentas
from 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.apMaterno
order 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.idFactura
where f.idFactura = v.idFactura
select * from Producto
-----------------------------------------------------------mostrar los productos de un color de chocolate espesifico
---------------------------------------------------------select tp.nombreTipoProducto, c.nombreColor, s.nombreSabor
from 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.TipoProducto
where c.nombreColor ='blanco'

SCRIP TRIGGERS
---------------------------------------------Trigger para fecha de vencimiento
-------------------------------------------create trigger tq_validarvencimiento6 on produccion for insert
as
declare @fecha datetime, @fecha_vencimiento date
select @fecha= getdate()
select @fecha_vencimiento = i.fechavencimiento from Inserted i
if (@fecha>@fecha_vencimiento)
commit tran
else
RAISERROR ('El producto ya caduco.....!' , 16, 1)
rollback tran

Page: 34

---------------------------------------------Trigger para numero telefonico empieze en 3


-------------------------------------------create trigger validacion_telefono3 on Persona for insert
as
declare @telefono integer
select @telefono= left(i.telefono,1) from inserted i
if (@telefono=3)
commit tran
else
RAISERROR ('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 insert
as
declare @idproducto int, @cantidad int
select @idproducto=i.idproducto from inserted i
select @cantidad = i.cantidad from inserted i
update produccion set cantidad=cantidad-@cantidad where
idproducto=@idproducto
--------------------------------------------No se puede vender si no tiene inventario
------------------------------------------create trigger validar_inventario on Venta for insert
as
declare @idproducto int, @cantidad int
select @idproducto=i.idproducto from inserted i
select @cantidad = p.cantidad from produccion p where
p.idproducto=@idproducto
if (@cantidad>0)
commit tran
else
RAISERROR ('No tiene producto en stock!' , 16, 1)
rollback tran
SCRIP PROCEDIMIENTO DE ALMACENADO
Create view vis_Venta
as
select venta.*from
venta inner join Cliente on venta.idCliente=Cliente.idCliente
go
create procedure sp_preciosSumaClientes
@fechaVenta date
as
declare @idventa int
declare @precio decimal(8,2)
declare cur_totalxCliente cursor for
select vis_Venta.idVenta,SUM(Venta.Cantidad*Venta.Precio)as total
from vis_Venta inner join Venta
on vis_Venta.idVenta=Venta.idVenta

Page: 35

where vis_Venta.fecha=@fechaVenta
group by vis_Venta.idVenta
open cur_totalxCliente
fetch next from cur_totalxCliente
into @idventa,@precio
while @@FETCH_STATUS=0
begin
if exists(select * from Venta where idVenta=@idventa)
begin
update Venta
set Precio=Precio + @precio
where idVenta =@idventa
end
else
begin insert into Venta values(@idventa,@precio)
end
fetch next from cur_totalxCliente into @idventa,@precio
end

Anda mungkin juga menyukai