Académique Documents
Professionnel Documents
Culture Documents
I N F O R M Á T I C O S E N R E D
2 ASGBD: UT 1. Revisión de conceptos de Base De Datos
Redundancia mínima
La redundancia de datos es la duplicidad de estos en uno o varios fichero el
objetivo de un SGBD es facilitar la eliminación de la redundancia o reducirla al
mínimo ya que no siempre es posible.
Para ello, el SGBD debe permitir que el diseñador defina datos redundantes, pero
entonces tendría que ser el mismo SGBD el que hiciese automáticamente la
actualización de los datos en todos los lugares donde estuviesen repetidos.
El problema actual de la redundancia no es el espacio desperdiciado. Simplemente
es, que si tenemos algo apuntado en dos lugares diferentes no pasará demasiado
tiempo hasta que las dos anotaciones dejen de ser coherentes, porque habremos
modificado la anotación en uno de los lugares y nos habremos olvidado de hacerlo
en el otro.
Por lo tanto, el verdadero problema es el grave riesgo de inconsistencia o
incoherencia de los datos, es decir, la perdida de integridad que las
actualizaciones de datos pueden provocar cuando existe redundancia de datos.
Concurrencia de usuarios
El SGBD debe asegurar que la BD se actualice correctamente cuando hay varios
usuarios manipulando concurrentemente la mismo BD. Para solucionar este
problema los SGBD nos proveen de las transacciones de DB ACID.
ACID: Una transacción de BD ACID consiste en un conjunto de operaciones simples que
Atomicidad
Consistencia
se ejecutan como una unidad indivisible. Los SGBD tienen que conseguir que el
Aislamiento conjunto de operaciones de una transacción nunca se ejecute parcialmente: o se
Durabilidad ejecutan todas o no se ejecuta ninguna. (COMMIT, ROLLBAK)
Seguridad
Un SGBD debe proteger los datos frente al acceso accidental o intencionado por
parte de individuos no autorizados, para ello el SGBD permite definir
autorizaciones o derechos de accesos. Estos mecanismos de seguridad se basan la
identificación a través del usuario y la contraseña.
La encriptación de los datos y contraseñas nos permitiría la elevación del grado de
seguridad.
Herramientas
Un SGBD debe proporcionar las herramientas necesarias para poder
cumplir como mínimo con las funcionalidades y objetivos anteriores.
ADMINISTRACIÓN DE SISTEMAS INFORMÁTICOS EN RED
13 ASGBD: UT 1. Revisión de conceptos de Base De Datos
El Lenguaje
SQL es el lenguaje estándar de las BD relacionales, aunque hay variaciones:
PL/SQL de Oracle o T-SQL de , Microsoft. SQL a su vez se divide en:
Lenguaje de definición de datos (DDL: Data Definition Language)
Permite al diseñador de BD crear las estructuras apropiadas para para integrar
adecuadamente los datos. Define las estructuras de los datos (metadatos), las
relaciones que existen entre ellas y las reglas que han de cumplir.
Ej.: CREATE, DROP, CHECK, CONSTRAINT.
Lenguaje de control de datos (DCL: Data Control Language)
Se encarga del control, seguridad y restricciones de los datos: gestión de
usuarios, perfiles privilegios y modos de acceso, ….
Ej.: GRANT, REVOKE.
Lenguaje de manipulación de datos (DML: Data Manipulation Language)
Permite a los usuarios de BD: añadir/insertar, buscar/consultar,
eliminar/suprimir o actualizar/modificar los datos de la misma.
Ej.: INSERT, SELECT, DELETE, UPDATE.
Algunos SGBD ofrecen lenguajes 4G y asistentes visuales.
ADMINISTRACIÓN DE SISTEMAS INFORMÁTICOS EN RED
14 ASGBD: UT 1. Revisión de conceptos de Base De Datos
Modelo jerárquico
También llamado modelo en árbol debido a que sus estructuras son registros
interrelacionados en forma en árboles invertidos, en la parte superior están los
padres y en la inferior los hijos.
La limitación de este modelo es la incapacidad de representar eficientemente la
redundancia de datos.
Modelo de red (Codasyl)
Organiza la información en registros (también llamados nodos) y enlaces. La gran
diferencia con el modelo jerárquico es que el modelo en red es que un nodo hijo
puede tener más de un padre.
El mayor problema de este modelo era la dificultad de administración.
Modelo relacional
Los datos se organizan en tablas con filas y columnas, cuyos datos se relacionan.
La diferencia fundamental con los modelos anteriores es la independencia física de
los datos, ya que el modelo relacional se limita al nivel lógico (al menos en el
modelo teórico).
Actualmente es el modelo más popular.
ADMINISTRACIÓN DE SISTEMAS INFORMÁTICOS EN RED
18 ASGBD: UT 1. Revisión de conceptos de Base De Datos
Modelo NoSQL
Son un subconjunto de SGBD en los que prima la velocidad, la disponibilidad y la
sencillez, en detrimento de la consistencia y la integridad, para manejar ingentes
cantidades de datos, cuyas características principales también son las diferencias
con el modelo relacional:
No usan SQL con lenguaje principal de consultas.
Ausencia de esquemas: sus modelos de almacenamiento son los: orientados a
documentos, familia de columnas, de clave-valor o en grafo, en lugar de
estructuras fijas como tablas y relaciones.
Arquitectura distribuida: información compartida en varias máquinas con
mecanismos semejantes a redes P2P, en lugar de una única maquina o una
estructura maestro-esclavo como el modelo relacional.
Escalabilidad horizontal: posibilidad de aumentar el rendimiento del sistema
simplemente añadiendo más equipos o nodos. Consecuencia directa de su
arquitectura distribuida, que no genera cuellos de botella, permite usar equipos
de bajo coste, permitiendo cambios de equipos en caliente.
Casi sin soporte JOIN y sin garantía ACID completa para no sobrecargar el
sistema y aumentar su rendimiento. La consistencia no es prioritaria.
Conviene no decantarse por ningún SGBD y escoger el que más se adapte a nuestras
necesidades.
Para un entorno monousuario desde un solo equipo o con acceso de pocos
usuarios, podemos utilizar las herramientas ofimáticas Access y LibreOffice
Base.
Si necesitamos una BD relacional de bajo coste, con acceso concurrente de un
numero elevado de usuarios, utilizando una plataforma cliente-servidor y con
herramientas más avanzadas, podemos utilizar MySQL siempre que tengamos
personal especializado.
Si necesitamos más potencia tendremos que recurrir a DB2, Informix, MS SQL
Server u Oracle.
Si necesitamos SGBD OO: GemStone u O2.
Si necesitamos SGBD Relacional-OO: Informix, Prostgre SQL u Oracle.
Para SGBD NoSQL
Orientados a documentos: MongoDB.
Familia de columnas: Cassandra.
De clave-valor: Cassandra.
En grafo: Neo4j.