- Base de Datos
- Componentes de una Base de
Datos - Tipos de Usuarios en Base de
Datos - Conceptos Básicos de Base
de datos - Niveles de Abstracción en
Base de datos - DBMS
- Integridad de
Datos - Recuperación de
Datos - Mirror o
Espejo - Seguridad de los
Datos - Control y
Administraciónde Recursos - Ciclo de vida de las operaciones
de Base de datos - Diseño de Base de
datos - Modelo Entidad –
Relaciòn - Ejercicios
Es un sistema que
almacena datos que
están relacionados.
Es un repositorio en donde guardamos información integrada que podemos almacenar
y recuperar.
- Un conjunto de información almacenada en
memoria
auxiliar que permite acceso directo y un conjunto de programas que
manipulan esos datos
Componentes de
una Base de
Datos:
- Hardware: constituido por dispositivo de
almacenamiento como discos, tambores, cintas,
etc. - Software: que es el DBMS o Sistema Administrador
de Base de Datos. - Datos: los cuales están almacenados de
acuerdo a la estructura
externa y van a ser procesados para convertirse en
información.
Tipos de Usuarios
en Base de Datos
- Usuario Final: es la persona que
utiliza los datos, esta persona ve datos convertidos en
información: - Desarrollador de Aplicaciones: es la persona
que desarrolla los sistemas que interactuàn con la Base
de Datos. - DBA: es la persona que asegura integridad,
consistencia, redundancia, seguridad
este es el Administrador de Base de Datos quien sed encarga de
realizar el mantenimiento diario o periòdico de los
datos.
Las personas tienen acceso DBMS se clasifican de la
siguiente manera:
USUARIOS INGENUOS. – Son aquellos que interactuan
con el sistema por medio de aplicaciones permanentes.
USUARIOS SOFISTICADOS.- son aquellos con la capacidad de
acceder a la información por medios de
lenguajes de consulta.
PROGRAMADORES DE APLICACIÓN.- son aquellos con un
amplio dominio del DML
capaces de generar nuevos módulos o utilerias capaces de
manejar nuevos datos en el sistema.
USUARIOS ESPECIALIZADOS.- son aquellos que desarrollan
módulos que no se refieren precisamente al manejo de los
datos, si no a aplicaciones avanzadas como sistemas
expertos, reconocimientos de imágenes,
procesamiento de audio y demás.
Conceptos
Bàsicos de Base de datos
- Archivo: son conjuntos de
registros. - Registros: son conjuntos de
campos. - Campos: es la minìma unidad de
referencia.
Niveles de
Abstracción en Base de datos
Externo: esa es la visiòn del
usuario final, se ve como se maneja los datos ya convertidos en
información.
Es aquel en el que se presenta al usuario final y que
puede combinaciones o relaciones entre los datos que conforman a
la base de datos global. Puede definirse como la forma en el que
el usuario aprecia la información y sus
relaciones.
Conceptual: se ve como esta estructurado la Base
Datos, equipos de campo tiene como estan estructurado los
registros.
Es aquel en el que se definen las estructuras
lógicas de almacenamiento y las relaciones que se
darán entre ellas. Ejemplos comunes de este nivel son el
diseño de los registros y las ligas que
permitirán la conexión entre registros de un
mismo archivo, de
archivos
distintos incluso, de ligas hacia archivos.
Interno: se ve como se almacena los datos
fisicamente.
Es aquel en el que se determinan las
características de almacenamiento en el medio secundario.
Los diseñadores de este nivel poseen un amplio dominio de
cuestiones técnicas y
de manejo de hardware. Muchas veces se
opta por mantener el nivel físico proporcionado por el
sistema operativo
para facilitar y agilizar el desarrollo.
DBMS(Data Managment System (Sistema
Administrador de Base de Datos) )
Los Sistemas Gestores de Bases de Datos son un
tipo de software muy
específico, dedicado a servir de interfaz entre las
bases de datos
y las aplicaciones que la utilizan. Se compone de un lenguaje de
definición de datos, de un lenguaje de manipulación
de datos y de un lenguaje de consulta. En los textos que tratan
este tema, o temas relacionados, se mencionan los términos
SGBD y DBMS, siendo ambos equivalentes, y acrónimos,
respectivamente, de Sistema Gestor de Bases de Datos y
DataBase Management System, su expresión
inglesa.
Subsistema de un DBMS
Motor ò Núcleo DBMS:
recibe los requerimientos lògicos de E/S y los convierte
en operaciones de
lectura y
escritura.
Lògicos: son cualquier tipo de
consulta requerimiento de lectura con ingreso de datos
(requerimiento de estructura) es ayudado por el Sistema Operativo
para convertir estos requerimientos lògicos en
fìsicos que actuàn sobre dispositivos de
almacenamiento.
Herramientas de definición: permite
definir y modificar la estructura de la Base de Datos, a este
nivel definimos lo que se conoce como "Esquema " que es la
definición total de Base de Datos, es que definimos la
estructura de la tabla, los tipos de campos, las restricciones
para los campos.
- Subesquema: manejo de vistas de datos, de
niveles externos. - Esquema: manejo de niveles
conceptuales.
Interface de Procesamiento: me provee de
las facilidades de actualizaciòn, despliegue y
visualizaciòn de datos.
Desarrollo de Aplicaciones: me permite
generar una aplicación por Ej: generadores de formas,
pantalla, còdigo, herramientas
case, etc.
Diccionario de Datos: este es el
componente al subsistema con el que interactuàn
directamente el DBA, le proporciona niveles de consulta y
reportes útiles para su trabajo de
administración. Es la descripción de la estructura de Base de
Datos y relaciones entre datos, y programas.
Caracterìsticas y
Objetos:
- Independencia de Datos: el DBMS me provee
una independencia de mis datos vs. las
aplicaciones. - Cambio en
datos no implica
cambio enprogramas y viceversa (Menor coste de
mantenimiento).
- Minimizar Redundancia (Datos repetidos):
desperdicio de Espacio de Almacenamiento.
Independencia de datos es proteger nuestro
programa de
aplicaciones frente a las modificaciones en la estructura de
datos y viceversa, ya sea en forma física ò
lógica.
- Independencia Física: es
protección a los programas de aplicación debido
a cambios en la estructura de archivos, con cambios en las
características de los campos. Ej: cambio de clave
primaria a secundaria. - Independencia Lógica:
protección a los programas de aplicación cuando
se modifica el esquema.
Redundancia, datos repetidos y distribuidos en
cualquier parte. El efecto que ocasiona la redundancia es tener
inconsistencia de datos y desperdicio de espacio de
almacenamiento.
Esta se presenta cuando se repiten
innecesariamente datos en los
archivos que conforman la base de
datos.
- Inconsistencia de Datos: dato que esta en
lugar con un valor y
encuentra en otro lugar con otro valor. Ej: se actualiza el
archivo cliente
pero no se actualiza el archivo de transacciones.
Ocurre cuando existe información
contradictoria o incongruente en la base de datos.
Integridad: conjunto de seguridades que son
utilizadas para mantener los datos correctos.
Ocurre cuando no existe a través de todo
el sistema procedimientos
uniformes de validación para los datos.
- Fuente de Error: estas fuentes de
error se origina si el programa de entrada de datos no esta
validado. Ej: fallas de hardware, actualizaciones
incompletas, defectos del software, inserción de datos
no vàlidos, errores humanos.
Una tècnica que usa el BDMS de una entrada
de datos no vàlida es la validación.
Validación: es proteger los datos,
validar los datos en la entrada de datos. Existen tipos de
validaciones:
- Tipo de Dato: es si se define un campo como
carácter ò char y no puede
ingresar nùmeros enteros. - Valor de Dato: si se define un valor entero
se puede especificar un rango y no se puede pasar de ese
valor. - Valores Claves / No Nulos: asegura registros
ùnicos y cuyos valores no
sean nulos. - Integridad Referencial: asegura al DBMS que
no exista registros hijos sin sus registros padres
correspondientes.
Control de
Concurrencia ò Simultaniedad
Se da en ambiente
multi-usuario, tratando de acceder aun objeto de datos al mismo
tiempo.
Ocurre cuando el sistema es multiusuario y no se
establecen los controles adecuados para sincronizar los
procesos que afectan a la
base de datos. Comúnmente se refiere a la poca o nula
efectividad de los procedimientos de bloqueo
Granularidad: que es el tamaño de las
unidades aseguradas. Ej: la granularidad puede proteger un campo,
un registro, un
archivo,etc.
Dead-look(bloqueo): es la tècnica que
evita errores de concurrencia, se da cuando se desarrolla una
espera circular entre dos transacciones y cada una de estas
solicita una actualizaciòn sobre el mismo archivo, no
permite a otros usuarios el recurso hasta que tèrmine el
proceso, se da
la espera circular.
Recuperar los datos frente a las fuentes de error
mencionadas anteriormente. La restauración de la Base de
Datos a su estado normal
es responsabilidad del DBA, quien esl el responsable
de implantar procedimientos de detecciòn de error y
recuperaciòn.
El DBA es quien tiene el control
centralizado de la base de datos. Se persigue con esto reducir el
número de personas que tengan acceso a los detalles
técnicos y de diseño para la operación del
DBMS.
Las soluciones
principales de un DBA son:
DEFINICION DEL ESQUEMA.- Crea el esquema original de la
base de datos y genera el diccionario de
datos por medio de proposiciones en DDL.
DEFINICION DE ESTRUCTURAS DE ALMACENAMIENTO Y METODOS DE
ACCESO.- Se encarga de generar a seleccionar estructuras para el
medio secundario y definir los métodos de
acceso a la información, esto ultimo por medio de
proposiciones en DML.
MODIFICACION DE ESQUEMA Y ORGANIZACIÓN.- Es una
actividad poco frecuente que consiste en rediseñar el
esquema de la base de datos. Esto se haría necesario ante
la modificación abrupta de las condiciones originales que
dieron pie al diseño del esquema primario. Las
proposiciones para llevar a cabo esta tarea se realizan en
DDL.
CONCESION DE AUTORIZACIONES DE ACCESO.- Se encarga de
registrar a los usuarios para permitir su acceso al DBMS. Asigna
a cada uno de ellos una serie de atributos que le permiten gozar
de privilegios como el acceso a determinadas áreas de
aplicación, de los datos o del uso de recursos en el
sistema.
ESPECIFICACION DE LAS LIMITANTES DE INTEGRIDAD.- Crea
una serie de tablas donde se especifica el conjunto de
restricciones que serán aplicables durante los procesos de
actualización
Para recuperar:
Backup(respaldo): disco
duro,cinta.
- Backup caliente: Base de Datos esta
operativa. - Backup frio: Base de Datos no esta
operativa.
Archivos de Logs: (registro de
transacciòn)
Son las transacciones diarias que se registran en la
Base de Datos. Cuando ocurre un problema se acude a los archivos
de logs se hace un REVERSO y tambièn se puede recuperar la
ùltima transacción que se hizo.
Se presentan cuando no es posible establecer
claves de acceso y resguardo en forma uniforme para todo el
sistema, facilitando así el acceso a
intrusos.
La seguridad de los datos se puede definir en las
siguientes aspectos:
- Objeto a asegurar: el primer objeto a asegurar son
los objetos, programas y finalmente al esquema. - Codificaciòn de Claves: el DBMS provee la
seguridad de los Login (usuario y password). - Control de Acceso: se especifican seguridades
contra accesos indicados orientado a personas no
autorizada.
Control y
Administraciònde Recursos
El DBMS debe proveer al DBA de todos los mecanismos para
control y administración de recursos. Para que el DBA
con integridad de datos, recuperaciòn de errores e
implementaciòn de seguridad.
Establecimiento de Relaciones entre
Datos
El BDMS debe proveer los recursos para el
establecimiento de relaciones entre los datos, cuales son las
relaciones: 1 -> 1, 1 -> n, n -> n
Ciclo de vida de
las operaciones de Base de datos
Etapas:
- Planificación del Proyecto
- Definición del Sistema
- Recolección y Análisis de los Requisitos
- Diseño de la Base de Datos
- Selección del SGDB / DBMS
- Diseño de la Aplicación
- Prototipo
- Implementaciòn
- Conversión y Carga de datos
- Prueba
- Mantenimiento
Estas etapas no son estrictamente secuenciales de
hecho hay que repetir algunas de las etapas varias veces haciendo
lo que se conoce como "Ciclos de Re-alimentaciòn" por Ej:
los problemas que
se encuentran en la etapa de Diseño de la Base de Datos
pueden requerir una recolección de requisitos adicional y
su posterior análisis.
El ciclo de vida
de un desarrollo de una base de datos consta de siete
pasos:
Análisis de las necesidades
Estudio de viabilidad
Definición de requisitos
Diseño conceptual / lógico
Implementación
Evaluación
y Mantenimiento
Planificación del Proyecto:
Esta etapa con lleva la planificación de como se puede llevar
acabo las etapas de ciclo de vida de la manera màs
eficiente, hay tres componentes principales:
- El trabajo que se va arealizar.
- Los recurso para llevarlo acabo.
- El dinero
para pagar todo ello.
Definición del
Sistema
En esta etapa se especifica el àmbito y
los ìndices de la aplicación de la Base de Datos
asì como con que otros sistemas interactua.
Tambièn hay que determinar quienes son los usuarios y
las àreas de la aplicación.
Recolección y Análisis de
los Requisitos:
En esta etapa se recoge y analiza los
requerimientos de los usuarios y de las àreas de
aplicación. Esta información se la puede recoger
de varias formas:
- Entrevistando el personal de
la empresa
concretamente aquellos que son considerando expertos en la
àrea que se de. - Observando el funcionamiento de la empresa.
- Examinando documentos
sobre todo aquellos que se utilizan para recoger o visualizar
la información. - Utilizando cuestionario para recoger información
de grandes grupos de
usuarios. - Utilizan la experiencia adquirida en el Diseño de
Sistemas similares.
Esta etapa tiene como resultado en conjunto de
documentos con las especificaciones de requisitos de los
usuarios en donde se describen las operaciones que se realizan
en la empresa desde distintos puntos de vista.
Los requisitos de desarrollo involucran el software y
hardware necesario para la implementación, los recursos
humanos necesarios (tanto internos como externos), la
formación al personal.
En esta etapa se crea un esquema conceptual de la base
de datos. Se desarrollan las especificaciones hasta el punto en
que puede comenzar la implementación. Durante esta etapa
se crean modelos
detallados de las vistas de usuario y sobre todo las relaciones
entre cada elemento del sistema, documentando los derechos de uso y
manipulación de los diferentes grupos de
usuarios.
Si parte de la información necesaria para crear
algún elemento establecido ya se encuentra implementado en
otro sistema de almacenamiento hay que documentar que
relación existirá entre uno y otro y detallar los
sistemas que eviten la duplicidad o incoherencia de los
datos.
El diseño consta, como se vio anteriormente, de
tres fases: el diseño global o conceptual, el
diseño lógico y el modelo
físico.
Esta etapa consta de tres fases: diseño
conceptual, diseño lògico, diseño fisico de
la Base de Datos.
La primera fase consiste en la producción de un esquema conceptual que es
independiente de todos los consideraciones fisicas.este modelo se
refina después en un
esquema lògico eliminando las construcciones que
no se puede representar en el modelo de Base de Datos escogido
(relacional, orientado a objeto,etc). En la tercera
fase el esquema lògico que traduce un esquema
fisico para el sistema gestor de Base de Datos escogido. La fase
de diseño fisico considera las estructuras de
almacenamiento y los mètodos de acceso necesarios
para proporcionar un acceso eficiente a la Base de Datos en
memoria secundaria.
Selección del SGBD /
DBMS:
Si no se dispone de un Sistema Gestor de Base de Datos o
que se encuentre obsoleto se debe escoger un SGBD que sea
adecuado para el sistema de información esta
elecciòn se debe hacer en cualquier momento antes
del diseño lògico.
Diseño de
aplicación:
En esta etapa de diseña los programas de
aplicación que usaràn y aplicarà la Base de
Datos, esta etapa el diseño de la Base de Datos son
paralelos en la mayor parte de
los casos no se puede finalizar el diseño de las
aplicaciones hasta que se a terminado el diseño de Base de
Datos. Por otra lado la Base de Datos exige para dar
soporte
a las aplicaciones por lo que ahora una retroalimentación desde el diseño de
las aplicaciones al diseño de la Base de Datos. En esta
etapa hay que asegurarse de que
toda la funcionalidad especificada en los requisitos de
usuarios se encuentra en el diseño de la
aplicación.
Prototipo:
Esta etapa es opcional es para construir prototipo de la
aplicaiòn que permiten a los diseñadores y al
usuario probar el sistema, un prototipo es un modelo de trabajo
de las aplicaciones del sistema. El prototipo no tiene toda la
funcionalidad del sistema final pero es suficiente para que los
usuarios puedan usar el sistema e identificar que aspectos estan
bien, cuales no son adecuados ademàs de poder sugerir
mejora ò la inclusión de nuevos
elementos.
Implementaciòn:
En esta etapa se crean las definiciones de la Base de
Datos a nivel conceptual externo ò interno, asì
como los programas de aplicación la implementaciòn
de la Base de Datos se realiza mediante las sentencias SQL, estas
sentencias se encargan de crear el sistema d la base, los
ficheros donde se almacenaràn los datos y las vistas de
los usuarios.
Los programas de aplicación se implementan
utilizando lenguaje de tercera y cuarta generaciòn, partes
de estas aplicaciones son transacciones de la Base de Datos que
se implementan tambièn mediante lenguaje SQL. La sentencia
de este lenguaje se pueden embeber en un lenguaje de
programciòn anfitrion como Visual
Basic,Java, etc.
Tambièn se implementan en esta etapa todos l,os controles
de seguridad e integridad.
Una vez totalmente detallado el modelo conceptual se
comienza con la implementación física del modelo de
datos, a medida que se va avanzando en el modelo el administrador
del sistema va asegurando la corrección del modelo y el
validador la utilidad del
mismo.
Conversión y Carga de
datos:
Esta etapa es necesaria cuando se esta reemplazando un
sistema antiguo por uno nuevo. Los datos se cargan desde el
sistema viejo al nuevo directamente ò si es necesario se
convierte al formato que requiera el nuevo SGBD y luego se carga
esta etapa se la suele llamar "Migraciòn".
Prueba:
En esta etapa se prueba y vàlida el sistema con
los requisitos especificados por los usuarios. Para ello se debe
diseñar una materia de
test con datos
reales que se deben llevar acabo de manera metòdica y
rigurosa. Si la fase de prueba se lleva correctamente
descubrirà los errores en los programas de
aplicación y en la estructura de la Base de
Datos.
Mantenimiento:
Una vez que el sistema esta completamente probado o
implementado se pone en marcha. El sistema esta ahora en la fase
de mantenimiento en la que se lleva acabo los siguientes tareas:
monitoreo de las prestaciones
del sistema y mantenimiento, y actualizaciòn del
sistema.
En esta última etapa todos los usuarios del
sistema acceden a la base de datos y deben asegurarse el correcto
funcionamiento de la misma, que sus derechos son los adecuados,
teniendo a su disposición cuanta información
necesiten. También deberán asegurarse que el acceso
a los datos es cómodo, práctico, seguro y que se
han eliminado, en la medida de lo posible, las posibilidades de
error.
El administrador se asegura que todos los derechos y
todas las restricciones han sido implementadas correctamente y
que se ha seguido en manual de estilo
en la totalidad de la implementación
- Modelaje: es el proceso mediante el cual
podemos identificar las propiedades dinàmicas ò
estàticas de un dominio de aplicación con mira a
su transformación en un diseño interpretable en
un sistema computarizado. Es el plasmar los requerimientos de
los usuarios en un programa para poder
implementarlo. - Entidad: es el objeto sobre el cual se
requiere mantener ò almacenar
información. - Relaciòn: es la asociación
significativa y estable entre dos entidades
- Atributo: son las propiedades que describen
y califican una entidad. Ej: Entidad cliente(nombre,
apelliido, direcciòn, edad, sexo)
Las entidades se las representa mediante cajas que se
colocan el nombre de la entidad con letras mayùsculas.
Ej:
Las relaciones se representan con lìneas que
conectan las cajas de las entidades. Ej:
Los atributos se incluyen dentro de las cajas de
las entidades y se escriben con minùsculas. Ej:
Entidades: se puede considerar entidades a los
sujetos, objetos, a los eventos, a los
lugares y a los abstracciones.
Relaciones: las relaciones tiene tres propiedades
ò caracterìsticas:
- Grado ò Cardinalidad: que se
clasifica en:
- Opcionalidad: es la participación
obligatoria u opcional en la entidad de la
relaciòn.
- Leyenda: es una expresión que escribe
el rol de cada entidad en la relaciòn.
Como se lee el Grado ò
Cardinalidad:
- Uno a muchos: una instancia de la entidad A
se relaciona con una ò màs instancias de la
entidad B.
- Muchos a muchos: una instancia de la entidad
A se relaciona con una ò màs instancias de la
entidad B y una instancia de la entidad B se relaciona con
uno ò màs instancias de le entidad
B.
- Uno a uno: una instancia de la entidad A se
relaciona con uno y sòlo unainstancia de la entidad
B.
Una instancia de una entidad se asocia con instancia de
si misma, es opcional en los dos extremos,es decir, no hay el
carácter de obligatorio. Ej:
Atributo:
Los atributos son empleados para identificar, describir,
calificar ò expresar el estado de
una entidad.
Todo entidad posee un atributo ò
combinación de atributos que se denomina "clave primaria"
y que emplea para diferenciar cada instancia de los
demàs.
Adicionalmente los atributos pueden ser obligatoriou
opcionales.
- A los atributos que forman parte de la clave
primaria se los identifica anteponiendoles el signo de numero
(#). - A los atributos obligatoriose les antepone el
asterisco (*). - A los atributos opcionales se les antepone un
circulo (o).
Ejemplo:
En un diagrama
entidad-relaciòn tambièn puede agrupar las
entidades en supertipo y en subtipo.
- Los supertipo agrupa a dos ò màs
entidades subtipo. - Los subtipo heredan los atributos de las entidades
supertipo.
- Cada subtipo puede tener relaciones propias
independientes del supertipo. - Los subtipos se representan como cajas dibujadas
dentro de la caja del supertipo.
COMPAÑÍA DE BOTES SAN
JUAN
San Juan es un agente que renta embarcaciones a los
clientes por una
determinada tarifa. San Juan no posee barcos, en lugar de eso los
arrienda a nombre a los propietarios que deseen obtener ingresos cuando
no usan sus botes. Por tal servicio San
Juan cobra una cuota y se especializa en barcos que puedan usarse
para viajes de
varios días o semanas.
La embarcación más pequeña tiene 28
pies de largo y la más grande es de 44. Cada barco esta
por completo equipado cuando se renta; gran parte del equipo
proporciona el propietario, San Juan agrega otra parte. El equipo
que proporciona el propietario incluye lo que es parte del bote
como: radio, brújula,
indicadores de
profundidad. Otros importantes instrumentos como estufas y
refrigeradores.
Otros que proporciona el propietario no están
instalados como parte del bote tales implementos incluyen velas,
cuerdas, anclas bolsas de caucho,
salvavidas, y en la cabina platos, cubiertos, utensilios de
cocina, etc. San Juan aporta el equipo de consumo que
podría considerarse como provisiones, libros,
jabón, toallas de cocina y artículos
similares.
Una importante responsabilidad de San Juan es registrar
el equipo que este en el bote, en particular lo que no
están fijos en la embarcación.
San Juan prefiere conservar registros precisos de sus
clientes y los viajes para tener estadísticas de cuales clientes han ido y
en que viaje; algunos itinerarios son más peligrosos que
otros por tal motivo a San Juan le gustaría saber que
clientes tienen determinado experiencias.
En algunos viajes los clientes solicitan servicios de
una tripulación y San Juan contrata por hora a tales
personas.
Las embarcaciones necesitan mantenimiento, San Juan
incluye servicios precisos de todos esos procesos y costos de
mantenimiento incluyendo actividades normales como limpieza,
cambia de aceite o
representaciones no programadas.
En algunos casos son necesarias las invitaciones durante
un viaje, en tal caso los clientes se comunican por radio con el
despachador de San Juan quien determina la mejor opción
para hacer la reparación. Por tanto más estas
decisiones los despachadores necesitan información sobre
sus opciones de reparación y antecedentes sobre costos y
calidad de la
reparación.
ENTIDADES:
- CLIENTE
- PROPIETARIO
- BOTE
- EQUIPO
- VIAJE
- MANTENIMIENTO
- REPARACIÓN
- TRIPULACIÓN
- TIP_EQUIPO
Video club
En una tienda de video se necesita
mantener información de alrededor de 3000 casetas cada uno
de los casetes tiene asignado un número por cada
`película se necesita conocer un titulo y categoría
por ejemplo: comedia, suspenso, drama, acción,
ciencia
ficción, etc. Se mantienen algunas copias de muchas
películas. Se le da a cada película una
identificación y se mantiene seguimiento de lo que
contiene cada casete.
Un casete puede venir en varios formatos y una
película es grabada en un solo casete; frecuentemente las
películas son pedidas de acuerdo a un actor especifico Tom
Cruise y Demi More son los más populares es por esto que
se debe mantener información de los actores que pertenecen
a cada película.
No en todas las películas actúan artistas
famosos, a los clientes de la tienda le gusta conocer datos como
el nombre real del actor, y su fecha de nacimiento.
En la tienda se mantienen información solo d los
actores que aparecen en las películas y que se tiene a
disposición. Solo se alquila videos a aquellos que
pertenecen al club de videos. Para pertenecer al club se debe
tener un buen crédito. Por cada miembro del club se
mantiene una ficha con su nombre, teléfono y dirección, cada miembro del club tiene
asignado un número de membresía. Se desea mantener
información de todos los casetes que un cliente alquila,
cuando un cliente alquila un casete se debería conocer e
nombre de la película, la fecha en la que se alquila y la
fecha de devolución.
ENTIDAD
- CLIENTE
- PELÍCULAS
- TIPO_PEL
- ACTORES
- CASETE
- ALQUILER
ACTOS VANDÁLICOS
Una cadena de hoteles a
decidido acabar con los clientes que deterioran el mobiliario del
hotel. Quieren guardar en una base
de datos los clientes que han deteriorado o robado muebles y
cuales son estos muebles.
En la base de datos tendremos información de cada
hotel (código,
dirección, teléfono), así como un conjunto
de habitaciones identificadas con un número de
identificación único para cada hotel y un
número de inmobiliario estándar con un
código, descripción precio, por
ejemplo: "Silla de cuero,
diseño clásico, $43 ".
Después de hacer un inventario todo
el mobiliario de los hoteles esta identificado, es decir, sabemos
que y cuanto elemento de mobiliario hay en cada habitación
de cada hotel.
Los muebles pueden cambiar de habitación pero no
necesitamos guardar la habitación antigua. Para cada
habitación guardaremos también si es soleada, si
tiene lavado y si tiene nevera. Cada cliente tiene
información personal (cedula de identidad,
nombre, etc.) y además un historial de sus actos
vandálicos. Para cada cliente guardaremos que muebles y
cuantos han deteriorado.
También queremos saber la estancia que ha hecho
cada cliente en el hotel, guardaremos en un atributo la fecha de
llegada y de salida, así como la de la habitación
en la que se ha alojado.
Un cliente puede alojarse en una misma habitación
del hotel en diferentes estancias.
Queremos saber los actos vandálicos (que y
cuantos muebles) que ha hecho cada cliente en conjunto
independientemente de la habitación que se halla
producido.
Queremos saber los actos vandálicos de cada
cliente en cada habitación.
ENTIDADES
- CLIENTE
- HOTEL
- HABITACIÓN
- MOBILIARIO
- ESTANCIA
- TIPO_CLIENTE
- ACTO_VANDALICO
- TIPO_HABITACION
- TIPO_MUEBLE
Ejercicios Propuestos
El Instituto Se pretende dotar a un centro escolar de
medios informáticos
con el fin de automatizar su gestión.
Descripción
En el centro se utilizan
cuadernillos de notas para cada alumno, donde se ponen
las notas correspondientes a cada evaluación de las
asignaturas a las que asiste el
alumno. Para ello es preciso tener una lista de alumnos que
siguen una asignatura y
una lista de alumnos que no tienen nota de una asignatura
determinada. También se
quiere la lista de notas dada por un profesor.
Además, cada clase tiene un
profesor que hace las funciones de
tutor, un profesor
puede ser tutor de varias clases e impartir varias asignaturas en
una clase, pero una
asignatura solo puede ser impartida por un profesor en una clase.
En cada clase, hay
también dos representantes o delegados.
Resultados a considerar
El sistema debe dar respuesta
a las siguientes preguntas:
1. El profesor J. Pérez imparte Ingles en 4o C (Lista de
destinos del profesor por
asignatura y clase).
2. P. Sánchez es alumno de la clase 3o A (Lista de alumnos
por clase).
3. P. Rodríguez ha obtenido una nota de 6 en Ingles el
12/3/97 (Libretas de notas).
4. La profesora C. Castillo es tutora de 5o B (Lista de
tutores).
5. J. Largo es delegado de 3o A (Lista de delegados).
6. El profesor J. Pérez es profesor del Instituto desde
Septiembre de 1992.
La asociación "Amigos de la Fiesta" desea recoger
en una base de datos toda la información acerca de las
corridas de todos que se celebran en España y
de todos los datos relacionados con ellas.
Se desea tener información acerca de cada
corrida, identificada conjuntamente por un número de
orden, la feria en la que se celebra y el año de
celebración (por ejemplo: orden = 2, feria = San Isidro,
Año = 1999).
En una determinada corrida actúan una serie de
toreros (mínimo 1 y máximo 3) de los que desea
guardar su DNI, nombre, apodo y fecha en que tomó la
alternativa (fecha en la que se convirtió en matador de
toros). Además se desea saber quien fue el torero que le
dio la alternativa (padrino) en su día (un torero puede
dar la alternativa a varios toreros o a ninguno).
En cada corrida un torero obtiene una serie de premios
(cuántas orejas, cuántos rabos y si salió
por la puerta grande o no) de los que se desea mantener
información.
Cada torero puede tener un apoderado del que es
protegido. A su vez, un apoderado lo puede ser de varios toreros.
De él se desea saber su DNI, nombre, dirección y
teléfono.
Una corrida se celebra en una plaza de toros de la que
se desea saber su nombre que se supone único, localidad,
dirección y aforo.
En una misma plaza se pueden celebrar varias corridas de
toros.
En cada corrida son estoqueados al menos 6 toros. Cada
toro viene identificado por el código de la ganadería
a la que pertenece, el año en que nació y un
número de orden. Además se desea mantener
información acerca de su nombre y color así
como el orden en que fue toreado.
Cada toro pertenece a una ganadería determinada.
De cada ganadería se pretende saber su código,
localidad y antigüedad (fecha de
creación).
Ejemplos de Enunciados
- Cada orden de comprar da lugar a una factura.
- Un empleado pueden o no puede ser un vendedor pero un
vendedor puede ser un empleado. - Un cliente solamente puede enviar una orden de compra
al mismo tiempo cualquier persona que no tenga una orden
pendiente no es un cliente. - Un cliente es un cliente sin importar el
número de orden de compra que tenga pendiente hasta
la fecha. Cada orden de compra pertenece a un
cliente. - Un vendedor puede tener una o más
clientes. - Cada producto
que tenemos en stock esta compuesto de uno ó
más partes, cada parte es usada en un solo
producto.
MODELO RELACIONAL
Modelo Relacional | Programador | Campo |
Relación | Archivo | Tabla |
Tupla | Registro | Fila |
Atributo | Campo | Columna |
El conjunto de una base de datos es el conjunto de tabla
relacional.
La tabla.- Es un conjunto de
restricciones.
NORMALIZACIÓN.- El proceso que revisa que
la tabla este bien estructurado se llama normalización.
La normalización esta basada en el concepto de
formas normales cada forma normal tiene un conjunto de reglas que
deben ser verificada (1NF, 2NF, 3NF).
Estas formas normales son anidados, es decir que para
que una relación este en 3FN debe haber pasado por 2FN y
esta por la 1FN.
Conceptos usados en la
normalización
- Dependencia Funcional.- es la relación
que existe entre dos atributos. Ejemplo:
Dado un valor de X existe un valor de Y entonces Y es
funcionalmente dependiente de Y.
EMPLEADO
Cod_empleado | Nombre |
001 | Juan Perez |
002 | Ana Quiroz |
X à Y |
- Claves o llaves.- Es el atributo que le da la
diferencia a cada tabla este atributo hace que no tengamos
tuplas o filas repetidas.
Cod_cliente | Nombre_cliente |
001 | Juan Perez |
002 | Ana Quiroz |
003 | Ana Quiroz |
004 | Juan Perez |
005 | José Lopez |
- Dependencia transitoria.- Es la
dependencia que esta encadenada.
X Y Z = Dado un valor de "X" existe un valor de
"Y" y dado un valor de "Y" existe un valor de "Z" entonces se
dice que "z" es transitivamente dependiente de "X".
Primera Forma Normal (1FN)
- Las celdas o campos deben tener valores
singulares. - Las entradas de cualquier columna o atributo deben
ser de la misma clase. - Cada columna debe tener un nombre
único. - Dos filas o tuplas no pueden ser iguales.
ID | Deporte | Valor |
100 | Ski | 200 |
150 | Natación | 50 |
175 | Squas | 50 |
200 | Natación | 50 |
Al realizar operaciones sobre la tabla se pueden
presentar problemas, estos problemas son llamadas
anomalías, estas anomalías pueden ser de
inserción, actualización, eliminación,
etc.
Segunda Forma Normal (2FN)
Todo atributo no clave depende de un atributo clave
"Eliminar dependencias parciales a la clave Primaria de una
Tabla"
Tercera Forma Normal (3FN)
Una relación esta en 3FN si y solo si esta en 2FN
y tiene dependencias transitivas, es decir, dependencia
encadenada.
EJERCICIO APLICANDO NORMALIZACION
EMPRESA XYZ | |||||||||
Cliente: _________________________ | Nº Factura: __________ | ||||||||
Fecha: __________________________ | Nº Orden: __________ | ||||||||
Código Producto | Detalle | Tamaño | Cantidad | Precio Venta | Precio Dscto. | Precio Especial | Valor | ||
O | E | R | |||||||
xxx | xxxxxx | xx | x | xxx.xx | xxx.xx | xxx.xx | xxx.xx | ||
xxx | xxxxxx | xx | x | xxx.xx | xxx.xx | xxx.xx | xxx.xx | ||
xxx | xxxxxx | xx | x | xxx.xx | xxx.xx | xxx.xx | xxx.xx | ||
Total Factura $ |
- 1FN
*
* *
*
| Número_factura Fecha_factura Total_factura Numero_orden Fecha_orden Cta_bco_cliente Nombre_cliente Direccion_cliente Direccion_entrega Codigo_producto Descripcion_producto Tamaño_producto Cantidad_ordenada Cantidad_entregada Cantidad_restante Precio_venta Precio_dscto Precio_especial Valor_linea |
- 2FN
*
| Número_factura Fecha_factura Total_factura |
* | Numero_orden Fecha_orden |
*
| Cta_bco_cliente Nombre_cliente Direccion_cliente Direccion_entrega |
*
| Codigo_producto Descripcion_producto Tamaño_producto Cantidad_ordenada Cantidad_entregada Cantidad_restante Precio_venta Precio_dscto Precio_especial Valor_linea |
- 3 FN
*
| Número_factura Fecha_factura Total_factura |
* | Numero_orden Fecha_orden |
*
| Cta_bco_cliente Nombre_cliente Direccion_cliente Direccion_entrega |
*
| Codigo_producto Descripcion_producto Tamaño_producto Precio_venta Precio_dscto Precio_especial |
* *
| Codigo_factura Codigo_producto Cantidad_ordenada Cantidad_entregada Cantidad_restante Valor_linea |
Ejercicio 1. Actos vandálicos
Una cadena de hoteles ha decidido acabar con los
clientes que deterioran el mobiliario del hotel. Quieren guardar
en una base de datos los clientes que han deteriorado o robado
muebles y cuáles son estos muebles.
En la base de datos tendremos información de cada
hotel (código, dirección y teléfono),
así como un conjunto de habitaciones identificadas por un
número de habitación único para cada hotel y
un conjunto de elementos de mobiliario estándard con un
código, descripción y precio, por ejemplo: "silla
de cuero diseño clásico, 98’75
€".
Después de hacer un inventario, todo el
mobiliario de los hoteles está identificado, es decir,
sabemos qué y cuantos elementos de mobiliario hay en cada
habitación de cada hotel. Los muebles pueden cambiar de
habitación, pero no necesitamos guardar la
habitación antigua.
Para cada habitación, guardaremos también
si es soleada, si tiene lavabo y si tiene nevera. Cada cliente
tiene información personal (DNI, nombre, etc), y
además un historial de sus actos vandálicos: para
cada cliente guardaremos qué muebles y cuántos ha
deteriorado.También queremos saber las estancias que ha
hecho cada cliente en los hoteles, guardando en un único
atributo la fecha de llegada y la de salida, así como la
habitación en que se ha alojado. Un cliente puede alojarse
en una misma habitación de hotel en diferentes
estancias.
Ejercicio 1.1: Queremos saber los actos
vandálicos (qué y cuantos muebles) que ha hecho
cada cliente en conjunto, independientemente de la
habitación y hotel que se hayan producido.
Ejercicio 1.2: Queremos saber los actos
vandálicos de cada cliente en cada habitación del
hotel.
Ejercicio 2. Almacenes
Unos almacenes quieren
hacer un estudio sobre los hábitos de compra de sus
clientes. Disponen de un conjunto de artículos
identificados por su código de barras, cada uno con una
descripción y el nombre de su fabricante. Para cada
artículo, quieren probar diversas colocaciones para
estudiar como varía su venta.
Para cada colocación tendremos un precio y un
lema (del tipo "Más dulces que la miel"), no
necesariamente diferentes. Como un artículo y un lugar
determinan una colocación, no puede existir una
colocación sin ningún artículo.
Los clientes de nuestro almacén se
identifican por su nombre, número de visa, y además
queremos guardar su dirección y teléfono. De las
compras que
realizan, sólo queremos saber qué articulo, en
qué colocación y el número de unidades que
ha comprado. Diversas compras del mismo artículo en la
misma colocación se acumulan en la misma tupla sumando el
número de unidades.
Ejercicio 3. Biblioteca
En una biblioteca hay
que guardar la información de todas las publicaciones que
se tienen. Cada publicación tiene un título
único. Las publicaciones pueden ser periódicas o
no. De las periódicas hay que saber su periodicidad. Las
publicaciones periódicas constan de revistas, cada una
definida por un volumen,
número y año. Cada revista
contiene artículos, especificados por autores,
título y páginas de la revista. De cada revista
(volumen y número) se puede tener más de un
ejemplar, caracterizado por un número de ejemplar. Se
puede tener más de un ejemplar, aunque no de todos los
volúmenes o números.
Las publicaciones se pueden clasificar en diferentes
temas, que pueden estar agrupados en una relación
jerárquica de tema-subtema.
Los socios de la biblioteca pueden coger en
préstamo todas las publicaciones periódicas que
deseen por un periodo de quince días. Los préstamos
siempre hacen referencia a los ejemplares concretos de las
publicaciones. Si al solicitar un préstamo de una
publicación, ésta tiene todos los ejemplares
ocupados, el socio se puede poner en una lista de espera para la
publicación periódica, para ser avisado en el
momento que se devuelva alguno de los ejemplares.
Ejercicio 4. Electricista
La empresa de suministros eléctricos "El Chispa"
te encarga hacer un diseño de BD de control de stocks y
facturación con los siguientes requerimientos:
"El Chispa" vende artículos. De cada
artículo se quiere guardar el código del
artículo, nombre, color, medidas, fabricante y precio de
venta. Por ejemplo:
E12, enchufe txuco, blanco, 9x 9 cm, Simon, 2’10
€.
Un artículo no puede ser suministrado por
más de un fabricante y no queremos guardar los precios de
venta antiguos, sólo el actual.
De cada fabricante queremos guardar infomación
del código del fabricante, nombre, dirección,
població, teléfono y forma de pago (al contado,
cheque o
transferencia).
De cada venta "El Chispa" hace un Doc de entrega/venta,
donde constan el código de entrega/venta, fecha, datos del
cliente, número y código de los artículos
vendidos, precio por unidad y precio total por artículo
(número de unidades x precio/unidad).
A finales de mes o cuando toque, se agrupan los
albaranes hechos a un cliente en una factura donde queremos que
conste: código de factura, fecha, datos del cliente, la
información de cada albarán (número y nombre
de los artículos, precio por unidad y precio total por
artículo), total de la factura, forma de pago y
vencimiento en caso que el pago no sea al contado. Todo
albarán sólo se puede facturar una sola
vez.
De un cliente se quiere guardar el NIF, nombre,
dirección, población y teléfono. Una factura
pertenece únicamente a un cliente.
Tenemos un único almacen donde guardamos todos
los artículos. Queremos guardar el número de
artículos que tenemos en el almacen en un momento
determinado.
Los fabricantes envian artículos al almacen.
Queremos guardar los envíos de entrada al almacen. Todo
envío consta únicamente de un artículo. De
cada envío queremos saber la fecha, código del
artículo y número de unidades enviadas. Un
fabricante puede enviar el mismo día unidades de un mismo
artículo. En este caso se suma el número de
unidades enviadas en la misma fecha.
Ejercicio 5. Conflictos
bélicos
Una organización internacional quiere hacer un
seguimiento de los conflictos bélicos que se producen en
el mundo. Por esto quiere crear una BD que responda a los
siguientes requerimientos:
Un conflicto es
cualquier lucha armada que afecte a uno o a diversos paises,
donde se producen muertos i/o heridos. Todo conflicto se
identificará por un nombre o causa que provoca el
conflicto. Este nombre puede cambiar con el paso del tiempo, por
lo que cada conflicto se identificará con un código
numérico único. Para cada conflicto se quiere
guardar los paises queafecta así como el número de
muertos y heridos par cada país y el total.
Los conflictos pueden ser de diferentes tipos,
según la causa que los haya originado,
clasificándose, como mucho, en cuatro grupos:
territoriales, religiosos, económicos y raciales. En cada
uno se guardarán diferentes datos. En los territoriales
tendremos las regiones afectadas, en los religiosos las religiones en conflicto, en
los económicos las materias primas disputadas y en los
raciales las razas enfrentadas.
En los conflictos intervienen diferentes grupos armados
(como mínimo dos) y diferentes organizaciones
intermediarias, pudiendo no haber ninguna. Los mismos grupos
armados y organizaciones intermediarias pueden intervenir en
diferentes conflictos. Tanto los grupos como las organizaciones
podrán entrar y salir del conflicto. En este caso se
recogerán las fechas de incorporación y de salida.
Podría ser que en un momento determinado un grupo u
organización no interviniera en ningún
conflicto.
Para cada grupo armado se guarda un código que se
le asigna y un nombre. Cada grupo armado dispone de una o
más divisiones y es liderado por un único líder
político. Las divisiones de que dispone un grupo se
numeran consecutivamente y se registra el número de
barcos, tanques, aviones y hombres de que dispone así como
les bajas que ha tenido. Para los grupos armados se obtiene el
número de bajas como la suma de las bajas producidas en
todas las divisiones.
Los traficantes de armas suministran
diferentes tipos de armamento a los grupos armados. De cada tipo
de arma se recoge un nombre y un indicador de su capacidad
destructiva. De cada traficante se tiene un nombre y los
diferentes tipos y cantidades de armas que puede suministrar. Se
guarda el número total de armas de cada tipo que cada
traficante suministra a un grupo armado.
Los líderes políticos se identifican por
su nombre y por código del grupo armado que
lideran.
Además se guarda una descripción en
texto de los
apoyos que ha recibido.
Cada división la pueden dirigir conjuntamente un
máximo de tres jefes militares, a pesar de que cada jefe
militar no dirige más que una división. A cada jefe
militar se le identifica por un código y rango que tiene.
Dado que un jefe militar no actúa por iniciativa propia,
sino por iniciativa de un único líder
político de los que lideran el grupo armado donde
pertenece el jefe, queremos saber quién es este
líder político a quien obedece.
De las organizaciones intermediarias se recojerá
su código, nombre, tipo (gubernamental, no gubernamental,
internacional), la
organización de quien depende (una como
máximo), el número de personas que mantiene
desplegadas en cada conflicto y el tipo de ayuda que da en cada
conflicto que puede ser únicamente uno dels siguientes
tipos: médica, diplomática o presencial.
Con diferentes finalidades, los líderes
políticos dialogan con las organizaciones. Se desea
recoger explícitamente esta información.
Así, para cada líder se guardarán aquellas
organizaciones con las que dialoga y viceversa.
Ejercicio 6. Parques naturales
El ministerio de Medio Ambiente
decide crear un sistema de
información sobre parques naturales gestionados por
cada Comunidad
Autónoma. Después de un análisis exhaustivo
del contexto se ha llegado a las siguientes
conclusiones:
Una Comunidad Autónoma (CA) puede tener varios
parques naturales. En toda la comunidad autónoma existe un
único organismo responsable de los parques. Un parque
puede estar compartido por más de una
comunidad.
Un parque natural se identifica por un nombre y la fecha
en que fué declarado parque natural, y está
compuesto por varias áreas identificadas por un nombre
(único dentro del parque pero puede ser genérico
entre parques naturales) y una extensión en
kilómetros cuadrados. Por motivos de eficiencia se
quiere favorecer las consultas que hagan referencia al
número de parques existentes en cada CA y la superficie
total declarada como parque natural en cada CA.
En cada área residen especies que pueden ser de
tres tipos: vegetales, animales i
minerales.
Cada especie tiene una denominación
científica, una denominación vulgar y un
número de individuos en cada área. De las especies
vegetales se quiere saber si tienen floración y en
qué periodo (mes) se produce. De los animales se quiere
saber su tipo de alimentación
(herbívora, carnívora u omnívora) y su
periodo de celo. De los minerales se quiere saber si se trata de
cristales o rocas. Interesa,
además, registrar qué especies sirven de alimento a
otras especies, teniendo en cuenta que ninguna especie mineral se
considera alimento de ninguna otra especie y que una especie
vegetal no se alimenta de ninguna otra especie.
Cada parque tiene un personal en dedicación
exclusiva. De este personal se guarda el DNI, número de la
SS, nombre y apellidos, dirección, teléfonos (fijo
y movil) y sueldo. Se distinguen cuatro tipos de
personal:
• Personal de gestión: registra los datos de
los visitantes del parque y se situan a la entrada del parque.
Las entradas se identifican por un número y
orientación (N, S, E, O).
• Personal de vigilancia: vigila una área
determinada del parque que recorre un vehículo de un tipo
determinado y con una matrícula.
• Personal de conservación: mantiene y
conserva un área determinada del parque. Cada uno realiza
una tarea determinada (limpiar, dar de comer, jardinería,
etc.) en un lugar concreto del
área (caminos, zona recreativa, jardines,
etc.).
• Personal investigador: tiene una
titulación que hay que guardar y puede realizar
sólo o en grupo proyectos de
investigación sobre una determinada
especie.
Un proyecto de
investigación tiene un título, presupuesto, un
único investigador principal, un periodo de
realización y un conjunto de investigadores que
participan.
Un visitante (DNI, nombre, apellidos, dirección y
profesión) puede alojarse en els alojamientos que tiene el
parque. Los alojamientos tienen una capacidad limitada y una
determinada categoría.
Los alojamientos organizan excursiones al parque en
vehículo o a pié unos determinados días de
la semana y a horas determinadas. Para ir a estas excursiones hay
que ser visitante del parque.
Ejercicio 7. ONG
La coordinadora nacional de ONGs quiere mantener una
base de datos de las asociaciones de este tipo que existen en
nuestro país. Por ello necesita guardar información
sobre cada asociación, los socios que las forman, los
proyectos que
realizan y los trabajadores que particpan. De las asociaciones se
quiere almacenar su CIF, nombre, dirección, provincia, el
tipo de ONG
(ecologista, de integración, de desarrollo, etc.)
así como si está declarada de utilidad
pública por el Ministerio de Interior.
Cada asociación está formada por socios de
quienes se quiere conocer su DNI, nombre y apellidos,
dirección, provincia, fecha de alta de la
asociación, cuota mensual con la que colaboran y la
aportación anual que realizan. La aportación anual
será el total de las cuotas mensuales más otras
aportaciones voluntarias.
Cada trabajador de una ONG se identifica por su DNI,
nombre y apellidos, dirección, teléfonos y fecha de
ingreso. Todo trabajador trabaja para una única ONG. Estos
trabajadores pueden ser de dos tipos: profesionales y
voluntarios. Los profesionales cobran un sueldo y ocupan un
cierto cargo en la asociación. Se quiere guardar el cargo
que ocupan, la cantidad que pagan a la SS i el porcentaje de IRPF
que se les descuenta. Los voluntarios trabajan en la
organización desinteresadamente. Queremos saber de ellos
su edad, profesión y horas que dedican a la
asociación.
Las asociaciones realizan proyectos a los cuales
están asignados sus trabajadores. Un trabajador puede
trabajar en diferentes proyectos de un mismo país. De cada
proyecto se quiere almacenar un número de
identificación en la ONG, país y región
donde se realiza, el objectivo que pretende y el nombre de
personas que afecta.
Ejercicio 8. Pinacoteca
El Ministerio de Educación y Ciencia
quiere tener información sobre todos los cuadros que se
encuentran en las pinacotecas.
De cada pinacoteca se quiere saber el nombre
único, ciudad donde se encuentra, dirección y
extensión en metros cadrados.
Cada pinacoteca tiene un conjunto de cuadros de los
cuales se quiere guardar el código (único para
todas las pinacotecas), nombre, medidas, fecha en que se
pintó y técnica utilizada par pintarlo.
Cada cuadro es pintado por un único pintor, del
que queremos saber el nombre y apellidos, ciudad y país
donde nació, fecha de nacimiento y fecha de la muerte. Un
pintor puede tener un único maestro, pero un maestro puede
serlo de varios pintores.
Los pintores pueden pertenecer o no a una escuela de la
cual se quiere saber el nombre así como el país y
fecha en que apareció.
Los pintores pueden tener también uno o varios
mecenas que los protejen. De los mecenas queremos saber el nombre
y apellidos, país y fecha de nacimiento, fecha de la
muerte y la
fecha de inicio y final del soporte que dió al pintor. Un
mecenas puede serlo de varios pintores y un pintor puede tener
varios mecenas en periodos diferentes. Se quiere recoger la
relación que existe entre un pintor y su
mecenas.
Ejercicio 9. Proyectos de
investigación
En la UAB se quiere llevar un un control sobre els
proyectos de investigación que se realizan.
Se quiere diseñar una BD que contenga toda la
información sobre los proyectos, departamentos, grupos de
investigación y profesores. Se consideran los siguientes
requisitos: Un departamento se identifica por un nombre,
código, centro (Facultad o Escuela) donde está
situado, dirección, profesor de la universidad que
ejerce como director de departamento y un teléfono de
contacto (secretaría de departamento).
Dentro de un departamento se crean Unidades donde
están adscritos los profesores. Todo profesor ha de
pertenecer a una unidad. Cada unidad tiene un nombre único
dentro de la universidad, pertenece a un único
departamento i está asociada a un área de conocimiento
(CCIA, ATC, etc.). Cada unidad tiene un jefe de unidad que ha de
ser profesor de universidad.
Un profesor del departamento está identificado
por un DNI, nombre y apellidos, años de experiencia en
investigación, unidad a la que pertenece y proyectos en
que trabaja. Existen tres tipos de profesorado: Funcionario
(Catedráticos de Universidad y Titulares de Universidad),
Ayudantes de Universidad y Asociados. Del personal funcionario
queremos saber el código de funcionario, el año de
su toma de posesión y perfil de la asignatura a la que
opositó. De los Ayudantes de Universidad queremos saber la
fecha de incorporación. Del Asociado queremos saber la
fecha de incorporación y la empresa en que
trabaja.
Cada proyecto de investigación tiene un nombre,
código único, presupuesto, fechas de inicio y final
del proyecto y un único profesor que ejerce de
investigador principal del proyecto. Un proyecto puede estar
financiado por uno o varios programas nacionales.
Un programa nacional viene identificado per un nombre
único y la cantidad total de dinero que el programa
dispone para financiar proyectos. Dentro de cada programa cada
proyecto tiene un número asociado y una cantidad de dinero
con que el programa financia el proyecto.
Un profesor puede participar en varios proyectos y puede
ser investigador principal de varios proyectos. En cada proyecto
un profesor se incorpora en una determinada fecha y lo abandona
en otra con una determinada dedicación (horas por semana).
Un profesor puede incorporarse más de una vez a un
proyecto en fechas separadas.
Ejercicio 10. Reserva de salas
La ETSE quiere controlar el sistema de reservas de sus
salas que pone a disposición del personal de la Escuela
durante un curso académico con las siguientes
restricciones:
De cada sala (sala de grados, sala de actos, seminarios,
aulas) queremos saber el código (Q2/xxxx,Q0/xxxx, etc.),
el tipo de sala (aula, seminario, sala
de actos, sala de grados, etc.), capacidad y equipamiento
audiovisual que contiene de forma permamente.
Del equipamiento audiovisual que tiene la Escuela
queremos guardar un código único, nombre
(proyector, cañón, etc.), si és permanente o
móvil y la sala donde se encuentra, caso de que sea fijo.
Tenemos cuatro tipos de equipamiento: cañón de
proyección, proyector de transparencias, proyector de
diapositivas y ordenador. Del cañón de
proyección queremos saber la marca, modelo,
luminosidad y resolución máxima en la que trabaja.
Del proyector de transparencias queremos conocer su luminosidad y
si acepta transparencias en color o no. Del proyector de
diapositivas interesa guardar la marca, modelo, si admite
cargador clásico o moderno y luminosidad. Del ordenador
queremos saber el procesador,
RAM y
resolución máxima.
Un profesor puede reservar una sala en una fecha
concreta (dia, mes y año) a intervalos de hora (de 12:00 a
13:00, de 17:00 a 18:00). Cuando reserva la sala, el profesor
también reserva todo el equipamiento fijo que contiene la
sala.
Un profesor también puede reservar equipamiento
audiovisual móvil con un número variable (2
cañones, 3 proyectores, etc.) en una fecha concreta
(día, mes y año) a intervalos de una hora. Dada una
fecha y una hora, queremos saber las salas disponibles y el
equipamiento audiovisual disponible. A finales de curso queremos
saber el grado de ocupación de las salas.
MARLON RUIZ