INTRODUCCION A LAS BASES DE DATOS
1. SURGIMIENTO HISTÓRICO DE LAS BASES DE DATOS INTEGRADAS.
Al estudiar el desarrollo del procesamiento automatizado de datos, en lo que se
refiere al aseguramiento técnico se habla de diferentes generaciones.
Desde el punto de vista del aseguramiento matemático y en particular, el
aseguramiento de programas, algunos autores reconocen 3 generaciones:
a) Solución de tareas aisladas.
b) Integración de tareas aisladas en sistemas particulares.
c) Integración de sistemas particulares en sistemas automatizados de dirección.
Este proceso de integración ocurre paralelamente, aunque no simultáneamente,
en dos esferas:
a) Integración de los programas: Ha estado facilitado por el uso de
lenguajes de programación cada vez más sofisticados y de
redactores que permiten el acoplamiento de módulos escritos en lenguajes
diferentes.
b) Integración de los datos: En la integración de los datos se han
producido tres categorías de técnicas para su manipulación:
1. Sistemas orientados a los dispositivos:
Programas y ficheros son diseñados y empleados de acuerdo a las
características físicas de la unidad central y los periféricos. Cada programa
está altamente interconectado con sus ficheros, por lo que la integración de
datos de diferentes sistemas es imposible prácticamente.
2. Sistemas orientados a los ficheros:
La lógica de los programas depende de las técnicas de organización
de los ficheros (secuencial, directo, etc.). Cada usuario organiza su
fichero de acuerdo con sus necesidades y las relaciones entre los
elementos se establecen a través de los programas de aplicación.
Esta forma de trabajo implica redundancia de datos que trae
aparejada mayor gasto de memoria y complica las
operaciones de actualización (modifica un
dato dondequiera que aparezca). Esto aumenta el
tiempo de tratamiento y atenta contra la integridad de la información.
Integridad es que en todo momento los datos
almacenados estén correctos en correspondencia con la realidad.
Además, en la vida real se establecen relaciones entre los objetos que
son muy
difíciles de representar u obtener a partir de sistemas tradicionales de ficheros.
Por ejemplo, si se tiene información sobre trabajadores y estudiantes de una
facultad, las aplicaciones requeridas van a definir la manera de organizar y
estructurar los ficheros.
Si se desea obtener datos como:
- Calificaciones promedio de cada estudiante.
- Listado de estudiantes por grupos.
- Categoría científica y docente de cada profesor.
- Salario de cada trabajador.
Resulta adecuado establecer dos ficheros: uno de trabajadores y uno de estudiantes.
Pero, ¿Qué ocurre si se quiere establecer vínculos entre los profesores y
estudiantes?
Por ejemplo, si se desea obtener:
- Los estudiantes de un profesor.
- Los profesores de un estudiante.
Se estructuraría un fichero de profesores y estudiantes que resolvería algunas
demandas, pero sería ineficiente para otras.
Entonces, ¿es posible representar de manera eficiente utilizando los medios de
cómputo los fenómenos o procesos de la realidad objetiva, aunque sea por
supuesto de forma esquemática, pero en la que se establezcan determinados
vínculos entre los elementos u objetos que forman parte de esos procesos o
fenómenos?
Veremos que esto es posible hacerlo a través de la utilización de BD y de los
sistemas que dirigen su manipulación o para decirlo de otra manera, los Sistemas
de Gestión de Bases de Datos (SGBD). Obteniendo entonces la 3ra. categoría:
3. Sistemas orientados a Bases de datos:
En los que hay una débil interdependencia entre los programas de aplicación y
la organización física de los datos.
¿Qué es una Base de Datos?.
Es el conjunto de datos interrelacionados entre sí, almacenados con carácter
más o menos permanente en la computadora. O sea, que una BD puede
considerarse una colección de datos variables en el tiempo.
2. CONCEPTOS BÁSICOS.
En cualquier sistema de información basado en computadoras se cuenta con dos enfoques
para el almacenamiento de los datos:
1. En archivos o ficheros individuales.
2. En base de datos.
1. Supongamos una organización con diversos sistemas de información que utilizan tres
archivos convencionales e independientes.
“VENTAS”
NÚM. NOMBRE 2009 2010 2011
Contiene información con datos históricos sobre las ventas realizadas por el personal de la organización.
“ACTIVIDADES”
NÚM. NOMBRE AREA 2010
Contiene las actividades actuales las cuales se actualizan con frecuencia.
“PERSONAL”
NUM DPTO NOMBRE DIRECC. TELF CONTRATO SALARIO TITULO
Contiene los datos relacionados con el personal de la empresa.
Observemos el Núm. y NOMBRE del trabajador aparece en todos los ficheros por lo que
algún cambio en estos datos requieren la actualización de los tres ficheros.
2.- Una Base de Datos (BD) es un almacenamiento de datos formalmente definidos,
controlados centralmente para intentar servir de múltiples y diferentes aplicaciones.
Un ejemplo de Base de Datos donde usuarios de distintos departamentos de una misma
organización comparten los mismos datos será:
“Grupo de Datos 1”
XXXX
XXXX
X
XXXX
XXXX
X
“Base de Datos” “Grupo de Datos 2”
2222
2
2
2
2222
2
2
2
..........
..........
“Grupo de Datos n”
2 2 2 2 2
XXX
XXX 2 2 2 2 2
XXX
XXX
Estos conjuntos de datos se superponen indicando que la existencia de datos que fueran
redundantes en archivos convencionales, solamente se almacenarán una vez.
2.1. ARCHIVOS CONVENCIONALES.
Los archivos convencionales son una manera práctica de almacenar los datos de ciertas
aplicaciones. Un archivo convencional se puede diseñar y elaborar de manera rápida
reduciendo los problemas de disponibilidad y seguridad.
Cuando ya existen aplicaciones que trabajan con archivos independientes, el analista no puede
involucrarse en el problema de solucionar el almacenamiento de los datos y lo que hace es
diseñar otros archivos independientes.
La velocidad de procesamiento es otra ventaja del uso de los archivos.
Consecuencias:
- Uno de los principales problemas es la falta de potencial para evolucionar, se diseñan
sobre la base de las necesidades inmediatas.
- El rediseño de archivos implica que se modifiquen los programas que lo accesan,
esto implica mayor tiempo de desarrollo y mantenimiento del sistema.
- Generalmente los datos almacenados llegan a ser redundantes, además la actualización
de los archivos llevan más tiempo.
- La integridad de los datos llegan a convertirse en una gran preocupación ya que los
cambios en un archivo requieren también cambios en otros que puedan ignorarse.
2.2. BASE DE DATOS.
La Base de Datos no es simplemente una colección de archivos; es una fuente central de datos
significativos, los cuales son compartidos por numerosos usuarios para diversas aplicaciones.
La esencia de una Base de Datos radica en el Sistema Administrador de la Base de datos
(DBMS Data Base Management System) el cual permite la creación, modificación y
recuperación de la Base de Datos. Generalmente se designa una persona que es el
administrador de la BD.
Objetivos:
Los objetivos de eficacia de una BD son:
- Asegurar que los datos puedan ser compartidos por los usuarios de una organización,
para una variedad de aplicaciones.
- Que el mantenimiento de los datos sea precisa y constante.
- Asegurar que todos los datos requeridos para las aplicaciones presentes y futuras se
encuentren siempre disponibles.
- Permitir que evolucione y se adapte a las necesidades crecientes de los usuarios.
- Permitir que los usuarios desarrollen su propia visión de los datos sin preocuparse de
la forma en que estos se encuentran almacenados físicamente.
Ventajas:
- El compartir los datos significa que estos se almacenan sólo una vez y esto hace que se
mantenga la integridad de los datos.
- Cuando un usuario necesite un dato en particular, lo podrá encontrar disponible en la
BD (si el diseño fue bueno).
- Una BD bien diseñada es más flexible que varios archivos independientes.
- El enfoque de BD tiene la ventaja principal de permitir que los usuarios expongan sus
puntos de vista sobre los datos, sin preocuparse de la estructura de los datos o de la
ubicación física.
Desventajas:
- Los datos se almacenan en un solo lugar y por lo tanto son más vulnerables de
accidentes, por lo que requieren una protección complementaria.
- Aumento del tiempo requerido para insertar, actualizar, eliminar y recuperar los datos.
Una BD no puede optimizar la recuperación de los datos para un usuario en particular, ya que
deberá compartirse con numerosos usuarios y varias aplicaciones.
2.3. MODELO DE DATOS.
Un modelo de datos se define como un grupo de herramientas conceptuales que se utilizan
para describir los datos, sus relaciones, su semántica y sus limitaciones de forma tal que
permite la interpretación del mundo real en un sistema informático.
Todo modelo de datos tiene propiedades Estática y Dinámica.
La parte dinámica se define mediante un conjunto de operaciones que se pueden realizar de
acuerdo con un lenguaje de manipulación de datos (DML). Cambia con el tiempo.
Parte Dinámica
(DML)
Operaciones
Las operaciones pueden ser:
- Selección
- Recuperación
- Actualización (Modificación, inserción, corrido)
La parte estática se define mediante un esquema y un lenguaje de definición de datos (DDL).
Es la que no cambia con el tiempo.
Parte Estática (DDL)
Objetos
Restricciones
Propias de cada Modelo
ESQUEMA
ESTRUCTURA RESTRICCIONES
• Inherentes al modelo
• Opcionales
OBJETOS DEL MODELO
depende el modelo que se trate,
pero en general son:
• Entidades
• Atributos
• Dominios
• Relaciones
• Representaciones, etc.
Clasificación de los Modelos de Datos.-
Los Modelos se clasifican de acuerdo al nivel de abstracción en:
1.- Externos
Modelos lógicos
Basados en Objetos
2.- Conceptuales
3.- Internos
Modelo físico
Basados en Registros
Dentro del grupo de los modelos lógicos se diferencian:
a.- Los basados en objetos, elemento de referencia es el objeto.
Se caracterizan por ser muy flexibles y hacen posible la especificación de las limitaciones de
los datos y como ejemplo tenemos:
- Modelo Entidad-Relación
- Modelo Binario
- Modelo Semántico
- Modelo Infológico
b.- Los basados en registros, elemento básico es un conjunto de datos relacionados de algún
modo.
Se utilizan para especificar, tanto la estructura lógica general de BD como una descripción en
un nivel más alto implementación, pero no permiten especificar de forma clara las
limitaciones de los datos y como ejemplo tenemos:
- Modelo Relacional
- Modelo Jerárquico
- Modelo Reticular
2.4. MODELO ENTIDAD – RELACIÓN.
Este Modelo Entidad – Relación que también se denomina modelo conceptual de datos, es
una técnica de representación gráfica que incorpora información relativa a los datos y la
relación que existe entre ellos para darnos una visión del mundo real, este modelo es un paso
previo al futuro diseño físico de las bases de datos.
NOTA: El modelo Entidad - Relación es una visión del mundo real con la mayor naturalidad
posible mediante los objetos y sus relaciones. Los objetos básicos se denominan entidades.
“MODELO EXTERNO”
CENTRAL
TRACTOR
CAMPO
“MODELO CONCEPTUAL”
CENTRAL
CAMPO
TRACTOR
• Características del MER:
- Reflejan sólo la existencia de los datos y no lo que se hace con ellos.
- Se incluyen todos los datos del sistema informativo y por tanto no esta orientado a
ninguna aplicación en particular.
- Es independiente al modelo físico de los datos y al Sistema Operativo.
- No tiene en cuenta restricciones de espacio, almacenamiento, ni tiempo de ejecución.
- Está abierto a la evolución del sistema.
2.4.1. Conceptos Fundamentales.
• Entidad.-
) Entidad: Es una cosa u objeto concreto o abstracto que existe, que puede distinguirse
de otros y del cual se desea almacenar información.
) Conjunto de entidades: Las entidades se pueden agrupar en conjuntos de entidades,
con la agrupación de los datos de cada uno de ellas.
Generalmente existe un predicado asociado a cada conjunto de entidades que permite
comprobar si una entidad pertenece al conjunto dado o no. Las entidades pueden existir a mas
de un conjunto de entidades o sea que los conjuntos no son mutuamente excluyentes.
UNIVERSIDAD
Profesores Seguridad
Rectorado Alumnos
Las entidades además pueden ser fuertes o débiles.
Entidades Fuertes: sus ocurrencias se identifican por sí mismas, o sea, los atributos que las
identifican son propios de las entidades y se representan con un
rectángulo.
Ejemplo de Entidad Fuerte:
Alumno
Nro. Carnet
Nombre Nivel
Atributos de la
Entidad
El alumno es identificable por su Nro. Carnet.
Entidades Débiles: sus ocurrencias son identificables solo por estar asociadas a otra u otras
entidades, o sea, que algunos de los atributos que la identifican se
refieren a otra entidad y estas se representan con doble rectángulo.
Ejemplo de Entidad Débil:
Departamento
Asignatuta
Código
Asignatura (se identifica mediante el código de la asignatura, que tiene como primer carácter
el departamento al que pertenece, y el siguiente dígito es un número secuencial que el
departamento pone a sus asignaturas). De ese modo el departamento “A” se corresponde con
“Lenguajes de programación“.
• Clave o Llave de una Entidad.-
Antes de definir Clave, definiremos un conjunto más genérico, denominado: Identificador,
Determinante o Superclave.
) La Superclave es un conjunto de uno o más atributos que permiten identificar de
forma unívoca una Ocurrencia de Entidad dentro del conjunto de ellas.
) De entre todas las Superclaves
aquellas para las cuales ningún
subconjunto propio es a su vez una
Superclave, se le denomina
Superclaves mínimas o Claves
Candidatas. Así pues, podemos
definir las Claves Candidatas
como aquellas Superclaves que
además de serlo son mínimas.
Superclaves
Claves Candidatas
Clave Primaria Claves Secundarias
) De entre todas las Claves Candidatas se elige la Clave primaria siendo todas las
demás denominadas Claves Alternativas o Claves secundarias.
Ejemplo en la Entidad Alumno:
Superclaves:
- Número del Semestre + Número Registro.
- Número Cédula.
- Nombre Alumno.
- Nombre + Fecha Nacimiento.
Claves Candidatas:
- Número Cédula.
- Nombre Alumno.
- Número del Semestre + Número Registro.
Clave Primaria:
- Número Cédula.
Claves Secundarias:
- Nombre Alumno.
- Número del Semestre + Número Registro.
) Claves Externas ó Ajenas es aquel o aquellos atributos de una entidad que son claves
primarias en otras entidades.
Ejemplo en la Entidad Asignatura:
Superclaves:
- Código Asignatura = Código Dpto. + Número Asignatura.
- Descripción.
Claves Candidatas:
- Código Asignatura.
- Descripción.
Clave Primaria:
- Código Asignatura.
Clave Secundaria:
- Descripción.
Clave Externa:
- Código Dpto.
Ahora supongamos que en la asignatura además se almacenara el código del profesor que lo
imparte, esta será otro clave externa.
• Relación.-
) Relaciones: Es una asociación sin existencia propia de una o varias entidades y se
representa con un rombo y se nombra con verbo.
Alumno recibe Asignatura
NOTA.- Una limitación del MER es que no es posible expresar relaciones entre relaciones.
La dimensión de una relación es la cantidad de entidades que participan en ellas. La mas
generalizada es la binaria (sólo dos entidades).
...
Alumno
...
Asignatura
Vendedor negocian Cliente
Relación Ternaria
Agente
Las relaciones también tienen claves.
• Clave de una Relación.-
) Clave de una Relación es el producto cartesiano o concatenaciones de las Claves
Primarias de las Entidades asociadas y en algunos casos los atributos que forman dicha
relación.
La Relación Recibe tiene clave número de cédula y código de la asignatura, pero si el alumno
está matriculado en una asignatura de otro curso, arrastre, entonces el atributo curso de la
relación formará parte de la clave de la relación.
• Atributo.-
) Atributo es una unidad básica de información de una entidad o de una relación que
sirve para identificarla o descubrirla y se representa con una línea con un círculo en el
extremo.
...
recibe
• Ocurrencia.-
La Ocurrencia se puede definir tres tipos: de atributos, de entidad y de relación.
) Ocurrencia de atributo: Es el conjunto de valores que puede tomar un atributo
(dominio).
Asignatura
Asignatura Nombre Asignatura
9 Base de Datos
Atributo
9 Ingeniería de Sistemas
9 Física
Ocurrencias
Las ocurrencias de éste atributo, asignatura, serian: base de datos, ingeniería de sistemas,
física, etc.
) Ocurrencia de una entidad: Es el conjunto de ocurrencias de sus atributos con sentido
y existencia propia.
Alumno
Nro. Cédula
Dirección
Fecha de Nacimiento
Nro. Cédula Nombre Dirección Fecha de Nacimiento
123456789-0 Raúl Ambato 02/02/76 234567890-1 Juan Riobamba 03/03/66
345678901-2 María Quito 04/04/67
Ocurrencia
de Entidad
Ocurrencias de Atributos
Las ocurrencias de ésta entidad, Alumno, serían la colección de todas las filas que conforman
la tabla anterior.
) Ocurrencia de relación: Está constituido por una y sola una ocurrencia de cada una de
las entidades asociadas y las ocurrencias de cada uno de los atributos de la relación.
Nro. Cédula Curso Nombre Asignatura
Alumno recibe
Nombre Direcció
n
Alumno
Nro. Cédula Curso Nombre Asignatura
123456789-0 IV Lenguajes de Programación 234567890-1 VIII Programación WEB
345678901-2 V Base de Datos I
Ocurrencia de
Relación
Ocurrencias de Atributos
Las ocurrencias de la relación, Alumno – recibe – Asignatura, serían la colección de todas las
filas que conforman la tabla anterior.
2.4.2. Representación del Modelo Entidad - Relación (MER).
En este modelo, las entidades fuertes se representan mediante un rectángulo, las débiles con
dos rectángulos, los atributos mediante líneas con círculos en el extremo, las relaciones
mediante rombos. El nombre del atributo que será clave, debe subrayarse y se debe poner de
izquierda a derecha o de arriba a abajo siendo las primeras las más significativas.
El MER tiene asociado las tres representaciones gráficas siguientes:
) Diagrama Entidad - Atributo (DEA): En el cual se representa cada entidad con sus
atributos, subrayando los atributos de la clave primaria.
Alumno
Nro. Carnet
Nombre Dirección
Nro. Carnet
ón
) Diagrama Relación - Atributos (DRA): En el cual se representa cada relación con sus
atributos, en caso que las tenga.
) Diagrama Entidad – Relación (DER): Formado por los diagramas de Entidad –
Atributos y Relación – Atributos
Las relaciones se deben nombrar con un verbo, las entidades con sustantivos que actúan como
sujeto y complemento cuando se asocian entre sí mediante una relación formando todo ello
una frase que describe la gestión que se realiza.
Así se puede leer: El alumno Pedro estudia Física ó la Física es estudiada por el alumno
Pedro.
2.4.3. Grado de una Relación.
El grado de una relación representa la participación en la relación de cada una de las entidades
asociadas y puede ser de tres tipos:
) De 1 a 1 (una a una): A cada ocurrencia de una entidad corresponde una y sólo una
ocurrencia de la otra y viceversa.
) De 1 a n (De una a muchas) o de n a 1 (De muchas a una): A cada ocurrencia de la
primera entidad pueden corresponderle varias ocurrencias de la segunda entidad y a
cada ocurrencia de la segunda le corresponde no más de una de la primera.
) De n a m (De muchas a muchas): A cada ocurrencia de la primera entidad pueden
corresponderle más de una ocurrencia de la segunda y viceversa.
Otra forma de representar el grado de una relación es mediante Æ (para el caso de una) ó
ÆÆ (para la relación de m). O se puede utilizar también ambas formas a la vez.
2.4.4. Cardinalidad de una Entidad.
La cardinalidad de una entidad es una relación que mide el máximo y mínimo de la
participación de dicha entidad en la relación para expresar la cardinalidad teniendo en cuenta
la obligatoriedad de la ocurrencia vamos a utilizar la siguiente notación:
1: Indica que a cada elemento le corresponde al menos uno en la otra entidad
(obligatoriedad).
c: Indica que a un elemento de una entidad le puede corresponder uno o ningún elemento
de la otra entidad (no-obligatoriedad).
m: Indica que a un elemento de una entidad le corresponde uno o varios elementos de la
otra entidad (obligatoriedad).
n: Indica que a un elemento de una entidad le puede corresponder uno o varios elementos
de la otra entidad (no-obligatoriedad).
Ejemplo:
La entidad alumno en la relación estudia tiene una cardinalidad de “m”, ya que al alumno le
corresponde una o varias asignaturas. Sin embargo si existe alguna asignatura incluida en el
plan de estudios que no tiene ningún alumno matriculado, tiene cardinalidad n, es decir, la
asignatura puede tener uno, varios o ningún alumno matriculado.
Si hablamos de la cardinalidad existente entre departamento y asignatura tenemos que la del
departamento es m (comprende siempre una o varias asignaturas) y la cardinalidad de
asignatura es uno (ya que a una asignatura le corresponde uno y sólo un departamento).
2.4.5. Operaciones sobre el Diagrama Entidad - Relación (DER).
Para entender la semántica del DER, se puede aplicar sobre sus componentes básicos
(Entidades, atributos, relaciones) diferentes operaciones.
) Generalización / Especialización: Permite formar un nuevo conjunto de entidades
mediante la unión de otros conjuntos de entidades o dividir un conjunto de entidades
en cierto número de otro conjunto de entidades (a esta última se le conoce como
especificación).
Se distinguen los trabajadores de una empresa de acuerdo con la organización que
ellos tienen. Usando la especialización podemos obtener una nueva entidad de
trabajadores.
Es necesario introducir un nuevo atributo, en el conjunto de entidad de trabajadores
(tipo de trabajador) para poder distinguir entre sus miembros las distintas clases de
trabajadores. Si por algún atributo propio de cada tipo de trabajador se pudieran
diferenciar unos de otros entonces no se necesitaría introducir el atributo diferenciante.
) La Agregación: Consiste en construir un nuevo conjunto de entidades sobre la base de
un conjunto de relaciones entre entidades.
Observemos que la relación ternaria obrero, máquina y piezas representan la idea de
que una actividad en la empresa se describe en término de que un obrero en alguna
máquina produce una cantidad determinada de piezas en una fecha dada. En el DER
esta situación no hubiera podido ser modelada correctamente ya que una relación no
puede relacionarse con otra relación.
2.5. MODELOS LÓGICOS BASADOS EN REGISTROS.
Se utilizan para especificar los datos tanto a nivel de la estructura lógica general como una
descripción en un nivel mas alto de implementación pero no permiten especificar de forma
clara las limitaciones de los datos. Éstos pueden ser como ya se mencionó antes: relacional,
jerárquico, reticular.
2.5.1. Modelo Relacional.
Fue definido por E. F. Codd (1970), en este modelo tanto las Entidades como las Relaciones
se presentan mediante tablas.
PARTE ESTATICA (Objetos y Restricciones).-
OBJETOS:
Relación.- No se refiere a la asociación entre Entidades como en el MER, sino que está
estrechamente ligado a la definición matemática de una relación que se enuncia de la
siguiente forma:
“Dado una serie de conjuntos D1, D2,…Dn, R es una relación de estos n - conjuntos si es un
conjunto ordenado de n - ocurrencias tal que d1 pertenece a D1, d2 pertenece a D2,… y dn
pertenece a Dn. En donde los conjuntos D1, D2, …, Dn son Dominios de R.”
Atributos.- Son las propiedades o características de las Entidades y se corresponden con la
denominación o cabecera de una columna o cuerpo de una relación.
Dominio.- Es el conjunto de donde los atributos toman sus valores. Puede suceder que dos
atributos distintos de una misma relación, tomen sus valores del mismo dominio.
Ejemplo:
El dominio de las edades contiene valores enteros de 18 a 60 años. El atributo edades toma
valores de ese dominio y otro atributo, por ejemplo antigüedad puede tomar también valor en
dicho dominio.
Atributos
NOMBRE EDAD SEXO
Juan Paez
Elsa Suárez
Teresa Pineda
30
22
19
M
F
F
Tupla.- La tupla es una Ocurrencia de la Entidad o conjunto de itens de información que
forma una fila de la relación.
Tabla.- Si se colocan todas las tuplas de una relación, una debajo de la otra alineando los
componentes de cada atributo en una columna y en la cabecera de cada columna el nombre de
su atributo, se obtiene la representación de la relación denominada tabla. Cada tupla forma
una fila de la tabla.
Grado.- El grado de una relación es el número de atributos o columnas que posee.
Cardinalidad.- Es el número de filas o tuplas de una relación.
Clave.- Se define clave de una relación a aquel o aquellos atributos que determinan de forma
unívoca y mínima a una tupla de la relación.
RESTRICCIONES:
Inherentes:
) No pueden aparecer dos filas iguales en una relación ) El o los atributos que forman parte de la clave no pueden tomar valores nulos o
desconocidos.
Opcionales:
) Están formadas por las dependencias funcionales, transitivas multivaloradas, etc.
PARTE DINAMICA.-
El modelo Relacional trabaja por especificación, es decir se especifica una condición que
debe cumplir un grupo de tuplas; para localizarlas. Por tanto el DML utilizado no es
procedural.
RESUMEN.-
1. Una base de Datos Relacional está formada por un grupo de datos agrupados en
relaciones.
2. Las relaciones se presentan mediante tablas que contienen información homogénea.
3. Los distintos itens de información contienen tuplas y cada una se identifica con una
clave.
4. Cada tupla está formada por atributos cuyos valores no se pueden descomponer.
5. Los atributos se asignan a dominios siendo un dominio un conjunto de valores
posibles de un atributo.
6. Entre las bases de Datos Relacionales existentes en el mercado se encuentran:
DBASE, ORACLE, CLIPPER, FOXPRO, ACCES, etc.
EJEMPLO.-
Supongamos que deseamos representar una base de Datos, la información referente a las
asignaturas donde están matriculados diferentes alumnos de distintas facultades. Según el
modelo Relacional utilizaríamos la tabla: “Matrícula” que contiene atributos de los datos
referentes a Facultad, Alumno y Asignatura.
FACULTAD ALUMNO ASIGNATURA
Informática Luis Suárez Base de Datos
Informática Ana del Pozo Metodología
Informática Ana del Pozo Base de Datos
Exactas Juan Pino Geografía
Exactas Eva Martín Álgebra
Exactas Eva Martín Topología
Si la estructura de la tabla tiene un total de 100 bytes (Facultad = 50 bytes, Alumno = 30 bytes
y Asignatura = 20 bytes) para el ejemplo anterior que tiene 6 tuplas, los datos ocuparían 600
bytes (6 tuplas x 100 bytes = 600 bytes).
2.5.2. Modelo Jerárquico.
La representación se presenta en forma de árbol. Permite reducir la redundancia inevitable
que se produce en las Bases de Datos Relacionales.
PARTE ESTATICA (Objetos y Restricciones).-
OBJETOS:
Segmento.- Es un conjunto de datos homogéneos que se corresponde con las entidades. Se
diferencia el Segmento Raíz de los Segmentos Dependientes de acuerdo con la posición que
ocupe en la estructura jerárquica, y el Segmento Tipo de los Segmento de Ocurrencia, el
primero define a una identidad y el segundo a los datos de la identidad.
Campo.- Es una parte bien definida del Segmento, y corresponde al concepto de atributo en el
Modelo Relacional
Dependencia o Relación Jerárquica.- Se denomina a la conexión que enlaza los Segmentos
Tipo. Entre dos segmentos sólo existirá una única conexión, del tipo de una a muchas (1:m).
RESTRICCIONES:
Inherentes.-
- Sólo se permite una relación entre dos segmentos. - No se permiten Relaciones Reflexivas.
- No se permite un Segmento Hijo con más de un Segmento Padre.
- El árbol se recorre en un cierto orden (Preorden).
- Es obligatorio entrar por el Segmento Raíz.
Opcionales.-
- No tiene debido a lo rígido que es.
PARTE DINAMICA.-
La selección se realiza por Navegación, es decir, segmento a segmento es por tanto un
Modelo Procedural.
RESUMEN.-
1. Sólo tiene un segmento Raíz.
2. Un Segmento Raíz puede tener cualquier número de Segmentos Tipo Dependientes.
3. Cada Segmento Tipo Dependiente del Segmento Raíz puede tener otros subordinados.
4. Para cada Segmento de Ocurrencia de todo Segmento Tipo puede haber cualquier
número de Segmento de Ocurrencia (tal vez cero) de cada uno de sus segmentos
dependientes.
5. Ningún Segmento Ocurrencia de Segmento Tipo Dependiente puede existir sin su
segmento Ocurrencia de nivel jerárquico superior.
6. Entre los Modelos Jerárquicos tenemos: IMS, MARK IV, SYSTEM 2000, para
ordenadores grandes.
EJEMPLO.-
Se debe determinar que entidades representan el problema, y cuál es el padre del que parte el
resto de segmentos.
Existen tres Segmentos y cada uno de ellos con un campo:
- Segmento Facultad - Nombre de la Facultad.
- Segmento Alumno - Nombre del Alumno.
- Segmento Asignatura - Nombre de la Asignatura.
Nota.- Generalmente tienen más campos pero se hizo así para simplificar.
El segmento Raíz debe ser la Facultad ya que tiene dependencia con alumnos, y este a su vez
con las asignaturas matriculadas.
El árbol sería:
“Matrícula”
Facultad
Alumno
Asignatura
Los elementos representativos que antes hemos incluido en la tabla estarían dispuestos del
siguiente modo:
Informática Exactas
Luis Sáez Ana del Pozo
Base de Datos Base de Datos Metodología
Juan Pino Eva Martín
Geometría Álgebra Topología
En una estructura jerárquica ya sabemos que existen diferentes estructuras, una por cada
segmento y las ocurrencias de estas se enlazan mediante punteros.
La representación interna del árbol tiene una serie de punteros para asociar la información de
los segmentos.
Un ejemplo de representación interna sería:
Luis Saez
Metodología
Juan Pino
Algebra
Directorio
Base de Datos
Informática
Ana del Pozo
Π
Π
Base de Datos
Geometría
Exactas
Π
Eva Martín
Π
Π
Topología
La estructura del árbol se conoce desde el momento en que se organizan los segmentos entre
sí y no depende de los datos que se incorporen después.
Si consideramos que los apuntadores ocupan 2 bytes, la estructura interna sería:
Estructura de los Segmentos.-
Facultad = 50 + 4 bytes (2 punteros) = 54 bytes
Alumno = 30 + 4 bytes (2 punteros) = 34 bytes
Asignatura = 20 + 2 bytes = 22 bytes
Ocurrencias en los segmentos.-
Facultad = 2 * 54 = 108 bytes
Alumnos = 4 * 34 = 136 bytes
Asignatura = 6 * 22 = 132 bytes
El árbol ocuparía un total de 376 bytes de memoria mucho menos que el relacional debido a la
eliminación de la información redundante.
Si le adicionamos los profesores que tiene la Facultad, sería:
Luis Saez
Metodología
Juan Pino
Algebra
Facultad
Alumno Alumno
Asignatura
Y en este caso el segmento Facultad tendrá 3 punteros, una para sus ocurrencias hermanas y
otra para asociar a los profesores y otras para los alumnos.
Directorio
Dr. Carlos Nieto
Dr. Luis Peña
Π
Base de Datos
Informática
Ana del Pozo
Π
Π Dr. Luis Peña
Base de Datos
Π
Geometría
Exactas
Π
Eva Martín
Π
Π
Topología
2.5.3. Modelo Reticular.
Este modelo fue propuesto para el grupo DBTG (Data Base Task Group) del comité
CODASYL.
PARTE ESTATICA (Objetos y Restricciones).-
OBJETOS:
Articulo o Registro.- Es un conjunto de datos homogéneos que constituye la unidad de
intercambio de información, entre las Bases de Datos y las aplicaciones. Es el equivalente a
las tablas y los segmentos.
Conjuntos.- Se denomina así a la asociación entre artículos. En cada conjunto existe un
articulo cabecera y uno o varios artículos miembros. Esto es similar a los Segmentos tipos y
los Segmentos de Ocurrencias.
RESTRICCIONES:
Inherentes.-
- No existen.
Opcionales.-
- Existen algunos determinados por las diferentes variantes del modelo.
PARTE DINAMICA.
La selección o búsqueda de los datos también se realiza por navegación, por tanto es un
modelo procedural.
RESUMEN.
1. Una base de datos reticular esta formada por un conjunto de datos homogéneos
llamados artículos o registros.
2. Las asociaciones entre artículos se denominan conjuntos
3. Ejemplos de Bases de Datos reticulares: DMS, TOTAL, DBMS, etc.(Todas son
propias de maquinas grandes) mainframes.
El modelo reticular se utiliza para representar objetos que tienen entre sí una dependencia
mucho mayor que la asociación jerárquica. Está especialmente diseñada para cardinalidades
de muchos a muchos (n : m).
EJEMPLO.
Si un alumno pudiera matricularse en varias facultades, por ejemplo: la estudiante Ana del
Pozo se incorporara a la facultad de ciencias exactas y se matricula en una asignatura de esa
Facultad.
En el modelo relacional, los datos se repiten en tuplas y por tanto las relaciones de n:m se
pueden mantener duplicando la información. Por lo tanto el modelo Relacional seria:
Modelo Relacional:
FACULTAD ALUMNO ASIGNATURA
Informática Ana del Pozo Base de Datos
Informática Ana del Pozo Metodología
Exactas Ana del Pozo Algebra
En el modelo jerárquico, no se repiten los datos de un padre para diferentes hijos, pero si
existen hijos de diferentes padres con la misma información, no quedando mas remedio que
duplicar los datos del hijo, pues solo se permite a un hijo tener un solo padre.
Entonces en el modelo jerárquico seria:
Modelo Jerárquico
Informática Exactas
Luis Sáez Ana del Pozo
...... Base de Datos Metodología
Ana del Pozo
Álgebra
Eva Martín
...... ......
En el modelo reticular se permite que un hijo tenga mas de un padre y entonces el diseño
seria:
Facultad Alumno Asignatura
Entonces:
Informática Exactas
Luis Sáez Ana del Pozo
Base de Datos Metodología
Eva Martín Juan Pino
Álgebra ...... ......
Si se analiza esta representación gráfica se puede apreciar cuales son los alumnos que están
matriculados y cuales son las asignaturas que cada uno de ellos cursa. Pero no se conocen
cuales son las asignaturas que el alumno tiene matriculadas en una facultad o en la otra, se
puede dar el caso incluso que una misma asignatura tenga el mismo nombre en 2 facultades
diferentes.
El grafo que sí mantendría consistencia de la información que queremos representar, sería el
siguiente:
Informática Exactas
Luis Sáez Ana del Pozo Eva Martín Juan Pino
Base de Datos Metodología Álgebra Topología Geometría
2.6. REDUCCIÓN DEL MODELO ENTIDAD - RELACIÓN AL MODELO
RELACIONAL. Si consideramos tan solo las relaciones binarias de las distintas combinaciones posibles, considerando tanto el Grado, como la cardinalidad, veremos entonces cómo convertir estas Entidades y Relaciones
del DER en tablas del Modelo Relacional.
1. Para la cardinalidad de 1:1; 1:C; C:1; C:C; sólo se necesita una tabla relacional para ambas
entidades, tomando como clave primaria cualquiera de las claves de las entidades, aunque se deba
tomar la que pertenezca a la entidad más dominante.
Ejemplo:
La tabla resultante será:
- Vend -Zona (CV, NV, DV, CZ, NZ)
2. Cuando la cardinalidad es 1: n; 1: m; c: n; c: m; se necesitan 2 tablas, una para cada entidad,
utilizándose la clave de cada entidad como clave de la tabla correspondiente. La clave de la
entidad que está en extremo “1” ó “C” se añade como un atributo más a la tabla del extremo, “n” ó “m”; para mantener esa relación.
Ejemplo:
Las tablas resultantes serán:
- Profesor (CP, NP, NCP)
- Asignatura (NUA, NOA, CP)
3. Si la cardinalidad es n: m; m: n; n: n; m: m; las tablas estarán formadas, uno por las entidades
asociadas siendo la clave correspondiente a la entidad que representa y además una tercera formada por los atributos de las claves de ambas entidades y los atributos propios de la relación.
Ejemplo:
Las tablas resultantes serán:
- Trabajador (CT, NT)
- Pieza (CP, DP, UM)
- Trab-Pieza (CT, CP, C, F)
4. Representar a cada entidad generalizada en una tabla que contenga la clave de la generalización y
sus atributos propios.
Ejemplo:
La tabla resultante será:
- Trabajadores (CT, TT, ST)
5. Representar cada entidad especializada en una tabla que contendrá la clave de la generalización y
los atributos propios de la especialización.
Las tablas resultantes serán:
- Directorios = (CT, HT, PS) - Indirectos = (CT, CL, CTA, TA)
6. Representar a cada entidad agregada en una tabla con sus correspondientes atributos y claves si las
tienen y las claves de las entidades agregadas como atributos.
Ejemplo:
La tabla resultante será:
- Publicación (CP, FP, CPP, CL, CE)
7. Representar a la entidad débil en una tabla que contendrá la clave de la entidad básica
determinante y los atributos de la entidad débil.
NOTA: No se pone como Llave Externa como en el caso de 1:m sino como “Llave”
La tabla resultante será:
- Hijos (CT, CH, EH)
2.7. EJERCICIOS PROPUESTOS. Represente mediante el Diagrama Entidad – Relación y realice la reducción al Modelo
Relacional las siguientes situaciones:
2.7.1.- En una fábrica de materiales textiles que produce dos tipos de productos: telas e
hilos. De las telas se conoce el código, el tipo y el ancho. De los hilos se conoce
código, la utilidad y el color. De esta fábrica se conoce el nombre, dirección y
teléfono, y tipo de producto que se produce como identificador de la especialización.
Los productos que son fabricados en dicha fábrica son comprados por una fábrica de
pantalones de la que se conoce su nombre, dirección, teléfono y área que ocupa; por
cada compra se determina la fecha de compra. Las fábricas de materiales textiles
venden a muchas fábricas de pantalones así como las fábricas de pantalones compran
telas e hilos a diferentes fábricas de materiales textiles.
Las fábricas de pantalones tienen obreros de dos tipos de planta y temporales de los
que se conoce su cédula de identidad, nombre y dirección. Además de los obreros de
planta se conoce sus años de trabajo y educación realizada; y de los temporales se
conoce la profesión y quien recomienda. Los obreros de planta utilizan diferentes
telas para producir pantalones y las telas son usadas por diferentes obreros.
2.7.2.- En una Universidad del país existen dos grupos de alumnos: el primero lo conforman
los alumnos becados de los que se conoce su número de la lista y la residencia en que
vive; y el segundo lo conforman los que no están becados, de los que se conoce su
nombre y dirección. De los alumnos no becados sabemos que realizan trabajos
voluntarios (mingas), mientras que los becados hacen experimentos, de los que se
conoce el número del experimento y la materia en que se desarrolla; y que cada
experimento es realizado por varios alumnos y éstos sólo pudieran realizar un
experimento.
Los trabajos voluntarios son realizados por varios alumnos y éstos pueden hacer
varios trabajos voluntarios de los que conocemos: el número del trabajo, el lugar y el
trabajo desempeñado. De cada trabajo realizado por los estudiantes se conoce la
fecha en que fue realizado. De todos los alumnos se conoce el número de Cédula de
Identidad y la Facultad en que estudian, además se sabe: el código, la cantidad de
Horas semanales y el Contenido de las materias que reciben Los alumnos reciben
varias materias y éstas son impartidas a muchos alumnos.
2.7.3.- En el sistema de Enseñanza Primaria del país existen varias escuelas las que se
identificarán por su nombre y dirección. Todas las escuelas dependen de un Ministro
del que se conoce su Cédula de Identidad y Nombre.
En cada escuela hay varias aulas de las que sabemos su número y cantidad de
pupitres y a su vez tenemos varios grupos de los que se conoce su grado y la
cantidad de estudiantes. En cada aula estudia un solo grupo y este sólo recibe clases
en un aula.
En algunas ocasiones las aulas son prestadas a diferentes fábricas para que se den
clases por las noches y de la fábrica conoceremos su nombre y dirección. Cada vez
que prestan las aulas a la fábrica contabilizamos lo que obtenemos por concepto de
arriendo.
2.7.4.- En una universidad tenemos varios grupos de alumnos, los que se identifican por el
nivel y la cantidad de estudiantes, pero además de las mujeres conocemos su Cédula
de Identidad y edad, y que realizan experimentos fuera de la escuela; y de los
varones conocemos su Cédula Militar y la estatura, y que estos realizan trabajos
voluntarios fuera de la escuela.
Cada experimento es realizado por varias alumnas y estas sólo realizan un
experimento y de este sabemos el Número del experimento y la materia en que es
desarrollada.
Los trabajos voluntarios son realizados por varios alumnos (varones) y estos realizan
varios trabajos voluntarios de los que se sabe: el número del trabajo, el lugar en que
es realizado y el trabajo a realizar.
Los grupos tienen aulas de las que conocemos su número y cantidad de pupitres.
Cada aula tiene varios grupos y varios grupos tienen solo un aula y esto constituye la
universidad de la que conocemos su número y nombre, y sabemos que depende al
igual que de todas las universidades del director del Conesup del que se conoce su
Cédula de Identidad y Nombre.
De cada grupo que tiene un aula conocemos el horario y las asignaturas que se
imparten.
2.7.5.- En una empresa Metalúrgica se desea llevar el control de las reparaciones que se le
realizan a las máquinas. En la empresa existen numerosas Máquinas, de cada una se
conoce el número de inventarlo, su costo, el valor de la depreciación, el código de su
tipo y el taller donde está ubicada. Para cada tipo de Máquina se conoce su código, la
descripción y la frecuencia en que le toca el mantenimiento. En un taller existen
varias máquinas y de cada taller se conoce su número, nombre y cantidad de obreros
directos y auxiliares que trabajan en él. En la empresa los obreros auxiliares son los
encargados de la reparación de todas las máquinas. Cada obrero se Identifica por su
número de Identidad y de él se conoce además su nombre, categoría laboral (auxiliar
o directo) y años de experiencia. Una Máquina es reparada siempre por el mismo
obrero y un obrero repara varias máquinas, pero se sabe que en una fecha dada un
obrero repara una sola máquina.
2.7.6.- En una empresa de la industria mecánica se fabrican distintos tipos de piezas. Para
cada una se conoce su código que la identifica, descripción y peso unitario. Sobre
cada pieza se realizan distintas operaciones(corte, fresado, etc.) en una fecha
determinada; constituyendo éste, el proceso de fabricación, del que se conoce su
código y la descripción. Acerca de las operaciones se conoce su código y nombre.
Una operación se aplica a diferentes piezas; además en un proceso de fabricación una
pieza pasa por diferentes equipos que pueden realizar diferentes operaciones sobre
diferentes piezas y una operación puede ser realizada en diferentes equipos. De cada
equipo se conoce su nombre, modelo y país de procedencia. Una operación realizada
sobre una pieza en un equipo dado constituye una norma que se identifica por un
código y tiene asociados una descripción y un tiempo de ejecución.
En la empresa trabajan obreros de dos tipos distintos: directos y auxiliares. Un obrero
directo trabaja con el cumplimiento de diferentes normas y una norma puede ser
aplicada a distintos obreros directos. Un obrero directo cumple una norma dada en un
determinado porciento. Un obrero auxiliar realiza el mantenimiento de diferentes
equipos y un equipo dado siempre es atendido por un mismo obrero auxiliar. Para
cada equipo atendido por un obrero auxiliar dado se conoce el tipo de mantenimiento
efectuado y la última fecha en que se realizó. Todos los obreros de la fábrica están
caracterizados por un número, su nombre, calificación laboral y categoría
ocupacional (directo o auxiliar)
2.7.7.- El Instituto de Aeronáutica Civil de Cuba cuenta con información sobre las
diferentes compañías de aviación que existen en el mundo. De cada compañía se
conoce su nombre (Cubana, Interflug, etc.), su volumen anual de ventas y un código
que la identifica. Cada compañía puede estar representada en diferentes países y en
un país estar representadas diversas compañías. De cada país se conoce su código,
nombre, idioma y moneda
También se sabe que por vía aérea se realizan diferentes viajes. Cada viaje posee un
código, un lugar de origen, un destino y una cantidad de kilómetros a recorrer.
Además, se conocen que existen distintos tipos de aviones. Cada tipo de avión se
identifica por un nombre (IL-62, DC-10, etc.) y posee un consumo de gasolina por
kilómetro y una cierta cantidad de asientos. Un mismo viaje puede ser realizado por
distintos tipos de aviones y un tipo de avión puede ser utilizado en diversos viajes.
Un viaje realizado por un tipo de avión constituye un vuelo y para cada vuelo se
conoce su número y tiempo de duración.
Una compañía de aviación realiza muchos vuelos y un vuelo puede ser cubierto sólo
por una compañía, para cada vuelo que ofrece una compañía se conoce el precio del
pasaje.
2.7.8.- El Instituto de Aeronáutica Civil de Cuba cuenta con información sobre las
diferentes compañías de aviación que existen en el mundo. De cada compañía se
conoce su nombre (Cubana, Interflug, etc.), su volumen anual de ventas y un código
que la identifica. Cada compañía puede estar representada en diferentes países y en
un país estar representadas diversas compañías. De cada país se conoce su código,
nombre, idioma y moneda
También se sabe que por vía aérea se realizan diferentes viajes. Cada viaje posee un
código, un lugar de origen, un destino y una cantidad de kilómetros a recorrer.
Además, se conocen que existen distintos tipos de aviones. Cada tipo de avión se
identifica por un nombre (IL-62, DC-10, etc.) y posee un consumo de gasolina por
kilómetro y una cierta cantidad de asientos. Un mismo viaje puede ser realizado por
distintos tipos de aviones y un tipo de avión puede ser utilizado en diversos viajes.
Un viaje realizado por un tipo de avión constituye un vuelo y para cada vuelo se
conoce su número y tiempo de duración.
Los trabajadores del Instituto se clasifican en dos tipos distintos: internos y externos.
Un trabajador Interno controla varios vuelos y un vuelo puede ser controlado por
distintos trabajadores Internos. Un trabajador Interno controla un vuelo dado en un
determinado porciento. Un trabajador externo realiza la auditoria en varias
compañías y una compañía dada siempre es atendida por un mismo trabajador
externo, siempre y cuando sea auditada. Para cada compañía atendida por un
trabajador externo dado se conoce el tipo de auditoria efectuada y la fecha en que se
realizó. Todos los trabajadores del Instituto están caracterizados por un número y su
nombre.
Una compañía de aviación realiza muchos vuelos y un vuelo puede ser cubierto sólo
por una compañía, para cada vuelo que ofrece una compañía se conoce el precio del
pasaje.
2.7.9.- En la Empresa Cubana de Aviación se desea diseñar una base de datos relacional para
el control de los vuelos nacionales desde la cuidad de la Habana. Cada vuelo se
identifica con un número y de él se conoce además su aeropuerto de destino, hora de
salida, tiempo de duración, tripulación que lo realiza y tipo de avión. Cada
aeropuerto posee un código que lo identifica y de él se conoce también su nombre,
ciudad de ubicación y características técnicas de la pista. De cada tipo de avión se
tiene su nombre, que lo identifica, consumo de combustible, altura máxima de vuelo
y cantidad de pasajeros. De cada tripulación se conoce el código que la identifica, el
nombre del piloto, el nombre del copiloto y el del sobrecargo. Un mismo vuelo
puede salir en varios días diferentes de la semana y en un mismo día salen muchos
vuelos. Un vuelo siempre es conducido por la misma tripulación, aunque una
tripulación puede conducir varios vuelos. Sin embargo, se sabe que en un día de la
semana dado, una misma tripulación siempre conduce el mismo vuelo.
2.7.10.- En un organismo se desea llevar el control del movimiento mercantil. En el
organismo existen mercancías de las que se conoce su código, nombre y unidad de
medida. Las mercancías proceden de diferentes países de los que se conoce su
código, nombre y el tipo de moneda. Para la transportación de las mercancías existen
diversas formas, cada una de las cuales se caracteriza por su tipo y una tarifa. De un
país se importan varias mercancías y una mercancía puede venir de varios países.
Para cada mercancía importada de un país existen diferentes formas de
transportación y una forma de transportación puede serlo a su vez de diferentes
mercancías de diferentes países. Una mercancía procedente de un país y transportada
de una forma dada constituye un embarque y para este se conoce su número y la
fecha de arribo.
Un embarque se distribuye entre diferentes almacenes y en un almacén se tienen
diferentes embarques, cada uno con cierta cantidad. De cada almacén se tiene su
código, dirección y capacidad de almacenamiento. Un almacén distribuye productos
a diferentes empresas y cada empresa recibe productos solamente de un almacén.
Una empresa se caracteriza por su número, nombre y rama económica.
Las empresas pueden establecer relaciones solamente con un almacén. A su vez las empresas
pueden establecer relaciones comerciales con algunas unidades de ventas en caso que las
tenga. De cada unidad se conoce su dirección, nombre del gerente y capacidad de venta.