Está en la página 1de 3

PracticaExamenClub.

pdf

ShadowedWarrior

Bases de Datos

1º Desarrollo de Aplicaciones Multiplataforma

Estudios España

Reservados todos los derechos.


No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
Examen_2ª EVALUACIÓN DAM BASES DE DATOS

05/03/2024
Nombre: …………………………………………………………………..

Apellidos: …………………………………………………………………..

1. Se ha decidido guardar información referente a un Club náutico en una Base de Datos. La información que
desea almacenar es la siguiente:

Los socios pertenecientes al club vienen definidos por un código (que los identifica) su nombre, apellidos,
DNI, teléfono y antigüedad en el club.

Las embarcaciones vienen definidas por: la matrícula (que las identifica), nombre y dimensiones. La existencia
de la embarcación solo tiene sentido si existe el socio al que pertenece.

Los amarres tienen como datos de interés el número de amarre, la lectura del contador de agua y contador de
luz, y si tienen o no servicios de mantenimiento contratados.

Por otro lado, hay que tener en cuenta que una embarcación siempre pertenece a un socio aunque un socio
puede tener varias embarcaciones. Un socio puede no tener embarcaciones en el club.

Una embarcación ocupará un amarre y un amarre está ocupado por una sola embarcación. Es importante
registrar la fecha en la que una embarcación es asignada a un amarre. Un amarre puede estar libre. Solo nos
interesa esta información en la actualidad. Cuando se registra en el sistema la embarcación se le asigna un
amarre.
Los socios también pueden ser propietarios, es decir, pueden optar a comprar los amarres propiedad del club.
Hay que tener en cuenta, que en caso de que un socio compre un amarre, se debe registrar la fecha de
compra. No hay ninguna relación directa entre la fecha en la que se compra un amarre y en la que una
embarcación se asigna a un amarre.
Se pide:
● Realizar el Diagrama Entidad – Relación extendido de modo que sea lo más expresivo posible según lo
estudiado en clase.

● Convertir el modelo anterior a un modelo relacional (DED). Especifica las foreign key. En cada atributo
debes indicar si admite o no el valor nulo. (Antes de entregar esta primera parte, debes quedarte con
una copia de este apartado)

(2 puntos)

Para superar el examen aunque tengas un 5, debes tener en este ejercicio al menos 1 punto.

a64b0469ff35958ef4ab887a898bd50bdfbbe91a-10032909

Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
Examen_2ª EVALUACIÓN DAW BASES DE DATOS

05/03/2024

Nombre: …………………………………………………………………..

Apellidos: …………………………………………………………………..

2. Crear una base de datos llamada CLUB. Crea las tablas obtenidas en el modelado anterior. Deben cumplir lo siguiente:
● En cada tabla debes definir la clave primaria. La clave primaria de la tabla de amarre debe autoincrementarse
(solo esta).

Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
● Para todas las claves foráneas debes hacer la definición de estas en la sentencia de creación de la tabla,
indicando las reglas de la modificación y de la eliminación que consideres que son las más adecuadas en
coherencia con el enunciado.
● El mantenimiento del amarre solo debe admitir los valores SI y NO. Por defecto, tomará el valor SI.
● El DNI del socio debe servir para identificar tanto a españoles como a extranjeros. En ambos casos, tendrá nueve
caracteres, no se podrá repetir y no admitirá valores nulos. Pero si es extranjero, comenzará por una letra,
seguido de 7 dígitos y una letra. Si es español, ya conoces el formato.
● El contador de agua y el de luz, son de tipo entero y por defecto toman el valor 0.
● La antigüedad el socio en el club debe ser tipo DATE y tomar por defecto la fecha del día.
(0,75 puntos)
3. Utilizando sentencias del LMD de SQL, inserta filas en las tablas teniendo en cuenta lo siguiente:
● Añade cinco socios, el último de ellos es extranjero.
● El primer socio tiene dos embarcaciones. El segundo, tercero y cuarto, una embarcación cada uno. El quinto
socio, no tiene ninguna embarcación aún.
● Añade diez amarres.
● El primer socio tiene asignada la primera embarcación al primer amarre, del cuál también es propietario. Su
segunda embarcación está asignada al segundo amarre.
● El segundo socio tiene asignada su embarcación al tercer amarre; el tercer socio la suya al cuarto amarre; el
cuarto socio tiene la suya al quinto amarre.
● De los amarres del segundo al quinto es propietario el propio club. El socio extranjero es propietario de los amarres
del sexto al noveno.
● Del décimo amarre es propietario el club.
Para que quede más claro, la propiedad de las embarcaciones, el amarre asignado a la embarcación y la propiedad de los
amarres por parte de los socios queda reflejado en la siguiente tabla:

(0,25 puntos)
4. A. Realiza la siguiente consulta en SQL: Obtener el número (identificador) de los amarres que están libres (sin
embarcación asignada). Además, si el amarre es propiedad de un socio, debe salir el DNI del socio, si por el contrario,
el amarre es propiedad del club, debe salir el texto “Propiedad del club”. Utiliza alias para el nombre de las tres
columnas. (1 punto)
B. Crea una vista llamada vista1, que al consultarla aparezca el nombre y apellidos de cada socio, junto con la
antigüedad en el club (en años) a fecha de hoy. También, deberá aparecer cuántas embarcaciones tiene. Si un socio no
tiene embarcaciones, debe aparecer un 0. Consulta la vista. ¿Cuáles son las operaciones del LMD que se podrían
hacer sobre la vista que acabas de crear? (1 punto)
5. A. El club naútico quiere saber si un socio ha sido recomendado por otro. De modo que, un socio podrá recomendar a
muchos otros o no haber recomendado a ninguno. Por otro lado, un socio puede haber sido recomendado por un socio
o ninguno. Utilizando una sola sentencia del LDD, modifica la tabla que almacena los socio poder llevar a cabo esta
nueva especificación que requiere el club. (1 punto)
B. Crea un procedimiento almacenado llamado proc1 que reciba como parámetro de entrada el número de un amarre.
Si del amarre es propietario de algún socio, debe escribir un texto con la siguiente forma: “El socio SOCIO es propietario
del amarre número X, con fecha de compra Y.” Donde SOCIO, es el nombre y apellidos del propietario. X es el número
de amarre que se le ha proporcionado como parámetro. Por último, Y es la fecha de compra en formato español. Pero,
si por el contrario, el número de amarre proporcionado como parámetro pertenece al club, debe escribir el texto: “El
amarre número X es propiedad del club”. Donde X es el número de amarre que se le ha proporcionado como parámetro.
Ejecuta el procedimiento tanto para el primer como para el segundo amarre, y comprueba que han funcionado
correctamente.
(2 puntos)
C. Crear un trigger llamado trig1 para que cuando una embarcación se elimine de la base de datos, en el
correspondiente amarre que tenía asignado se ponga a los valores por defecto los campos de mantenimiento y los
contadores de agua y de luz. Utiliza para poner los valores por defecto, la correspondiente palabra reservada. Realiza
las pruebas necesarias para cerciorarse de que el trigger funciona adecuadamente. Utiliza transacciones para el
borrado de las embarcaciones para después deshacerlas. Las pruebas debes dejarlas en el fichero que entregas. (2
puntos)
NOTAS:
● Puedes hacer todas las pruebas que quieras, pero la solución definitiva de cada ejercicio debe ser una sola sentencia del LMD de SQL precedida en comentario
con la palabra SOLUCIÓN.
● Debes entregar un fichero cuyo nombre tenga la siguiente forma: primerapellido_segundoapellido_nombre.sql (por ejemplo, si fuera mi examen el fichero, se
llamaría Perales_Belizón_Eva.sql). Este fichero debe contener en su interior tu nombre y apellido, además del número de cada pregunta.

a64b0469ff35958ef4ab887a898bd50bdfbbe91a-10032909

Plan Turbo - Eliminar los vídeos + 10 descargas sin publicidad por sólo 0,99€ / mes - Oferta limitada

También podría gustarte