You are on page 1of 22

1 A D M I N I S T R A C I Ó N D E S I S T E M A S

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

1. Introducción. Definición de base de datos y SGBD


2. Arquitectura de sistemas de bases de datos
3. Tipo de funcionamiento de un SGBD
4. Funcionalidades/objetivos del SGBD
5. Componentes de un SGBD
6. Usuarios de los SGBD
7. Tipos de SGBD
8. SGBD comerciales y libres

ADMINISTRACIÓN DE SISTEMAS INFORMÁTICOS EN RED


3 ASGBD: UT 1. Revisión de conceptos de Base De Datos

Base de Datos (BD)


Conjunto estructurado de datos persistentes, organizados y relacionados entre sí.
El acceso, gestión y manipulación de las bases de datos se realiza a través de los
sistemas gestores de bases de datos, nunca se realiza de manera directa.
Sistema de Gestión de Bases de Datos (SBGD)
En inglés “Database Management System” (DBMS).
Es un conjunto coordinado de programas, procedimientos, lenguajes, etc., que
suministra a los distintos usuarios, los medios necesarios para definir, crear,
manipular y mantener los datos almacenados en la base de datos conservando su
integridad, confidencialidad y seguridad.
Es el interfaz que ejerce de intermediario entre el usuario y la base de datos.

ADMINISTRACIÓN DE SISTEMAS INFORMÁTICOS EN RED


4 ASGBD: UT 1. Revisión de conceptos de Base De Datos

ANSI/X3/SPARC (1973–1982) [1/3]


Es el estándar más generalizado de arquitectura de SGBD, que nos sirve para
asegurar la separación entre datos y aplicaciones, para lo cual especificó tres
niveles o capas:
 Nivel externo o de visión: Es el nivel más cercano al usuario final, basado en
vistas de BD (esquemas externos). Cada una de la vistas describe que partes de
la BD puede manipular cada usuario u cuales no. Es lo que ve el usuario final a
través de las aplicaciones o de manera directa. Las vistas las crean los
desarrolladores de aplicaciones.
 Nivel conceptual: Describe la estructura lógica de una BD, formada por sus
Tablas con sus atributos, las interrelaciones y las restricciones o reglas de
identidad, mediante un esquema conceptual. A este nivel acceden los
administradores de BD y los analistas de aplicaciones.
 Nivel interno o físico: Describe descripción física una BD,
detalles físicos de almacenamiento (ficheros y discos que
ocupan), que denominamos esquema interno. A este nivel
acceden los administradores de sistema.

ADMINISTRACIÓN DE SISTEMAS INFORMÁTICOS EN RED


5 ASGBD: UT 1. Revisión de conceptos de Base De Datos

ANSI/X3/SPARC (1973–1982) [2/3]


Hay que destacar que los únicos datos que existen realmente están en el nivel
físico, almacenados en un dispositivo, como puede ser un disco.
La ventaja de esta arquitectura es la independencia de los datos.
Independencia de los datos
Es la capacidad de modificar un nivel sin tener que modificar los otros niveles.
Hay dos tipos de independencia de datos:
 Independencia lógica: Se puede realizar cambios en el nivel conceptual
(tablas, atributos, …) sin que sea necesario modificar el nivel externo
(aplicaciones) o Interno (detalles de almacenamiento físico.
 Independencia física: Se puede realizar cambios en el nivel Interno (detalles
de almacenamiento físico) sin que sea necesario modificar el nivel conceptual
(tablas, atributos, …) o el nivel externo (aplicaciones).

ADMINISTRACIÓN DE SISTEMAS INFORMÁTICOS EN RED


6 ASGBD: UT 1. Revisión de conceptos de Base De Datos

ANSI/X3/SPARC (1973–1982) [3/3]


Arquitectura de tres niveles

ADMINISTRACIÓN DE SISTEMAS INFORMÁTICOS EN RED


7 ASGBD: UT 1. Revisión de conceptos de Base De Datos

SGBD mono capa


Se trata de SGBD instalados en una máquina desde la que se conectan los propios
usuarios y administradores.
Es un modelo que solo se utiliza con bases de datos pequeñas y poca cantidad de
conexiones.
SGBD de dos capas
Es el modelo tipo cliente/servidor. La BD y el SGBD se alojan en un servidor al cual
se conectan los usuarios desde equipos cliente:
 Arquitectura cliente/servidor único: Un solo servidor gestiona la BD, todos los
clientes se conectan a él pare realizar las peticiones a la BD.
 Arquitectura cliente/multiservidor: La BD se distribuye entre varios servidores.
El cliente no sabe realmente a que servidor se conecta, el software de control
de comunicaciones se encargará de dirigirle al servidor adecuado. De forma
lógica, es como si se tratara de un solo servidor aunque físicamente sean
muchos.

ADMINISTRACIÓN DE SISTEMAS INFORMÁTICOS EN RED


8 ASGBD: UT 1. Revisión de conceptos de Base De Datos

SGBD de tres o más capas


En este caso entre el cliente y el servidor hay al menos una capa intermedia
(puede haber varias). Esa capa/s) se encargan de recoger las peticiones de los
clientes y luego de comunicarse con el servidor/es para recibir la respuesta y
enviarla al cliente.
El caso típico es que la capa intermedia sea un servidor web, que recibe las
peticiones a través de páginas web; de este modo para conectarse a la base de
datos, el usuario solo requiere un navegador web, que es un software muy habitual
en cualquier máquina.
Este modelo es el que más se está potenciando en la actualidad por motivos de
seguridad y portabilidad de la base de datos.

ADMINISTRACIÓN DE SISTEMAS INFORMÁTICOS EN RED


9 ASGBD: UT 1. Revisión de conceptos de Base De Datos

La función principal de un SGBD es la de permitir a los usuarios realizar las


operaciones de creación, consulta, actualización y borrado, de los datos y sus
estructuras de una manera eficiente y coherente.
Para tal fin, el SGBD debe contener de las siguientes funcionalidades/objetivos:
Consultas no predefinidas y complejas
Los usuarios tienen que poder hacer consultas de cualquier tipo y complejidad
directamente al SGBD. Éste tiene que responder inmediatamente sin que estén
preestablecidas, es decir, sin que se tenga que escribir, compilar y ejecutar un
programa específico para cada consulta.
El lenguaje que se utiliza universalmente para alcanzar este doble objetivo
(consultas no predefinidas y complejas) es el lenguaje SQL, que ya conocéis.
Flexibilidad e independencia
El SBGD debe proporcionar la máxima independencia entre los datos y los
procesos de los usuario. Es necesario que se pueda hacer todo tipo de cambios
físicos, tecnológicos y lógicos de la BD sin que se tengan que modificar las
aplicaciones ya escritas, ni variar la manera de hacer consultas directas.

ADMINISTRACIÓN DE SISTEMAS INFORMÁTICOS EN RED


10 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.

ADMINISTRACIÓN DE SISTEMAS INFORMÁTICOS EN RED


11 ASGBD: UT 1. Revisión de conceptos de Base De Datos

Integridad de los datos


El SGBD debe de asegurara que la información almacenada en la BD mantiene la
calidad de los datos en cualquier circunstancia.
Para ello el diseño de una BD debe incluir reglas de integridad que queremos el
SGBD haga cumplir y se no guarden datos incorrectos o incoherentes.
Las causas posible de perdida de integridad de los datos puede ser: un fallo en la
redundancia de datos, errores de las aplicaciones, fallo humano, avería del servidor
o disco duro, corte de alimentación eléctrica en medio de una transacción, …
El concepto de integridad de los datos va más allá de prevenir que la aplicaciones
o los usuarios almacenen datos incorrectos. En casos de errores o desastres,
también podríamos perder la integridad de los datos. El SGBD nos debe dar las
herramientas para reconstruir o restaurar los datos estropeados.
Los procesos de restauración (restore o recovery) de los que todo SGBD dispone
pueden reconstruir la BD para darle el estado consistente y correcto anterior al
incidente. Esto se acostumbra a hacer gracias a la obtención de copias periódicas
de los datos (se denominan copias de seguridad o back-up) y mediante el
mantenimiento continuo de un diario (log) donde el SGBD va anotando
todas las escrituras que se hacen en la BD.

ADMINISTRACIÓN DE SISTEMAS INFORMÁTICOS EN RED


12 ASGBD: UT 1. Revisión de conceptos de Base 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

Diccionario de datos (Catálogo)


Lugar donde el SGBD almacena las descripciones de los datos de una BD
(metadatos) incluyendo los distintos objetos con sus propiedades, estos son:
 La definición de todos los objetos existentes en la BD.
 La ubicación física de los objetos y el espacio asignado a los mismos.
 Los privilegios, restricciones y roles asignados a los usuarios.
 Información para auditorías, estadísticas, consumo de recursos, …
 Y un larguísimo etcétera...
Objetos de una BD
 Tablas  Dominio y tipos definidos de datos
 Relaciones  Restricciones de tabla y dominio y aserciones
 Vistas  Funciones y procedimientos almacenados
 Consultas  Disparadores o triggers

ADMINISTRACIÓN DE SISTEMAS INFORMÁTICOS EN RED


15 ASGBD: UT 1. Revisión de conceptos de Base De Datos

Herramientas del SGDB que permitan:


 Garantizar la protección de los datos ante accesos no autorizados a la BD.
 Asegurar la integridad y consistencia de los datos.
 Controlar el acceso concurrente/compartido de los usuarios a la DB.
 Recuperar la BD en caso de fallo de hardware o software (log, back-up, restore).
 Gestionar el diccionario de datos (catalogo).
 Programar aplicaciones.
 Importar/exportar de datos (migraciones)
 Distribuir datos.
 Replicar BD (arquitectura maestro-esclavo).
 Sincronizar BD (equipos replicados).
 Programar tareas repetitivas y automáticas (scheduler).
 Optimizador de consultar.
 Gestión de transacciones.
 Copias de seguridad y recuperaciones.

ADMINISTRACIÓN DE SISTEMAS INFORMÁTICOS EN RED


16 ASGBD: UT 1. Revisión de conceptos de Base De Datos

Administrador de BD (ADB en ingles Data Base Administrator DBA)


Se encarga de crear, mantener, garantizar la disponibilidad, el correcto
funcionamiento con un rendimiento optimo, la BD y gestionar todos sus
componentes.
Tienen el nivel más alto de privilegios y responsabilidades legales en caso de que
los datos tengan algún tipo de protección.
Diseñador de BD / Analista de aplicaciones
Diseñan y definen la estructura lógica de la BD, tablas, atributos, reglas de
integridad, relaciones, permisos y privilegios, … , sobre papel, que terminar
creando manteniendo el ADB.
Desarrollador de aplicaciones
Realiza las aplicaciones para manipular la BD que utilizarán los usuarios finales.
Usuarios finales
Acceden a través de aplicaciones o de manera directa a la parte información de la
BD que tienen permiso, sin tener conocimiento de la estructura o el
funcionamiento de la BD.

ADMINISTRACIÓN DE SISTEMAS INFORMÁTICOS EN RED


17 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 orientado a objetos (OO)


Está basado una colección de objetos llamados clases que contienen atributos, y
procedimientos o funciones llamados métodos. Este método incorpora conceptos
del paradigma orientado a objetos, como son:
 Encapsulación: Ocultación de información al resto de objetos.
 Herencia: un objeto puede heredar todos los atributos y métodos de otro.
 Polimorfismo: un objeto puede ser distintos tipos de objetos.
Modelo relacional con objetos
Es una ampliación del modelo relacional, al que se le añade la posibilidad de poder
trabajar con tipos de datos abstractos (TAD), lo que acerca a los sistemas
relacionales al paradigma de la orientado a objetos.
Este modelo se basa en el estándar SQL’99, que añade al modelo relacional la
posibilidad de almacenar procedimientos de usuario, triggers, tipos definidos por
el usuario, consultas recursivas, bases de datos OLAP, tipos LOB, …
Este modelo esta cogiendo mucho auge.

ADMINISTRACIÓN DE SISTEMAS INFORMÁTICOS EN RED


19 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.

ADMINISTRACIÓN DE SISTEMAS INFORMÁTICOS EN RED


20

ADMINISTRACIÓN DE SISTEMAS INFORMÁTICOS EN RED


21 ASGBD: UT 1. Revisión de conceptos de Base De Datos

En el mercado actual hay más de un centenar de SGBD, que atendiendo a su coste


podemos dividir en :
 Comerciales: Aquellos con copyright y licencias privativas, que limitan a usuario
solamente a su uso, como puede ser la licencia EULA. Su coste es más elevado.
Access, DB2, Informix, GemStone, MS SQL Server, O2,Oracle, …
 Libres: además de usarlo, al usuario le dan acceso al código para que pueda,
copiar, estudiar, modificar y distribuir atendiendo a algunas normas que varían
dependiendo del tipo de licencia de software libre que se utilice, como pueden
ser: GNU/PL, BSD, MPL, Copyleft, Apache, …. Sin coste, con soporte de la
comunidad, pero el soporte oficial se paga. Algunas a demás de la versión libre
tienen otra de pago.
Libre Office Base, Cassandra, MongoDB, MySQL, Prostgre SQL, …

ADMINISTRACIÓN DE SISTEMAS INFORMÁTICOS EN RED


22 ASGBD: UT 1. Revisión de conceptos de Base De Datos

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.

ADMINISTRACIÓN DE SISTEMAS INFORMÁTICOS EN RED

You might also like