BASES DE DATOS I Diseñar una base de datos sobre la información que se gestiona en la Universidad. Las especificaciones a seguir son las siguientes: • Se almacenarán datos de: departamentos, profesores, asignaturas, grupos y alumnos. • Cada departamento tiene un código y un nombre. • Cada profesor tiene un NRP (Número de Registro Personal), nombre, área de conocimiento y categoría. • Cada asignatura tiene código, nombre, créditos, carácter (troncal, obligatoria, optativa) y curso. • Cada alumno tiene nombre, DNI, fecha de nacimiento, dirección y beca. • Para identificar cada grupo de una asignatura se utiliza una numeración secuencial, así todas las asignaturas comienzan en el grupo 1, y continúan en el 2, 3, 4,… y así sucesivamente. • Existen dos tipos de grupos, los de teoría y los de prácticas, con un máximo de alumnos por grupo. • Cada grupo tiene un código, máximo número de alumnos y tipo. • Se considera que un profesor pertenece a un solo departamento y que debe pertenecer a alguno. • Se considera que un profesor puede impartir varios grupos de la misma o de diferentes asignaturas y que un grupo de una asignatura ha de ser impartido por, al menos, un profesor. • Los alumnos se matriculan de varias asignaturas (al menos una) pero han de hacerlo en un determinado grupo. A su vez, cada grupo tendrá varios alumnos matriculados. • Un alumno puede haberse matriculado de la misma asignatura pero en diferentes años (convocatorias) y tener, por tanto, deferentes calificaciones para una misma asignatura. • Todo departamento debe tener un director, que es un profesor 4/13 BASES DE DATOS I imparte tipo (1,1) maxAlums NRP (0,M) (1,1) convocatoria (1,1) (0,1) categoria matricula calificación tiene pertenece dirige nombre curso (1,N) (1,N) beca ALUMNOS ASIGNATURA caracter area PROFESORES GRUPOS codGrupo nombre (0,N) (1,1) (0,N) dirección DEPARTAMENTOS codAsig creditos nombre dni fechaNac codDep 5/13 nombre BASES DE DATOS I Diseñar una base de datos sobre la información de las reservas de una empresa dedicada al alquiler de automóviles teniendo en cuenta que: • • • • • • Un determinado cliente puede tener en un momento dado hechas varias reservas. De cada cliente se desea almacenar su DNI, nombre, dirección y teléfono. Además dos clientes se diferencian por un código único. Cada cliente puede ser avalado por otro cliente de la empresa. Una reserva la realiza un único cliente pero puede involucrar a varios coches. Es importante registrar la fecha de inicio y final de la reserva, el precio del alquiler de cada uno de los coches, los litros de gasolina en el depósito en el momento de realizar la reserva, el precio total de la reserva y un indicador de si el coche o los coches han sido entregados. Todo coche tiene siempre asignado un determinado garaje que no puede cambiar. De cada coche se requiere la matrícula, el modelo, el color y la marca. Cada reserva se realiza en una determinada agencia. 7/13 BASES DE DATOS I litros indicador fechaIni fechaFin precioTot RESERVA realiza (1,1) codAgencia AGENCIA realiza (1,1) (0,N) (1,N) codRes precioAlquiler involucra teléfono dirección (0,M) (0,N) IP CLIENTE codCli dni (0,N) (0,1) (1,N) asigna marca matricula es avalado (1,1) COCHES modelo avala color avala 8/13 codGaraje GARAJE BASES DE DATOS I Un nuevo canal de radio está a punto de salir a las ondas. Se trata de ESEI Radio. Se pide diseñar la correspondiente base de datos teniendo en cuenta que: • El nuevo canal, ESEI Radio, está compuesto de varias emisoras repartidas por los 3 campus de la universidad de Vigo, aunque se contempla la posibilidad de que se abran nuevas por cada nuevo campus que se abra en la universidad. • Cada emisora se identifica por un código alfanumérico, por ejemplo ESEIRadio-OU, ESEIRadio-PO, etc. Además del código, de cada una de ellas interesa conocer su ubicación y el formato de emisión (las emisoras pueden emitir en analógico o digital). • Si bien la programación está todavía por finalizar, ya se conocen los programas que habrá en cada una de ellas. Los programas serán diferentes para cada una de las emisoras. De cada programa interesa conocer su nombre, que será único, temática, franja horaria (mañana, tarde o noche) y presentador que dirige el programa. • Además de los programas, también se precisará almacenar información sobre las ediciones del mismo (una edición de un programa es una emisión concreta en un día concreto). La información que se necesita almacenar es almacenar es la fecha de la edición, hora de inicio, hora de fin, duración y el número de oyentes que ha tenido. Cada edición se identifica por un número secuencial y puede ser conducida por uno o varios presentadores. • Por último, también se precisa almacenar información acerca de los presentadores. En concreto, el nombre, email, dni y número de la seguridad social. Dado que el canal acaba de crearse, algunos presentadores realizarán labores de dirección coordinando a uno o varios de sus compañeros. 9/13 BASES DE DATOS I codigo ubicacion nombre (1,n) tematica (1,1) EMISORA PROGRAMA tiene (1,1) (1,n) franja formato dirige dni tiene nombre email num_edicion (1,1) (0,n) (1,n) PRESENTADOR IP conduce (1,m) EDICION duracion coordinador num_ss (0,n) (1,1) fecha coordina es coordinado 10/13 hora_inic hora_fin BASES DE DATOS I Diseñar una base de datos sobre la información que se gestiona en los laboratorios de informática de la Escuela. Las especificaciones a seguir son las siguientes: • Se almacenarán datos de: laboratorios, ordenadores, componentes, fabricantes y becarios. • Cada becario tiene un DNI, un número de seguridad social, nombre, apellidos, fecha de nacimiento y edad. • Cada laboratorio tiene un código de identificación único y un número de planta. • Cada ordenador se identifica por su dirección IP y se almacena su fecha de compra. • Cada componente tiene un código de modelo único y una descripción (por ejemplo: “SGT-10TB”, “disco duro 10TB”). Un componente es un modelo y no una fabricación concreta de ese modelo, de la que no se desea guardar información en este sistema. • Cada fabricante tiene un código, nombre, uno o dos teléfonos y dirección web. • Cada becario debe supervisar al menos un laboratorio, pudiendo supervisar más de uno. • Todo becario tiene un suplente, es decir, otro becario que habría que avisar en el caso de que algún becario no estuviese disponible. No todos los becarios son sustitutos de alguien. Un mismo becario puede ser el sustituto de más de un becario. • Un laboratorio es supervisado por un y sólo un becario. • Los ordenadores están siempre asignados a un único laboratorio y un laboratorio puede tener varios ordenadores. • Cada ordenador puede estar compuesto de uno o varios componentes. Un mismo componente puede estar instalado en varios equipos (se suelen comprar varios equipos iguales para facilidad de mantenimiento, de forma que un mismo disco duro sea el modelo que tienen instalados varios equipos). • Un fabricante puede elaborar varios componentes y un componente debe tener un y sólo un fabricante. 12/13 BASES DE DATOS I (1,1) IP dni Fec_compra sustituido ORDENADOR suple suplente (1,1) nss IP BECARIO nombre (0,n) (1,n) (0,m) apellidos Fecha_nac contiene dia supervisa edad aloja descripción (1,1) (0,n) (0,n) COMPONENTE código LABORATORIO planta (1,1) cod_modelo fabrica código (0,n) nombre FABRICANTE (1,2) teléfono URL 13/13