Base de Datos 1
Base de Datos 1
Fundamentación
El diseño de bases de datos es el proceso por el cual se determina la forma de organizar
los datos, incluidos su estructura, contenido y las aplicaciones por desarrollar.
Durante mucho tiempo, el diseño de bases de datos fue considerado una tarea para
expertos; más un arte que una ciencia. Sin embargo, se ha progresado mucho en el
diseño de bases de datos, y este se considera ahora una disciplina estable, con técnicas y
métodos propios. Debido a la creciente aceptación de las bases de datos por parte de la
industria y el gobierno en el plano comercial, y una variedad de aplicaciones científicas y
técnicas, el diseño de bases de datos desempeña un papel central en el empleo de los
recursos de información de la mayoría de las organizaciones. El diseño de bases de datos
ha pasado a constituir parte de la formación general de los profesionales informáticos, en
el mismo nivel que la capacidad de construir algoritmos usando un lenguaje de
programación convencional.
Objetivos Generales
Reconocer y valorar la importancia del diseño de bases de datos dentro del ciclo de
vida de un sistema de información.
Conocer y comprender las distintas etapas para el diseño de una base de datos
obteniendo así la posibilidad de analizar bases de datos existentes o crear una.
Manipular las herramientas necesarias para el correcto diseño de una base de datos.
Adquirir conocimientos acerca de las componentes del modelo relacional de datos.
Describir, analizar y corregir estructuras de datos con anomalías de diseño.
Adquirir la capacidad de diseñar y construir un modelo de datos relacional.
Reconocer la importancia del modelado conceptual dentro de una metodología de
diseño de bases de datos, utilizando modelos que ofrezcan la suficiente semántica y
que sean independientes de las instrumentaciones.
Adquirir principios metodológicos que ayuden al diseñador a realizar un buen
esquema conceptual que permita su transformación a esquema lógico con la
mínima pérdida de semántica.
Adquirir una sólida base teórica, como es la teoría de la normalización, al diseño
lógico de bases de datos, permitiendo de esta forma aplicar procedimientos
algorítmicos a dicho diseño.
Institución Cervantes 1
INSTITUCIÓN CERVANTES
Mapa Conceptual
2 INSTITUCIÓN CERVANTES
Área Informática
INSTITUCIÓN CERVANTES Base de Datos I
Programa
Unidad I: Diseño de Bases de Datos
Introducción al diseño de bases de datos: Fases del diseño de Bases de datos. Ciclo de
vida de un sistema de información. Independencia de datos. Diseño conceptual.
Esquema y modelo conceptual. Diseño lógico. Esquema y modelo lógico. Diseño
físico. Esquema y modelo físico. Ventajas de bases de datos contra ficheros o archivos
tradicionales o convencionales.
Datos: Definición. Concepto. Medidas de los datos. Modelos de datos. Bases de
Datos: Definición.
Estructuras de Bases de Datos: Archivos planos: Lista secuencial, lista vinculada, lista
invertida. Bases de datos jerárquicas. Bases de datos en red. Bases de datos relacionales.
Arquitectura: Nivel interno, nivel externo y nivel conceptual.
Nivel Interno: Acceso a la Base de datos: El manejador de disco (Disk Manager - DM).
El manejador de archivos (File Manager - FM). Agrupamiento. Indexación. Arboles B
(B-Trees).
Nivel Físico de la base de datos: El administrador de la Base de datos (DBA).
Funciones. El sistema de administración de la base de datos (DBMS). Funciones.
El administrador de comunicación de datos (DC). Procesamiento Distribuido:
Sistemas de teleprocesamiento. Sistemas Cliente/Servidor. Sistemas distribuidos. Bases
de datos distribuidas.
Institución Cervantes 3
INSTITUCIÓN CERVANTES
Orientaciones Metodológicas
Se desarrollarán clases teóricas para la presentación de cada unidad, con la ayuda de
medios audiovisuales (televisores, computadoras, etc.). En la medida que se avance con
los conceptos teóricos, se irán realizando prácticas promoviendo la participación de los
alumnos en grupos de investigación y trabajos prácticos.
Evaluación
1 parcial teórico / práctico (en aula) aprobado con 4 o más de 4 (equivale al 60% del
parcial aprobado).
1 trabajo práctico. Será indispensable tenerlo aprobado para regularizar la materia. En
el mismo se aplicarán todos los conocimientos adquiridos, interrelacionando los
conceptos vistos hasta el momento. El alumno deberá construir una base de datos desde
el comienzo.
El mismo deberá tener la siguiente estructura:
4 INSTITUCIÓN CERVANTES
Área Informática
INSTITUCIÓN CERVANTES Base de Datos I
Cabe aclarar, que toda consulta y tarea deberá contar con la bibliografía y las
direcciones electrónicas utilizadas.
Institución Cervantes 5
INSTITUCIÓN CERVANTES
Evaluación Diagnóstico
1. Defina la diferencia entre dato e información.
........................................................................................
........................................................................................
4. Enumere y defina los diferentes tipos de datos que conozca. (por ej.: numérico)
........................................................................................
........................................................................................
6 INSTITUCIÓN CERVANTES
Área Informática
INSTITUCIÓN CERVANTES Base de Datos I
Unidad I
Introducción al Diseño de Bases de Datos
Objetivos
Comprender la importancia del diseño de la base de datos dentro de un sistema de
información.
Conocer la historia y evolución de los distintos tipos de almacenamientos de datos.
Valorar la importancia de las bases de datos dentro de una organización como
soporte para la toma de decisiones.
Reconocer las distintas etapas para diseñar una base de datos.
Identificar ventajas y desventajas de este modelo.
Institución Cervantes 7
INSTITUCIÓN CERVANTES
Introducción
El diseñar una base de datos es un proceso que suele ser complejo pero a veces
divertido. Cuando me ha tocado diseñar una base de datos, siempre me imagino parado
en la cima de una montaña de la cual puedo contemplar el terreno a mis pies. En él se
pueden apreciar todas las especies arbóreas que habitan el bosque, las cuales se
encuentran todas entremezcladas. Imaginen si ustedes fueran los encargados de la tarea
de ordenar y agrupar cada especie. El proceso de diseñar y administrar una base de datos
es una tarea algo parecida. Deberán interpretar los requerimientos de los usuarios, los
cuales plantearan un inmenso bosque lleno de hierbas y árboles, todo enmarañado.
Además, los usuarios van a requerir, según sus necesidades, diferente información de esas
especies. Algunos les interesará conocer si la humedad es la suficiente, a otros solo la
antigüedad de determinada especie y asi sucesivamente. Ustedes tendrán que resolver
esos problemas. Administrar la información de manera tal que a cada usuario le llegue
sólo lo que le interesa, es decir, no todo el bosque, solo la porción que quieren conocer.
Solo ustedes tendrán la visión general del bosque desde la loma. Los demas solo verán lo
que ustedes le muestren. Cómo lo harán? Esa es la misión de este curso. Que aprendan
a utilizar las herramientas necesarias para lograr ese objetivo.
La expresión base de datos aparece a comienzos de los años sesenta. En 1963 tuvo lugar
en Santa Mónica (USA) un simposio donde aparece por prim era vez el término Data
Base.
8 INSTITUCIÓN CERVANTES
Área Informática
INSTITUCIÓN CERVANTES Base de Datos I
Dada la importancia que tienen en el mundo real las relaciones entre los datos (por
ejemplo la relación existente entre un alumno y las materias que cursa), es
imprescindible que la base de datos sea capaz de almacenar estas interrelaciones, al igual
que hace con otros elementos (como las entidades y atributos), siendo ésta una diferencia
esencial respecto de los ficheros donde no se almacenan las relaciones.
En las bases de datos no debe existir redundancia lógica, aunque sí se admite cierta
redundancia física por motivos de eficiencia. Desde el punto de vista de usuario, los
datos están almacenados sólo una vez, aunque el sistema los duplique para facilitar el
acceso. Por tanto, un dato se actualizará lógicamente por el usuario de forma única, el
sistema se preocupará de cambiar físicamente todos aquellos campos en los que el dato
estuviese repetido (actualización en cascada), en caso de existir redundancia física. Por
ejemplo: a un alumno se lo reconoce y se lo identifica por su número de legajo. El
mismo se encuentra almacenado en el Legajo, en las notas, en la asistencia, etc. Si ese
número cambiara por cualquier motivo, el sistema actualiza automáticamente en todas
las relaciones el número viejo por el nuevo y el usuario no se entera de lo que ha pasado.
Otro aspecto importante de las bases de datos es la independencia, tanto física como
lógica, entre datos y procesos. Esta independencia, objeto fundamental, es una
característica esencial que distingue a esta de los ficheros tradicionales y que ha tenido
enorme influencia en la arquitectura de los DBMS o SMBD (DATA BASE MANAGER
SYSTEM o SISTEMAS MANEJADORES DE BASES DE DATOS), como se verá más
adelante.
Institución Cervantes 9
INSTITUCIÓN CERVANTES
El ciclo de vida del sistema de información e incluye las siguientes etapas o fases:
Fase del Ciclo de Vida Justificación
Análisis de factibilidad Analiza áreas de aplicación, relación costo – beneficio y
todas las prioridades.
Recolección y análisis de los Período de obtención de requerimientos detallados
requerimientos interactuando con los posibles usuarios
Diseño Comprende el diseño de la base de datos y de los
sistemas de aplicación
Implementación Se implementan el sistema de información, la base de
datos y sus transacciones.
Validación y prueba de El sistema es validado en cuanto a la satisfacción de los
aceptación requerimientos de los usuarios y los criterios de
rendimiento.
Operación Es aquí cuando todas las funciones del sistema están
disponibles y validadas. La supervisión y el
mantenimiento del sistema serán actividades
importantes.
Supervisión y mantenimiento El sistema se vigila y mantiene constantemente.
10 INSTITUCIÓN CERVANTES
Área Informática
INSTITUCIÓN CERVANTES Base de Datos I
Las ventajas de los sistemas de bases de datos son, entre otras, las siguientes:
Es relativamente más sencillo y probable lograr la independencia física puesto que una
modificación del esquema conceptual, (estructuras, ligas y demás) inevitablemente
requerirá de modificaciones el código para su manipulación.
12 INSTITUCIÓN CERVANTES
Área Informática
INSTITUCIÓN CERVANTES Base de Datos I
Diseño conceptual
El diseño conceptual parte de la especificación de requerimientos y su resultado es el
esquema conceptual de la base de datos. Un esquema conceptual es una descripción de
alto nivel de la estructura de la base de datos, independiente del software de DBMS que
use para manipularla. Un modelo conceptual es un lenguaje que se usa para describir
esquemas conceptuales. El propósito del diseño conceptual es describir el contenido de
información de la base de datos, más que las estructuras de almacenamiento que se
necesitarán para manejar esta información. En realidad, el diseño conceptual debe
hacerse aún cuando la implantación no use un DBMS, sino archivos convencionales y
lenguajes de programación.
Institución Cervantes 13
INSTITUCIÓN CERVANTES
Diseño lógico
El diseño lógico parte del esquema conceptual y da como resultado un esquema lógico.
Un esquema lógico es una descripción de la estructura de la base de datos que puede
procesar el software de DBMS. Un modelo lógico es un lenguaje utilizado para especificar
esquemas lógicos; los modelos lógicos más usados pertenecen a tres clases: relacional, de
redes y jerárquico. El diseño lógico depende de la clase de modelo de datos usado por el
DBMS, no del DBMS utilizado (en otras palabras, el diseño lógico se efectúa de la misma
forma para todos los DBMS relacionales porque todos utilizan el modelo relacional).
Diseño físico
El diseño físico parte del esquema lógico y da como resultado un esquema físico. Un
esquema físico es una descripción de la implantación de una base de datos en la memoria
secundaria; describe las estructuras de almacenamiento y los métodos usados para tener
acceso efectivo a los datos. Por esta razón, el diseño físico se adapta a un sistema DBMS
específico. Hay una retroalimentación entre diseño físico y el lógico, porque las
decisiones tomadas durante el diseño físico para mejorar el rendimiento pueden afectar la
estructura del esquema lógico.
Una vez completado el diseño físico de una base de datos, los esquemas lógico y físico
se expresan haciendo uso del lenguaje de definición de datos (DDL) del DBMS objetivo; la
base de datos se crea y se carga, y puede ser probada. Más que eso, las aplicaciones que
usan las bases de datos pueden especificarse, implantarse y probarse completamente. De
este modo la base de datos se vuelve paulatinamente operacional. La siguiente figura
resume la dependencia de los diseños conceptual, lógico y físico de la clase o tipo de
DBMS y del DBMS específico.
14 INSTITUCIÓN CERVANTES
Área Informática
INSTITUCIÓN CERVANTES Base de Datos I
El significado de dato
La percepción del mundo puede ser descrita como una sucesión de fenómenos. Desde
el comienzo de los tiempos el hombre ha tratado de descubrirlos, ya sea que los entienda
completamente o no.
En ciertos casos los datos están separados de su semántica. Por ejemplo, una planilla
de notas es una tabla de datos. Su interpretación está implícita y se supone que quien la
lee conoce su significado.
El uso de la computadora para procesar datos, ha traído consigo una mayor separación
entre los datos y su interpretación. Mucha de la interpretación de los datos está explícita.
Consideremos por ejemplo un programa que calcula integrales definidas. Este programa
recibe valores de entrada y genera valores como salida. Sin embargo, el programa en si
no tiene conocimiento si el problema resuelto es de termodinámica o electromagnetismo.
Por otra parte, supongamos que algo de la semántica de los datos se codifica junto con
ellos. Así los datos no son solo valores, sino que también tienen una semántica, y los
datos están más cerca de la interpretación del mundo. Ellos forman una "vista" del
mundo, la que no es exacta ni concreta, sino que usualmente es bastante abstracta.
Los datos no son estáticos, y corresponden a un mundo que está en constante cambio.
La flexibilidad en la interpretación de los datos permite capturar los aspectos dinámicos
del mundo y al mismo tiempo, proveer una estructura estable para los datos. Esta
flexibilidad se puede tener de dos formas:
Institución Cervantes 15
INSTITUCIÓN CERVANTES
El sistema puede permitir que los mismos datos sean vistos de diferente forma. Por
ejemplo, diferentes aplicaciones puedan usar los mismos datos y dar su propia
semántica.
Diferentes datos pueden ser vistos de la misma forma. Por ejemplo, se quiere ver a
los gerentes, secretarias y empleados sólo como trabajadores de una organización, no
importando su cargo. Aquí la interpretación debe ser lo suficientemente abstracta
para que diferentes vistas del mundo se vean de la misma forma.
Modelamiento de Datos
La interpretación del mundo real es necesaria, ya que de este ambiente tomaremos las
bases para crear nuestro modelo. Además, debe ser suficientemente abstracta para que
no sea afectada por la dinámica del mundo (al utilizar elementos del mundo real, suelen
producirse pequeños cambios en él que pueden afectar nuestro modelo), y debe ser
suficientemente robusta para poder representar cómo los datos y el mundo real se
relacionan. Una herramienta como esta es llamada modelo de datos, el cual permite
representar en forma más o menos razonable alguna realidad. El modelo de datos
permite realizar abstracciones del mundo, permitiendo centrarse en los aspectos macros,
sin preocuparse de las particularidades; así nuestra preocupación se centra en generar un
esquema de representación, y no en los valores de los datos. En la unidad siguiente,
retomaremos el tema de abstracciones con mayor profundidad.
DATO: la siguiente tupla: <nombre del objeto, propiedad del objeto, valor, tiempo>
Esta definición es correcta, ya que cada vez que se describe un fenómeno, éste se refiere
a un objeto (nombre del objeto) y ciertas características (propiedades del objeto) el cual
tiene un valor en un momento determinado (tiempo).
D Ejemplo
nombre:
El precio del pan es $1,60.
precio del pan
propiedades: (unidad, $), entero no negativo.
valor: 1,60
tiempo: hoy
16 INSTITUCIÓN CERVANTES
Área Informática
INSTITUCIÓN CERVANTES Base de Datos I
D Ejemplo
nombre:
Consideremos el caso de una matriz:
matriz_coeficiente
propiedades: +, –, *, a[i,j] * R
valor: [1 2]
[3 4]
Esquema
Para una aplicación particular de un modelo de datos, el modelamiento de la realidad
se llama esquema.
Un esquema es una definición genérica que identifica categorías (ejemplo: libro, autor,
etc.), sus propiedades (nombre, título) y sus relaciones (escrito).
Por ejemplo, un modelo de datos simple es una archivo (tabla). Aplicando este modelo
a una situación particular se puede tener el siguiente esquema:
D Ejemplo
Una lista puede ser tratada como pila o fila, dependiendo de las operaciones que se
permitan sobre ella.
Generalmente las operaciones están relacionadas con la estructura de los datos y tienen
validez en el contexto en que fueron definidos.
Todo modelo de datos debe poder capturar las propiedades estáticas y dinámicas de
una realidad. Las propiedades estáticas corresponden a lo que es relativamente
invariante en el tiempo, son siempre verdadero y no cambia en el tiempo.
D Ejemplo:
Que los precios se midan en $ es relativamente invariante.
Institución Cervantes 17
INSTITUCIÓN CERVANTES
Modelo de Datos
Se define el modelo de datos M consistente de dos partes:
G: un conjunto de reglas que lo generan.
O: un conjunto de operaciones.
Utilizando esta última notación, un esquema S consiste de dos partes: una estructura
Ss y restricciones Sc t23 t33, donde Sc es una lista explícita de restricciones que no
deben ser violadas.
Ejemplo. Consideremos el modelo de datos tipo Tabla; este modelo tiene como una de
sus operaciones la operación "read", que permite recorrer la tabla en forma secuencial.
Esta operación no cambia el contenido de la Base, pero si su estado (cambia el registro
actual, que ahora es el siguiente).
18 INSTITUCIÓN CERVANTES
Área Informática
INSTITUCIÓN CERVANTES Base de Datos I
Autoevaluación
1. Describa brevemente que es un modelo de datos:
........................................................................................
........................................................................................
2. ¿Cuáles son las ventajas de trabajar con Bases de Datos y no con archivos?
........................................................................................
........................................................................................
4. ¿Cuáles son los pasos necesarios para el diseño de una Base de Datos?
........................................................................................
........................................................................................
8. Defina ahora, que entiende por Base de Datos y comente si el concepto que tenía
al iniciar el curso cambió o no.
........................................................................................
........................................................................................
Institución Cervantes 19
INSTITUCIÓN CERVANTES
20 INSTITUCIÓN CERVANTES
Área Informática
INSTITUCIÓN CERVANTES Base de Datos I
Unidad II
Modelado de Datos
Objetivos
Conocer los distintos mecanismos de abstracción.
Adquirir los conceptos para realizar la construcción de esquemas conceptuales.
Comprender y reconocer las distintas etapas para el diseño de una base de datos.
Institución Cervantes 21
INSTITUCIÓN CERVANTES
En la unidad anterior, describimos que era modelar datos y que era el modelamiento.
Hablamos de que era necesario utilizar métodos abstractos para la descripción de la
realidad en cuestión. Recordemos el siguiente concepto: Los modelos de datos son
vehículos utilizados para describir la realidad.
Los programadores usan los modelos de datos para construir esquemas, los cuales son
representaciones gráficas de la realidad. La calidad de los esquemas resultantes depende
no sólo de la habilidad de los programadores, sino también de las características del
modelo de datos seleccionado.
Procesos de Abstracción en el
modelamiento de Datos
La abstracción es un proceso mental que se aplica al seleccionar algunas características
y propiedades de un conjunto de objetos y excluir otras no pertinentes. En otras palabras,
se hace una abstracción al fijar la atención en las propiedades consideradas esenciales de
un conjunto de cosas y desechar sus diferencias.
Nombre de Alumno
22 INSTITUCIÓN CERVANTES
Área Informática
INSTITUCIÓN CERVANTES Base de Datos I
Persona
Persona
Negro Blanco
Los tres mecanismos son independientes: ninguno de ellos puede describirse en función
de los otros, y cada uno proporciona un mecanismo diferenciado en el proceso de
estructuración de la información. La independencia de las tres interrelaciones de
conceptos establecidas por las abstracciones: la clasificación corresponde a la membresía
(interrelación de pertenencia) (ES_PARTE_DE); y la generalización, a la inclusión
(interrelación de subconjunto) en conjuntos (ES_UN).
Institución Cervantes 23
INSTITUCIÓN CERVANTES
a1 p1
a2
a3 p2
a4
a5 p3
Automóviles Personas
Al observar la figura, se puede decir que la persona p1 posee los autos a1 y a2, la
persona p2 posee los autos a2, a4 y a5, mientras que la persona p3 no posee autos.
De esto último se puede observar que no es obligatorio que todas las personas
posean autos, pero al parecer todos los autos deben tener un dueño. Esta última
característica es propia de cada agregación, y se refieren a la cardinalidad de
correspondencia entre las clases.
24 INSTITUCIÓN CERVANTES
Área Informática
INSTITUCIÓN CERVANTES Base de Datos I
Estos ejemplos muestran que los valores importantes de card-min (C1, A) son 0
y 1 respectivamente. La cardinalidad mínima raras veces toma valores diferentes.
Si card-mín (C1, A)=0, se dice que la clase C1, tiene una participación opcional
en la agregación, porque algunos elementos de la clase C1 pueden no tener
correspondencia en la agregación A con elementos de la case C2. Si card-mín (C1,
A) >0, se dice que la clase C1 tiene una participación obligatoria en la
agregación, ya que cada elemento de la clase C1 debe corresponder, al menos a un
elemento de la clase C2.
a) b)
c1 d1 c1 d1
c2 c2
d2 d2
c3 c3
c4 d3 c4 d3
c) d)
c1 d1 c1 d1
c2 c2
d2 d2
c3 c3
c4 d3 c4 d3
Si se supone que cada persona puede poseer varios edificios, entonces, card-
máx (PERSONA, POSEE)=n.
Si se supone que cada edificio pertenece sólo a una persona, entonces, card-
mín (EDIFICIO, POSEE)=1 y card-máx (EDIFICIO, POSEE).
Estos ejemplos muestran que los valores importantes para card-máx (C1, A) son
1 y n; n representa cualquier número e indica que cada elemento de C1 puede
pertenecer a un número arbitrariamente grande de correspondencias. Card-máx
pocas veces adopta un valor fijo.
Si card-máx (C1, A)=1 y card-máx (C2, A)=1, se dice que la agregación es de
uno a uno. Si card-máx (C1, A)=n y card-máx (C2, A)=1, la agregación de C2 a
C1 es de uno a muchos. Si card-máx (C1, A)=1 y card-máx (C2, A)=n, la
agregación de C2 a C1 es de muchos a uno; por último, si card-máx (C1, A)=m y
card-máx (C2, A)=n (donde m y n representa valores superiores a 1), la
agregación de C2 a C1 es de muchos a muchos.
Jerarquías de Generalización
Una abstracción de generalización establece una correspondencia entre la clase
genérica (raíz) y las clases subconjunto. Tomemos la clase PERSONA como una
generalización de las clases HOMBRE y MUJER; cada elemento de éstas corresponde
exactamente a un elemento de la clase PERSONA. En esta generalización, cada persona
corresponde también a un elemento de la clase HOMBRE o un elemento de la clase
MUJER; sin embargo, esto no ocurre en todas las generalizaciones. Estas observaciones
se refieren a las propiedades de cobertura de la generalización, que se describen
formalmente a continuación:
26 INSTITUCIÓN CERVANTES
Área Informática
INSTITUCIÓN CERVANTES Base de Datos I
Ejemplos
Persona
Hombre Mujer
a) total, exclusiva. Todas las personas son Hombres o Mujeres, pero no ambos.
Empleado
Administrativo Docente
Estudiante
Egresado Títulado
Estudiante
Ingeniería Postgrado
Modelos de Datos
En la unidad anterior, hemos visto algunos conceptos que creo conveniente enunciar para
que los tengamos en cuenta: Dato, modelo, esquema y modelo de datos. Si estos conceptos no
se recuerdan en esta instancia, creo conveniente recomendarles que los repasen a fin de poder
continuar con los conceptos que a continuación analizaremos. Si están presentes, pues
adelante.
Institución Cervantes 27
INSTITUCIÓN CERVANTES
Un modelo de datos es una serie de conceptos que pueden utilizarse para describir un
conjunto de datos y operaciones para manipular los mismos. Cuando un modelo de datos
describe un conjunto de conceptos de una realidad determinada, se llama modelo conceptual
de datos. Los conceptos de un modelo de datos se construyen por lo regular usando
mecanismos de abstracción y se describen mediante representaciones lingüísticas y gráficas.
Hay dos tipos de modelos de datos: modelos conceptuales, usados en el diseño de bases
de datos, y modelos lógicos, apoyados por los sistemas de gestión de base de datos
(DBMS), que son grandes paquetes de software que crean, modifican y mantienen base
de datos.
Estos modelos tienen una correspondencia sencilla con la estructura física de la base de
datos. Más adelante se volverá a hacer referencia a estos modelos, mostrando con un
ejemplo como funcionan.
En el diseño de bases de datos se usan primero los modelos conceptuales para lograr
una descripción de alto nivel de la realidad; después se transforma el esquema
conceptual en un esquema lógico. La razón de este enfoque radica en la dificultad de
abstraer la estructura de bases de datos complejas. Un esquema es una representación
de una parte específica de la realidad, creada utilizando un determinado modelo de
datos. Dicho con mayor propiedad, un esquema es un conjunto estático de
representaciones lingüísticas o gráficas, invariables en el tiempo, que describen la
estructura de los datos de interés, como por ejemplo los de una organización.
28 INSTITUCIÓN CERVANTES
Área Informática
INSTITUCIÓN CERVANTES Base de Datos I
Por ejemplo los atributos de una entidad persona pueden ser: <nombre>,
<numero_de_seguro>, <profesión, título>. Los atributos de una entidad ciudad pueden
ser: nombre, altitud, númerodehabitantes. El único atributo de <vive_en> es
<fecha_de_cambio_de_domicilio>, con la fecha en que la persona se mudó a la ciudad.
El único atributo de <nacido_en> es <fechadenacimiento>. La forma de representar a
los atributos es:
Nombre Atributo
Institución Cervantes 29
INSTITUCIÓN CERVANTES
Tipo de
Interrelaciones o Relaciones: Los Tipos de
Entidad 1
interrelación representan agregaciones de dos
o más entidades (interrelaciones binarias o n-
arias) no necesariamente diferentes (como son
las interrelaciones recursivas).
Atributo 1
El Identificador de un Tipo de Interrelación, Tipo de
se forma a partir de los identificadores de los ...
Interrelación
tipos de entidad que relaciona. Atributo n
D Ejemplo
La relación dueño-de puede ser interpretada como un tipo de interrelación entre
dos tipos de entidades Persona y Auto.
Los anillos son interrelaciones binarias que conectan una entidad consigo misma. Se
conocen también como interrelaciones recursivas. Por ejemplo la interrelación dirige
de la figura siguiente conecta los directores con sus subordinados, ambos representados
por la entidad empleado. Para distinguir entre los dos papeles de la entidad de la
interrelación, se asocian dos rótulos con la entidad; en la figura siguiente los dos rótulos
son <director_de> y <subordinado_a>.
Cardinalidad de tipo de entidad con respecto a un tipo de interrelación: Para los tipos
de interrelación la cardinalidad máxima (mínima) establece el mayor (menor) número de
correspondencias en cada una de los tipos de entidad involucradas en la interrelación.
Se define la Cardinalidad del Tipo de Entidad TE con respecto al tipo de interrelación
R como:
Card(TE,R) = (mínimo, máximo), con mínimo, máximo ∈ {0,...,n} y
mínimo ≤ máximo.
30 INSTITUCIÓN CERVANTES
Área Informática
INSTITUCIÓN CERVANTES Base de Datos I
1. Una entidad es una clase de objetos del mundo real con propiedades comunes.
2. Una interrelación es una clase de hechos atómicos (elementales) que relacionan
dos o más entidades.
3. Un atributo es una clase de valores que representan propiedades atómicas de las
entidades o interrelaciones.
Institución Cervantes 31
INSTITUCIÓN CERVANTES
Los diagramas del modelo ER son fáciles de leer, especialmente si uno observa sólo los
símbolos gráficos centrales (rectángulos para las entidades, círculos para los atributos,
rombos para las interrelaciones, flechas dobles para las jerarquías de generalización,
óvalos para los atributos compuestos). La legibilidad decrece si se incluye la cardinalidad
de las interrelaciones, la cobertura de las generalizaciones, los identificadores.
El esquema obtenido con este modelo, (el diagrama ER), es por lo general estático en el
tiempo, debido a que un correcto análisis del problema y a un planteo exacto de la
solución del mismo, evitará que el esquema deba sufrir retoques en el futuro. Una vez
obtenido el esquema, es muy difícil que varíe su estructura. Recordemos las distintas
etapas del diseño de una Base de datos: Conceptual, lógico y físico. De estas etapas, la
única estática es la conceptual, ya que como dijimos, no sufrirá alteraciones si se realizó
un buen trabajo de análisis. Las otras etapas, variarán según el modelo de
implementación utilizado, como se ve reflejado en el cuadro de la página 15 de este
módulo.
D Ejemplo
Tipos de Interrelaciones
Dueño_de: Fecha
Diagrama MER
(1,n)
Persona (1,1) Auto
Dueño de
@ Dni @ Patente
Fecha
Nombre Color
(1,n): Una persona puede tener uno o más autos
(1,1): Un auto puede tener sólo un dueño.
D Ejercicio resuelto
32 INSTITUCIÓN CERVANTES
Área Informática
INSTITUCIÓN CERVANTES Base de Datos I
libros de un autor
préstamos de un alumno.
materia de un libro
editorial de un libro
Desarrollo
Tipos de entidad
Autor
@ Código Autor
Nombre
Fecha Nacimiento (fecha)
Nacionalidad
Libro
@ Código Libro
Título
Año Publicación
Alumno
@ Matrícula
Nombre
Ejemplar
@ Código Ejemplar
Materia
@ Código Materia
Materia
Carrera
@ Código Carrera
Editorial
@ Código Editorial
Editorial
Tipos de Interrelaciones
Autor_de:
@ Código Libro
@ Código Autor
Estudia:
@ Matrícula
@ Código Carrera
Préstamo:
@ Código Ejemplar
Institución Cervantes 33
INSTITUCIÓN CERVANTES
@ Matrícula
Fecha_préstamo
Fecha_devolución
Editado_por:
@ Código Editorial
@ Código Libro
Ejemplar_de:
@ Código Ejemplar
@ Código Libro
Es_de:
@ Código libro
@ Código Materia
Diagrama MER
(0,1)
Autor
Materia
Ejemplar
(1,n)
(1,1)
Autor_de
(1,n)
(1,n)
Es_de Ejemplar_de
(1,n) Libro (1,n)
(1,1)
Editado_por Editorial
(1,n)
34 INSTITUCIÓN CERVANTES
Área Informática
INSTITUCIÓN CERVANTES Base de Datos I
Se puede apreciar en este ejercicio que las interrelaciones cumplen un rol muy
importante dentro del esquema construido. En alguna de ellas, aparecen atributos que
ya se encuentran en las entidades que se vinculan generando redundancia de datos física,
la cual no es perjudicial ya que la función de esta duplicación es la de mantener las
relaciones entre las entidades participantes. Este tipo de redundancia, es la que
habíamos hablado en la unidad anterior (introducción) que podía aparecer y que estaba
permitida. Este resultado (que estudiaremos más adelante como conseguirlo) se obtiene
mediante la transformación de esquemas, es decir el paso del esquema conceptual al
esquema lógico.
También los atributos deben pertenecer al tipo de entidad o interrelación que describen
y no a otro tipo.
Otra diferencia entre tipo de entidad y atributo es que, por ejemplo, se puede tener el
tipo de entidad Empleado, que tiene como atributo el departamento al que pertenece.
En forma alternativa se pueden tener los tipos de entidades Empleado y Departamento, y
el tipo de interrelación Trabaja_en, que relaciona un empleado con el departamento
donde trabaja.
Esta segunda alternativa es mejor desde el punto de vista del modelamiento conceptual
y presenta una clara diferencia entre atributo y tipos de entidad.
Institución Cervantes 35
INSTITUCIÓN CERVANTES
Autoevaluación
1. Defina los mecanismos de abstracción. Para que se utilizan.
........................................................................................
........................................................................................
2. Qué entiende por el concepto de cardinalidad. Ejemplifique cada una.
........................................................................................
........................................................................................
7. Señalar en una narración, entidades, los atributos y las relaciones entre las
mismas de un problema planteado por usted.
........................................................................................
........................................................................................
8. A partir de un diagrama ER que usted deberá crear, hacer la narración del mismo
proponiendo el problema.
........................................................................................
........................................................................................
36 INSTITUCIÓN CERVANTES
Área Informática
INSTITUCIÓN CERVANTES Base de Datos I
Unidad III
Arquitectura de las bases de datos
Objetivos
Reconocer las diferentes funciones de los actores en la administración física de una
base de datos.
Comprender el funcionamiento de los diferentes tipos de estructuras de datos.
Distinguir los diferentes tipos de estructuras de bases de datos.
Distinguir las diferentes capas de la arquitectura de una base de datos.
Institución Cervantes 37
INSTITUCIÓN CERVANTES
Archivos Planos
Las estructuras de datos que manejan los DBMS, se conocen como archivos planos.
Como se interpreta esto: lo primero que debemos tener en cuenta y recordar son las
definiciones de archivo, registro y campo. Una vez que lo hayan recordado, tomaremos
el ejemplo de Inscripción que llamaremos A y el de Facturas, que llamaremos B. El
registro A es una estructura PLANA, debido a que en cada uno de sus registros la
cantidad de campos o columnas que lo integran, está siempre dentro del mismo rango, es
decir que a lo largo de todo el archivo, la cantidad de campos o columnas es siempre la
misma. Puede ser que el valor para alguna intersección (fila, columna) no este
disponible en ese momento, pero el lugar está reservado para recibir un valor en
cualquier instante. Observen la fila cuyos valores son (200, 30, blanco). El componente
o valor del semestre aun no ha sido ingresado, pero la estructura sigue manteniendo su
capacidad de recibir el dato, y además esa intersección ocupa un lugar en la estructura.
Es decir, no está el valor pero se conserva el espacio reservado.
38 INSTITUCIÓN CERVANTES
Área Informática
INSTITUCIÓN CERVANTES Base de Datos I
componentes de la estructura que pueden aparecer más de una vez en el mismo registro,
como por ejemplo el Artículo. En una factura pueden existir varios artículos facturados.
En este tipo de estructura, en un mismo registro, pueden guardarse varios artículos, pero
no en cada registro siempre se encontrará la misma cantidad de artículos ingresados.
Observen el caso B y verán la diferencia entre la cantidad de artículos del primer registro
y de los posteriores. Los grupos repetidos son pues, los artículos, ya que en una misma
factura puede haber varios de ellos que son los que formarán el grupo.
Lista Secuencial
En ocasiones, los usuarios desean procesar los archivos de distintas maneras y necesitan
obtener de los datos, información ordenada de distintas maneras. Considere los registros
de INSCRIPCIÓN de la figura anterior. Para generar el listado de horarios de
estudiantes, deben procesarse según la secuencia u ordenamiento de NumEstudiante.
Para producir listados de clases, los registros deben ser procesados y ordenados según la
secuencia NumClase, no en ambos a la vez, ya que esto no es posible. La solución
tradicional al problema de procesar registros en órdenes distintos. Es clasificarlos
primero por estudiante y procesar o generar los horarios, a continuación poner los
registros en el orden de clases y producir las listas de clases.
Para algunas aplicaciones, como en un sistema de procesamiento por lotes (donde cada
registro se procesa uno a continuación del otro sin saltearse ninguno), esta solución
aunque torpe es eficaz. Suponga que ambos ordenamientos necesitan existir en forma
simultánea, porque dos usuarios necesitan manejar el mismo archivo pero en dos listas
distintas en los registros INSCRIPCION.
Una solución es crear dos copias del archivo INSCRIPCION y ordenarlas como se
muestra en la siguiente figura. Para generar cada una de estas copias del archivo,
deberán crearse sendos programas que permitan ejecutar el proceso necesario.
En vista de que los datos quedan listados en orden secuencial, tal estructura de datos a
veces se conoce como lista secuencial. Las listas secuenciales se pueden almacenar en
archivos secuenciales. Sin embargo, no se hace en productos DBMS, porque la lectura
Institución Cervantes 39
INSTITUCIÓN CERVANTES
secuencial de un archivo es un proceso lento, debido a que para poder recorrer el archivo
debo ir registro por registro hasta llegar al final del mismo. Los archivos secuenciales no
se pueden actualizar en la parte intermedia, sin escribir la totalidad del archivo. Si lo que
queremos es agregar un registro y que quede ordenado, primero se agrega el registro (el
cual es ingresado en la última posición) y luego se corren los procesos para reordenar las
listas. Esto deberá ejecutarse cada vez que se agregue, modifique o elimine algún
registro. El mantenimiento de varios órdenes conservando varias copias de la lista
secuencial es por lo regular poco eficaz porque las listas secuenciales duplicadas pueden
crear problemas de integridad de los datos, duplicación de datos y de espacio de
almacenamiento en disco. Otras estructuras de datos nos permiten procesar registros en
órdenes distintos y no requieren la duplicación de los datos. Estos casos veremos a
continuación.
La figura anterior muestra los registros INSCRIPCION con dos listas vinculadas: una
de ellas mantiene el orden NumEstudiante y la otra el orden NumClase. Se han
agregado dos campos de vinculación a los registros, uno por cada lista.
Voy a tratar de explicar como funciona esto:
1. La estructura original es:
Num Num Semestre
Estudiante Clase
200 70 88S
100 30 89F
300 20 89F
250 30 88S
350 70 88S
150 20 88S
40 INSTITUCIÓN CERVANTES
Área Informática
INSTITUCIÓN CERVANTES Base de Datos I
2. Cada registro (fila) tiene asociado un número que indica la posición de registro
relativa (observen la primera columna).
Institución Cervantes 41
INSTITUCIÓN CERVANTES
Existen muchas variaciones de las listas vinculadas. Podemos convertir la lista en una
lista circular, es decir en un anillo, modificando el vínculo del último registro de cero
hacia la dirección del primer registro de la lista. Ahora podemos llegar a todos los
elementos de la lista empezando por cualquiera de los elementos de la misma. La
siguiente figura muestra una lista circular para el orden NumEstudiante.
Una lista vinculada de dos direcciones posee vínculos en ambos sentidos (ascendentes
y descendente). En la figura siguiente se ha creado una lista vinculada en dos direcciones
para órdenes de Estudiante tanto ascendentes como descendentes.
42 INSTITUCIÓN CERVANTES
Área Informática
INSTITUCIÓN CERVANTES Base de Datos I
Como se puede observar, el índice no es nada más que una lista ordenada de
NumEstudiante. Para procesar en secuencia INSCRIPCION en NumEstudiante,
procesamos el índice de esa manera, obteniendo los datos INSCRIPCION y leyendo los
registros indicados por los apuntadores. La figura (C) muestra otro índice para
INSCRIPCION, éste manteniendo un orden NumClase.
Si se compara la lista vinculada con el índice, notará la diferencia esencial entre ambos.
En una lista vinculada, los apuntadores se encuentran almacenados junto con los datos.
Cada registro contiene un campo de vinculación, con un apuntador a la dirección del
siguiente registro relacionado. En el caso de un índice, los apuntadores se almacenan en
índices separados de los datos. Entonces los registros de datos mismos no contienen
apuntadores. Se utilizan ambas técnicas en los productos comerciales.
Institución Cervantes 43
INSTITUCIÓN CERVANTES
Req Ofrecimiento
NumReq NumOfr Fecha Lugar
Profesor Estudiante
NumEmp Nombre NumEmp Nombre Calificacion
La siguiente figura muestra un esquema jerárquico con cuatro tipos de registros y tres
tipos de IPH.
44 INSTITUCIÓN CERVANTES
Área Informática
INSTITUCIÓN CERVANTES Base de Datos I
Podemos referirnos a los tipos de IPH como el par (tipo de registros padre, tipo de
registros hijo). Los tres tipos de IPH de la figura anterior son:
Departamento, Empleado
Departamento, Proyecto
Departamento
Num_Dep ....
Empleado Proyecto
ID_Empl .... Num_Proy ....
Equipo
ID_Equipo ....
Proyecto, Equipo
Aunque los IPH no tienen nombre, tienen asociado un significado; por ejemplo, en la
figura anterior, una ocurrencia del tipo IPH (Departamento, Proyecto) relaciona el
registro padre de un departamento a los registros de los proyectos que controla. A
diferencia de los modelos de redes, el modelo jerárquico sólo puede tener una
interrelación entre un par de tipos de registros; ésta es la razón por la que se puede dejar
sin nombre.
Un esquema jerárquico de tipos de registros y tipos de IPH debe tener las siguientes
propiedades:
1. Todo tipo de registros, excepto la raíz, participa como tipo de registros hijo en un
sólo tipo de IPH.
2. Un tipo de registros puede participar como registro padre en cualquier número
(cero o más) de tipos de IPH.
Institución Cervantes 45
INSTITUCIÓN CERVANTES
3. Si un tipo de registros participa como padre en más de un tipo de IPH, sus tipos de
registros hijos están ordenados. El orden se muestra, por convenio, de izquierda a
derecha en un diagrama de esquema jerárquico.
El Modelo de Redes
El modelo de datos de red representa de inmediato relaciones uno a muchos y, por lo
tanto, puede ser utilizado para representar todo tipo de objetos excepto objetos
compuestos muchos a muchos, tales objetos deben ser transformados a relaciones uno a
muchos. El modelo de datos de red de mayor importancia es el DBTG CODASYL
(Conference on Data System languajes, Data Basa Task Group).
La siguiente figura muestra dos tipos de registros, estudiante y curso, con el tipo de
conjuntos Se-Matricula entre ellos, con Estudiante como el tipo de registros propietario y
Curso como el tipo de registros miembro.
46 INSTITUCIÓN CERVANTES
Área Informática
INSTITUCIÓN CERVANTES Base de Datos I
La figura anterior muestra dos tipos de registros Estudiante y Curso, con el tipo de
conjuntos Se_Matricula entre ellos, con Estudiante como el tipo de registros propietario y
Curso como el tipo de registros miembro. La representación diagramática en la que la
flecha va del registro propietario al registro miembro se denomina diagrama Bachman,
Para distinguir un elemento de datos con valores múltiples, se encierra entre paréntesis.
El tipo de registros conductor incluye un grupo de repetición denominado Coches, que
es un tipo compuesto de los elementos de datos Num-Matrícula, Marca, Año y Color.
Puede haber varios coches dentro de un caso del registro Conductor, cada uno con
valores para los cuatro elementos de datos.
Se_Matricula
Curso
Num_Curs Nombre_Instructor
Conductor
(Coches)
NSS Num_Lic_Conduc. Nº Colo
Marca Año
Matric r
(b) Tipos de registros Conductor, con grupo de repetición Coches
Institución Cervantes 47
INSTITUCIÓN CERVANTES
Nivel Conceptual
(vista comunitaria de
los usuarios)
El nivel externo
Este nivel es el del usuario individual. Los usuarios pueden ser programadores de
aplicaciones o usuarios de terminales en línea, es decir, usuarios finales con cantidad de
variables de conocimientos de informática. El DBA (Administrador de la Base de Datos)
es un caso especialmente importante (pero, a diferencia de los usuarios ordinarios, el
DBA deberá interesarse también en los niveles conceptual e interno). Más adelante
hablaremos de cuáles son las características y funciones del DBA.
En el caso del programador de aplicaciones, dicho lenguaje será o bien uno de los
lenguajes de programación convencionales, o bien un lenguaje propio específico
para el sistema en cuestión.
Para el usuario final será o bien un lenguaje de consulta, o algún lenguaje de
aplicación especial, quizá manejado mediante formularios o menús, adaptado a los
requerimientos de ese usuario y apoyado por algún programa de aplicación en línea.
En lo que toca a este análisis, el aspecto importante de todos esos lenguajes es que
deben incluir un sublenguaje de datos, es decir, un subconjunto del lenguaje total que se
ocupe de manera específica de los objetos y operaciones de la base de datos (abreviado
DSL, data sublanguaje), está embebido (o inmerso) dentro del lenguaje anfitrión
correspondiente. Este último se encarga de varios aspectos no relacionados con la base de
datos, como por ejemplo variables locales (temporales), operaciones de cálculo, lógica
condicional, etc. Un sistema dado puede permitir el empleo de varios lenguajes
anfitriones y varios sublenguajes de datos.
48 INSTITUCIÓN CERVANTES
Área Informática
INSTITUCIÓN CERVANTES Base de Datos I
Nota: Un sublenguaje de datos en particular cuyo uso es posible en casi todos los
sistemas relacionales actuales es el lenguaje SQL. En casi todos estos sistemas SQL
puede utilizarse ya sea de manera interactiva como lenguaje de consulta interactiva o
embebido en otros lenguajes (Visual Basic, por ejemplo).
Toda vista externa se define mediante un esquema externo, que consiste básicamente en
definiciones de cada uno de los diversos tipos de registros externos en esa vista externa.
El nivel conceptual
La vista conceptual es una representación de toda la información contenida en la base de
datos, también (como el caso de la vista externa) en forma un tanto abstracta si se
compara con el almacenamiento físico de los datos. Además puede ser muy diferente de
la forma como percibe los datos cualquier usuario individual. A grandes rasgos, la vista
conceptual debe ser un panorama de los datos “tal como son”, y no como por fuerza los
perciben los usuarios debido a las limitaciones del lenguaje o el equipo específico
utilizado, por ejemplo.
Así pues, la vista conceptual es una vista del contenido total de la base de datos, y el
esquema conceptual es una definición de esa vista. No obstante, sería engañoso sugerir que
el esquema conceptual es sólo un conjunto de definiciones similar a las sencillas definiciones
de registros encontradas hoy día (por ejemplo, en un programa en Cobol).
El nivel interno
El tercer nivel de la arquitectura es el nivel interno. La vista interna es una
representación de bajo nivel de toda la base de datos; se compone de varias ocurrencias de
varios tipos de registro interno. La vista interna, por tanto, está a un paso del nivel físico,
ya que no maneja registros físicos (llamados también páginas o bloques), ni otras
consideraciones específicas de los dispositivos como son los tamaños de cilindros o de
pistas. En esencia, la vista interna supone un espacio lineal infinito de direccionamiento.
Los detalles de correspondencia entre ese espacio de direccionamiento y el espacio físico
dependen en alto grado del equipo utilizado y se omiten en forma deliberada de la
arquitectura general.
Institución Cervantes 49
INSTITUCIÓN CERVANTES
La vista interna se define mediante el esquema interno, el cual no solo define los
diversos tipos de registros almacenados, sino también especifica qué índices hay, cómo se
representan los registros almacenados, etc. El esquema interno se escribe con otro
lenguaje más de definición de datos, el DDL interno.
DBMS
Solicita Registro Devuelve Registro
almacenado almacenado
Disk Manager
Solicita Página Devuelve página
almacenada almacenada
File Manager
Datos Leídos del
Operación de
disco
E/S en disco
Base de datos
Almacenada
50 INSTITUCIÓN CERVANTES
Área Informática
INSTITUCIÓN CERVANTES Base de Datos I
Manejador de disco
(Disk Manager)
El manejador de disco es un componente del sistema operativo. Es el encargado de
todas las operaciones físicas de E/S. Como tal, es evidente que necesita conocer las
direcciones físicas en el disco. Todo disco está dividido en sectores y pistas. La dirección
física de cada archivo, está localizada en la FAT (tabla de asignación de archivos) de cada
disco. El manejador de disco, utiliza la FAT para poder localizar físicamente el archivo
solicitado. Es también el encargado de colocarle a cada página del disco un número
único, que no se vuelve a repetir en ese disco. Es como si armara el índice del libro que
queremos leer. En cada página tiene una información determinada y a su vez a esa
página le coloca un número. Luego arma el índice (FAT) y en el almacena los datos
necesarios para localizar la información sin tener que leer todo el disco. O sea, voy al
índice, busco el tema en cuestión, veo en que página está, y abro el libro.
Por otro lado, el usuario del manejador de disco o sea, el manejador de archivos, no
necesita conocer esa información. Para el manejador de archivos, el disco es tan sólo una
colección lógica de conjuntos de páginas, cada uno de los cuales se compone de un grupo
de páginas de tamaño fijo.
Manejador de archivos
(File Manager)
El manejador de archivos utiliza los recursos recién descriptos del manejador de disco
de manera tal que su usuario (el DBMS) puede percibir el disco como un conjunto de
archivos almacenados. Cada conjunto de páginas contendrá uno o más archivos
almacenados, esto es, que en una misma página pueden haber diferentes archivos
almacenados, tal como si fuera un libro; en una misma página de ese libro pueden haber
varios temas. El DBMS sí necesita saber que existen conjuntos de páginas, aunque no se
encarga de manejarlos en detalles. En particular, el DBMS necesita saber cuándo dos
archivos almacenados comparten el mismo conjunto de páginas o cuándo dos registros
almacenados comparten la misma página.
Agrupamiento o Clustering
La idea básica del agrupamiento es procurar almacenar juntos físicamente los registros
que tienen una relación lógica entre sí, o sea que pertenecen al mismo archivo. Las
páginas del disco tienen una cierta capacidad de almacenamiento, o sea que pueden
Institución Cervantes 51
INSTITUCIÓN CERVANTES
almacenar hasta cierta cantidad de información por página. Cuando la página se llena y
el archivo sigue creciendo, o sea que el archivo no entra en una sola página, la
información se debe seguir almacenando. Lo que el Sistema Operativo hace es buscar la
página más cercana y continúa con la actualización del archivo. Puede que esa nueva
página ya contenga información de otro archivo. Esta despaginación obliga al S.O. a
almacenar dos direcciones de página para el mismo archivo, que pueden o no ser
continuas. La FAT, tiene designada (como ustedes deben conocer) un cierto espacio de
almacenamiento. Si los archivos están muy fragmentados, el espacio utilizado en la
FAT, va creciendo. Además, para poder leer un archivo, el File Manager necesita
realizar operaciones de E/S por cada proceso. Al tener la información fragmentada, las
operaciones de E/S se incrementan, provocando un aumento en los tiempos de
búsqueda, desgaste mecánico y físico de los componentes, etc. Por lo tanto el
agrupamiento o defragmentación (tan conocidos en entornos Windows) lo que hacen es
tratar de agrupar la información respecto al mismo archivo, en la cantidad menor de
páginas posibles.
El DBMS puede hacer posible el agrupamiento, tanto dentro de un archivo como entre
varios archivos, si almacena los registros que tienen una relación lógica entre sí en la
misma página cuando sea posible y en las páginas adyacentes cuando no lo sea.
Indexación
El objetivo principal de los índices es la agilización en la búsqueda y ordenación de
datos. Sin embargo, existe una desventaja, hacen más lenta la actualización de archivos.
Por ejemplo, cuando se añade un registro almacenado nuevo al archivo indexado, es
preciso agregar también una entrada al índice. En términos generales, la pregunta que se
debe responder cuando se estudia la posible indexación, según el campo dado, será: ¿Qué
es más importante, una eficiente recuperación de datos con base en los valores del campo
en cuestión, o el trabajo adicional de actualización requerido para lograr esa eficiencia?.
En esencia, los índices se pueden utilizar de dos maneras distintas. En primer término,
pueden servir para tener acceso secuencial al archivo indexado, (Tutor-7). Acceder
secuencialmente a un archivo indexado quiere decir: llegar a un valor de forma directa y
52 INSTITUCIÓN CERVANTES
Área Informática
INSTITUCIÓN CERVANTES Base de Datos I
a partir de allí recorrer el resto de forma secuencial. Por ejemplo: acceder al apellido
Pérez y desde ahí recorrer uno por uno los Pérez hasta encontrar el buscado.
En segundo término, los índices pueden servir también para tener acceso directo a los
registros individuales del archivo indexado con base en un valor dado del campo
indexado. Ingresar directamente el valor del Legajo del Pérez que busco.
De hecho, las dos formas básicas recién delineadas de utilizar índices se pueden
generalizar un poco:
Acceso secuencial: El índice puede ser útil en consultas de intervalos, por ejemplo,
“hallar los proveedores cuya ciudad quede dentro de un cierto intervalo alfabético”
(digamos, que comience con una letra en el intervalo L-R).
Acceso directo: el índice puede ser útil también en consultas por listas, por ejemplo,
“hallar todos los proveedores cuya ciudad está en alguna lista especificada”.
Hay ciertas consultas –casi todas pruebas de existencia- que se pueden responder
empleando sólo el índice, sin leer en absoluto el archivo indexado. Como por ejemplo,
considérese la consulta “¿Hay proveedores en Atenas?” la respuesta a esa pregunta es
afirmativa si y sólo si existe una entrada para Atenas en el índice ciudad.
Institución Cervantes 53
INSTITUCIÓN CERVANTES
Se dice que un índice como el de la figura es no denso porque no contiene una entrada
para cada registro almacenado del archivo indexado. En cambio, todos los índices
estudiados hasta aquí han sido densos (apuntan a un registro almacenado). Una ventaja
de los índices no densos, es el reducido espacio de almacenamiento requerido en
comparación con un índice denso.
Arboles B (B-Trees)
Una clase de índices muy importante y de uso muy frecuente es el árbol B. Si bien es
cierto que no hay una estructura de almacenamiento óptima para todas las aplicaciones,
los árboles B ofrecen, al parecer, el mejor desempeño general. Por esta razón la mayor
parte de los sistemas relacionales incluyen árboles B como su forma principal de
estructura de almacenamiento, y en varios casos es la única.
Antes de explicar qué es un árbol B, será preciso presentar otra idea preliminar, el
concepto de índice multinivel o de estructura de árbol.
La razón para crear un índice, en primer lugar es obviar la necesidad de una revisión
física secuencial del archivo indexado. Sin embargo, sigue siendo necesaria una revisión
física secuencial del índice (recorrer el índice de forma secuencial). Si el archivo
indexado es de gran tamaño, el índice puede llegar a ser muy grande, y por tanto su
revisión secuencial, en sí, puede llegar a requerir bastante tiempo. La solución a este
problema es la misma de antes: tratar al índice como un archivo almacenado normal, y
crear un índice para él (un índice del índice). Esta idea puede llevarse a tantos niveles
como se desee (lo acostumbrado en la práctica son tres niveles; un archivo tendría que ser
enorme para requerir más de tres niveles de indexación).
Ahora podemos hablar de los árboles B. Un árbol B es un tipo especial de índice con
estructura de árbol. Los árboles B, como tales, fueron descriptos, por primera vez, en un
artículo de Baller y MacCreight en 1972. Desde entonces Baller y muchos otros
investigadores han propuesto gran cantidad de variaciones de la noción básica.
Como ya se mencionó, los árboles B de un tipo u otro son, hoy día, quizá, la estructura
de almacenamiento más común en los sistemas modernos de bases de datos. Aquí
describiremos la variación propuesta por Knuth. En la variación Knuth, el índice tiene
dos partes, el conjunto secuencia y el conjunto índice.
54 INSTITUCIÓN CERVANTES
Área Informática
INSTITUCIÓN CERVANTES Base de Datos I
Como una búsqueda en el árbol requiere un acceso a disco por cada nodo visitado, los
tiempos de búsqueda pueden hacerse muy poco predecibles en un árbol desequilibrado.
La ventaja de los árboles B es que el algoritmo de inserción / eliminación garantiza en
todo momento el equilibrio del árbol (por esta razón se asegura, a veces, que la “B” del
nombre significa “Balanceado”).
70 140
1
10 70 72 130 141 250
Institución Cervantes 55
INSTITUCIÓN CERVANTES
1) Conjunto de Indices
2) Conjunto de Secuencias (Lista invertida apuntando a registros de datos)
De forma similar, en el siguiente nivel existen dos valores y tres apuntadores en cada
entrada de índice. Cada vez que bajamos otro nivel, reducimos el ámbito de búsqueda
para un registro particular. Este método nos arrima al registro buscado por
aproximación. En el conjunto de secuencias, tendremos ya definida una entrada por
cada registro almacenado.
Institución Cervantes 57
INSTITUCIÓN CERVANTES
58 INSTITUCIÓN CERVANTES
Área Informática
INSTITUCIÓN CERVANTES Base de Datos I
El administrador de comunicación de
datos
La solicitud de un usuario final dirigida a la base de datos, se transmite en la práctica
en forma de mensajes de comunicación. De manera similar, las respuestas al usuario,
(desde del DBMS y la aplicación en línea, de vuelta a la terminal del usuario) también se
transmite como mensajes de este tipo. Todas estas transmisiones se efectúan bajo el
control de otros sistemas de programas, el administrador de comunicación de datos
(administrador DC).
Procesamiento Distribuido
Procesamiento distribuido significa que varias máquinas pueden conectarse entre sí,
para formar una red de comunicación, de manera que una sola tarea de procesamiento
de datos puede abarcar varias máquinas de la red (a veces se utiliza el término
“Procesamiento en Paralelo” con un significado idéntico). La comunicación entre las
diversas máquinas corre a cargo de algún tipo de programas de administración de redes,
quizá una extensión del administrador DC.
Institución Cervantes 59
INSTITUCIÓN CERVANTES
Obsérvese, por tanto, que la máquina de sección frontal podría tener datos propios de
sección posterior, y la máquina de sección posterior podría tener también aplicaciones
propias de sección frontal. Así, en general, cada máquina funcionará como servidor para
algunos usuarios y como cliente para otros; dicho de otro modo, cada máquina incluirá
un sistema completo de base de datos (siguiente figura).
60 INSTITUCIÓN CERVANTES
Área Informática
INSTITUCIÓN CERVANTES Base de Datos I
Por último, dejamos sentado que una sola máquina cliente podría ser capaz de acceder
a varias máquinas servidoras diferentes (lo opuesto del caso ilustrado en la figura
anterior). Esta posibilidad es conveniente porque las empresas, en general, tienden a
operar de tal manera, que el conjunto total de sus datos no está almacenado en una sola
máquina, sino más bien disperso entre varias máquinas diferentes, y las aplicaciones
necesitarán a veces poder acceder a datos de más de una máquina. Existen dos formas
básicas de permitir este acceso:
1. Una cierta aplicación de sección frontal podría tener acceso a cualquier cantidad de
sistemas por sección posterior, pero sólo a uno a la vez (es decir, cada solicitud
individual a la base de datos deberá ir dirigida a sólo una de las secciones
posteriores). No es posible, dentro de una misma solicitud, combinar datos de dos
o más secciones posteriores diferentes. Además, el usuario de un sistema así deberá
saber cual sección posterior contiene cuáles elementos de información.
2. La aplicación de sección frontal podría tener acceso a cualquier cantidad de
sistemas de sección posterior en forma simultánea (es decir, una sola solicitud a la
base de datos podría ser capaz de combinar datos de varias secciones posteriores).
En este caso, la sección frontal percibe a las distintas secciones posteriores como si
fueran en realidad un solo sistema (desde un punto de vista lógico), y el usuario no
necesita saber cuáles secciones posteriores contienen cuáles elementos de
información.
Institución Cervantes 61
INSTITUCIÓN CERVANTES
“transparente” con datos dispersos en varias bases de datos diferentes, administradas por
varios DBMS distintos, ejecutadas en varias máquinas diferentes, apoyadas por diversos
sistemas operativos y conectadas entre sí mediante varias redes de comunicación
distintas. El término “transparente” significa aquí que la aplicación trabajaría, desde un
punto de vista lógico, como si un solo DBMS, ejecutado en una sola máquina,
administrara todos los datos.
Sistemas de Teleprocesamiento
El método clásico de soportar un sistema de base de datos multiusuario es el
teleprocesamiento, que utiliza una computadora y una CPU. Todo el procesamiento es
efectuado por esta única computadora.
62 INSTITUCIÓN CERVANTES
Área Informática
INSTITUCIÓN CERVANTES Base de Datos I
Los sistemas de teleprocesamiento han sido la alternativa más común para sistemas de
base de datos multiusuario. Conforme se ha ido reduciendo la afinidad precio-
rendimiento de las computadoras y con el advenimiento de las microcomptadoras, han
empezado a ser utilizadas otras alternativas que requieren varias computadoras.
Institución Cervantes 63
INSTITUCIÓN CERVANTES
En esta figura se resumen los roles del cliente y del servidor. La computadora cliente
administra la interfaz de usuario, acepta datos del usuario, procesa la lógica de la
aplicación y genera solicitudes de servicios de la base de datos. Los clientes transmiten
esas solicitudes al servidor y reciben resultados, a los cuales se les da formato para el
usuario.
El servidor acepta las solicitudes de los clientes, las procesa, y devuelve una respuesta.
El servidor también lleva a cabo la verificación de integridad de la base de datos,
mantiene los datos generales de la base de datos, y proporciona control de acceso
concurrente.
64 INSTITUCIÓN CERVANTES
Área Informática
INSTITUCIÓN CERVANTES Base de Datos I
Autoevaluación
1. Describa cómo funcionan los distintos tipos de estructuras de datos (Lista
invertida, vinculada). Cuáles son las diferencias entre unas y otras.
........................................................................................
........................................................................................
2. Describa los distintos niveles en la arquitectura de una base de datos. En cuál de las
capas interactúa el DBA. En cuál de las capas se encuentra el usuario de aplicaciones.
........................................................................................
........................................................................................
8. Qué tipos de sistemas de bases de datos distribuidos conoce. Describa cada uno
de ellos.
........................................................................................
........................................................................................
Institución Cervantes 65
INSTITUCIÓN CERVANTES
66 INSTITUCIÓN CERVANTES
Área Informática
INSTITUCIÓN CERVANTES Base de Datos I
Unidad IV
El Modelo de datos Relacional
Objetivos
Reconocer los diferentes componentes del modelo relacional de datos.
Reconocer la importancia del modelo para la construcción de estructuras de datos.
Comprender los principios para selección de claves.
Interpretar el rol que cumple cada componente del modelo dentro del mismo.
Institución Cervantes 67
INSTITUCIÓN CERVANTES
El modelo Relacional
El modelo relacional fue propuesto en 1970 por Codd, y la popularidad de este modelo
ha ido creciendo lenta pero firmemente, de manera que el término relacional ha llegado
a ser común entre los profesionales informáticos. El modelo relacional de datos es un
modelo simple, potente y formal para representar la realidad. También ofrece una base
firme para enfocar y analizar formalmente muchos problemas relacionados con la gestión
de base de datos, como el diseño de la base de datos, la redundancia, la distribución, etc.
El formalismo y una base matemática son las piedras angulares en el desarrollo de la
teoría de las bases de datos. La sencillez del modelo ha facilitado la construcción de
lenguajes de consultas e interfases para usuarios finales de fácil utilización, y ha resultado
en una productividad más alta de los programadores de base de datos. La gestión de
bases de datos relacionales será una tecnología muy útil durante varios años.
Vamos a dividir el estudio del modelo relacional en tres partes, las cuales se ocupan de
la estructura, la integridad y la manipulación de los datos, respectivamente. Cada una de
las partes tiene sus términos especiales. Los términos en cuestión son relación, tupla,
cardinalidad, atributo, grado, dominio y claves, los cuales veremos en la primera etapa
cuando hablemos de la estructura relacional. En esta materia, tocaremos solamente lo
referido a la estructura y a la integridad, la manipulación, es tema de otra asignatura.
C
Legajo Nombre Provincia Ciudad A
125 Salazar Cordoba Cordoba R
Relación D
126 Jaime Santa Fe Rosario Tupla
150 Almada Cordoba Cordoba I
N
A
Atributos
L
Grado
I
D
Una relación corresponde a lo que hasta ahora hemos llamado en general tabla. A
D
Una tupla, corresponde a una fila de esa tabla.
Un atributo, corresponde a una columna de esta misma tabla.
Las claves son identificadores, es decir una columna o combinación de columnas
que permitan hacer un determinado ordenamiento o acceso a los datos.
68 INSTITUCIÓN CERVANTES
Área Informática
INSTITUCIÓN CERVANTES Base de Datos I
Dominio es una colección de valores, de los cuales uno o más atributos (columnas)
obtienen sus valores.
“Una relación sobre un conjunto de dominios D1, D2,...., Dn (no necesariamente todos
distintos), se compone de dos partes, una cabecera y un cuerpo”.
Un caso de relación (llamado también extensión de la relación) es una tabla con filas y
columnas. Las columnas de las relaciones corresponden a los atributos o campos; las
filas, o tuplas, son colecciones de valores tomados de cada atributo, y desempeñan la
misma función que los casos individuales de entidades en el modelo ER. El grado de
una relación es el número de columnas que cada relación tenga; la cardinalidad de una
relación es el número de tuplas o filas que en un determinado instante tiene la relación.
Institución Cervantes 69
INSTITUCIÓN CERVANTES
A B C
A
C
B
Observen ambos conjuntos: Son iguales a pesar de que lo único que los
diferencia es la ubicación dentro del círculo.
Esta propiedad se desprende del hecho de que la cabecera de una relación se define
también como un conjunto (es decir, un conjunto de atributos). Por la misma
razón que la propiedad anterior, si consideramos a la cabecera como un conjunto,
el orden no tiene importancia ya que siempre sería el mismo conjunto pero en
distinto orden.
4. Todos los valores de los atributos son atómicos.
Una forma más precisa de expresar esta propiedad es: “todos los valores de los
atributos simples son atómicos”. Esta propiedad, es una consecuencia del hecho de
que todos los dominios son a su vez simples; es decir, sólo contienen valores
atómicos.
Tipos de relaciones
Existen diferentes tipos de relaciones en un sistema relacional:
1. Relaciones base: (relaciones reales) Son aquellas relaciones cuya importancia es tal
que el diseñador de la base de datos ha decidido darle un nombre y hacerlas parte
directa de la base de datos en sí, a diferencia con otras relaciones cuya naturaleza es
más efímera, como por ejemplo el resultado de una consulta. Por ejemplo la
relación ALUMNO en la base de datos de la universidad sería un caso de relación
base.
2. Vistas: (relaciones virtuales) una vista es una relación derivada, con nombre,
representada dentro del sistema exclusivamente mediante su definición en términos
de otras relaciones con nombre; no posee datos almacenados propios. Un ejemplo
sería la presentación en pantalla de datos obtenidos de varias relaciones. En este
caso tenemos dos relaciones base: Clientes y Localidades. Al usuario solo le
interesa el nombre y la Localidad. Lo que se hace es una vista obtenida de los datos
almacenados físicamente en CLIENTES Y LOCALIDAD. La vista no se
almacena físicamente, solo se ejecuta una secuencia de instrucciones y se crea en
memoria RAM.
Nombre Localidad
Vista Luis Málaga
Ana Valencia
Institución Cervantes 71
INSTITUCIÓN CERVANTES
Los número de piezas deben tener el formato numérico 9999 (donde 9999
representa cuatro dígitos numéricos).
Los tipos de piezas deben provenir de cierta lista tipos.
Los colores de las piezas deben provenir de cierta lista colores.
Los pesos de las piezas deben ser mayores que cero.
Como pueden observar, la mayor parte de las reglas de integridad son específicas, en
cuanto a que se aplican a una base de datos específica. O sea, las que acabamos de
enumerar hacen referencia a la base de datos donde se encuentra PIEZAS. Sin embargo,
el modelo relacional incluye dos reglas generales de integridad: generales en el sentido de
que se aplican no sólo a una base de datos, sino más bien a todas las bases de datos. Estas
dos reglas se refieren a las claves primarias y a las claves ajenas.
Claves Primarias
En el modelo relacional, el concepto de clave está definido de una manera muy similar
al concepto de identificador en el modelo ER; una clave de una relación es un atributo o
conjunto de atributos de la relación que identifica de manera única cada tupla de cada
extensión de esa relación. Así, la única diferencia entre nuestro uso de identificadores y
claves en el modelo relacional sólo se acepta la identificación interna.
En general, una relación puede tener más de una clave o identificador único, y cada
clave se denomina clave candidata. Podemos decir, que una relación puede tener
varias claves candidatas (a ser primarias). Nosotros escogeremos una de esas claves
candidatas como clave primaria o principal y a las demás las llamaremos entonces claves
alternativas o secundarias.
72 INSTITUCIÓN CERVANTES
Área Informática
INSTITUCIÓN CERVANTES Base de Datos I
Toda relación tiene por lo menos una clave candidata, ya que como hemos
mencionado, las relaciones no contienen tuplas repetidas. En el caso de las PIEZAS,
podemos tener piezas con el mismo nombre, tipo, color y peso, a lo mejor porque son
provista por distintos proveedores, pero nunca tendrán el mismo número. Por ejemplo:
en una agencia de autos, los modelos son siempre los mismos y los autos que haya en
stock tendrán los mismos modelos, pero el numero de chasis de cada uno, distinguirá
uno del otro.
Ahora bien, del conjunto de claves candidatas se elige una y solo una como clave
primaria de esa relación, las demás, como dijimos, si existen serán claves alternativas.
Así, una clave candidata que no es clave primaria se convierte en clave alternativa.
1. Toda relación tiene por lo menos una clave candidata y por fuerza, toda relación
una clave primaria SIN EXCEPCION.
2. El razonamiento para elegir la clave primaria en los casos donde hay varias claves
candidatas, queda fuera del alcance del modelo relacional en sí.
3. La clave primaria es la que tiene verdadera importancia; las claves candidatas y
alternativas son sólo conceptos surgidos en el proceso de definición de clave
primaria.
Entonces, ¿por qué son tan importantes las claves primarias? La respuesta a esta
pregunta es que es un requisito para el manejo de claves ajenas, concepto que veremos
un poco más adelante. Además, como hemos dicho anteriormente, las tuplas son únicas
dentro de la relación y cada tupla hace referencia a un individuo, y este individuo
pertenece al mundo real, por lo tanto cada individuo (de una misma especie) debe tener
como mínimo un valor de atributo que lo diferencia del resto y que lo haga único. A este
concepto de clave primaria única se conoce como principio de unicidad de la clave
primaria.
Ahora bien, ya vimos el concepto de clave primaria y ahora veremos las restricciones de
integridad que pueden ser especificadas en un esquema relacional. Se espera que tales
restricciones, una vez especificadas, se cumplan para cada caso de base de datos de ese
esquema. Sin embargo, en los productos comerciales de DBMS actuales no siempre
pueden ser especificadas todas esas restricciones. Además, aún especificadas, no obliga
automáticamente el cumplimiento de todas ellas. Se consideran tres tipos de
restricciones como parte del modelo relacional: restricciones de clave, de integridad de
entidades y de integridad referencial. Las restricciones de clave especifican las claves
candidatas de cada esquema de relación; los valores de las claves candidatas deben ser
únicos para cada tupla en cualquier caso de ese esquema de relación.
Institución Cervantes 73
INSTITUCIÓN CERVANTES
Debemos tener en cuenta además, que en el caso de que la clave primaria fuera
compuesta (estuviera formada por más de un atributo), cada valor individual de la
clave primaria debe ser no nulo en su totalidad.
La regla de integridad de entidades se aplica solo para claves primarias, las claves
alternativas podrían contener valores nulos.
Claves Ajenas
Supongamos las siguientes relaciones:
Los atributos Codigo Postal, tienen que estar, definidos para el mismo dominio en
ambas relaciones.
74 INSTITUCIÓN CERVANTES
Área Informática
INSTITUCIÓN CERVANTES Base de Datos I
Un valor de clave ajena, representa una referencia a la tupla donde se encuentra el valor
correspondiente de la clave primaria. Por lo tanto, el problema de garantizar que la base
de datos no incluya valores no válidos de clave ajena se conoce como el problema de la
integridad referencial.
1. Puede aceptar nulos una clave ajena? Es necesario conocer la ciudad en la que
alumno vive? La respuesta en este caso es SI, pero podría suceder que la
respuesta fuera diferente. La respuesta a la pregunta no depende del capricho del
diseñador de la base de datos, sino más bien de las políticas vigentes en la porción
del mundo real supuestamente representada por la base de datos.
2. Qué deberá suceder si hay un intento de eliminar el objetivo de una referencia de
clave ajena? Por ejemplo, un intento de eliminar una ciudad del cual provienen
varios alumnos. Para dar una respuesta, veamos que operaciones son permitidas:
RESTRINGIDA. La operación de eliminación está restringida al caso en el
cual no existen alumnos de esa ciudad, en caso contrario se rechaza.
SE PROPAGA. La operación de eliminación se propaga en cascada
eliminando también todos los alumnos.
Institución Cervantes 75
INSTITUCIÓN CERVANTES
Suponemos que el punto de partida es un esquema ER similar a los vistos hasta aquí.
Este, consiste en un conjunto de definiciones de relaciones, en el cual cada relación tiene
una clave primaria. Las relaciones producidas por la transformación de esquemas,
corresponden a entidades o bien a relaciones y mantienen la misma forma normal. El
concepto de forma normal será tratado en la próxima unidad con mayor profundidad.
Transformación de Entidades
Este paso es bastante simple: se transforma cada entidad del esquema en una relación.
Los atributos y la clave primaria de la entidad, se convierten en los atributos y la clave
primaria de la relación. Por ejemplo:
Legajo
EMPLEADO
Nombre
Telefono
Caso 1: Las dos entidades tienen las mismas claves primarias. Supóngase que tanto
Clientes como Info-Envio tienen la misma clave primaria NUM_CLIENTE. En este
caso, las dos relaciones correspondientes se integran en una relación combinando todos
los atributos e incluyendo la clave primaria sólo una vez.
(1, (1,
Cliente Con Info-Envio
Caso 2: Las dos entidades tienen claves primarias diferentes: Supóngase que Cliente e
Info_Envio tienen diferentes claves primarias, digamos Num_Cliente, y (Codigo_Postal,
Calle, Num_Casa), respectivamente. En este caso también se integran en una relación
combinando todos los atributos e incluyendo las claves primarias de ambas. Una de las
dos claves primarias será la clave primaria de la relación resultante; por ejemplo, en la
relación que sigue se escoge Num_Cliente.
Definición de una relación aparte. Esta opción se usa cuando una o las dos
entidades tienen una participación parcial. A continuación se muestra un caso de cada
una:
Caso 1: Una entidad con participación parcial. Esto se refiere, por ejemplo, a los
clientes de un banco, a los cuales el banco emite cero o una tarjetas de crédito. En la
figura anterior cada tarjeta de crédito debe pertenecer a un cliente, pero un cliente puede
no tener tarjeta de crédito. En este caso, las dos relaciones, Cliente y Tarjeta de crédito,
ya han sido creadas. Se define una relación adicional Posee_Tarjeta (Num_Cliente,
Tipo_Tarjeta, Num_Tarjeta) usando la clave primaria de las dos relaciones. Tanto
Institución Cervantes 77
INSTITUCIÓN CERVANTES
integrada. En ese caso se debe escoger Num_Cliente como clave primaria de la relación
integrada; aquellos clientes que no posean tarjeta de crédito tendrán valores nulos de los
atributos Tipo_Tarjeta, Num_Tarjeta. No se puede seleccionar (Tipo_Tarjeta, y
Num_Tarjeta) como clave primaria de la relación integrada, porque en ese caso los
clientes sin tarjeta de crédito no podrían ser representados.
Cliente(Num_Cliente, Nombre_Cliente)
Tarjeta_Credito(Tipo_Tarjeta, Num_Tarjeta, Limite_Credito)
Posee_Tarjeta (Tipo_Tarjeta, Num_Tarjeta, Num_Cliente)
(0,1) (0,1)
Varon MatrimonioPosee Mujer
Nss_Mu Nombr
Varon (Nss_Varon, Nombre)
Mujer (Nss_Mujer, Nombre)
Matrimonio (Nss_Varon, Nss_Mujer, Fecha, Duracion)
78 INSTITUCIÓN CERVANTES
Área Informática
INSTITUCIÓN CERVANTES Base de Datos I
(1,
Pertenece_a Participación Total
(1,
Nombre
Estado Gobernador
Habitantes
Si el número de esos pedidos es grande, y no puede admitir valores nulos, una mejor
alternativa sería establecer tres relaciones (lo cual es el caso más general):
Vendedor Nombre
Num_Telefono
(1,n
Tasa_Descuento Participación Parcial
Nombre
(0,1
Num_Pedido
Pedido
Fecha
Institución Cervantes 79
INSTITUCIÓN CERVANTES
Obsérvese que las dos relaciones, Pedido y Pedidos_Ventas contiene un sub conjunto
de todos los pedidos, aquellos hechos a través de vendedores. Así se tiene la restricción
adicional de que el conjunto de números de pedidos en Pedido_Ventas está siempre
incluído en el conjunto de números de pedidos de la relación Pedido. Esta interrelación
se denomina dependencia de inclusión de Num_Pedido en Pedido_Ventas respecto a
Num_Pedido en Pedido en el momento relacional.
Semestre
Matric_En
Nota
(1,n)
Numero_Curso
Curso
Nombre_Curso
80 INSTITUCIÓN CERVANTES
Área Informática
INSTITUCIÓN CERVANTES Base de Datos I
Autoevaluación
1. Mencione los distintos componentes de la estructura del modelo relacional de datos.
........................................................................................
........................................................................................
........................................................................................
........................................................................................
3. ¿Qué tipos de claves maneja el modelo relacional? Defina y ejemplifique cada una.
........................................................................................
........................................................................................
........................................................................................
........................................................................................
Institución Cervantes 81
INSTITUCIÓN CERVANTES
10. En caso de definir una clave ajena, ¿qué consideraciones debemos tener en cuenta al
definirla? ¿por qué?
........................................................................................
........................................................................................
........................................................................................
........................................................................................
82 INSTITUCIÓN CERVANTES
Área Informática
INSTITUCIÓN CERVANTES Base de Datos I
Unidad V
Descomposición y Normalización
Objetivos
Adquirir una sólida base teórica y práctica en la teoría de la normalización.
Reconocer los distintos tipos de dependencias funcionales.
Obtener la capacidad de resolver problemas de anomalías de diseño en la estructuras
de datos.
Comprender el proceso de normalización de datos.
Institución Cervantes 83
INSTITUCIÓN CERVANTES
Normalización: Introducción
Los sistemas de bases de datos son propensos a volverse problemáticos a la hora de
diseñarlos. Las relaciones lógicas tienden a multiplicarse a medida que se agregan
nuevas aplicaciones y que los usuarios exigen que el sistema este capacitado para
responder a nuevas formas de interrogación utilizando los datos que almacena. El grado
de complejidad de muchas bases de datos parece crecer sin limites previsibles, a menos
que los diseñadores tengan un concepto muy claro de lo que está ocurriendo, esos
sistemas se transformaran en una maraña de datos e interrelaciones.
Es posible evitar el enmarañamiento a que dan lugar las estructuras ramificadas y plexo
recurriendo a una técnica que se llama normalización. Las técnicas de normalización
han sido ideas y recomendadas por E.F. Codd.
La base de datos construida por medio de relaciones, es una base de datos relacional
(como vimos en la unidad anterior).
84 INSTITUCIÓN CERVANTES
Área Informática
INSTITUCIÓN CERVANTES Base de Datos I
2° Forma Normal
(2FN)
Eliminar Dependencias Transitivas
3° Forma Normal
(3FN)
Este proceso se conoce como Normalización debido a que todos los pasos deben
cumplir ciertas normas establecidas para lograr un buen diseño. Estos pasos deben
cumplirse uno a continuación de otro sin saltear ninguno, y los principios que cada uno
de ellos dictamina, deben cumplirse por cada etapa para poder pasar a la siguiente. Esto
quiere decir por ejemplo, si debo bajar del colectivo, primero debo saber cual es la parada
en la que lo haré. A continuación, tocaré el timbre y esperare a que el colectivo se
detenga. Una vez que todo esto paso, me bajo. Nunca podría bajarme si el colectivo se
encuentra aun en marcha, por ejemplo.
Utilizando el esquema, resumiremos el proceso genérico de normalización:
El proceso comienza con los requerimientos del usuario, los cuales nos llegan como
una maraña de información en una relación no normalizada. Toda la información
mezclada. Nuestra tarea, será la de encontrar la forma más óptima de almacenar los
datos; esto quiere decir: sin redundancias innecesarias.
Esta tarea, debe realizarse cada vez que nos enfrentemos con una base de datos nueva.
Los pasos deben seguirse siempre y no puede faltar ninguno de ellos. Piensen en el
concepto de Normas (leyes); estas están dictadas para ser cumplidas siempre. Si no se
cumplen algo pasa, por ejemplo si la ley dice que no hay que robar y robaste, el castigo
será ir preso. Si las anomalías no se corrigen, o sea que por ejemplo queda alguna
dependencia transitiva sin corregir, el castigo será que la estructura de datos que estemos
Institución Cervantes 85
INSTITUCIÓN CERVANTES
Dependencia Funcional
Las dependencias funcionales son una restricción al conjunto de relaciones legales.
Nos permiten expresar hechos acerca de lo que estamos modelando con la base de datos.
Existe una dependencia funcional (DF) entre dos atributos monovalentes, A1 y A2, de
una entidad E o de una interrelación R, si cada valor de A1 corresponde exactamente a
un valor de A2.
Estudiaremos esta propiedad con un ejemplo: Sean A1, A2 dos atributos de una
entidad E; supóngase que existe un caso de entidad E1 de E que tiene los valores a1 y a2
para A2:
<e1:...a1...a2...>
La dependencia funcional entre A1 y A2 implica que si existe otro caso de entidad, e2,
en el que A1 adopta el valor a1, entonces A2 debe adoptar el valor a2:
En este punto podemos decir que en un esquema correcto, todos los identificadores
internos de las entidades, determinan funcionalmente a los otros atributos monovalentes.
El ejemplo de la figura muestra la entidad persona con dos identificadores internos,
Num-seg-soc y el par (Nombre, Fecha-de-Nacimiento). Otros atributos son Dirección,
Ciudad, Provincia y Codigo-Postal. Por tanto, tenemos las siguientes DF:
NOMBRE, FECHA-DE-NACIMIENTO
Nombre DIRECCION, CIUDAD, NUM-SEG-SOC, PROVINCIA,
Fecha-de- CODIGO-POSTAL
Nacimiento
Num-Seg-Soc
Persona
Dirección Decimos que A1 determina funcionalmente
Ciudad a A2, lo cual se denota también como A1A2; el
Provincia atributo a la izquierda de la DF se llama el
Codigo-Postal determinante. Las DF se establecen de forma
similar entre conjuntos de atributos; por
ejemplo, A1, A2A3 (el par de atributos [A1, A2] es, en este caso, el determinante) o
A1A2,A3. Cuando el lado derecho de una DF es un conjunto S de n atributos, la DF
original es equivalente a n dependencias funcionales individuales, cada una con un
atributo sencillo de S como lado derecho. Por ejemplo la dependencia A1A2,A3 es
equivalente a las dos DF A1A2 y A1A3 por separado. Las DF se establecen,
asimismo, entre atributos de interrelaciones, exactamente con la misma interpretación.
86 INSTITUCIÓN CERVANTES
Área Informática
INSTITUCIÓN CERVANTES Base de Datos I
Anomalías de Actualización
Si bien las dependencias funcionales que corresponden a identificadores no causan
problemas, otras dependencias que pueden existir en una entidad pueden causar las
llamadas anomalías de actualización. El ejemplo de la figura, que describe pedido en
términos de números de pedidos, piezas pedidas, fecha de pedido, costo de cada pieza, y
cantidad pedida de cada pieza.
La entidad Pedido
01 1518 Bolígrafo 1.0 12 03/08/99
02 1518 Lapicero 0.5 15 03/08/99
03 1521 Lapicero 0.5 18 02/09/99
04 1407 Bolígrafo 1.0 15 02/06/99
05 1407 Borrador 0.2 28 02/06/99
06 1407 Pizarra 5.0 3 02/06/99
07 1407 Borrador 0.2 1 03/01/99
08 1729 Disquete 2.0 10 03/01/00
09 1729 Lapicero 0.5 15 03/01/00
Institución Cervantes 87
INSTITUCIÓN CERVANTES
Sin embargo, el costo de una pieza está determinado de manera única, por su número
de pieza; esto se afirma mediante la siguiente dependencia funcional:
Nombre-de-Pieza Costo
Una base de datos implantada sobre un modelo bien diseñado tiene mayor esperanza
de vida, aún en un ambiente dinámico, que una base de datos con un diseño pobre. En
promedio, una base de datos experimenta una reorganización general cada seis años,
dependiendo de lo dinámico de los requerimientos de los usuarios. Una base de datos
bien diseñada tendrá un buen desempeño, aunque aumente su tamaño, y será lo
suficientemente flexible para incorporar nuevos requerimientos o características
adicionales.
Existen diversos riesgos en el diseño de las bases de datos relacionales que afecten la
funcionalidad de la misma, los riesgos generalmente son la redundancia de información
y la inconsistencia de datos.
88 INSTITUCIÓN CERVANTES
Área Informática
INSTITUCIÓN CERVANTES Base de Datos I
1. Estructurar los datos de forma que se puedan representar las relaciones pertinentes
entre los datos.
2. Permitir la recuperación sencilla de los datos en respuesta a las solicitudes de
consultas y reportes.
3. Simplificar el mantenimiento de los datos actualizándolos, insertándolos y
borrándolos.
4. Reducir la necesidad de reestructurar o reorganizar los datos, cuando surjan nuevas
aplicaciones.
Pasos de la normalización
Como vimos al comienzo de esta unidad, los pasos de la normalización son:
Formas Normales
Es el conjunto de normas que nos ayudan a diseñar una estructura de Bases de Datos
óptima para su implementación, gestión y explotación desde distintas aplicaciones,
consiguiendo independencia de ellas (de las aplicaciones Tutor-12). El creador de estas
normas fue E.F.Codd, quién formulo las 3 primeras formas normales (1FN, 2FN y 3FN)
a las que siguieron otras (FNBC, 4FN y 5FN).
Institución Cervantes 89
INSTITUCIÓN CERVANTES
Universo de Relaciones
Para avanzar de una Forma Normal a otra, deben verificarse las restricciones de la
actual y la nueva Forma Normal. Una de las herramientas más utilizadas para
alcanzar una nueva forma normal es la DESCOMPOSICIÓN. Esto proceso consiste
en tomar la relación NO normalizada entregada por el usuario y descomponerla
(desarmarla) en relaciones más pequeñas, las cuales, al ser más pequeñas, son más
estables y más fáciles de manejar. Esta debe presentar las siguientes características:
Debe realizarse sin perdida de datos
Deben mantenerse las dependencias funcionales
Se debe evitar o reducir hasta donde sea posible la redundancia.
“Una relación R esta en primera forma normal (1FN) y si y solo si todos los dominios
subyacentes solo contienen valores atómicos”.
90 INSTITUCIÓN CERVANTES
Área Informática
INSTITUCIÓN CERVANTES Base de Datos I
Abreviada como 1FN, se considera que una relación se encuentra en la primera forma
normal cuando cumple lo siguiente:
Las celdas de las tablas poseen valores simples y no se permiten grupos ni arreglos
repetidos como valores, es decir, contienen un solo valor por cada celda.
Todos los ingresos en cualquier columna(atributo) deben ser del mismo tipo.
Cada columna debe tener un nombre único, el orden de las columnas en la tabla no
es importante.
Dos filas o renglones de una misma tabla no deben ser idénticas, aunque el orden de
las filas no es importante.
Por lo general la mayoría de las relaciones cumplen con estas características, así que
podemos decir que la mayoría de las relaciones se encuentran en la 1FN.
Como esta relación maneja valores atómicos, es decir un solo valor por cada uno de los
campos que conforman a los atributos de las entidades, ya se encuentra en primera forma
normal, gráficamente así representamos a las relaciones en 1FN.
Atributos Dependientes
Atributo que
determinante
Definición formal:
“Una relación R está en 2FN, si y solo si, está en 1FN y los atributos no primos
dependen funcionalmente o completamente de la clave primaria”. Tutor-8
Institución Cervantes 91
INSTITUCIÓN CERVANTES
Una relación se encuentra en 2FN, cuando cumple con las reglas de la 1FN y todos sus
atributos que no son claves llaves) dependen por completo de la clave.
De acuerdo con esta definición, cada tabla o relación que tiene una clave primaria
formada por un solo atributo, ya está en 2FN.
D Ejemplo
Aquí, la clave está formada por (ARTÍCULO, BODEGA), o sea es una clave
compuesta.
La dirección de la bodega se repite para cada artículo que se almacena en esa bodega
(redundancia).
Si la dirección de bodega cambia, cada registro que se refiera a un artículo
almacenado en esa bodega debe ser actualizado. Debido a la redundancia, los datos
pueden llegar a ser inconsistentes, con diferentes registros indicando diferentes
direcciones para la misma bodega (integridad).
Si en algún momento no hubiera partes almacenadas en alguna bodega, no habría
un registro para anotar la dirección de la bodega (anomalía).
Para satisfacer la segunda forma normal, el esquema anterior debe ser reemplazado por
el siguiente:
BODEGA DIRECCIÓN
A partir del ejemplo, podemos decir, que si una relación o tabla tiene una clave
primaria simple (o sea formada por un solo atributo o campo) la relación ya se encuentra
en 2FN.
92 INSTITUCIÓN CERVANTES
Área Informática
INSTITUCIÓN CERVANTES Base de Datos I
Nombre Nom_M
Control Clave
Esp. Creditos
Nótese que las llaves primarias están representadas con doble cuadro, las flechas nos
indican que de estos atributos se puede referenciar a los otros atributos que dependen
funcionalmente de la llave primaria.
Definición formal:
“Una relación R está en 3FN, si y solo si, está en 2FN y todos sus atributos no primos
dependen no transitivamente de la clave primaria”.
Institución Cervantes 93
INSTITUCIÓN CERVANTES
Podemos darnos cuenta de que se encuentra graficado en 2FN, es decir que todos los
atributos llave están indicados en doble cuadro indicando los atributos que dependen de
dichas llaves, sin embargo en la llave Necono tiene como dependientes a 3 atributos, en el
cual el nombre puede Nombre Nom M
ser referenciado por dos
atributos: Necono y Control Clave
RFC (Existe
dependencia Esp. Creditos
transitiva), podemos
solucionar esto
aplicando la tercera
forma normal que Nombre
consiste en eliminar
Necono
estas dependencias
separando los atributos,
Plaza
entonces tenemos:
Necono Plaza
Otro ejemplo:
Nombr Nom M
e
Cont Clav
rol e
Esp. Credito
s
Nombr
e
Neco RFC
no
Plaza
94 INSTITUCIÓN CERVANTES
Área Informática
INSTITUCIÓN CERVANTES Base de Datos I
Puesto que los estudiantes pueden tener varias especialidades, LEG no determina
funcionalmente Especialidad (recuerden el concepto de dependencia funcional). Como
los estudiantes pueden tener varios asesores, LEG tampoco determina NomFac. LEG
por si mismo no puede ser una clave.
Además de las claves candidatas, hay otra dependencia funcional: NomFac determina a
Especialidad (cualquier miembro de la facultad asesora en sólo una especialidad, por lo
tanto si conozco NomFac se puede determinar Especialidad).
ASESOR está en 1FN. También está en 2FN pues cualquier atributo que no es clave
depende de toda la clave, sin importar cual clave candidata se seleccione. También está
en 3FN porque no tiene dependencias transitivas. A pesar de esto, existen anomalías de
actualización.
Suponga que el estudiante 300 deja la facultad. Si se quita la fila de estudiante 300 se
perderá el hecho de que Romero imparte asesoría de Matemáticas. Esta es una anomalía
de eliminación. En forma similar, cómo se almacena el hecho de que Toledo asesora en
Programación? No es posible hasta que un estudiante se inscribe en esa materia. Esta es
una anomalía de inserción.
Institución Cervantes 95
INSTITUCIÓN CERVANTES
“Una relación R esta en FNBC (Forma Normal de Boyce Codd), si y solo si, cada
determinante es una clave candidata”.
A veces estas formas son insuficientes para eliminar la redundancia y las anomalías de
actualización si una relación contiene dependencias de valores múltiples, lo cual
conlleva una normalización adicional: la cuarta forma normal (4FN).
A B
96 INSTITUCIÓN CERVANTES
Área Informática
INSTITUCIÓN CERVANTES Base de Datos I
Para entender mejor esto, consideremos una afinidad (tabla) llamada estudiante que
contiene los siguientes atributos: Clave, Especialidad, Curso tal y como se demuestra en
la siguiente figura:
Institución Cervantes 97
INSTITUCIÓN CERVANTES
Tabla Especialidad
Clave Especialidad
S01 Sistemas
B01 Bioquímica
C03 Civil
Tabla Curso
Clave Curso
S01 Natación
S01 Danza
B01 Guitarra
C03 Natación
Nota
8 Si una relación esta en 4FN, esta también en FNBC, la relación no es reciproca
Desnormalización
Debemos tener en cuenta, que la Normalización no es la panacea. Hay casos en que se
hace necesario realizar todo lo contrario. Un ejemplo de la desnormalización, la
encontramos en los sistemas DataWareHousing o Almacenes de Datos que se están
utilizando cada vez en mayor medida. Estos grandes almacenes de datos, se utilizan para
brindar a los usuarios (sobre todo a los niveles gerenciales) información para la toma de
decisiones. Los sistemas basados en tecnologías 4GL (lenguajes de cuarta generación)
como PROGRESS, INFORMIX u ORACLE, son grandes motores de bases de datos los
cuales cuentan entre sus herramientas con la posibilidad de crear este tipo de
almacenamiento. Otro tema interesante es la minería de datos, que sería productivo que
buscaran más información en Internet. La minería de datos es la herramienta que
permite localizar los datos buscados o solicitados por los usuarios a partir de un
requerimiento dentro del almacén de datos. Estos temas son muy interesantes y es la
tecnología que ya está aterrizando en los sistemas de información y de bases de datos.
Para que comprendan un poco el concepto de Almacén de Datos, les cuento más o
menos que son: es juntar toda la información en una gran bolsa; tomar todas las bases de
datos de la empresa y juntarlas en una sola. El hecho de juntar todas las bases de datos
genera un montón de redundancia, que como vimos, es perjudicial para los sistemas de
bases de datos relacionales. En estos motores de búsqueda, cuanto mayor redundancia,
mejor van a ser los resultados de las búsquedas. Las búsquedas en esta montaña de
información, se realizan utilizando herramientas propias de estos 4GL; a este proceso se
98 INSTITUCIÓN CERVANTES
Área Informática
INSTITUCIÓN CERVANTES Base de Datos I
lo conoce como Minería de Datos (escarbar en la montaña para lograr encontrar la pepita
de oro).
la cual no está implícita en la clave NroCli. Por lo tanto, existe una restricción que no
está implícita por la definición de clave.
Estas dos relaciones están en la forma normal correcta, pero es muy probable que no
representen el mejor diseño. Tal vez sea mejor la tabla no normalizada, será más fácil de
procesar y no son muy importantes las desventajas de duplicar los datos de Ciudad y
Estado.
Institución Cervantes 99
INSTITUCIÓN CERVANTES
Autoevaluación
1. Defina dependencia Funcional.
Tutores
Dato
t1 Los datos corresponden al registro discreto (no continuo) de hechos acerca de
un fenómeno, con lo cual ganamos información (incremento del conocimiento
que puede ser inferido de los datos) acerca del mundo que nos rodea.
Restricciones Estáticas
t2 Reglas que restringen el conjunto de valores que la base de datos (estructura)
puede tomar. Por ejemplo, si el campo es numérico, sólo admitirá números.
Hacen referencia al DDL del modelo.
Restricciones Dinámicas
t3 Reglas que restringen las transiciones entre valores válidos de la base de datos
(estructura). Hacen referencia al DML del modelo.
Semántica
t6 Los lenguajes son herramientas creadas por el hombre (u otros seres) con el fin
de comunicarse. Son imprescindibles para poder concebir modelos, pues uno
expresa a lo más lo que el lenguaje le permite. Además, los lenguajes son los que
permiten comunicar los modelos a otros (que comprenden dichos lenguajes),
validarlos, discutirlos y ampliar la percepción del otro sobre un mismo
fenómeno.
Para efectos de este curso, consideraremos los siguientes componentes de los
lenguajes.
1. La sintaxis. Es el conjunto de símbolos permitidos en el lenguaje. (por
ejemplo las letras del abecedario o todas las palabras del idioma español)
2. Una gramática. Son las reglas generadoras del lenguaje. (por ejemplo la
gramática del español)
3. La semántica. Es el significado asociado al lenguaje (por ejemplo, el
significado de las palabras y su interpretación dentro de un contexto dado.
Por ejemplo "el kilo de pan cuesta $ 460 se registra el valor (460) y su
significado o semántica (valor del kilo de pan en pesos).
Secuencial
t7 Acceso secuencial significa recorrer el archivo desde el principio y uno por uno
los registros sin saltear ninguno hasta llegar al registro deseado. En forma de
secuencia, uno a continuación de otro.
Claves Compuestas
t10 Las claves pueden ser simples o compuestas. Son simples cuando la clave está
formada por un solo atributo. Son compuestas cuando la clave está formada por
más de una atributo. Por ejemplo:
NOTAS(LEG, CODMAT, NOTA) la clave será compuesta LEG,CODMAT,
ambas y son indivisibles.
ALUMNOS(LEG, NOM, TE) la clave es simple ya que está formada por LEG
solamente.
Metadatos
t11 Son datos acerca de los datos presentes en la base de datos. Describen el
nombre que se les da, el tipo y la longitud asignada a cada dato elemental.
Independencia
t12 Recuerden el principio de independencia de los datos respecto de las
aplicaciones visto en la unidad I.
Indice
Fundamentación ..................................................................... 1
Objetivos Generales ............................................................... 1
Mapa Conceptual ................................................................... 2
Programa ............................................................................... 3
Bibliografía y materiales de consulta ...................................... 4
Orientaciones Metodológicas .................................................. 4
Evaluación .............................................................................................................. 4
Evaluación Diagnóstico ........................................................... 6
U NIDAD I
Introducción al Diseño de Bases de Datos ............................... 7
Objetivos ............................................................................................................... 7
Introducción .......................................................................................................... 8
Introducción al Diseño de Bases de datos............................................................. 8
Ciclo de vida de un sistema de información........................................................ 10
Ventajas de las bases de datos frente a los ficheros clásicos ............................... 11
Independencia de los datos...................................................................................................12
Fases del Diseño de Bases de Datos ................................................................... 12
Concepto de Dato y Modelo de Dato .................................... 15
El significado de dato ........................................................................................... 15
Modelamiento de Datos...................................................................................... 16
Modelo de Datos: Introducción .......................................................................... 17
Autoevaluación .................................................................................................... 19
U NIDAD II
Modelado de Datos .............................................................. 21
Objetivos ............................................................................................................. 21
Procesos de Abstracción en el modelamiento de Datos .................................... 22
Propiedades de las correspondencias entre las clases ........................................ 24
Jerarquías de Generalización ...............................................................................................26
Modelos de Datos ............................................................................................... 27
El modelo de entidades-interrelacionadas (ER) .................................................. 28
Elementos básicos del modelo Entidad Relación ...............................................................28
Los Mecanismos de abstracción en el modelo ER (Entidad-Relación) ............................31
Cualidades del modelo ER................................................................................... 31
Cómo Modelar en MER....................................................................................... 35
Autoevaluación .................................................................................................... 36
U NIDAD III
Arquitectura de las bases de datos ....................................... 37
Objetivos ............................................................................................................. 37
Estructuras de Bases de Datos ............................................................................ 38
Archivos Planos.................................................................................................... 38
Procesamiento de Archivos Planos ..................................................................... 39
Lista Secuencial.....................................................................................................................39
Guía de Actividades
Actividad I – Unidad 1
1. Elabore un resumen de lo que entiende por Base de Datos.
2. Realice un análisis de los sistemas de almacenamiento tradicionales frente a las
bases de datos indicando las ventajas y desventajas de ambos.
3. Enumere las principales funciones realizadas por el DBMS.
4. La gerencia de la empresa Alas del Sur S.A., ha detectado falencias en la
información que está manejando la empresa. Ante esta situación, se lo ha
contratado para realizar la tarea de construcción y diseño de la base de datos
necesaria para resolver los problemas planteados. Para lograr este objetivo, usted
deberá crear un bosquejo de las etapas que deberá emprender para lograr tal fin y
presentarle el mismo al gerente para hacerle comprender los pasos que usted deberá
seguir para poder construir la base de datos.
5. Realice un cuadro comparativo entre las distintas etapas del diseño de una base de
datos.
Actividad II – Unidad 2
1. Cite al menos cinco ejemplos de cada uno de los mecanismos de abstracción.
2. Elija un tipo de objeto cualquiera (alumno, computadora, auto) y muestre cómo se
puede representar usando cada uno de los mecanismos de abstracción.
3. Reconocer entidades y relaciones, considerando cardinalidades.
a) Una factura se envía a un cliente y puede haber muchas facturas enviadas a un
mismo cliente.
b) Una persona trabaja en un departamento y hay muchas personas trabajando en
un departamento.
c) Un vehículo es posdo por una persona y una persona puede o no poseer
muchos vehículos.
d) Los estudiante cursan asignaturas. Cada asignatura puede ser cursada por
muchos estudiantes.
e) Un operador puede trabajar en muchas máquinas y cada máquina tiene
muchos operadores. Cada máquina pertenece a un departamento, pero un
departamento puede tener muchas máquinas.
Institución Cervantes 1
INSTITUCIÓN CERVANTES
Actividad III
Diseñar el diagrama ER para las siguientes situaciones, completándolos, si considera
necesario, con las hipótesis adicionales que se crean razonables.
1. Queremos diseñar una base de datos para almacenar información sobre nuestros
Clientes y sus Pedidos. Los artículos comercializados por nuestra organización
tienen un código que los identifica unívocamente y una descripción. Algunos son
fabricados en factorías propias y otros han de adquirirlos en proveedores externos.
Cada cliente dispone de un crédito con un límite, un descuento por compras
masivas y un saldo, cuyo importe va variando conforme va pagando los pedidos
entregados. Los pedidos se entregan en una dirección de entre varias disponibles
para cada cliente. Son las direcciones de entrega del cliente. Además, un pedido
puede servirse en varias entregas, por lo que habrá que llevar un control de lo que
queda pendiente de entregar en cada momento. Los pedidos se componen en dos
partes: una cabecera de pedido y varias líneas de detalle. Se desea llevar, también,
un control de las necesidades de fabricación. Para ello, por cada fábrica propia se
guarda la cantidad disponible de cada artículo en el almacén de la fábrica y el nivel
mínimo de existencias a partir del cual hay riesgo de quedarse sin existencias.
2. El centro de estudiantes de la carrera de Ingeniería de Sistemas junto con la
jefatura de carrera, desean realizar una encuesta (de carácter anónima) de intereses
a los alumnos de la carrera para la planificación de actividades de la futura semana
de la Facultad. Para ello se han definido los siguientes datos básicos necesarios de
cada alumno: Año de ingreso a la carrera, edad, sexo (determinado por el
encuestador), comuna en que vive, ciudad, si vive con los padres, estado civil,
deporte(s) que practica, hobbies, temas de interés. Se le pide al curso de Diseño de
Bases de Datos I que determine los archivos a utilizar para el almacenamiento de
estos datos que no transgredan las formas normales. ¿Qué tipo de requerimiento
de información puede resolver esta encuesta?.
3. Una agencia de colocaciones dedicada a la búsqueda de directivos para empresas
desea diseñar una base de datos que incorpore datos de las personas de las que tiene
información, así como de los trabajos que oferta. De cada persona se desea poder
relacionarla con la ciudad en la que vive y con todas las ciudades en las que estar a
2 INSTITUCIÓN CERVANTES
Área Informática
INSTITUCIÓN CERVANTES Base de Datos I – Actividades
5. Se desea crear una base de datos para almacenar los menús de un hospital.
Cada menú tiene un único nombre y fue creado en una fecha determinada por
un dietista. Cada menú puede estar formado por cualquier número de platos,
cada uno de ellos con un único nombre. El orden de consumo del plato varía
para cada menú.
Se debe mantener una descripción del plato para cada plato almacenado. Cada
plato está hecho con cualquier cantidad de cualquier número de alimentos (por
ejemplo, el plato PLATO1 está hecho con 10 gr. de ternera, 20 gr. de papas y 5
gr. de tomates).
Cada alimento está perfectamente identificado y descrito en la base de datos.
Para poder obtener el valor nutricional de cada menú, los valores nutrientes se
asocian con cada alimento como sigue:
Cada nutriente se identifica con una clave, almacenándose la descripción del
nutriente y la unidad de medida.
Institución Cervantes 3
INSTITUCIÓN CERVANTES
Actividad IV – Unidad 3
1. Realice un cuadro comparativo entre los distintos tipos de estructura de archivos
planos.
2. Realice un cuadro comparativo entre los distintos tipos de bases de datos.
3. Realice un cuadro comparativo entre los distintos sistemas distribuidos de bases de
datos que conozca.
4. Cree un esquema que me permita seguir un índice utilizando el método de árbol B.
Describa cada una de las etapas.
5. Realice un esquema comparativo de cada uno de los niveles de la arquitectura de
una base de datos.
Actividad V – Unidad 4
Realizar un diagrama ER indicando cuáles son las claves y su tipo, las características de
cada una de las relaciones (uno a uno, uno a muchos, muchos a muchos) y, en caso de
existir integridad referencial, describir y justificar cada una de ellas para las siguientes
situaciones:
4 INSTITUCIÓN CERVANTES
Área Informática
INSTITUCIÓN CERVANTES Base de Datos I – Actividades
3. La AFA, necesita contar con la información acerca de los jugadores de fútbol, los
equipos para los que han jugado, su promedio de goles por temporada y las
posiciones en que han jugado durante su carrera deportiva. Las entidades son:
4. El dueño del almacén Don Chicho, nos ha solicitado que le hagamos un sistema
que sea capas de brindarle información acerca de los datos según el siguiente
informe surgido de un relevamiento previo:
Institución Cervantes 5
INSTITUCIÓN CERVANTES
Actividad VI – Unidad 5
Siendo usted el encargado del centro de cómputos del Hospital y responsable del
mantenimiento y administración de las bases de datos del mismo, deberá diseñar una
base de datos que contenga información referente a la planificación de las operaciones de
los cirujanos del hospital.
Con la información que se ofrece, realizar las tareas necesarias para la construcción de
la base de datos. Verifique si las relaciones obtenidas se encuentran en la forma normal
correcta. Justifique su respuesta explicando el proceso utilizado.
Actividad VII
Dada la siguiente descripción de un sistema de información (Aeropuerto
Internacional), obtenga el esquema conceptual del mismo utilizando el modelo E/R y su
correspondiente transformación a esquema lógico. Realice un control de la base de datos
6 INSTITUCIÓN CERVANTES
Área Informática
INSTITUCIÓN CERVANTES Base de Datos I – Actividades
Actividad VIII
1. La figura siguiente es una representación jerárquica (no normalizada) del conjunto
de datos que se va a grabar en una base de datos de personal de una empresa.
Departamento
Trabajo Teléfono
Historia de Salarios
Actividad IX
Diseñar una base de datos para esta información. Indicar cualquier suposición hecha
acerca de las dependencias.
8 INSTITUCIÓN CERVANTES
Área Informática
INSTITUCIÓN CERVANTES Base de Datos I – Actividades
Actividad X
Dado el siguiente esquema realizar la normalización teniendo en cuenta las pautas
establecidas más abajo:
Planteo:
Se ha presentado para el Ministerio de Educación de la Provincia, la posibilidad de
crear una base de datos que le permita el control de los establecimientos educativos de la
provincia, los cuales presentan al inicio del ciclo lectivo los planes de estudio y los
alumnos que asistirán a cada curso. Se le encomendó al departamento Desarrollo de
Sistemas la tarea de crear el esquema correspondiente a la base de datos a implementar.
En una primera instancia, se ha conseguido el esquema que se muestra a continuación:
Pautas
Una escuela puede tener más de un plan de estudio aprobado.
Un plan de estudio consta de varias materias por división o año.
Un mismo plan de estudio puede dictarse en varios turnos.
Un alumno puede o no cursar materias.
Un cursante de materias puede asistir a más de una materia.
Se desea almacenar todas las notas de las materias (parciales, finales, etc) por
cursante.
Institución Cervantes 9
INSTITUCIÓN CERVANTES
Actividad XI
A pedido de la empresa constructora BRONSON, se realizó un relevamiento de la
información que necesita para el seguimiento de Obras. Cada obra está diferenciada por
un código de obra único. Tiene una fecha de inicio de obra, un costo y un cliente que es
el que encargó la obra. Cada cliente puede encargar más de una obra. Cada obra es
dirigida por un arquitecto quien es el encargado de ejecutar el proyecto. A su vez, existe
un inspector de obra quien es el responsable de controlar el seguimiento de la misma.
Las obras están determinadas o agrupadas por tareas que deben ser realizadas en un
tiempo establecido (fecha de inicio y de finalización de la tarea). Cada tarea tiene un
responsable o encargado de ejecutarla (por ejemplo: pisos tiene como responsable a
Pedro).
CODIGO DE OBRA
CODIGO ARQUITECTO DE LA OBRA
NOMBRE DEL ARQUITECTO
MATRICULA ARQUITECTO
COSTO DE LA OBRA
FECHA INICIO DE OBRA
SUPERFICIE DE OBRA
CLIENTE
NOMBRE DEL CLIENTE
DIRECCION DEL CLIENTE
TELEFONO DEL CLIENTE
INSPECTOR
NOMBRE DEL INSPECTOR
CODIGO DE TAREA
DETALLE TAREA
TIEMPO DE LA TAREA
FECHA INICIO DE LA TAREA
FECHA FINALIZACION DE LA TAREA
CODIGO ENCARGADO DE LA TAREA
NOMBRE DEL ENCARGADO
10 INSTITUCIÓN CERVANTES
Área Informática
INSTITUCIÓN CERVANTES Base de Datos I – Actividades
Actividad XII
La librería NN, nos ha entregado un listado del resumen de ventas por vendedores que
trabajan para la misma. A pedido de la misma, es nuestra tarea construir la base de datos
a partir de estos datos para la administración de las ventas de la librería.
Actividad XIII
Investigar y documentar:
Para cada uno de los siguientes problemas deberá crear un modelo de datos conceptual
consistente de conjunto de entidades, interrelaciones, atributos y otros, que puedan
usarse para responder preguntas similares a las preguntas dadas. Indique las
cardinalidades.
¿Cuántos alumnos del primer semestre del Instituto han sido asignado en cada uno
de los grupos formados para ellos?
¿Cómo se llaman los grupos?
¿Cómo se llaman los alumnos?
¿Quién es su docente de computación?
¿Quién es su docente de informática?
¿Cuántos de estos estudiantes son repetidores?
¿Cuántas materias cursa cada alumno?
Institución Cervantes 11
INSTITUCIÓN CERVANTES
Actividad XIV
Investigar y documentar:
¿Cuáles pueden ser las causas de que fracase un poyecto de creación de una base de
datos?
Entreviste a una persona que use una aplicación de base de datos. ¿Cuáles funciones
del negocio son atendidas? ¿Qué información se produce? ¿Qué objetos están
involucrados? ¿Es esta una aplicación personal, de grupos de trabajo o de una
organización?
Tutores
Nótese que alguna información puede ser representada por atributos y otra por
t2 relaciones.
12 INSTITUCIÓN CERVANTES