Sie sind auf Seite 1von 5

Master Internacional en Software

Libre - Bases de Datos


PEC 3
Nombre alumno:

Fecha mxima de entrega: 28/04/2015

Presentacin y objetivos
La Prueba de Evaluacin Continuada III (PEC3) es la tercera de les cuatro PECs de las que
consta la asignatura. Dicha PEC tendr un peso del 30% de la nota final y los conceptos que se
trabajan en ella son los correspondientes a los seis primeros mdulos de la asignatura.
La PEC consta de tres preguntas, la primera sobre diseo e implementacin, la segunda sobre
manipulacin de datos (incluye consultas SQL) y la tercera sobre la instalacin del Apache y el
PHP. Para la correcta resolucin de la ltima pregunta se deber seguir y ejecutar el caso prctico
adjunto al enunciado. Algunas preguntas disponen adicionalmente de subapartados voluntarios,
para aquellos que deseen profundizar los puntos tratados.
La valoracin de cada pregunta en el global de la PEC se incluye en la cabecera de cada
ejercicio. Puesto que la asignatura no tiene examen, es necesario realizar todas las PECs para
poder superar la asignatura.

1. Diseo e implementacin (60%)


A efectos de realizar inversiones de bolsa lo ms ptimas posibles, una empresa desea realizar
un estudio de las variaciones en los precios de las acciones de la bolsa de valores durante un
periodo de tiempo para el que se posee informacin detallada. Es por ello que se desea disear
una base de datos que permita almacenar los datos segn el modelo que se describe
seguidamente.
Los clientes son personas de las que deseamos mantener sus datos habituales (gnero, ao de
nacimiento, etc), junto a su nmero de telfono que es obligatorio, puesto se puede utilizar para
realizar transacciones.
Las operaciones de compra/venta de valores se pueden realizar sobre acciones de diversos
mercados de burstiles (StockMarket) y son supervisadas siempre por un empleado (broker) de la
empresa intermediaria, ya sea realizada la orden telefnicamente o telemticamente. En caso de
que la orden se curse telefnicamente, debemos dejar constancia del nmero de telfono desde el
que se ha cursado la operacin; dicho nmero debe coincidir con el registrado del cliente. La
orden, que se realiza en una fecha y hora concreta, puede ser de compra o de venta, para un
nmero determinado de ttulos (siempre igual o superior a uno e inferior a los ofertados) a un
precio concreto en euros. No se considera la posibilidad de colocar rdenes de compra/venta 'a
ejecutar' al llegar una accin a un precio determinado u otras operaciones ms complejas.
Constar para cada mercado burstil, de forma textual, el tipo de moneda que se utiliza.
Los brokers de las empresas gestoras no tienen contrato de exclusividad, por lo que al realizar
sus intermediaciones deber quedar reflejado por cuenta de que empresa gestora estn
actuando. Los clientes realizan siempre (directamente) las transacciones con el mismo broker,
siendo estos los que realizan las operaciones a travs de una empresa u otra. Un brker tendr
siempre otro brker de referencia o sustituto, para el caso de que ste no puede atender a los
clientes.
Cada valor del mercado puede repartir dividendos de forma peridica (fichero dividends.txt), por lo
que nos interesa poder facilitar dicha informacin a los clientes. De los dividendos se desea
1

Master Internacional en Software


Libre - Bases de Datos
almacenar la fecha y el importe (euros) de las ltimas cantidades repartidas (no se consideran
otras posibilidades, tales como pago en valores o especias).
El valor de las acciones se actualiza automticamente en 'el sistema' con la insercin de registros
en una tabla llamada 'IntraDay'. El identificador nico de dichos registros constar de
ticket+fecha+hora. El precio que conste en el registro insertado ms recientemente para una
accin, ser considerado el 'valor actual' para los ttulos ofertados, y por tanto el de compra o
venta. Adicionalmente al campo 'volume' de dicha tabla (qu indica el total de acciones que se han
comprado/vendido hasta el momento), se aadir un campo que indicar el total de acciones que
se ofrecen al precio que consta en el mismo registro.
a.

Mostrad el diagrama entidad/relacin para la base de datos que dar soporte al sistema
informtico que almacenar todos los datos, segn el modelo descrito (se deben incluir
exclusivamente las entidades y relaciones bsicas que se pueden extraer del enunciado).
NOTA: Los ficheros adjuntos a la PEC y el enunciado del resto de ejercicios pueden ser de
ayuda para establecer algunas de las entidades y relaciones. Por coherencia, se pide
conservar el nombre de las tablas que existen en el segundo ejercicio.

b.

Mostrad el resultado de la transformacin del modelo ER al modelo relacional. Cread claves


identificadoras sintticas siempre que lo creis necesario.

c.

Cread las tablas segn atributos, claves (primarias y forneas) y restricciones que se
entrevean en el SCHEMA llamado p15 (creado en la PEC2). Adjuntad el cdigo SQL (de
PostgreSQL) utilizado para llevar a trmino todas las operaciones.

NOTA: No utilicis herramientas de generacin automtica de cdigo. No declaris las restricciones a


posteriori (no utilicis ALTER TABLE para aadir restricciones despus de la creacin de las tablas). Dad
nombre a todas las restricciones. Indentad/tabulad el cdigo SQL para que sea muy legible (mostrad un
nico campo por lnea).
RESTRICCIONES A TENER EN CUENTA OBLIGATORIAMENTE AL CREAR LAS TABLAS:

- El sustituto de un broker, no puede ser l mismo.


- Las fechas de inicio que consten han de ser siempre anteriores a las fechas de finalizacin.
- El gnero de una persona debe ser siempre M o F.
- El nombre de una empresa gestora no puede ser NUL.
CDIGO SQL PARA LA CREACIN DE LAS TABLAS:

Master Internacional en Software


Libre - Bases de Datos
Ejercicio voluntario:
Repetid las sentencias de creacin de las tablas con la sintaxis SQL de MySQL/MariaDB,
utilizando InnoDB.

2. Manipulacin y consultas (25%)


a. Teniendo en cuenta la estructura de las tablas del primer ejercicio, el contenido de los ficheros
adjuntos al enunciado de la PEC y el contenido de la tabla LoadIbexIntraDay, poblad de datos las
tablas de deben tener por nombre; StockMarket, ShareStock, IntraDay y Dividend. Mostrad las
sentencias SQL utilizadas.
Indicaciones para cargar los datos en StockMarket:

Cargad directamente los datos desde el fichero de texto suministrado con el enunciado de la PEC.

Indicaciones para cargar ShareStock:

Cread una tabla temporal con nombre tempDividends y cargad todos los datos del fichero
Dividends.txt en dicha tabla.

Cargad los campos ticket, idStockMarket, shortName y longName en ShareStock desde la tabla
temporal tempDividends.
NOTA: existen valores del IBEX35 y del Mercado Continuo.

Indicaciones para realizar la carga de Dividend:

Pobladla a partir de la tabla temporal tempDividends.

Indicaciones para la carga de IntraDay:

Sustituir el literal 'cierre' de la hora de loadIbexIntraDay por las 18:00.


Poblad la tabla IntraDay desde la tabla LoadIbexIntraDay. La clave primaria ha de ser el
identificador del ticket+fecha+hora. El campo 'quantity se deber llenar con el valor '0' (cero).

Llenad la siguiente tabla con el nmero de registros que han quedado en las tablas indicadas.
Nombre Tabla

Num. total registros

Master Internacional en Software


Libre - Bases de Datos
StockMarket
IntraDay
tempDividends
Dividend
ShareStock

b. Realizad la siguiente consulta SQL:


Calcular el inters equivalente anual que dara segn la suma de los pagos de los dividendos de
2008 (importe bruto), el valor del IBEX35 que ha tenido ms 'volumen' total durante el periodo que
estamos estudiando, segn el importe mnimo que ha tenido la accin durante el mencionado
periodo.
(1/MnimaCotitzacinAccinDeMsVolumen)*(SumaDividendos_2008*100)
Indicaciones y consideraciones:
Para llevar a cabo la consulta, considerad los siguientes pasos:
- Obtened en primer lugar cual ha sido el valor con ms volumen. Para ello consideraremos
que la columna volume se incrementa a lo largo de una sesin, quedando en la misma el
nmero total de transacciones realizadas. Por tal motivo, el volumen final de das ser la
cantidad mayor, y ltimo dato del da. El valor de bolsa con ms volumen ser por lo tanto,
el que d mayor cantidad al sumarse dichos volmenes de final de da del periodo
estudiado.
- Obtenido el valor de ms volumen, ser necesario recuperar el precio mnimo que ha
tenido durante dicho periodo.
- Del mismo valor, ser necesario recuperar la suma total de los dividendos para el ao
anotado.
Obtenidas con una consulta todos dichos datos, se podr proceder a realizar el clculo y a
mostrar el resultado.
Mostrad el cdigo SQL y una captura de pantalla con el resultado.

3. Instalacin (15%)
Instalad el conjunto de aplicaciones Apache y PHP desde el repositorio de la distribucin Linux
utilizada, a partir del instalable de EnterpriseDB (Windows), o utilizando de referencia las
indicaciones que podis encontrar en el rea de materiales del aula. Anotad las posibles
incidencias, describiendo de ser necesario el entorno utilizado (Debian, Ubuntu, Windows, etc),
Seguid las indicaciones del documento Ejemplo PHP+PostgreSQL, hasta ejecutar el programa
'citascitables.php. Adjuntad un par de capturas de pantalla para demostrar su funcionamiento y
describid brevemente las incidencias/dificultades de todo el proceso.
Pegad aqu las capturas de pantalla:

Master Internacional en Software


Libre - Bases de Datos
Ejercicio voluntario:
Anotad las modificaciones y el cdigo SQL que sera necesario, para implementar la mejora que
se indica en el documento Ejemplo PHP+PostgreSQL, a efectos de obtener las citas
secuencialmente, a cada carga de la pgina web.

Formato de entrega
Se valorar que las sentencias de creacin de tablas y SQLs estn adecuadamente indentados.
Se debern entregar dos documentos; un fichero ofimtico editable (DOC, ODT, RTF...) y una
versin del mismo en formato PDF (a efectos de evitar problemas de insercin de imgenes y
otros derivados de la ofimtica...).
No comprimis el fichero (ni ZIP, ni RAR, etc), ni entreguis ficheros adicionales a los documentos
indicados.
El
nombre
de
los
documentos
a
entregar
debe
seguir
el
patrn:
BD_PEC3_Apellido1Nombre.extensin y debe constar vuestro nombre y apellidos al principio de
la PEC.
La PEC se entregar a travs del apartado 'Evaluacin' del aula correspondiente.
La fecha mxima de entrega son las 23h 59min del martes 28 de abril de 2015.

Das könnte Ihnen auch gefallen