Nothing Special   »   [go: up one dir, main page]

Ud1.introducción A La Administración de Bases de Datos

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 54

UD1.

INTRODUCCIÓN A LA
ADMINISTRACIÓN DE BASES
DE DATOS
Sistema gestor de
Base de datos
base de datos

¿Cúal es la diferencia?
Base de datos

Una base de datos es un conjunto de datos relacionados y


organizados con cierta estructura. Según dicha organización
distinguimos entre diferentes modelos de bases de datos como el
relacional, jerárquico o en red.
Base de datos

Una base de datos es un conjunto de datos relacionados y


organizados con cierta estructura. Según dicha organización
distinguimos entre diferentes modelos de bases de datos como el
relacional, jerárquico o en red.

Para su manipulación y gestión surgieron los sistemas gestores de


bases de datos →SGBD
Sistema gestor de
base de datos

El sistema de gestión de la base de datos (SGBD) es una aplicación


que permite a los usuarios definir, crear y mantener bases de datos,
proporcionando acceso controlado a las mismas. Es una herramienta
que sirve de interfaz entre el usuario y las bases de datos.
Es decir, por un lado tenemos los datos organizados según ciertos
criterios

Base de datos

Y, por otro, un software que nos permite o facilita su gestión con


distintas herramientas y funcionalidades

Sistema gestor de
base de datos
Hay tres características importantes inherentes a los sistemas de bases
de datos: la separación entre los programas de aplicación y los
datos, el manejo de múltiples vistas por parte de los usuarios y el uso
de un catálogo para almacenar el esquema de la base de datos.

Se propuso una arquitectura de tres niveles para los sistemas de bases


de datos, que resulta muy útil a la hora de conseguir estas tres
características.

El objetivo de la arquitectura de tres niveles es el de separar los


programas de aplicación de la base de datos física. En esta
arquitectura, el esquema de una base de datos se define en tres
niveles de abstracción distintos.
Esquema de la Arquitectura de de Sistemas de Bases de Datos
En el nivel interno se describe la estructura física de la base de datos
mediante un esquema interno. Este esquema se especifica mediante
un modelo físico y describe todos los detalles para el
almacenamiento de la base de datos, así como los métodos de
acceso.
En el nivel conceptual se describe la estructura de toda la base de
datos para una comunidad de usuarios (todos los de una empresa u
organización), mediante un esquema conceptual. Este esquema
oculta los detalles de las estructuras de almacenamiento y se
concentra en describir entidades, atributos, relaciones, operaciones
de los usuarios y restricciones. En este nivel se puede utilizar un
modelo conceptual o un modelo lógico para especificar el esquema.
En el nivel externo se describen varios esquemas externos o vistas de
usuario. Cada esquema externo describe la parte de la base de
datos que interesa a un grupo de usuarios determinado y oculta a
ese grupo el resto de la base de datos. En este nivel se puede utilizar
un modelo conceptual o un modelo lógico para especificar los
esquemas.
Los tres esquemas no son más que descripciones de los mismos datos
pero con distintos niveles de abstracción. Los únicos datos que existen
realmente están a nivel físico, almacenados en un dispositivo, como
puede ser un disco.
La arquitectura de tres niveles es útil para explicar el concepto de
independencia de datos:

Capacidad para modificar el esquema en un nivel del sistema


sin tener que modificar el esquema del nivel inmediato superior.
Se pueden definir dos tipos de independencia de datos:

Independencia Independencia
lógica física
Independencia
lógica

Capacidad de modificar el esquema conceptual sin tener que


alterar los esquemas externos ni los programas de aplicación. Se
puede modificar el esquema conceptual para ampliar la base de
datos o para reducirla.

Si, por ejemplo, se reduce la base de datos eliminando una entidad,


los esquemas externos que no se refieran a ella no deberán verse
afectados.
Independencia
física

Capacidad de modificar el esquema interno sin tener que alterar el


esquema conceptual (o los externos).

Por ejemplo, puede ser necesario reorganizar ciertos ficheros físicos


con el fin de mejorar el rendimiento de las operaciones de consulta
o de actualización de datos.

Dado que la independencia física se refiere solo a la separación


entre las aplicaciones y las estructuras físicas de almacenamiento, es
más fácil de conseguir que la independencia lógica.
Función principal de los SGBD: permitir a los usuarios realizar las 4
operaciones fundamentales posibles de manera eficiente y
coherente:
• Operaciones de inserción o creación
• Operaciones de consulta
• Operaciones de actualización
• Operaciones de borrado

Para este fin, la mayoría de SGBD incorporan las siguientes


características y funciones:
Para este fin, la mayoría de SGBD incorporan las siguientes
características y funciones:
Un catálogo:
Donde se almacenen las descripciones de los datos y sea
accesible por los usuarios. Este catálogo es lo que se denomina
diccionario de datos y contiene información que describe los
datos de la base de datos (metadatos).

Normalmente, un diccionario de datos describe entre otras


cosas:
• Nombre, tipo y tamaño de los datos.
• Relaciones entre los datos.
• Restricciones de integridad sobre los datos.
• Usuarios autorizados a acceder a los objetos de base de
datos.
• Estadísticas de utilización, tales como la frecuencia de las
transacciones y el número de accesos realizados a los objetos
de la base de datos.
Garantizar la integridad:
Disponer de un mecanismo que garantice que todas las
actualizaciones correspondientes a una determinada
transacción se realicen, o que no se realice ninguna. (Una
transacción es un conjunto de acciones que cambian el
contenido de la base de datos).
Ejemplo: Una transacción en el sistema informático de la
empresa inmobiliaria sería dar de alta a un empleado o eliminar
un inmueble. Una transacción un poco más complicada sería
eliminar un empleado y reasignar sus inmuebles a otro
empleado. En este caso hay que realizar varios cambios sobre la
base de datos. Si la transacción falla durante su realización, por
ejemplo porque falla el hardware, la base de datos quedará en
un estado inconsistente. Algunos de los cambios se habrán
hecho y otros no, por lo tanto, los cambios realizados deberán
ser deshechos para devolver la base de datos a un estado
consistente.
Permitir actualizaciones:
Asegurar que la base de datos se actualice correctamente
cuando varios usuarios la están actualizando concurrentemente.
Uno de los principales objetivos de los SGBD es el permitir que
varios usuarios tengan acceso concurrente a los datos que
comparten. El acceso concurrente es relativamente fácil de
gestionar si todos los usuarios se dedican a leer datos, ya que no
pueden interferir unos con otros. Sin embargo, cuando dos o
más usuarios están accediendo a la base de datos y al menos
uno de ellos está actualizando datos, pueden interferir de modo
que se produzcan inconsistencias en la base de datos. El SGBD
se debe encargar de que estas interferencias no se produzcan
en el acceso simultáneo.
Recuperación de datos:
Permitir recuperar las bases de datos en caso de que ocurra
algún suceso que la dañe . El SGBD debe proporcionar un
mecanismo capaz de recuperar la base de datos llevándola a
un estado consistente.
Integración:
Ser capaz de integrarse con algún software de comunicación.
Muchos usuarios acceden a la base de datos desde terminales.
En ocasiones estos terminales se encuentran conectados
directamente a la máquina sobre la que funciona el SGBD. En
otras ocasiones los terminales están en lugares remotos, por lo
que la comunicación con la máquina que alberga al SGBD se
debe hacer a través de una red. En cualquiera de los dos casos,
el SGBD recibe peticiones en forma de mensajes y responde de
modo similar. Todas estas transmisiones de mensajes las maneja
el gestor de comunicaciones de datos. Aunque este gestor no
forma parte del SGBD, es necesario que el SGBD se pueda
integrar con él para que el sistema sea comercialmente viable.
Cumplir restricciones:
Proporcionar los medios necesarios para garantizar que tanto los
datos de la base de datos, como los cambios que se realizan
sobre estos datos, sigan ciertas reglas. Normalmente se expresa
mediante restricciones, que son una serie de reglas que la base
de datos no puede violar.

Ejemplo: se puede establecer la restricción de que cada


empleado no puede tener asignados más de diez inmuebles. En
este caso sería deseable que el SGBD controlara que no se
sobrepase este límite cada vez que se asigne un inmueble a un
empleado.
Herramientas de administración:
Proporcionar herramientas que permitan administrar la base de
datos de modo efectivo, lo que implica un diseño óptimo de las
mismas, garantizar la disponibilidad e integridad de los datos,
controlar el acceso al servidor y a los datos, monitorizar el
funcionamiento del servidor y optimizar su funcionamiento.
Los componentes son los elementos que deben proporcionar los
servicios que acabamos de ver. Un SGBD suele incluir:
• Lenguaje de definición de datos (DDL: Data Definition
Language)
Sencillo lenguaje artificial para definir y describir los objetos de
la base de datos, su estructura, relaciones y restricciones.DML
(CREATE Y DROP)
• Lenguaje de control de datos (DCL: Data Control Language)
Encargado del control y seguridad de los datos (privilegios y
modos de acceso, etc.). Este lenguaje permite especificar la
estructura y el tipo de los datos, así como las restricciones
sobre los datos. Todo esto se almacenará en la base de
datos.
(GRANT Y REVOKE)
• Lenguaje de manipulación de datos (DML: Data Manipulation
Language) (SELECT, INSERT, UPDATE Y DELETE)
Para tal fin el lenguaje por excelencia es el conocido SQL
(Structured Query Language). Incluye instrucciones para los tres
tipos de lenguajes comentados y por su sencillez y potencia se
ha convertido en el lenguaje estándar de los SGBD relacionales.
• Diccionario de datos
Esquemas que describen el contenido del SGBD incluyendo
los distintos objetos con sus propiedades.
• Objetos: Tablas base y vistas (tablas derivadas)
– Consultas.
– Dominios y tipos definidos de datos.
– Restricciones de tabla y dominio y aserciones.
– Funciones y procedimientos almacenados.
– Disparadores o triggers.
• Distintas herramientas para:
– Seguridad: de modo que los usuarios no autorizados no
puedan acceder a la base de datos.
– Integridad: que mantiene la integridad y la consistencia de
los datos.
– El control de concurrencia: que permite el acceso
compartido a la base de datos.
– El control de recuperación: que restablece la base de
datos después de que se produzca un fallo del hardware
del software.
– Gestión del diccionario de datos (o catálogo): accesible
por el usuario que contiene la descripción de los datos de
la base de datos.
– Programación de aplicaciones.
– Importación/exportación de datos (migraciones).
– Distribución de datos.
– Replicación (arquitectura maestro-esclavo).
– Sincronización (de equipos replicados).
• Optimizador de consultas
Para determinar la estrategia óptima para la ejecución de las
consultas.
• Gestión de transacciones
Este módulo realiza el procesamiento de las transacciones.
• Planificador (scheduler)
Para programar y automatizar la realización de ciertas
operaciones y procesos.
• Copias de seguridad
Para garantizar que la base de datos se puede devolver a un
estado consistente en caso de que se produzca algún fallo.
• Optimizador de consultas
Para determinar la estrategia óptima para la ejecución de las
consultas.
• Gestion de transacciones
Este módulo realiza el procesamiento de las transacciones.
• Planificador (scheduler)
Para programar y automatizar la realización de ciertas
operaciones y procesos.
• Copias de seguridad
Para garantizar que la base de datos se puede devolver a un
estado consistente en caso de que se produzca algún fallo.
ADMINISTRADOR DISEÑADORES

PROGRAMADORES USUARIOS
DE APLICACIONES FINALES
ADMINISTRADOR

Se encarga del diseño físico y de su implementación, realiza el


control de la seguridad y de la concurrencia, mantiene el sistema
para que siempre se encuentre operativo y se encarga de que los
usuarios y las aplicaciones obtengan buenas prestaciones.
DISEÑADORES

Realizan el diseño lógico de la base de datos, debiendo identificar


los datos, las relaciones entre datos y las restricciones sobre los datos
y sus relaciones.

El diseño lógico de la base de datos es independiente del SGBD


concreto que se vaya a utilizar, es independiente de los programas
de aplicación, de los lenguajes de programación y de cualquier otra
consideración física.
PROGRAMADORES
DE APLICACIONES

Se encargan de implementar los programas de aplicación que


servirán a los usuarios finales.
USUARIOS
FINALES

Clientes de la base de datos que hacen uso de ella sin conocer en


absoluto su funcionamiento y organización.
Ámbito de
Número de usuarios
aplicación

Modelo lógico en el
Número de sitios
que se basan
Ámbito de
aplicación:

Propósito general Propósito específico


Número de usuarios:

Monousuario Multiusuario
Número de sitios:

Centralizados Distribuidos
Modelo lógico en el
que se basan:

Modelo Jerárquico Modelo de Red

… Modelo Relacional
Modelo lógico en el
Modelo Jerárquico
que se basan:

La información se organiza con un jerarquía en la que la relación entre las


entidades de este modelo siempre es del tipo padre / hijo. De esta forma
hay una serie de nodos que contendrán atributos y que se relacionarán
con nodos hijos de forma que puede haber más de un hijo para el mismo
padre (pero un hijo sólo tiene un padre).

La forma visual de este modelo es de árbol invertido, en la parte superior


están los padres y en la inferior los hijos.
Modelo lógico en el
Modelo de Red
que se basan:

El modelo en red organiza la información en registros (también llamados


nodos) y enlaces. En los registros se almacenan los datos, mientras que
los enlaces permiten relacionar estos datos. Las bases de datos en red
son parecidas a las jerárquicas sólo que en ellas puede haber más de
un padre.
Modelo lógico en el
Modelo Relacional
que se basan:

los datos se describen como relaciones que se suelen representar


como tablas bidimensionales consistentes en filas y columnas. Cada
fila (tupla, en terminología relacional) representa una ocurrencia.
Las columnas (atributos) representan propiedades de las filas. Cada
tupla o fila se identifica por una clave primaria o identificador.
Modelo lógico en el
Modelo Relacional
que se basan:
(1) El proceso lanzado por el usuario llama al SGBD indicando la porción de
la base de datos que se desea tratar
(2) El SGBD traduce la llamada a términos del esquema lógico de la base de
datos. Accede al esquema lógico comprobando derechos de acceso y la
traducción física (normalmente los metadatos se guardan una zona de
memoria global y no en el disco)
(3) El SGBD obtiene el esquema físico
(4) El SGBD traduce la llamada a los métodos de acceso del Sistema
Operativo que permiten acceder realmente a los datos requeridos
(5) El Sistema Operativo accede a los datos tras traducir las órdenes dadas
por el SGBD
(6) Los datos pasan del disco a una memoria intermedia o buffer. En ese
buffer se almacenarán los datos según se vayan recibiendo
(7) Los datos pasan del buffer al área de trabajo del usuario (ATU) del proceso
del usuario. Los pasos 6 y 7 se repiten hasta que se envíe toda la información
al proceso de usuario.
(8) En el caso de que haya errores en cualquier momento del proceso, el
SGBD devuelve indicadores en los que manifiesta si ha habido errores o
advertencias a tener en cuenta. Esto se indica al área de comunicaciones del
proceso de usuario. Si las indicaciones son satisfactorias, los datos de la ATU
serán utilizables por el proceso de usuario.
(1) El proceso lanzado por el usuario llama al SGBD indicando la porción de
la base de datos que se desea tratar
(2) El SGBD traduce la llamada a términos del esquema lógico de la base de
datos. Accede al esquema lógico comprobando derechos de acceso y la
traducción física (normalmente los metadatos se guardan una zona de
memoria global y no en el disco)
(3) El SGBD obtiene el esquema físico
(4) El SGBD traduce la llamada a los métodos de acceso del Sistema
Operativo que permiten acceder realmente a los datos requeridos
(5) El Sistema Operativo accede a los datos tras traducir las órdenes dadas
por el SGBD
(6) Los datos pasan del disco a una memoria intermedia o buffer. En ese
buffer se almacenarán los datos según se vayan recibiendo
(7) Los datos pasan del buffer al área de trabajo del usuario (ATU) del
proceso del usuario. Los pasos 6 y 7 se repiten hasta que se envíe toda la
información al proceso de usuario.
(8) En el caso de que haya errores en cualquier momento del proceso, el
SGBD devuelve indicadores en los que manifiesta si ha habido errores o
advertencias a tener en cuenta. Esto se indica al área de comunicaciones
del proceso de usuario. Si las indicaciones son satisfactorias, los datos de la
ATU serán utilizables por el proceso de usuario.

También podría gustarte