Está en la página 1de 16

05_RDBMS - Características - 2023

1. Características (features) de las bases de datos relacionales 2


1.1. Redundancia mínima de datos 2
1.2. Integridad de los datos 3
1.3. Independencia lógica y física de los datos 5
1.4. Acceso concurrente por parte de múltiples usuarios 6
1.5. Seguridad de acceso y auditoría 8
1.6. Respaldo (backup) y recuperación (restore) 10
1.7. Consultas complejas optimizadas 12
1.8. Acceso a través de lenguajes de programación estándar 13
2. Ventajas y Desventajas de las bases de Datos Relacionales 13
2.1. Ventajas 13
2.2. Desventajas 15
3. Referencias 16

Página 1 de 16
05_RDBMS - Características - 2023

1. Características (features) de las bases de datos


relacionales
Entre las principales características (features) de los sistemas de base de datos
relacional podemos mencionar:

⇒ Redundancia mínima de datos

⇒ Integridad de los datos

⇒ Independencia lógica y física de los datos

⇒ Acceso concurrente por parte de múltiples usuarios

⇒ Seguridad de acceso y auditoría

⇒ Respaldo (backup) y recuperación (restore)

⇒ Consultas complejas optimizadas

⇒ Acceso a través de lenguajes de programación estándar

1.1. Redundancia mínima de datos


La redundancia se presenta cuando se repiten datos en la base de datos
(decimos también duplicidad de datos). Esta redundancia conduce a costes de
almacenamiento y de accesos más elevados. Además, puede dar lugar a la
inconsistencia de los datos; es decir, puede que las diferentes copias de los
mismos datos no coincidan. Problemas detectados por la redundancia de datos
son:

✔ Almacenamiento: aumenta los costos de almacenamiento porque se


necesita más espacio.

✔ Inconsistencia: ocurre cuando diversas copias de un mismo dato no


concuerden entre sí, lo que resulta muy difícil de detectar en el caso de
suceder.

✔ Incremento del trabajo: si un dato tiene definido su almacenamiento en


dos o más lugares, y se ejecuta el proceso de grabación o actualización de
información deben realizarse en todos los lugares a la vez.

Página 2 de 16
05_RDBMS - Características - 2023
Si una base de datos está bien diseñada no debería existir redundancia de datos,
exceptuando aquella que se permite de manera controlada (es decir, la
redundancia mínima). Si la base de datos está completamente normalizada no
contiene redundancia innecesaria, pero si aquella utilizada y permitida para la
relación PK (Primary Key) y FK (Foreign Key). Un mal diseño de la base de datos
da lugar a información repetida.
Esta redundancia mínima es gestionada y controlada por el motor de base
datos, y el diseño de la base de datos es responsabilidad del analista de base de
datos.

Complementar con el apunte de REDUNDANCIA provisto por la cátedra

Características de las bases de datos relacionales


Redundancia mínima de datos

1.2. Integridad de los datos


La integridad se refiere a la veracidad de los datos almacenados respecto a la
información existente en el dominio del problema, dicho de otra manera, si
hablamos de que los datos son íntegros, podemos garantizar la calidad de los
mismo. Por ejemplo: no puede existir un atributo fecha con un mes superior a 12.
La integridad de datos garantiza robustez de información, entendiendo por ésta,
que los datos sean válidos.
Existen dos tipos –al menos– de integridad de datos:

✔ Integridad Referencial.

✔ Integridad definida por el usuario.


La integridad referencial garantiza que las relaciones entre filas de tablas
relacionadas son válidas y que no se eliminan o se cambian datos relacionados de
forma accidental, dicho de otra manera, con la integridad se asegura que los
registros de tablas relacionadas son válidos y que no se borren o cambien datos

Página 3 de 16
05_RDBMS - Características - 2023
relacionados de forma accidental produciendo errores de integridad. Esto se logra
con la implementación de claves primarias y claves foráneas.
Con la integridad los datos no pueden ser modificados o destruidos de forma
anómala. Los procedimientos de inserción y/o modificación deben asegurar que
el sistema pueda garantizar la integridad de la información.
Cuando el SGBD detecte que un programa quiere hacer una operación que
atenta contra las reglas (constraints) establecidas en la BD, no se lo permitirá, y
arrojará un estado de error.
Las restricciones (constraints) en base de datos pueden ser:

✔ NOT NULL.

✔ PRIMARY KEY.

✔ FOREIGN KEY.

✔ CHECK o ENUM.

✔ UNIQUE.
Un motor de base de datos se encarga de hacer cumplir las reglas de integridad
que tiene definidas el modelo y es por esto que es clave, el diseño de base de datos
(responsabilidad del diseñador).
La integridad referencial protege las relaciones definidas entre las tablas
cuando se crean o se eliminan filas.
Es por ello que al diseñar una base de datos, no sólo definiremos las tablas, sino
también las reglas de integridad que queremos que el motor ejecute. Como vemos,
es responsabilidad del diseñador de la base de datos, el motor de base de datos
simplemente las ejecuta.

Características de las bases de datos relacionales


Integridad de Datos

Página 4 de 16
05_RDBMS - Características - 2023

1.3. Independencia lógica y física de los datos


La arquitectura de tres esquemas puede servir para explicar el concepto de
independencia con respecto a los datos, que podemos definir como la capacidad
para modificar el esquema de un nivel del sistema de base de datos sin tener que
modificar el esquema del nivel inmediato superior. Por lo tanto, podemos definir
dos tipos de independencia con respecto a los datos:
Independencia lógica con respecto a los datos es la capacidad de modificar el
esquema conceptual sin tener que alterar los esquemas externos ni los programas
de aplicación. Podemos modificar el esquema conceptual para ampliar la base de
datos (añadiendo un nuevo tipo de registro o un elemento de información), o para
reducir la base de datos (eliminando un tipo de registro o un elemento de
información). En el segundo caso, la modificación no deberá afectar los esquemas
externos; solo se refiere a los datos restantes.
La independencia física con respecto a los datos es la capacidad de modificar
el esquema interno sin tener que alterar el esquema conceptual (o los externos).
Tal vez sea preciso modificar el esquema interno por la necesidad de reorganizar
ciertos archivos físicos -por ejemplo, agregar discos adicionales al storage- a fin
de mejorar el rendimiento de las operaciones de obtención o actualización. Si la
base de datos aún contiene los mismos datos, no deberá ser necesario modificar
el esquema conceptual.
Es decir, tanto los usuarios que hacen consultas (o actualizaciones) como los
desarrolladores que escriben programas sobre las bases de datos, desconocen la
configuraciones físicas de la BD con que trabajan (esta es una incumbencia del DBA
y no de quien diseña la base de datos y mucho menos de los usuarios). No necesitan
saber nada sobre el soporte físico, ni sobre el sistema operativo o su versión, qué
índices hay, la compactación o no compactación de datos, estrategias de copias de
recuperación, etc.
De este modo, se pueden hacer cambios físicos sin afectar a nadie y de manera
totalmente transparente para el equipo de desarrollo y mantenimiento del software
de aplicaciones. Este tipo de independencia recibe el nombre de independencia
física de los datos.
Otros ejemplos de independencia lógica:

Página 5 de 16
05_RDBMS - Características - 2023

✔ El personal administrativo (subsistema) de secretaría podría tener una


visión de la entidad alumno sin que fuese necesario que existiese el
atributo nota. Sin embargo, los usuarios profesores (o los programas
dirigidos a ellos) podrían tener una visión en la que existiese el atributo
nota pero no el atributo fecha de pago.

✔ Decidimos ampliar la longitud del atributo nombre y lo aumentamos de


treinta a cincuenta caracteres,

✔ Pero no sería necesario modificar los programas que ya tenemos escritos


si no nos importa que los valores obtenidos tengan sólo los primeros
treinta caracteres del nombre.

1.4. Acceso concurrente por parte de múltiples usuarios


Un objetivo fundamental de los SGBD es permitir que varios usuarios puedan
acceder concurrentemente (al mismo tiempo) a la misma base de datos (es
diferente de estar conectados a la base de datos). Cuando los accesos
concurrentes son únicamente de lectura, el problema es exclusivamente de
rendimiento, causado por las limitaciones propias de la infraestructura, por
ejemplo: los discos rígidos, storages de almacenamiento, latencia, ancho de
banda, etc.
Cuando uno o más usuarios están modificando datos (UPDATE o DELETE), se
pueden producir problemas de interferencia de acceso que tengan como
consecuencia la obtención de datos erróneos y la pérdida de integridad de la BD
por acceder a los mismos datos en el mismo instante. Sin embargo, para tratar
los accesos concurrentes, los SGBD utilizan el concepto de transacción de BD.

Transacción
El término transacción hace referencia a un conjunto de operaciones que
forman una única unidad lógica. Una transacción es una unidad de ejecución. Una
transacción es una unidad de ejecución de un programa que accede y
posiblemente actualiza (DML) a varios elementos de datos (en una base de datos).
Una transacción se inicia por la ejecución de un programa de usuario escrito en un
lenguaje de manipulación de datos de alto nivel o en un lenguaje de programación
(por ejemplo: SQL, C++ o Java), y está delimitado por instrucciones (o llamadas a

Página 6 de 16
05_RDBMS - Características - 2023
función) de la forma begin transaction (inicio transacción) y end transaction (fin
transacción), esto en <<MySQL>>. La transacción consiste en todas las
operaciones que se ejecutan entre begin transaction y end transaction.

Propiedades ACID
Las siglas significan: Atomicity (Atomicidad), Consistency (Consistencia),
Isolation (Aislamiento) y Durability (Durabilidad)
Una transacción –como dijimos– es un conjunto de órdenes <<operaciones>>
que se ejecutan formando una unidad de trabajo, es decir, un conjunto de órdenes
o instrucciones de forma indivisible o atómica.

Atomicidad
Resulta importante que, o bien se ejecuten completamente todas las acciones
de una transacción, o bien, en caso de fallo, se deshagan los efectos parciales de
cada transacción incompleta. Esta propiedad se denomina atomicidad. Una
transacción se ejecuta completamente o no se ejecuta.

Consistencia
Es integridad de datos. Esta propiedad asegura que sólo se empieza aquello que
se puede finalizar adecuadamente. Por lo tanto se ejecutan aquellas operaciones
que no van a romper las reglas y restricciones de integridad definidas en la base
de datos. Sostiene que cualquier transacción llevará a la base de datos desde un
estado válido a otro también válido. La transacción una vez ejecutada dejará los
datos consistentes.

Aislamiento
En los sistemas de bases de datos en los que se ejecutan de manera
concurrente varias transacciones, si no se controlan las actualizaciones de los
datos compartidos, existe la posibilidad de que las transacciones operen sobre
estados intermedios inconsistentes creados por las actualizaciones de otras
transacciones. Esta situación puede dar lugar a actualizaciones erróneas de los
datos almacenados en la base de datos. Por tanto, los sistemas de bases de datos
deben proporcionar los mecanismos para aislar las transacciones de otras
transacciones que se ejecuten de manera concurrente (y no se solapen en su
ejecución). Esta propiedad se denomina aislamiento.

Página 7 de 16
05_RDBMS - Características - 2023

Durabilidad
Una vez ejecutada con éxito una transacción, sus efectos deben persistir en la
base de datos—un fallo en el sistema no debe tener como consecuencia que la
base de datos descarte una transacción que se haya completado con éxito. Esta
propiedad se denomina durabilidad.

Fuente: https://yalantis.com/blog/how-to-choose-a-database/

ACID Compliance
Se dice que un sistema de base de datos es ACID COMPLIANCE
cuando cumple las propiedades ACID.

Características de las bases de datos relacionales


Acceso Concurrente por parte de múltiples usuarios

1.5. Seguridad de acceso y auditoría


Seguridad
El término seguridad se ha utilizado en diferentes sentidos a lo largo de la
historia de la informática. Actualmente, en el campo de los SGBD, el término
Seguridad se suele utilizar para hacer referencia a los temas relativos a la
confidencialidad, las autorizaciones, los derechos de acceso, etc.
Los SGBD permiten definir autorizaciones o derechos de acceso a diferentes
niveles: al nivel global de toda la BD, al nivel entidad y al nivel atributo.

Página 8 de 16
05_RDBMS - Características - 2023
Estos mecanismos de seguridad requieren que el usuario se deba identificar.
Se acostumbra a utilizar nombres de usuarios (y grupos de usuarios)
acompañados de contraseñas (passwords) para el acceso a las bases de datos en
donde cada uno de los permisos debe asignarse específicamente.
Los motores de base de datos ofrecen técnicas de encriptación (como mínimo
se deberían encriptar las contraseñas de usuario como buena práctica).
Prácticamente todos los SGBD del mercado dan una gran variedad de
herramientas para la auditoría y la administración de la seguridad. No obstante,
existe la posibilidad de diseñar una auditoría caso que se requiera por ejemplo la
trazabilidad de una operación.

Niveles de Seguridad

✔ Físicas: compre el control de quienes acceden al equipo.

✔ Personal: determinación del personal que tiene acceso autorizado.

✔ SO (Sistema Operativo): técnicas que se establecen para proteger la


seguridad del Sistema Operativo.

✔ SGBD: utilización de las herramientas (características) que facilita el


motor de base de datos.

Tipos de ataques

Estos items serán visto en la materia Seguridad Informática

✔ Desbordamiento de memoria (buffer overflow): se basa en pasar como


entrada a un programa más datos de los que espera recibir. Esto permite
escribir en una zona de memoria más allá de la reservada (depende del
S.O. entre otras cosas).

✔ Inyección de Código SQL: consiste en incluir/modificar comando SQL al


enviarlos al servidor.

Auditorías
Para evitar posibles ataques como los anteriormente descritos deben realizarse
auditorías (éstas pueden ser internas o externas). También pueden realizarse

Página 9 de 16
05_RDBMS - Características - 2023
para identificar aquellas vulnerabilidades a la que está expuesto nuestro sistema
o base de datos. Una auditoría -en el marco de la seguridad- consiste en realizar
una revisión exhaustiva de los permisos de cada usuario/accesos y de los ficheros
del sistema con el propósito de detectar agujeros de seguridad (vulnerabilidades).
Una auditoría no es simplemente un conjunto estricto de validaciones a realizar,
sino que evoluciona según los riesgos detectados previamente. El resultado de
una auditoría es un conjunto de recomendaciones y observaciones que luego,
serán priorizadas e implementadas acorde el impacto y nivel de riesgo para el
negocio. Es una tarea compleja, requiere esfuerzo y conocimiento de los motores
de base de datos, procesos, hardware, consume mucho tiempo y no asegura al
100% que el sistema esté totalmente protegido. Es recomendable que sea
realizada por organizaciones o empresas externas periódicamente (anualmente es
una muy buena práctica, eso dependerá de las características propias del
negocio).
La información de auditoría puede centrarse en distintos elementos:

✔ Seguridad física.

✔ Políticas y procedimientos.

✔ Herramientas.

✔ Seguridad a nivel de File System.

✔ Seguridad del entorno.

✔ Stored Procedures.

✔ Usuarios (roles, privilegios, accesos, passwords).

1.6. Respaldo (backup) y recuperación (restore)


En general los diferentes tipos de backups o copias de seguridad dependen del
motor de base de datos (fabricante). No obstante hay diferentes estrategias que
podemos presentar y que resultan independientemente de cualquier motor, debido
a que, son parte de todos los motores:

Backup en frío (cold backup)

Página 10 de 16
05_RDBMS - Características - 2023
Este tipo de copia de seguridad se realiza deteniendo el motor de base de datos,
realizando la copia y volviendo a levantar la base de datos.
Ventajas:

✔ Backup y recuperación sencilla

✔ Pocos comandos (son principalmente del sistema operativo).

✔ Facilidad de automatización.

✔ Recuperación completa de una manera rápida.


Desventajas:

✔ Se Necesita una ventana de tiempo.

✔ Corta los procesos y el acceso de los usuarios.

✔ Recuperación hasta el instante de la copia de seguridad.

✔ Es una recuperación de la base de datos completa. No puede ser parcial.

✔ Si la base de datos es muy grande, puede tomar demasiado tiempo y


hasta puede ser imposible ponerla en práctica.

✔ Las copias ocupan espacio (exactamente el mismo que la base original).

Backup en caliente ( hot backup)


Este tipo de copias de seguridad se realizan con la base de datos sin detener o
desmontar. Para ello hay que emplear aplicaciones especiales de backup provistas
por el fabricante del motor.
Ventajas:

✔ No es necesario detener la base de datos.

✔ Se puede automatizar.
Desventajas:

✔ Se requiere conocimiento especial para llevarlo a cabo.

Backup lógico

Página 11 de 16
05_RDBMS - Características - 2023
Los backups lógicos sólo extraen los datos de las tablas utilizando comandos
SQL y se realizan con la utilidad export/import.
Esta alternativa permite al DBA hacer una copia de determinados objetos de la
BD (una tabla, algunos datos, etc.), así como restaurarlos o moverlos de una BD a
otra. Estas herramientas utilizan comandos del SQL para obtener el contenido de
los objetos y escribirlos/leerlos de ficheros

Otras alternativas de backup

✔ Copia en el servidor.

✔ Copia en otro servidor o múltiples servidores.

✔ Copia a Cinta.

✔ Caja fuerte o caja de seguridad de un banco o una empresa de logística (Iron


Mountain).

✔ La combinación entre ellos.


Para contar con una estrategia sólida de backup no es necesario únicamente
con disponer del backup, sino que el mismo debe recuperarse en otro ambiente
como parte de un proceso periódico de recuperación. Esto puede ser realizado por
Q o semestral o anualmente como parte del proceso.

Otros temas relacionados son:

✔ Sistemas de alta disponibilidad o HA (high availability).

✔ Replicación de base de datos.

✔ Base de datos en la nube.

1.7. Consultas complejas optimizadas


El modelo relacional permite almacenar y trabajar con grandes volúmenes de
información a través del uso de tablas, definición de la estructura de datos, y tuplas
o registros que son los datos que responden a cada una de esas estructuras o
tablas que son optimizadas por medio de reglas de normalización. Y los datos de
cada registro se enlazan con una clave.

Página 12 de 16
05_RDBMS - Características - 2023
Cuando se desea obtener información, realizar una consulta, se realiza
mediante la clave de cada tabla participante y se aplica un lenguaje orientado a la
teoría de conjuntos utilizando el álgebra.
Bajo estos conceptos es posible acceder a la información mediante dos
métodos que obtienen el mismo resultado. El álgebra relacional (procedural) y el
cálculo relacional (declarativo).
Como se utiliza el álgebra es posible anidar sin límite diferentes subconsultas y
obtener la información deseada. Este mecanismo de anidación nos permite
construir consultas complejas a la hora de obtener datos en grandes volúmenes
de información.

1.8. Acceso a través de lenguajes de programación


estándar
Este concepto permite acceder a la información almacenada de una base de
datos a través de lenguajes de programación diferentes al sistema de gestión de
base de datos.
Existen motores de bases de datos que permiten en algunos lenguajes de
programación (FORTRAN, C, COBOL, etc), denominado anfitrión, incorporarles
sentencias SQL. Cada una de estas sentencias SQL se transforman en varias
instrucciones propias del lenguaje para que su propio compilador o intérprete las
pueda reconocer y generar su correspondiente objeto máquina. Esta característica
se denomina SQL embebido.
La manera de construir un programa con SQL embebido depende del lenguaje y
el motor de base de datos utilizado.

2. Ventajas y Desventajas de las bases de Datos


Relacionales
2.1. Ventajas
Control sobre la redundancia de datos
Anteriormente a las bases de datos los sistemas informáticos almacenaban la
información en ficheros existiendo varias copias de los mismos datos en archivos

Página 13 de 16
05_RDBMS - Características - 2023
distintos. Provocando un desperdicio de espacio de almacenamiento e
inconsistencias de datos.
En los sistemas de bases de datos todos estos ficheros están integrados, por
lo que no se almacenan varias copias de los mismos datos. Sin embargo, en una
base de datos no se puede eliminar la redundancia completamente, ya que en
ocasiones es necesaria para modelar las relaciones entre los datos.

Consistencia de datos
Si logramos controlar o eliminar las redundancias de datos se reduce en gran
parte el riesgo de inconsistencias. Cuando se almacena un dato en un solo lugar
cualquier actualización que deseamos realizar estará disponible para todos los
usuarios. Si un dato está duplicado y el sistema conoce esta redundancia, el propio
sistema puede encargarse de garantizar que todas las copias se mantienen
consistentes.

Mejora en la integridad de datos


La integridad de la base de datos se refiere a la validez y la consistencia de los
datos almacenados. Normalmente, la integridad se expresa mediante
restricciones o reglas que no se pueden violar. Estas restricciones se pueden
aplicar tanto a los datos, como a sus relaciones, y es el SGBD quien se debe
encargar de mantenerlas.

Mantenimiento de estándares
Gracias a la integración es más fácil respetar los estándares necesarios, tanto
los establecidos a nivel de la empresa como los nacionales e internacionales.
Estos estándares pueden establecerse sobre el formato de los datos para facilitar
su intercambio, pueden ser estándares de documentación, procedimientos de
actualización y también reglas de acceso.

Datos compartidos
En los sistemas de ficheros, los archivos pertenecen a las personas o a los
departamentos que los utilizan. Pero en los sistemas de bases de datos, la base
de datos pertenece a la empresa y puede ser compartida por todos los usuarios
que estén autorizados.

Página 14 de 16
05_RDBMS - Características - 2023

Mejora en la seguridad
La seguridad de la base de datos es la protección de la base de datos frente a
usuarios no autorizados. Sin unas buenas medidas de seguridad, la integración de
datos en los sistemas de bases de datos hace que éstos sean más vulnerables
que en los sistemas de ficheros.

Mejora en la accesibilidad a los datos


Muchos SGBD proporcionan lenguajes de consultas o generadores de informes
que permiten al usuario hacer cualquier tipo de consulta sobre los datos, sin que
sea necesario que un programador escriba una aplicación que realice tal tarea.

Mejora en la productividad
El SGBD proporciona muchas de las funciones estándar que el programador
necesita escribir en un sistema de ficheros. A nivel básico, el SGBD proporciona
todas las rutinas de manejo de ficheros típicas de los programas de aplicación.
El hecho de disponer de estas funciones permite al programador centrarse
mejor en la función específica requerida por los usuarios, sin tener que
preocuparse de los detalles de implementación de bajo nivel.

Mejora en el mantenimiento
En los sistemas de ficheros, las descripciones de los datos se encuentran
inmersas en los programas de aplicación que los manejan.
Esto hace que los programas sean dependientes de los datos, de modo que un
cambio en su estructura, o un cambio en el modo en que se almacena en disco,
requiere cambios importantes en los programas cuyos datos se ven afectados.
Sin embargo, los SGBD separan las descripciones de los datos de las
aplicaciones. Esto es lo que se conoce como independencia de datos, gracias a la
cual se simplifica el mantenimiento de las aplicaciones que acceden a la base de
datos.

2.2. Desventajas

Complejidad

Página 15 de 16
05_RDBMS - Características - 2023
Los SGBD son conjuntos de programas que pueden llegar a ser complejos con
una gran funcionalidad. Es preciso comprender muy bien esta funcionalidad para
poder realizar un buen uso de ellos.

Coste del equipamiento adicional


Tanto el SGBD, como la propia base de datos, pueden hacer que sea necesario
adquirir más espacio de almacenamiento. Además, para alcanzar las prestaciones
deseadas, es posible que sea necesario adquirir una máquina más grande o una
máquina que se dedique solamente al SGBD. Todo esto hará que la implantación
de un sistema de bases de datos sea más cara.

Vulnerable a los fallos


El hecho de que todo esté centralizado en el SGBD hace que el sistema sea más
vulnerable ante los fallos que puedan producirse (cuellos de botella). Es por ello
que deben tenerse copias de seguridad (Backup).

Limitaciones para escalar horizontalmente


Si bien es posible escalar horizontalmente con las base de datos relacionales,
hay una limitación que es propia de la infraestructura y por el producido por el
hecho de tener una única base de datos centralizada (cuello de botella –
bottleneck).

3. Referencias
➔ Fundamentos de Bases de Datos - 5ta Edición - Abraham Silberschatz

➔ how-to-choose-a-database Fuente:
https://yalantis.com/blog/how-to-choose-a-database/ - Disponible:
Marzo 2020

Página 16 de 16

También podría gustarte