Escolar Documentos
Profissional Documentos
Cultura Documentos
)
Apellidos, Nombre: NIA: Grupo:
La empresa Gestiones Urbansticas (G.U.S.A.) necesita organizar parte de la informacin que sustenta su negocio en una Base de Datos. El protagonista fundamental es la promocin. En cada una de estas promociones, la empresa puede construir uno o ms edificios. Las promociones tienen un nombre clave (identificador), un arquitecto responsable, y un presupuesto (en miles de euros). Los edificios se identifican por un nmero de referencia dentro de su promocin (Solo pueden pertenecer a una promocin). Los edificios pueden estar destinados a viviendas o locales (inmuebles en general). Cada vivienda o local se identifica por su referencia (promocin, edificio, piso, puerta) o por su localizacin (ciudad, calle, nmero, piso, puerta), y se caracteriza por la cantidad de metros cuadrados tiles, los metros cuadrados construidos, metros cuadrados de terraza, nmero de ventanas al exterior, nmero de ventanas a patios interiores, nmero de habitaciones, y nmero de baos. Los locales siempre estn en piso bajo. Si se cancela una promocin, debern eliminarse instantneamente todos los edificios que conlleva y todos los inmuebles que contiene. Los edificios pueden ser viviendas unifamiliares (un inmueble por edificio) o contener varios inmuebles. En la misma ciudad y va urbana (calle) cada edificio est identificado por un nmero de portal, y se caracterizan adems por una fecha de fin de construccin y por un coste de edificacin (ambos son asignados al trmino de las obras). Estos inmuebles (vivienda o local) tienen como objetivo venderse. Las ventas se registran individualmente (cada venta afecta a un solo inmueble). Las ventas tienen fecha, cuanta, pago a cuenta (al menos un 2% de la cuanta), fecha del ltimo pago, y fecha de escrituracin. Todos los campos son obligatorios menos la fecha de escrituracin, que solo podr realizarse cuando se ha completado el pago (pago a cuenta = cuanta total). En ocasiones, sin duda por problemas burocrticos, un edificio es declarado no estrictamente dentro de la legalidad y debe ser derruido. En tales casos, debe eliminarse de la base, pero no puede hacerse esto si el edificio ya ha sido vendido. S puede cambiarse la identificacin de edificios y promociones con inmuebles ya vendidos, pero en este caso deber generarse automticamente un aviso al dueo. El dueo de un inmueble va asociado a la venta, y tiene nombre completo, identificacin fiscal (NIF), direccin postal, telfono, y direccin de correo electrnico. Todos los clientes tienen telfono y email, aunque no todos tienen direccin postal an. Las promociones estn incluidas en un nico proyecto urbanstico, que tiene nombre (nico), fecha de propuesta, y fecha de aprobacin. Cada proyecto puede contemplar varias promociones, y hasta que un proyecto es aprobado no puede edificarse nada (ni por tanto, venderse ninguno de sus inmuebles), aunque si pueden existir promociones asociadas a l. Se pide: Esquema Relacional que contempla la semntica descrita, representado por un Grafo Relacional con la notacin vista en clase y descrita en el material proporcionado para la asignatura. Debern researse en sendos apartados la semntica implcita incorporada y los supuestos semnticos explcitos no contemplados. Resolver en lgebra Relacional y SQL las siguientes consultas: o Identificacin de los Proyectos en los que hay al menos una promocin. o Arquitectos que han comprado alguna de nuestras viviendas. o Balance de beneficios/prdidas en cada promocin (total ventas-coste total). o Inmuebles sin vender en la promocin Pino Seco.
O1
O2
O3
O4
Ejercicio Prctico 1: Ejercicio de Ficheros a) Escriba en pseudocdigo un mtodo insertar que recibe un registro lgico (Reg) y lo inserta en un fichero (File) direccionado con gestin de desbordamientos serial. Puedes contar con los siguientes mtodos auxiliares: a. transforma(Reg): devuelve la direccin (dir) del registro (ejecuta la dispersin) b. log2fis(Reg): devuelve una cadena (chorro) de bytes, que codifican ese registro c. leeB(File, cubo, posicin, cantidad): devuelve la cadena (cad) de tantos bytes como especificados en cantidad, que estn almacenados en el fichero File, en el cubo cubo a partir del byte marcado como posicin. Si la cantidad se sale de los lmites del cubo, el resto de los bytes tendr el valor 0 (cero). d. escribeB(File, cubo, posicin, cad): escribe la cadena (cad) en el fichero File, en el cubo cubo a partir del byte marcado como posicin. Si la cadena no cabe en el cubo, se ignoran los bytes restantes. e. cad2dec(cad): devuelve el valor decimal representado por una cadena de bytes f. dec2cad(dec): devuelve una cadena de bytes que codifica el valor decimal dado A su eleccin, puede considerar que son mtodos privados (pertenecientes a la clase que gestiona el fichero), o que se incorporan al objeto relacionado (a. y b. al objeto RegistroLgico; c. y d. al objeto manejador del fichero). Adems, debe tener en cuenta el atributo N, que marca el espacio de direccionamiento. As, los cubos de dispersin irn desde el 0 al N-1, y el rea de desbordamiento empezar a partir del cubo N del mismo fichero. Se recomienda el uso de un atributo pt_desb que marca el ltimo cubo del rea de desbordamiento (se inicializa a N en la creacin del fichero y al tamao actual del fichero cada vez que se abre la aplicacin).
c)
NIA:
Grupo:
DC/UC DC/UC
DC/UC DC/UC
duracin
2:33 4:49 3:27 4:15
lbum
Origins Old York By myself The wall
fecha
5/97 3/07 7/98 4/99
NIF
1234 0658 3467 1234
grupo
ExtraT Liz Bee Don Pitt ExtraT
fecha creacin
msico1
Don Pitt Liz Bee Don Pitt Don Pitt
msico2
Sean Son
msico3
Mike Lois
msico4
Pete Punk
Sean Son
Mike Lois
Pete Punk
Se pide: a) Escribe en SQL las instrucciones necesarias para insertar toda la informacin de esa tabla SOURCE en las tablas creadas a partir del esquema relacional descrito (suponer que las tablas ya estn creadas en la base de datos). Observa que el orden de las instrucciones es relevante.
Notas: no deben observarse cambios de tipo de datos (tipo destino=tipo origen siempre). En las filas en las que el autor es un solista, solo hay msico1, el nombre grupo = msico1, y la fecha de creacin del grupo es la fecha de nacimiento del msico1.
b) Escribe un disparador para impedir que existan canciones grabadas antes de que se creara el grupo o de que naciera el solista (en su caso).