Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Página 1 de 16
05_RDBMS - Características - 2023
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.
✔ Integridad Referencial.
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.
Página 4 de 16
05_RDBMS - Características - 2023
Página 5 de 16
05_RDBMS - Características - 2023
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.
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
Tipos de ataques
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.
✔ Stored Procedures.
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:
✔ Facilidad de automatización.
✔ Se puede automatizar.
Desventajas:
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
✔ Copia en el servidor.
✔ Copia a Cinta.
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.
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.
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 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.
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