Bases de Datos: Tipos, Modelos y Diseño
Una base de datos es un sistema para archivar información en computadora cuyo propósito general es mantener información y hacer que esté disponible cuando se solicite.
Tipos de Bases de Datos
Según la Variabilidad
Bases de datos estáticas: Son bases de datos de solo lectura, utilizadas primordialmente para almacenar datos históricos.
Bases de datos dinámicas: Éstas son bases de datos donde la información almacenada se modifica con el tiempo, permitiendo operaciones como actualización, borrado y edición de datos.
Según el Contenido
Bases de datos bibliográficas: Sólo contienen un subrogante (representante) de la fuente primaria, que permite localizarla.
Bases de datos de texto completo: Almacenan las fuentes primarias, como por ejemplo, todo el contenido de todas las ediciones de una colección de revistas científicas.
Directorios: Un ejemplo son las guías telefónicas en formato electrónico.
Modelos de Bases de Datos
Bases de Datos Jerárquicas
En este modelo los datos se organizan en forma de árbol invertido (algunos dicen raíz), en donde un “nodo padre” de información puede tener varios “hijos”. El nodo que no tiene padres es llamado “raíz”, y a los nodos que no tienen hijos se los conoce como “hojas”.
Bases de Datos de Red
Éste es un modelo ligeramente distinto del jerárquico; su diferencia fundamental es la modificación del concepto de nodo ya que en este se permite que un mismo nodo tenga varios padres.
Bases de Datos Transaccionales
Son bases de datos cuyo único fin es el envío y recepción de datos a grandes velocidades.
Bases de Datos Relacionales
Éste es el modelo utilizado en la actualidad para modelar problemas reales y administrar datos dinámicamente. Su idea fundamental es el uso de «relaciones». Estas relaciones podrían considerarse en forma lógica como conjuntos de datos llamados «tuplas».
Bases de Datos Multidimensionales
Son bases de datos ideadas para desarrollar aplicaciones muy concretas.
Bases de Datos Orientadas a Objetos
Una base de datos orientada a objetos es una base de datos que incorpora todos los conceptos importantes del paradigma de objetos: Encapsulación, Herencia, Polimorfismo.
Bases de Datos Documentales
Permiten la indexación a texto completo, y en líneas generales realizar búsquedas más potentes.
Bases de Datos Deductivas
Un sistema de base de datos deductiva, es un sistema de base de datos pero con la diferencia de que permite hacer deducciones a través de inferencias.
Sistemas Administradores de Bases de Datos
Un sistema de gestión de bases de datos (SGBD) es un conjunto de programas que permiten el almacenamiento, modificación y extracción de la información en una base de datos.
Diseño Conceptual
Un esquema conceptual es una descripción de alto nivel de la estructura de la base de datos. Un modelo conceptual es un lenguaje que se utiliza para describir esquemas conceptuales. El objetivo del diseño conceptual es describir el contenido de información de la base de datos.
Modelo Entidad Relación (MER)
Un diagrama o modelo entidad-relación es una herramienta para el modelado de datos que permite representar las entidades relevantes de un sistema de información así como sus interrelaciones y propiedades.
Entidades
Representa una “cosa” u «objeto» del mundo real con existencia independiente, es decir, se diferencia unívocamente de otro objeto o cosa, incluso siendo del mismo tipo, o una misma entidad.
Atributos
Es una característica de interés o un hecho sobre una entidad o sobre una relación. Los atributos representan las propiedades básicas de las entidades y de las relaciones. Toda la información extensiva es portada por los atributos.
Cada atributo tiene un conjunto de valores asociados denominado “dominio”. El dominio define todos los valores posibles que puede tomar un atributo.
Tipos de Atributos
- Simples: Es un atributo que tiene un solo componente, que no se puede dividir en partes más pequeñas que tengan un significado propio.
- Compuestos: Es un atributo con varios componentes, cada uno con un significado por sí mismo. Un grupo de atributos se representa mediante un atributo compuesto cuando tienen afinidad en cuanto a su significado.
- Univalentes: Es aquel que tiene un solo valor para cada ocurrencia de la entidad o relación a la que pertenece.
- Multivaluados: Es aquel que tiene varios valores para cada ocurrencia de la entidad o relación a la que pertenece.
- Derivados: Es aquel que representa un valor que se puede obtener a partir del valor de uno o varios atributos.
- Nulos: Un valor nulo se usa cuando una entidad no tiene un valor aplicable para un atributo.
- Atributos Clave: Por lo general todo tipo de entidad cuenta con un atributo cuyo valor diferencia (identifica) una entidad individual de otra.
Tipos de Entidades: Fuertes y Débiles
Las entidades fuertes o propietarias se caracterizan porque tienen atributos claves propios.
Las entidades débiles no tienen atributos claves propios sino que dependen del que posee una fuerte.
Vínculos o Interrelaciones (Relaciones)
La asociación entre uno o varios tipos de entidades define como un vínculo entre estas.
Cardinalidad
Se define la cardinalidad como el grado de participación de las entidades en una relación.
Grado
El grado de una relación se define como el número de entidades que participan en una relación.
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.
Relación
Es el elemento básico del modelo, está compuesta por dos partes: Cabecera y Cuerpo. La cabecera está formada por un conjunto fijo de atributos. El cuerpo está formado por un conjunto de tuplas.
Dominio
Es un conjunto de valores atómicos que puede adoptar un atributo en particular. Un dominio reúne características de tipo, comportamientos propios y distinguibles.
Esquema Relacional
Está compuesto por un nombre de relación, R, y una lista de atributos A1, A2,…, An, de tal forma que se puede denotar como R.
Características para Pasar de un MER a un MR
- Eliminación de Identificadores Externos.
- Eliminación de atributos compuestos y polivalentes.
- Transformación de entidades.
- Transformación de interrelaciones 1:1.
- Transformación de Interrelaciones de 1:n.
- Transformación de interrelaciones n:m.
- Transformación de relaciones n-arias y recursivas.
Normalización y Dependencia Funcional
Normalización
Es un proceso que consiste en comprobar que las tablas definidas cumplen unas determinadas condiciones. Se pretende garantizar la no existencia de redundancia y una cierta coherencia en la representación.
Dependencia Funcional
Una dependencia funcional, , entre dos conjuntos de atributos que son subconjuntos especifica una restricción sobre las posibles tuplas que podrían formar un ejemplar de relación.
Reglas de Normalización
El punto de partida del proceso de normalización es un conjunto de tablas con sus atributos, el denominado esquema relacional. Se pretende mejorar dicho esquema de datos.
Se dice que una tabla está en una determinada forma normal si satisface un cierto número de restricciones impuestas por la correspondiente regla de normalización. La aplicación de una de estas reglas a un esquema relacional produce un nuevo esquema relacional en el que no se ha introducido ningún nuevo.
Si una tabla no satisface una determinada regla de normalización, se procede a descomponerla en otras dos nuevas que sí las satisfagan. Esto usualmente requiere decidir qué atributos de la tabla original van a residir en una u otra de las nuevas tablas. La descomposición tiene que conservar dos propiedades fundamentales: No pérdida de información. No pérdida de dependencias funcionales.
FN1
Se pretende garantizar la no existencia de grupos repetitivos. Un grupo repetitivo es un conjunto de atributos de igual semántica en el problema y dominio, que toman valores distintos para la misma clave.
FN2
Si FN1 y cada atributo de la tabla que no forma parte de la clave depende funcionalmente de forma completa de la clave primaria. Es decir, depende de toda la clave y no de ningún subconjunto de ella.
FN3
Si FN2 y cada atributo no primo de la tabla no depende funcionalmente de forma transitiva de la clave primaria.
FNBC (Forma Normal de Boyce-Codd)
Se basa en el concepto de determinante funcional: uno o varios atributos de una tabla de los cuales dependen funcionalmente de forma completa algún otro atributo de la misma tabla.
SQL
El lenguaje de consulta estructurado o SQL (por sus siglas en inglés structured query language) es un lenguaje declarativo de acceso a bases de datos relacionales que permite especificar diversos tipos de operaciones en ellas.
Tipos de Datos
- Date: una fecha de calendario que contiene el año (de cuatro cifras), el mes y el día.
- Time: La hora del día en horas minutos segundos (el valor predeterminado es 0).
- Timestamp: la combinación de Date y Time.
Optimización
En los lenguajes de acceso a bases de datos de alto nivel, el SQL es un lenguaje declarativo. O sea, que especifica qué es lo que se quiere y no cómo conseguirlo, por lo que una sentencia no establece explícitamente un orden de ejecución.
El orden de ejecución interno de una sentencia puede afectar gravemente a la eficiencia del SGBD, por lo que se hace necesario que éste lleve a cabo una optimización antes de su ejecución. Dependiendo del uso de la aplicación, se priorizará el acceso indexado o una rápida actualización de la información. La optimización difiere sensiblemente en cada motor de base de datos y depende de muchos factores.