|
|
MODULO I
Tema 1: Teoría de Sistema de Base de Datos Relacional
Lo que aprenderá:
Al terminar este tema usted podrá:
· Entender los
principales conceptos de la teoría de base de datos relacionales
Que es un sistema de base de datos?
Un sistema de Base de Datos es básicamente un sistema para archivar en
computador; o sea, es un sistema computarizado cuyo propósito general es
mantener información y hacer que esté disponible cuando se solicite.
La
información en cuestión puede ser cualquier cosa que se considere importante
para el individuo o la organización a la cual debe servir el sistema; dicho de
otro modo, cualquier cosa necesaria para apoyar el proceso general de atender
los asuntos de esa organización.
Pero es fundamental para el éxito de su
proyecto limitar el sistema de base de datos, que Ud. quiere diseñar, a un
específico y bien definido conjunto de objetos e interacciones; lo que le
permitirá definir el alcance del sistema. Como veremos mas adelante no se trata
de modelizar "todo" el mundo sino solo la parte "importante" y "pertinente" para
alcanzar los objetivos funcionales del sistema. Esa parte del mundo que nos
interesa la llamaremos el espacio del problema.
El término modelo de datos se
utilizará se utilizará para significar una descripción conceptual del espacio
del problema, esto incluye la definición de sus entidades, que son clases de
objetos que comparten determinadas características (por ejemplo un "cliente" es
una entidad), dichas características se las denomina atributos (por ejemplo el
"nombre" del cliente es un atributo de un cliente).
El modelo de datos
incluye la descripción de las interrelaciones entre las entidades y las
restricciones sobre dichas relaciones (por ej: las "facturas de venta" se emiten
a nombre de un "cliente" y esta relación no puede faltar, es decir , no puede
haber una factura que no tenga asignada un cliente.
La capa física o esquema
físico del diseño, está constituida por las tablas y vistas que serán
implementadas, y constituye la traslación del modelo conceptual en una
representación física que pueda ser implementada utilizando el Sistema de
Gestión de Bases de Datos Relacional (SGBDR) a ser empleado, a los fines del
presente Kit, el MS-SQL Server 2000. Este esquema no es mas que la
representación del modelo conceptual o lógico expresado en términos que puedan
ser usados para describirlo al SGBDR.
A medida que Ud. le vaya explicando al
SGBDR como quiere que almacene los datos, el SGBDR creará los objetos necesarios
para gestionarlos (tablas, vistas, índices, relaciones, etc). Lo que dará origen
a la estructura la base de datos.
Por último, llamaremos base de datos a la
combinación de los datos y su estructura. La base de datos incluye, entonces, a
los datos mas las tablas, vistas, procedimientos almacenados, consultas, y a las
reglas que el motor de base datos utilizará para asegurar el resguardo de los
datos.
El término base de datos no incluye a la aplicación la cual consiste
de los formularios y los reportes con los que interactuarán los usuarios, ni
incluye la piezas de código usadas para unir las partes de la aplicación.
En
un modelo de tres capas, la aplicación que accede a los datos almacenados en una
base de datos y que a la vez interactúa con el usuario se divide en dos partes:
la llamada capa intermedia que contiene todas las validaciones y las reglas del
negocio y es la que interactúa con la base de datos y el front end que es la que
contiene los formularios y realiza la presentación de los reportes,
interactuando con el usuario final (ver figura 1.1).
El modelo Relacional
El modelo relacional está basado en una colección de principios matemáticos
desarrollado inicialmente sobre un conjunto de conceptos teóricos y predicados
lógicos. Esto principios fueron aplicados al campo de los modelos de datos a
finales de los años ´60 por el Dr. E. F. Codd, investigador de IBM, y publicados
por primera vez en 1970.
El modelo relacional define el modo en que los datos
van a ser representados (estructura de datos), la forma en que van ser
protegidos (integridad de los datos) y las operaciones que pueden ser aplicadas
sobre ellos (manipulación de datos).
El MS-SQLServer 2000 implementa un
modelo relacional de base de datos.
En términos generales un sistema de base
de datos relacional tiene las siguientes características:
· Todos los datos
están conceptualmente representados como un arreglo ordenado de datos en filas y
columnas, llamado relación.
· Todos los valores son escalares, esto es, que
dada cualquier posición fila/columa dentro de la relación hay uno y solo un
valor.
· Todas las relaciones son realizadas sobre la relación completa y dan
como resultado otra relación, concepto conocido como clausura .
A los fines
prácticos una relación puede ser considerada como una tabla, aún cuando al
momento de formularse la teoría intencionalmente se excluyó el término tabla por
tener connotaciones de ordenamiento que no se deben aplicar al concepto de
relación que es mas un conjunto, que una tabla ordenada. De todos modos y a los
fines del presente Kit utilizaremos en forma indistinta la denominación de
relación o de tabla.
Es importante destacar que el concepto de clausura
permite que el resultado de una operación sobre un relación sea el dato para
otra operación. Por lo que como veremos mas adelante al resultado de una orden
select se le puede aplicar otro select.
Terminología relacional
La Figura 1.2 muestra una relación con los nombres formales de sus componentes principales
La estructura de la figura constituye una relación, donde cada fila
constituye una tupla. La cantidad de tuplas en una relación indica la
cardinalidad de la relación. Cada columna en la relación es un atributo, y la
cantidad de atributos indica el grado de la relación.
La relación se divide
en dos secciones el encabezado y el cuerpo, donde el encabezado contiene la
etiquetas de los atributos. Estas etiquetas constan de dos parte separadas por
dos puntos ":" la parte izquierda es la denominación propiamente dicha del
atributo, mientras que la parte derecha configura el dominio del atributo, que
es el conjunto de todos los valores posibles y legales que puede tomar el
atributo en las tuplas (por ej: el primer atributo de la relación de la figura
tiene como dominio a todas las compañías que existen, mientras que solo algunas
son valores efectivamente incorporados a la relación).
El cuerpo consiste en
un conjunto desordenado de cero o más tuplas, esto indica que las tuplas no
tienen un orden intrínseco, el número de registro no es tenido en cuenta en el
modelo relacional. Por otro lado las relaciones sin tuplas siguen siendo
relaciones. Por último las relaciones son conjuntos donde cualquier elemento
puede ser inequívocamente identificado, por lo que la relación no permite tuplas
duplicadas.
En cuanto a la terminología, en esta parte se utilizó una
lenguaje formal para la definición de los elementos abordados, a partir de ahora
se utilizarán las siguientes equivalencias de significado:
Una relación puede
ser una tabla, o un recordset o un result set.
Una tupla puede ser una fila
(row) o un registro (record)
Un atributo puede ser una columna (column) o un
campo (field).
Dichas equivalencias se generan porque al instanciar en la
implementación física el modelo conceptual, se utilizan términos que
corresponden precisamente al modelo físico de implementación en el SGBDR, en
este caso el MS-SQLServer 2000, que utiliza la terminología Microsoft.