Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Objetivos
Generales
Queelestudianteanalice,resuelvaproblemasypropongasolucionespormediode
programacin.
Queelestudianterealiceunaaplicacindesoftwareutilizandobasesdedatosy
programacin.
PonerenprcticalosconocimientosadquiridosenelcursodeProgramacinde
Computadoras2.
Especficos
Utilizarunabasededatosparaguardaryconsultarinformacin.
UtilizarellenguajedeprogramacinVisualBasicparacrearunaaplicacinde
software.
CrearsentenciasbsicasenlenguajeSQLparaagregar,modificaryconsultar
informacinenlabasededatos.
AprendercomandosdeSQLServercomoselect,insert,update,groupby,orderbyy
funcionescomosum(),count(),getdate().
Crearreportesquemuestreninformacinimportanteparatomadedecisiones.
Descripcindelproblema:
La juguetera Toys Town (TT) solicita una aplicacin de escritorio, con interfaz grfica con
base a formularios, para ser asaplicadaenlosdistintospuntosdepagaque seencuentran
dentro de las diferentes sucursales de la empresa, la informacin respecto a los juguetes
ser almacenado en una base de datos en SQL Server, que tendr el nombre de
juguetera. El desarrollo de la aplicacin se dividir en dos fases, cada una con su
respectivafechadeentrega,vaseltimapginadeldocumento.
Lastablastienenlasiguienteestructura:
marca: En esta tabla se guardar simplemente el nombre de las marcas de juguete que
comerciaTT,lasmarcasseagregarndirectamentedesdeSQLManagement.
Nombredel
Campo
Tipo
Default
id_marca
int
identity(1,1)
nombre_marca
varchar(100)
Ninguno
PK
UK FK
PK=PrimaryKey,UK=UniqueKey,FK=ForeignKey
Ejemplo:
id_marca
nombre_marca
Hasbro
Lego
PlaySkool
juguete: Esta tabla tendr registrado a todos los juguetes que manejar la sucursal, el
campoid_marcahacereferenciaalcampoqueesllaveprimariaenlatablamarca.
Nombredel
Campo
Tipo
Default
id_juguete
int
identity(1,1)
no_serie
varchar(15)
nombre_juguete
PK
UK
FK
Ninguno
varchar(100)
Ninguno
id_marca
int
Ninguno
Referenciaatablamarca,sullave
primariaid_marca
precio
decimal(10,2
)
descuento
decimal(10,2
)
no_existencias
int
color_principal
varchar(100)
Ninguno
Ejemplo:
id_juguete
no_serie
nombre_juguete
id_marca
precio
descuento
no_existencias
color_principal
454334534356569
FiguraAdvenger:
95.99
0.10
100
verde
HulkAdventures
2
178957415258957
Transformers
TitanOptimus
Prime
225.50
0.0
25
rojo
259637848592544
LegoStarWars:
LukeSkyWalker
Armable
380.00
0.15
negro
Tipo
Default
id_cliente
int
identity(1,1)
dpi
varchar(15)
nombres
PK
UK
FK
Ninguno
varchar(75)
Ninguno
apellidos
varchar(75)
Ninguno
telefono
varchar(12)
00000000
venta: Se registra una venta de un cliente, considere que es como la informacin bsica en una
factura y que la tabla detalle_venta (que est descrita abajo) es el listado de productos que se
registran en la factura, el campo subtotal es la suma de todos los productos vendidos que
pertenezcan almismoid_venta,tambinexistela referenciaa latablacliente(id_cliente) para saber
aquienselevendilosjuguetes.
El campo total se calcula de la sumade todoslos registros endetalle_venta quetenganelmismo
valorendetalle_ventacomollavefornea.
Nombredel
Campo
Tipo
Default
id_venta
int
identity(1,1)
id_cliente
int
total
fecha
PK
UK
FK
Ninguno
Referenciaatablacliente,su
llaveprimariaid_cliente
decimal(10,2
)
datetime
getdate(),
ponela
fechadeldia
pordefecto
id_venta
id_cliente
subtotal
fecha(laformaenquese
muestrelafechaquedaa
discrecindelestudiante)
537.39
15/09/16
1709.67
16/09/16
Tipo
Default
id_detalle_venta
int
identity(1,1)
id_juguete
int
id_venta
PK
UK
FK
Ninguno
Referenciaatablajuguete,su
llaveprimariaid_juguete
int
Ninguno
Referenciaatablaventa,sullave
primariaid_venta
unidades
int
precio_venta
decimal(10,2
)
descuento_venta
decimal(10,2
)
id_detalle_venta
id_juguete
id_venta
unidades
precio_venta
descuento_venta
95.99
0.10
225.50
0.0
225.50
0.0
380.00
0.15
95.99
0.10
Porejemplo,laventaconid_venta=1quedaradelasiguienteforma:
venta1=(95.99*1(95.99*1*0.1))+(225.50*2(225.50*0.0))=537.39
yparalaventa2
venta 2 = (225.50 * 5 (225.50 * 5 * 0.0)) + (380.00 * 1 (380.00 * 0.15)) + (95.99 * 3
(95.99*3*0.10))=1709.67
ModeloEntidadRelacin:
Las relaciones son las flechas con punta de llave y el otro lado un signo de infinito, una
relacin representa una llave fornea, el signo de infinito es donde est la tabla con el
campo con la llave fornea/extranjera y el lado de la llave es donde estlallaveprimariaa
laquesereferencia.
Funcionalidadesdelaaplicacin:
Fase1:
SetendrnqueobtenerlassiguientesconsultasdesdeSQLManagement:
Mostrar las marcas que existen en la base de datos y el nmero respectivo
dejuguetesconesamarca(usodeconsultagroupby).
Mostrar los colores que existen en la base de datos y el nmero respectivo
de juguetes con esa marca (uso de consulta group by), ordenado por el que
tienemayornmero
Incorrecto
id_juguete
no_serie
nombre_juguete
id_marca
precio
descuento
no_existencias
color_principal
4543345343
56569
FiguraAdvenger:
HulkAdventures
95.99
0.10
100
verde
1789574152
58957
TransformersTitan
OptimusPrime
225.50
0.0
25
rojo
2596378485
92544
LegoStarWars:Luke
SkyWalkerArmable
380.00
0.15
negro
Correcto
id_juguete
no_serie
nombre_jugu
ete
nombre_marca
precio
descuento
no_existencias
color_principal
454334534
356569
Figura
Advenger:
Hulk
Adventures
PlaySkool
95.99
0.10
100
verde
178957415
258957
Transformers
Titan
Optimus
Prime
Hasbro
225.50
0.0
25
rojo
259637848
592544
LegoStar
Wars:Luke
SkyWalker
Armable
Lego
380.00
0.15
negro
Seaplicaelusodelcomandojoin.
Consideracionesrespectoalabasededatosylaaplicacin:
El nmero de registros en cada tabla queda a criterio del estudiante, pero tomar en
cuenta tener los suficientes para que la aplicacin pueda ser calificada de la mejor
forma(Ejemplo:1registrodelatablaventanoespermitido).
La funcionalidades de tipo mostrar informacin puede hacerseconunobjetodevb
a libre eleccin, solo tomar en cuenta que la informacin mostrada debe de ser
legible.
Puede
usar este catalogo para
llenar su base de datos:
https://toysville.com.gt/checkout/
Entregables:
Script de la base de datos con todas sus tablas. Este debe de ir en un archivo con
extensin .sql o .pdf, tambin se debe de incluir todas las consultas SQL que
hicieronparalainsercinyconsultadedatos.
CdigoutilizadoparalaaplicacindeVisualBasic(Lacarpetadelproyecto)
Tododebedeirdentrodeunarchivo.zipo.rar
Entregar al correo de laboratorio: progra0922016@gmail.com, en caso de que el
archivo no sea aceptado por el correo, subir el archivo en un servidor aparte
(dropbox, google drive, mega) y enviar por correo el link o cambier la extensin
.zip/.rarconotro,ejemplo:.zip092(Nota:Nosiemprefuncionaelsegundomtodo)
Asunto del correo [092]ProyectoFase<No.Fase>_<carnet>, mismo nombre para el
archivo .rar o .zip. Ejemplo: Asunto [092]ProyectoFase1_201123020 y Entregable
Asunto[092]ProyectoFase1_201123020.rar
Recomendaciones:
Este es un buen sitio para estudiar SQL Basico: http://www.w3schools.com/sql/,
tomar en cuenta que la programacin implica estudio propio del estudiante, es
necesarioinvestigardetalladamente.
Concntreseenlafuncionalidaddelsistema,nohaypuntosporagregarestiloscomo
colorearlosbotones,fondos,etc.
Restricciones:
ElproyectoesINDIVIDUAL.
El lenguaje para programacin de la aplicacin de escritorio es Visual Basic, de
preferencialaversin2012o2013
El DBMS para la base de datos ser SQL Server, de preferencia la versin 2012,
tambinpuedeusarsePostgres
Si se detectan copias parciales o totales la nota ser 0 puntos y se har el debido
reportealasautoridadescorrespondientesyellosdecidirnlasancin.
Fechadeentregafase1:
Lunes 19 de octubre de 2016, segn el horario de calificacin que publicaremos
posteriormente.
Fechadeentregafase2,seinformarmsadelante.