Introducción
Bases de datos-Modelo de datos-Introducción
Desde tiempos remotos, los datos han sido registrados por el hombre en algún tipo de soporte (piedra, papel, madera, etc.) a fin de que quedara constancia de una fenómeno o idea. Los datos han de ser interpretados para que se conviertan en información útil, esta interpretación supone un fenómeno de agrupación y clasificación.
En la era actual y con el auge de los medios informáticos aparece el almacenamiento en soporte electromagnético, ofreciendo mayores posibilidades de almacenaje, ocupando menos espacio y ahorrando un tiempo considerable en la búsqueda y tratamiento de los datos. Es en este momento donde surge el concepto de bases de datos y con ellas las diferentes metodologías de diseño y tratamiento.
El objetivo básico de toda base de datos es el almacenamiento de símbolos, números y letras cadentes de un significado en sí, que con un tratamiento adecuado se convierten en información útil.
En la era actual y con el auge de los medios informáticos aparece el almacenamiento en soporte electromagnético, ofreciendo mayores posibilidades de almacenaje, ocupando menos espacio y ahorrando un tiempo considerable en la búsqueda y tratamiento de los datos. Es en este momento donde surge el concepto de bases de datos y con ellas las diferentes metodologías de diseño y tratamiento.
El objetivo básico de toda base de datos es el almacenamiento de símbolos, números y letras cadentes de un significado en sí, que con un tratamiento adecuado se convierten en información útil.
Un modelo de datos es un lenguaje orientado a hablar una Base de Datos. Típicamente un modelo de datos permite describir:
·
Las estructuras de datos de la base: El tipo de los datos que hay en la base y la forma en que se
relacionan.
·
Las restricciones de integridad: Un conjunto de
condiciones que deben cumplir los datos para reflejar correctamente la realidad
deseada.
·
Operaciones de manipulación de los datos: típicamente, operaciones de
agregado, borrado, modificación y recuperación de los datos de la base.
Otro enfoque es pensar que un modelo de datos permite describir los elementos de la
realidad que intervienen en un problema dado y la forma en que se relacionan
esos elementos entre sí.
No hay que perder de vista que una Base de Datos siempre está orientada a resolver un problema determinado, por lo que los
dos enfoques propuestos son necesarios en cualquier desarrollo de software.
Sublenguajes de un
modelo de datos
Un modelo de dato Y ESQUEMAS
es un lenguaje que, típicamente, tiene dos sublenguajes:
·
Un Lenguaje de Definición de Datos o DDL (Data definition Language), orientado a describir de una forma abstracta
las estructuras de datos y las restricciones de integridad.
·
Un Lenguaje de Manipulación de Datos o DML (Data Manipulation Language), orientado a describir las operaciones de
manipulación de los datos.
A la parte del DML orientada a la
recuperación de datos, usualmente se le llama Lenguaje de Consulta o QL (Query Language).
Una clasificación de los
modelos de datos
Una opción bastante usada a la hora de
clasificar los modelos de datos es hacerlo de acuerdo al nivel de abstracción
que presentan:
Modelos de Datos Conceptuales
Son los orientados a la descripción de
estructuras de datos y restricciones de integridad. Se usan fundamentalmente
durante la etapa de Análisis de un problema dado y están orientados a
representar los elementos que intervienen en ese problema y sus relaciones. El
ejemplo más típico es el Modelo
Entidad-Relación.
Modelos de Datos Lógicos
Son orientados a las operaciones más que a
la descripción de una realidad. Usualmente están implementados en algún Manejador de Base de Datos. El ejemplo más típico
es el Modelo Relacional, que cuenta con la
particularidad de contar también con buenas características conceptuales (Normalización de bases de datos).
Modelos de Datos Físicos
Son estructuras de datos a
bajo nivel implementadas dentro del propio manejador. Ejemplos típicos de estas
estructuras son los Árboles B+, las estructuras de Hash, etc.
La abstracción
La abstracción, una de las herramientas
que más nos ayuda a la hora de solucionar un problema, es un mecanismo
fundamental para la comprensión de problemas y fenómenos que poseen una gran
cantidad de detalles, su idea principal consiste en manejar un problema,
fenómeno, objeto, tema o idea como un concepto general, sin considerar la gran
cantidad de detalles que estos puedan tener. El proceso de abstracción presenta
dos aspectos complementarios.
1. Destacar los aspectos
relevantes del objeto.
2. Ignorar los aspectos
irrelevantes del mismo (la irrelevancia depende del nivel de abstracción, ya
que si se pasa a niveles más concretos, es posible que ciertos aspectos pasen a
ser relevantes).
De modo general podemos decir que la
abstracción permite establecer un nivel jerárquico en el estudio de los
fenómenos, el cual se establece por niveles sucesivos de detalles.
Generalmente, se sigue un sentido descendente de detalles, desde los niveles
más generales a los niveles más concretos.
Veamos los diferentes tipos de abstracción
que podemos encontrar en un programa:
1. Abstracción funcional: crear procedimientos y
funciones e invocarlos mediante un nombre donde se destaca qué hace la función
y se ignora cómo lo hace. El usuario sólo necesita conocer la especificación de
la abstracción (el qué) y puede ignorar el resto de los detalles (el cómo).
2. Abstracción de datos:
·
Tipo de datos: proporcionado por los leguajes de alto
nivel. La representación usada es invisible al programador, al cual solo se le
permite ver las operaciones predefinidas para cada tipo.
·
Tipos definidos: por el programador que posibilitan la
definición de valores de datos más cercanos al problema que se pretende
resolver.
·
TDA: para la definición y representación de tipos de
datos (valores + operaciones), junto con sus propiedades.
·
Objetos: Son TDA a los que se añade propiedades
de reutilización y de compartición de código.
Conceptos básicos de bases de datos
Definición de base de datos
Una base de datos es una colección de archivos relacionados que permite el manejo
de la información de alguna compañía. Cada uno de dichos archivos puede ser visto como
una colección de registros y cada registro está compuesto de una colección de campos.
Cada uno de los campos de cada registro permite llevar información de algún atributo de
una entidad del mundo real.
Restricciones de
integridad
En este tema se
trata uno de los aspectos más importantes para añadir consistencia a los diseños
de bases de datos:
·
Son las
restricciones de integridad que ayudan a mantener la consistencia semántica de
los datos.
·
Además de
las restricciones de integridad definidas por las claves y las restricciones
decardinalidad estudiadas en el tema Modelo entidad-relación, se tratan las
restricciones de los dominios, la integridad
referencial, las dependencias
funcionales y las dependencias multi valoradas.
·
Las
restricciones de integridad proporcionan un medio de asegurar que las
modificaciones hechas a la base de datos por los usuarios autorizados no
provoquen la pérdida de la consistencia de los datos. Protegen a la base de
datos contra los daños accidentales.
Tipos de
restricciones de integridad:
·
Declaración
de claves.
·
Cordialidad
de la relación de varios a varios, de uno a varios, de uno a uno.
·
Restricciones
de los dominios.
·
Integridad referencial.
·
Asertos.
Base de datos
de red
Una base de datos
de red es una base de datos conformada por una colección o set de registros, los cuales están conectados entre sí por medio de enlaces
en una red. El registro es similar al de una entidad como las empleadas en el modelo relacional.
Un registro es una colección o conjunto de campos (atributos), donde cada uno de los que contiene solamente un único valor almacenado, exclusivamente el enlace es la asociación entre dos registros, así que podemos verla como una relación estrictamente binaria.
Una estructura de base
de datos de red, llamada algunas veces estructura
de plex, abarca más que la estructura de árbol, porque un nodo hijo en la estructura red puede tener más de un nodo padre. En otras
palabras, la restricción que en un árbol jerárquico cada hijo puede tener sólo un padre, se hace menos severa.
Así, la estructura
de árbol se puede considerar
como un caso especial de la estructura
de red.
Modelo
jerárquico
Diagrama
de modelo de datos jerárquico.
Un modelo de
datos jerárquico es un modelo
de datos en el cual los datos son organizados en una estructura parecida a un
árbol. La estructura permite a la información que repite y usa relaciones
padre/Hijo: cada padre puede tener muchos hijos pero cada hijo sólo tiene un
padre. Todos los atributos de un registro específico son catalogados bajo un
tipo de entidad.
Ejemplo de un Modelo Jerárquico:
En una base de datos, un tipo de entidad es el equivalente de una
tabla; cada registro individual es representado como una fila y un atributo
como una columna. Los tipos de entidad son relacionados el uno con el otro
usando 1: Trazar un mapa de n, también conocido como relacion de uno a varios.