16 de mayo de 2011

Ejercicios de UML

Ejercicio 1: Venta de coches

Realizar el diagrama de clases correspondiente al siguiente sistema. Se trata de una empresa de venta de coches de segunda mano con las siguientes características: Los coches los suministran distintos proveedores, nos interesa conocer la marca, modelo, matrícula, precio de compra, de venta. Los coches pueden ser para turismo, industriales y todoterrenos. Además pueden necesitar ser reparados, por lo que se debe tener un control de las reparaciones hechas, que pueden ser mecánicas, eléctricas o de chapa. En la empresa habrá dos tipos de vendedores: asalariados y por comisión. De los asalariados nos interesa saber también el salario y de los que van con comisión los coches que se han vendido. Además se tendrá un control de los clientes tanto de los que han comprado un coche, como de los interesados en algún tipo de coche que podrán hacer reserva. Los coches pueden estar en distintas exposiciones, y debemos saber en todo momento dónde se encuentra cada coche. Se necesitan operaciones para realizar una venta de un coche, para reparar los coches que los necesiten, para comprar nuevos coches a los proveedores, etc. También interesa tener operaciones que nos devuelvan qué cliente compró un cierto coche, que se realicen listados de los coches que se encuentran en stock en un momento dado.
 
Ejercicio 2: Matrícula universitaria

Obtener el modelo conceptual de un sistema que gestiona las matriculas de los estudiantes en una universidad. Una persona viene caracterizada por su CI, nombre, dirección y estado civil, y ésta puede convertirse en estudiante al darse de alta como tal en la universidad.

Como estudiante podrá matricularse de las asignaturas que se imparten en la universidad, que tendrán un código, un nombre, un profesor responsable y un curso asignado. Una vez matriculado, el estudiante podrá recibir una beca y en su nueva condición de becario tendrá asignado un nuevo código y se conocerá el importe de la misma; al finalizar el curso, la condición de becario se acabará. Una vez el estudiante se matricula, tanto si recibe beca como si no, deberá examinarse de las asignaturas en las que se encuentra matriculado hasta que finalice el curso y vuelva a matricularse de nuevo o bien deje la universidad y con ello deje de ser estudiante. Además, convendrá tener una serie de aplicaciones tales como dar de alta a nuevas personas y asignaturas, llevar a cabo la matriculación de estudiantes en asignaturas, registrar las notas obtenidas por los estudiantes al examinarse de cualquier asignatura en la que están matriculados y una serie de listados tales como los alumnos matriculados en una asignatura, las asignaturas en las que se ha matriculado un alumno y el listado de notas por asignaturas (actas).

Además del diagrama de clases se pide identificar el diagrama de casos de uso respectivo.

Ejercicio 3: Clínica veterinaria

Un veterinario tiene como pacientes animales y como clientes familias. Un cliente es un conjunto de personas que suele corresponderse con una familia. Cada cliente tiene un código, el primer apellido del cabeza de familia, un número de cuenta bancaria, una dirección, un teléfono y los nombres y CI de las personas correspondientes. No existe límite en el número de personas asociadas a una entidad cliente. Además, una persona puede estar dada de alta en varios clientes (p.e.: un hombre que vive con su esposa tiene un gato y como tal pertenece a un cliente, pero también está dado de alta en el cliente asociado con el perro de sus padres).

Los clientes pueden tener varias mascotas, cada mascota tiene un código, un alias, una especie, una raza, color de pelo, fecha de nacimiento aproximada, peso medio del animal en las últimas 10 visitas y el peso actual del animal. Asimismo, se guardará un historial médico con cada enfermedad que tuvo y la fecha en la que enfermó. Adicionalmente cada mascota tiene un calendario de vacunación, en el que se registrará la fecha de cada vacuna, y la enfermedad de la que se vacuna.

Ejercicio 4: Alquiler de CD-ROMs

Sea una empresa dedicada al alquiler de CD-ROMs de audio. Dicha empresa tiene un local de atención al público donde están expuestas las carátulas de los CDs más demandados y las últimas novedades, aunque también existen listados en papel de todos los títulos que se podrían alquilar. Cuando un cliente solicita un título, se comprueba si hay ejemplares libres y si no hay problemas por ejemplares no devueltos se realiza el alquiler, quedando constancia de la fecha de alquiler y la fecha máxima de entrega, de forma que cuando el cliente devuelva el ejemplar se podrá comprobar si se le tiene que imponer una sanción. Cada cliente puede solicitar una relación de los CDs que ha alquilado previamente.

Además del diagrama de clases, identifíquese y propóngase el diagrama de casos de uso asociado con el sistema planteado, supónganse dos actores: cliente y encargado.

28 de febrero de 2009

BDI: Ejercicios de Diagramas E-R

Gestión de exámenes

Los profesores de la asignatura de Bases de Datos de una Facultad deciden crear una base de datos que contenga la información de los resultados de las pruebas realizadas a los alumnos. Para
realizar el diseño se sabe que:
· Los alumnos están definidos por su n° de matrícula, nombre y el grupo al que asisten a clase.
· Dichos alumnos realizan dos tipos de pruebas a lo largo del curso académico:
1. Exámenes escritos: cada alumno realiza varios a lo largo del curso, y se definen por el n° de examen, el número de preguntas de que consta y la fecha de realización (la misma para todos los alumnos que realizan el mismo examen). Evidentemente, es importante almacenar la nota de cada alumno por examen.
2. Prácticas: se realiza un número indeterminado de ellas durante el curso académico, algunas serán en grupo y otras individuales. Se definen por un código de práctica, título y el grado de dificultad. En este caso los alumnos pueden examinarse de cualquier práctica cuando lo deseen, debiéndose almacenar la fecha y nota obtenida. En caso de que la práctica se haya realizado en grupo, todos los alumnos de un mismo grupo obtendrán la misma nota en dicha práctica.
· En cuanto a los profesores, únicamente interesa conocer (además de sus datos personales: (DNI y nombre), quién es el qué ha diseñado cada práctica, sabiendo que en el diseño de una práctica puede colaborar más de uno y que un profesor puede diseñar más de una práctica. Interesa, además, la fecha en que ha sido diseñada cada práctica por el profesor correspondiente.

Concesionario de automóviles

Un concesionario de automóviles desea informatizar su gestión de ventas de vehículos. En particular, se quiere tener almacenada la información referente a los clientes que compran en el concesionario, los vehículos vendidos, así como los vendedores que realizan las distintas ventas.
Para ello se tendrán en cuenta los siguientes puntos:
· El concesionario dispone de un catálogo de vehículos definidos por su marca, modelo, cilindrada y precio.
· Cada uno de los modelos dispondrá de unas opciones adicionales (aire acondicionado, pintura metalizada, etc.). Las opciones vienen definidas por un nombre y una descripción. Hay que tener en cuenta que una opción puede ser común para varios modelos variando sólo el precio en cada caso.
· En cuanto a los clientes, la información de interés es el nombre, DNI, dirección y teléfono, lo mismo que para los vendedores.
· Los clientes pueden ceder su coche usado en el momento de comprar un vehículo nuevo. El coche usado vendrá definido por su marca, modelo, matrícula y precio de tasación. Es importante conocer la fecha en la que el cliente realiza esta cesión.
· Se desea saber qué vendedor ha vendido qué modelo a qué cliente. También la fecha de la venta y la matricula del nuevo vehículo y, si procede, la matrícula de coche usado entregado como parte del pago. Es importante así mismo saber las opciones que el cliente ha elegido para el modelo que compra.

Campamentos de verano

Los organizadores de un campamento de verano nos han pedido que diseñemos una base de datos para recoger los datos del campamento del verano que viene. Hemos hablado con ellos, y hemos obtenido las siguientes especificaciones:
En el campamento se alojaran niños entre los 10 y los 14 años. A cada niño interesado en asistir se le abre una ficha de inscripción en la que figuran su nombre y apellidos, su edad, dirección, nombre de sus padres un teléfono de contacto y la enseñanza que se encuentra cursando (Primaria o ESO).
Cuando llegue el verano, los niños que se encuentren cursando primaria serán alojados en cabañas mientras que los niños que se encuentran cursando ESO se alojarán en tiendas de campaña. Estas tiendas y cabañas tienen diferente número de plazas. Además, una vez que se cierre el plazo de inscripción se harán equipos de niños para que realicen en equipo las actividades programadas en el campamento.
Una actividad desarrollada por un grupo será guiada por un monitor. Para ello, el campamento cuenta con un grupo de monitores y un conjunto de actividades programadas de forma que cada grupo nunca repetirá actividad, un monitor nunca guiará la misma actividad a dos grupos diferentes y un grupo nunca hará dos actividades con un mismo monitor.
Cuando la fecha de comienzo del campamento esté fijada los organizadores se pondrán en contacto con los monitores para comunicársela junto con las actividades que han de desarrollar y con que grupos han de desarrollarlas. Además en este momento se harán públicos unos listados obtenidos de la base de datos y que indiquen, para cada niño, el grupo que le ha sido asignado y la tienda o cabaña en la que se alojará.

21 de octubre de 2008

BDII: Segundo ejercicio de MySQL

Dentro de una base de datos llamada EMPRESA (tablas EMPLEADO, PROVEEDOR Y SUCURSAL), realice las siguientes operaciones MySQL:

Construya las tablas:

EMPLEADO (cod_empleado, nombre, experiencia, profesion, sueldo, cod_sucursal), siendo cod_empleado la clave primaria y cod_sucursal la foranea.

PROVEEDOR (RIF, nombre_prov, ciudad, cod_sucursal), siendo RIF la clave primaria y cod_sucursal la foranea.

SUCURSAL (cod_sucursal, nombre_sucursal, cant_empleados, ciudad), siendo cod_sucursal la clave primaria.

Muestre una lista ordenada alfabéticamente por nombre de los empleados que trabajen en Caracas.

Para cada ciudad de sucursal registrada, cuente la cantidad de sucursales existentes.

Muestre nombre, sueldo y codigo de los empleados cuyo nombre comience con A, B y G.

Muestre la cantidad de empleados asignado a cada sucursal registrada.

Muestre los datos de los empleados que no han sido asignados a alguna sucursal.

Agregue una columna llamada cargo en la tabla EMPLEADO. Asigne un valor para cada caso.

Para cada valor de cargo disponible, muestre el salario máximo que ganan los empleados.

Muestre los datos de los proveedores con sucursales en Caracas que tienen empleados registrados con sueldo entre 1000 y 2000 Bs.F

17 de octubre de 2008

BDI: Tercer ejercicio Modelo E-R

Biblioteca
Supongamos que queremos diseñar una base de datos para una biblioteca y hemos conocido que esta funciona de la siguiente forma:

· En la biblioteca se encuentran, como es natural, una serie de libros que los empleados solicitan a las editoriales. Cuando un libro se recibe se le da de alta construyéndole una ficha para búsqueda por autor y otra ficha para búsqueda por tema. En ambas fichas aparecen el título del libro, el nombre del autor y su nacionalidad, la editorial a la que pertenece la publicación, el tema sobre el que trata, el ISBN y la estantería de la biblioteca en la que se encuentra. Hay que aclarar que en la biblioteca no se encuentran ejemplares repetidos de ningún libro. Las estanterías de la biblioteca tienen un número y un lugar asignado dentro de la biblioteca. Un empleado puede solicitar un libro escribiendo una carta de petición a la editorial correspondiente. La dirección a la que ha de dirigir la carta se encuentra en un archivo de editoriales.

· Para acceder a los libros de la biblioteca es necesario la posesión de un carné que acredita a los distintos usuarios. Este carné se confecciona a cada persona la primera vez que intenta retirar un libro. Cada usuario solo puede tener retirado como máximo un libro en cada instante determinado. El máximo periodo de tiempo que un usuario puede tener un libro es de 10 días. Transcurrido el cual se penalizará al usuario con una multa de 1 euro por cada día de demora en la devolución, durante los primeros 3 días y con la suspensión del carné a partir del cuarto día durante un tiempo que podrá ser establecido por el empleado de la biblioteca en función de las circunstancias que estime oportuno considerar.

· En la biblioteca les gustaría disponer de un listado que se lanzaría al final de cada día y en el que aparecería, para cada libro que se encuentra retirado, el título, el ISBN, el autor y el número del carné, nombre y el numero de identificacion del usuario que lo mantiene retirado

· Cuando un usuario intenta retirar un libro ha de presentar su carné para que se tome nota de la retirada. Si el libro que desea un usuario A no está disponible por haber sido retirado por otro usuario B, se toma nota del libro y del usuario A para llamarle por teléfono y avisarle cuando el libro ha sido devuelto. En ese caso, el usuario A podrá solicitar que se le reserve el libro por un máximo de 2 días para evitar que otro usuario lo retire antes de que A pueda acudir a la biblioteca a retirarlo. Transcurrido ese plazo, si A no lo ha retirado, el libro volverá a estar disponible para cualquier usuario.

· Los empleados de la biblioteca quieren obtener estadísticas sobre: penalizaciones de los usuarios (usuarios más penalizados, usuario penalizado por más tiempo, …), préstamos (libros más veces prestados, usuario que más libros ha retirado, usuarios que han retirado un mismo libro más de una vez, …), usuarios informales (usuarios que varias veces han reservado un libro que luego no han pasado a retirar),…

BDI: Segundo Ejercicio Modelo E-R

Empresa de líneas aéreas

Construir un diagrama entidad-relación para una empresa de líneas aéreas. La empresa tiene distintos tipos de empleados (pilotos, personal auxiliar de vuelo, mecánicos, personal de gestión, de administración , de limpieza, …). La información que mantiene sobre sus empleados es: número de empleado, nombre, cargo, dirección y salario. Además, le interesa almacenar datos sobre: los vuelos que realiza (número de vuelo, avión empleado, fecha, origen, destino, hora de salida, hora de llegada y empleados asignados al vuelo), los pasajeros registrados en cada vuelo (nombre, dirección y teléfono) y los aviones que posee la empresa (constructor, número de modelo, número de serie). En el caso de los pilotos, se desea hacer constar además su capacidad para poder pilotar los distintos modelos de aviones que posee la empresa.

16 de octubre de 2008

BDI: Primer ejercicio Modelo E-R

Fábrica y tiendas de productos

Supón que tienes que diseñar una base de datos para una organización que dispone de una fábrica y una cadena de tiendas donde se venden los productos construidos en la fábrica. Para la construcción de los productos, se dispone de un conjunto de piezas que son suministradas por una serie de proveedores. Una pieza solo puede ser suministrada por un proveedor. Al final de cada día se comprueba, para cada pieza, qué cantidad queda en stock y si este es menor que una cantidad prudente se manda un FAX al proveedor correspondiente realizándole un pedido.

Cada empleado de la fábrica está dedicado a la construcción de un solo producto. Estos productos están constituidos por una serie de piezas. Cuando un empleado acaba la construcción de una unidad de un producto incrementa el stock de éste.

La fábrica está estructurada en forma de departamentos a los que pertenecen los distintos empleados. Lógicamente, un empleado solo puede pertenecer a un departamento. Un producto solo puede ser fabricado dentro de cada departamento por un solo empleado. A final de mes, el departamento, realiza una transferencia bancaria a cada empleado por el total de la nómina.

Cada departamento suministra productos a las tiendas. Cuando una tienda tiene escasez de un producto manda un fax al departamento realizándole un pedido. A continuación el departamento remite el correspondiente pedido a la tienda por medio de una empresa de paquetería.

14 de octubre de 2008

BDII: Primer ejercicio de mySQL

Aqui tienen un planteamiento para que practiquen en sus casas los comandos que hemos estudiado en las dos primeras sesiones de laboratorio:

Construye una base de datos llamada NEGOCIO. Dentro de ella, configura la siguiente tabla:

ARTICULOS

Codarticulo Numeric(5) no nulo. Clave Principal
Descripción Varchar(20) no nulo
Precio Numeric(6,2)
Cantidad Integer no nulo

1. Ingresa cuatro registros en la tabla anterior
2. Lista toda la información de los productos registrados con precio mayor de 5000
3. Lista la descripción de los productos cuya cantidad en existencia este comprendida entre 10 y 20.
4. Lista la descripción de los productos cuya cantidad en existencia este comprendida entre 10 y 20, y que su precio no sobrepase los 2000 Bs. F.
5. Agrega un nuevo campo llamado MARCA a la tabla, actualiza la información a fin de que los cuatro registros cargados contengan un valor para el nuevo dato.
6. Genera una lista ordenada descendentemente por precio con los datos de aquellos artículos cuya marca comience con A o P.