Fundamentos Esenciales de Bases de Datos Relacionales y Sistemas de Almacenamiento
Enviado por Programa Chuletas y clasificado en Informática y Telecomunicaciones
Escrito el en español con un tamaño de 13,66 KB
Objetivos de un Sistema Gestor de Bases de Datos (SGBD)
- Almacenar y recuperar información de la base de datos de forma práctica y eficiente.
- Gestionar grandes cantidades de datos.
- Definir estructuras.
- Contar con mecanismos de manipulación.
- Garantizar fiabilidad.
Definición de Sistema Gestor de Bases de Datos (SGBD)
Consiste en una colección de datos interrelacionados y un conjunto de programas para acceder y modificar dichos datos. La colección de datos se denomina base de datos.
Definición de Esquema de Base de Datos
El esquema de una base de datos describe la estructura de una base de datos (diseño lógico), en un lenguaje formal soportado por un sistema de gestión de base de datos (DBMS). En una base de datos relacional, el esquema define sus tablas, sus campos en cada tabla y las relaciones entre cada campo y cada tabla. El esquema es generalmente almacenado en un diccionario de datos.
Definición de Ejemplar de Base de Datos
Es una instancia de los datos de la misma en un momento dado.
Definición de Lenguaje de Definición de Datos (LDD)
Especifica mediante un conjunto de definiciones el esquema de la base de datos. Debe satisfacer restricciones de consistencia:
- Restricción de Dominio: conjunto válido de valores para cada atributo.
- Integridad Referencial.
- Asertos: deben cumplirse condiciones. Por ej., que un atributo sea mayor que un valor, que este sea No Nulo, etc.
- Autorización: categorías de usuarios, con privilegios de lectura, inserción, actualización o de eliminación.
La salida de LDD se coloca en el Diccionario de Datos, que es el que contiene los metadatos, es decir, datos acerca de los datos.
Definición de Lenguaje de Manipulación de Datos (LMD)
La manipulación de datos es la recuperación de información almacenada en la base de datos, la inserción de información nueva en la base de datos, el borrado de información de la base de datos y la modificación de información almacenada en la base de datos. Es un lenguaje que permite acceder o manipular los datos organizados mediante el modelo de datos apropiado. Hay dos tipos:
- LMDs procedimentales: requieren que el usuario especifique qué datos se necesitan y cómo obtener esos datos.
- LMDs declarativos o no procedimentales: requieren que el usuario especifique qué datos se necesitan sin especificar cómo obtener esos datos.
Modelo E-R Extendido: Generalización y Restricciones
Generalización
Es el proceso de diseño de refinamiento en forma ascendente, en el que varios conjuntos de entidades se sintetizan en un conjunto de entidades de nivel más alto basado en características comunes. Es una relación contenedora que existe entre el conjunto de entidades de nivel más alto y uno o más conjuntos de entidades de nivel más bajo. Los conjuntos de entidades de nivel más alto y nivel más bajo también se pueden llamar superclase y subclase.
Restricciones a las Generalizaciones
Tipos de restricción:
- Según su definición: permite determinar qué entidades pueden ser miembros de un conjunto de entidades de nivel más bajo.
- Definido por condición: En los conjuntos de entidades de nivel más bajo, la relación miembro se evalúa en función de si una entidad satisface o no una condición explícita o predicado.
- Definido por el usuario: las entidades se asignan a un conjunto de entidades dado por el usuario de la base de datos.
- Según su pertenencia: permiten determinar qué entidades pueden pertenecer a más de un conjunto de entidades de nivel más bajo en una generalización simple.
- Disjunto: Requiere que una entidad no pertenezca a más de un conjunto de entidades de nivel más bajo.
- Solapado: La misma entidad puede pertenecer a más de un conjunto de entidades de nivel más bajo.
- Según su completitud: especifica si un conjunto de entidades de nivel más alto debe pertenecer o no a al menos a uno de los conjuntos de entidades de nivel más bajo. Puede ser de la siguiente forma.
- Total: Cada entidad de nivel más alto debe pertenecer a un conjunto de entidades de nivel más bajo.
- Parcial: Algunas entidades de nivel más alto pueden no pertenecer a algún conjunto de entidades de nivel más bajo.
¿Qué es un Sistema RAID?
Es un conjunto redundante de discos independientes. Hace referencia a un sistema de almacenamiento que usa múltiples discos duros o SSD. Está compuesto de dos o más discos duros que, ante el sistema principal, funcionan como un único dispositivo. RAID protege los datos contra el fallo de una unidad de disco duro. Si se produce un fallo, mantiene el servidor activo y en funcionamiento hasta que se sustituya la unidad defectuosa.
Objetivos Principales de los RAID
- Mejora la fiabilidad mediante la redundancia: La posibilidad de que algún disco de una disposición de N discos falle es mucho más elevada que la posibilidad de que un único disco concreto falle. La solución es introducir la redundancia, en la cual se guarda información adicional que normalmente no se necesita, pero que puede utilizarse en caso de fallo de un disco para reconstruir la información perdida.
- Mejora el rendimiento mediante el paralelismo: Con varios discos también se puede mejorar la velocidad de transferencia distribuyendo los datos entre varios discos. La distribución en el nivel de bloque reparte los bloques entre varios discos.
Dos objetivos principales para el paralelismo en un sistema de discos:
- Equilibrar la carga de varios accesos de pequeño tamaño (accesos a bloque) de manera que la productividad de ese tipo de accesos aumente.
- Convertir en paralelos los accesos de gran tamaño para que su tiempo de respuesta se reduzca.
Modelo Relacional: Estructura Básica y Restricciones
Definición del Modelo Relacional
El modelo de datos relacional organiza y representa los datos en forma de tablas o relaciones. Una base de datos relacional es una colección de relaciones (tablas). Describe los datos en los niveles lógico y de vistas. El Modelo Relacional es un modelo lógico, con un nivel de refinamiento mayor, que solo sirve para SGBD relacionales. En el modelo relacional, una relación es una tabla.
Estructura Básica del Modelo Relacional
Consiste en un conjunto de tablas, a cada una de las cuales se le asigna un nombre exclusivo. Cada fila de la tabla representa una relación entre un conjunto de valores. Dado que una tabla es un conjunto de dichas relaciones, hay una fuerte correspondencia entre el concepto de tabla y relación. Acerca de una tabla:
- Atributo: representa una propiedad de la tabla. Equivale al atributo del modelo E-R.
- Tupla: cada una de las filas de la tabla. Se corresponde con la idea de registro.
- Dominio: contiene todos los posibles valores que puede tomar un determinado atributo. Dos atributos distintos pueden tener el mismo dominio.
- Grado: Número de columnas de la tabla.
- Cardinalidad: número de tuplas de una tabla.
Claves en el Modelo Relacional
Los valores de los atributos de una tupla deben ser tales que puedan identificarse unívocamente. No se permite que dos tuplas de una misma relación tengan exactamente los mismos valores en todos sus atributos.
- Superclave: es un conjunto de uno o varios atributos que, considerados conjuntamente, permiten identificar de manera unívoca una tupla de la relación.
- Clave Primaria: denota una clave candidata que ha elegido el diseñador, dado que sus atributos no deben modificarse nunca, o muy rara vez.
- Clave Externa o Foránea: por ejemplo, r1 puede incluir entre sus atributos la clave primaria de otro esquema de relación, por ejemplo, r2. Este atributo se denomina clave externa de r1, que hace referencia a r2.
Restricciones del Modelo Relacional
Es una condición de obligado cumplimiento por los datos de la base de datos.
- Aquellas definidas por el hecho de que la base de datos sea relacional:
- No puede haber dos tuplas iguales.
- El orden de las tuplas no es significativo.
- El orden de los atributos no es significativo.
- Cada atributo solo puede tomar un valor en el dominio en el que está inscrito.
- Aquellas incorporadas por los usuarios:
- Clave primaria (primary key): Hace que los atributos no puedan repetir valores y también obliga a que esos atributos no puedan estar vacíos.
- Unicidad (unique): Impide que los valores de los atributos puedan repetirse; debe indicarse en todas las claves alternativas.
- Obligatoriedad (not null): Prohíbe que el atributo no tenga ningún valor.
- Integridad referencial (foreign key): Sirve para indicar una clave externa. Cuando una clave se marca como externa, no se podrán introducir valores que no estén incluidos en los campos relacionados con esta clave. Esto último causa problemas de borrado y modificación de registros, ya que si se ejecutan operaciones sobre la tabla principal, quedarán filas en la tabla secundaria con clave externa sin integridad. Esto se puede manipular agregando cláusulas:
- RESTRICT: Impide eliminar o modificar filas en la tabla referenciada si existen filas con el mismo valor de clave foránea.
- CASCADE: Borrar o modificar una clave en una fila en la tabla referenciada con un valor determinado de clave implica borrar las filas con el mismo valor de clave foránea o modificar los valores de esas claves foráneas.
- SET NULL: Borrar o modificar una clave en una fila en la tabla referenciada con un valor determinado de clave implica asignar el valor NULL a las claves foráneas con el mismo valor.
- NO ACTION: Las claves foráneas no se modifican ni se eliminan filas en la tabla que las contiene.
- SET DEFAULT: Borrar o modificar una clave en una fila en la tabla referenciada con un valor determinado implica asignar el valor por defecto a las claves foráneas con el mismo valor.
Comparativa de Sistemas Gestores de Bases de Datos Relacionales
PostgreSQL vs. Oracle
PostgreSQL
Ventajas:
- Sistema gratuito.
- Conexión estable.
- Consultas complejas.
Desventajas:
- Requiere trabajadores capacitados.
- La sintaxis no es intuitiva.
- Consume muchos recursos.
Oracle
Ventajas:
- Primera en consideración por los usuarios.
- Almacena por excelencia (pocos errores, rara vez).
- Conexión estable.
Desventajas:
- El sistema es de licencia.
- Utiliza bastante memoria RAM.
Comparación DB2 y PostgreSQL
PostgreSQL
Ventajas:
- Sistema gratuito.
- Conexión estable.
- Consultas complejas.
- Código fuente disponible para todos.
- Integridad transaccional y control de concurrencia (multiversión).
Desventajas:
- Requiere trabajadores capacitados.
- Lento en comparación con MySQL y SQL Server.
- La sintaxis no es intuitiva y consume muchos recursos.
- No posee ayuda en línea.
DB2
Ventajas:
- Permite agilizar el tiempo de respuesta de una consulta.
- Recuperación utilizando accesos de solo índices.
- Predicados correlacionados.
- Posee tablas de resumen, tablas replicadas, uniones hash.
- Utiliza una combinación de seguridad externa y control interno de acceso para proteger datos.
Desventajas:
- Lentitud al crear y ejecutar consultas.
- Utiliza mucha memoria RAM para las instalaciones y la utilización de software.
- DB2 posee un elevado costo económico en licencias personales.