Tema 1 Introducción A Los Sistemas Gestores de Bases de Datos (SGBD)
Tema 1 Introducción A Los Sistemas Gestores de Bases de Datos (SGBD)
INTRODUCCIÓN A LOS
SISTEMAS GESTORES DE BASES DE DATOS (SGBD).
1 INTRODUCCIÓN. ...................................................................................................... 2
2 OBJETIVOS DE UN SGBD. ..................................................................................... 4
2.1 ABSTRACCIÓN DE LA INFORMACIÓN......................................................................... 4
2.2 INDEPENDENCIA ....................................................................................................... 4
2.3 REDUNDANCIA MÍNIMA. ........................................................................................... 4
2.4 CONSISTENCIA. ........................................................................................................ 4
2.5 SEGURIDAD. ............................................................................................................. 4
2.6 INTEGRIDAD ............................................................................................................. 4
2.7 RESPALDO Y RECUPERACIÓN. .................................................................................. 4
2.8 CONTROL DE CONCURRENCIA. ................................................................................. 5
2.9 TIEMPO DE RESPUESTA. ............................................................................................ 5
3 FUNCIONES DE UN SGBD: LENGUAJES. ........................................................... 6
3.1 DESCRIPCIÓN: LENGUAJE DE DEFINICIÓN DE DATOS (LDD, DDL) ........................... 6
3.2 MANIPULACIÓN: LENGUAJE DE MANIPULACIÓN DE DATOS (LMD,DML) ................ 6
3.3 UTILIZACIÓN. ........................................................................................................... 7
4 ARQUITECTURAS DE UN SGBD. NIVELES DE ABSTRACCIÓN .................. 8
4.1 ESQUEMAS. .............................................................................................................. 8
4.2 TRANSFORMACIONES ENTRE ESQUEMAS. ................................................................. 8
4.3 DICCIONARIO DE DATOS. .......................................................................................... 9
5 MODELOS DE DATOS: TIPOS DE SGBD. .......................................................... 10
5.1 MODELO JERÁRQUICO............................................................................................ 10
5.2 MODELO EN RED. ................................................................................................... 11
5.3 MODELO RELACIONAL. .......................................................................................... 12
5.4 MODELO ORIENTADO A OBJETOS. ........................................................................... 12
Página 1 de 13
Introducción a los Sistemas Gestores de Bases de Datos (SGBD).
1 Introducción.
Antes de que las bases de datos se convirtieran en la forma generalizada de
almacenamiento de datos, las aplicaciones trabajaban directamente, en su mayoría, con
ficheros que contenían los datos. La estructura de estos ficheros estaba muy ligada a la
aplicación, por lo que era común que al cambiar la estructura de los ficheros hubiese
que cambiar también la aplicación y viceversa. A este tipo de organización se le
denomina Sistema Orientado al Proceso.
Lo que consiguieron las bases de datos fue estructurar todos los datos contenidos en los
ficheros en una única colección de datos, que eran accesibles por las diferentes
aplicaciones, eran consistentes y tenían una redundancia mínima. A esta forma de
trabajo basada en la utilización de BD se le denomina Sistema Orientado a los Datos,
porque los datos están estructurados y almacenados de forma independiente a las
aplicaciones que los manejan.
Para poder servir a las diferentes aplicaciones, los datos están estructurados y
almacenados (sobre soportes de almacenamiento secundario) de forma totalmente
independiente a las aplicaciones, utilizando un Software o conjunto de programas que
actúe como intermediario entre los datos y las aplicaciones. A este SW se le denomina
Sistema Gestor de Base de Datos (SGBD).
Los usuarios que interactúan con el sistema, de acuerdo a la forma en que lo hacen
podemos clasificarlos en:
Programadores de aplicaciones. Escriben aplicaciones que utilizan la base de
datos a través de llamadas al SGBD incrustadas en el código.
Usuarios ingenuos. Interactúan con el sistema utilizando las aplicaciones
anteriores.
Usuarios casuales. Interactúan con el sistema directamente utilizando un
lenguaje propio de la BD.
Página 2 de 13
Introducción a los Sistemas Gestores de Bases de Datos (SGBD).
Página 3 de 13
Introducción a los Sistemas Gestores de Bases de Datos (SGBD).
2 Objetivos de un SGBD.
2.2 Independencia
Evita la repetición de los mismos datos en diferentes ficheros. Aunque pueda parecer
que la redundancia nula sea la ideal, está demostrado que en algunos casos es
conveniente duplicar ciertos datos para agilizar ciertas búsquedas.
2.4 Consistencia.
Si existen datos duplicados en varios ficheros, el SGBD debe garantizar que un cambio
se actualice en todos los ficheros, para evitar la inconsistencia del dato.
2.5 Seguridad.
Los datos deben estar protegidos frente al acceso por parte de usuarios no autorizados.
Para establecerla se suele recurrir a sistemas de Password para los usuarios.
2.6 Integridad
Medidas necesarias para conservar la corrección de los datos en la BD. Existen varias
circunstancias que pueden hacer que los datos se estropeen:
Fallos del Hardware.
Actualizaciones incompletas.
Inserción de datos no válidos. El DBA debe definir unas reglas de integridad y el
SGBD se debe encargar de hacerlas cumplir. (P. Ej. Saldo no inferior a una
cantidad).
Página 4 de 13
Introducción a los Sistemas Gestores de Bases de Datos (SGBD).
Las BD están diseñadas para ser utilizadas por los usuarios finales, por lo que deben de
asegurar un tiempo de respuesta idóneo a las peticiones de los usuarios.
Página 5 de 13
Introducción a los Sistemas Gestores de Bases de Datos (SGBD).
3.1 Descripción: Lenguaje de definición de datos (LDD, en inglés DDL por Data
Definition Language)
Permite al DBA definir los elementos que integran la BD, su estructura, las relaciones
que existen entre ellos, las reglas de integridad, los controles de acceso, las
características de tipo físico y las vistas externas de los usuarios.
Desde el punto de vista lógico, el DBA utiliza el DDL para asignar nombres a los
campos, establecer sus longitudes y características, así como las relaciones existentes
entre ellos y las restricciones que se han de aplicar.
A nivel externo, el DDL también se encarga de suministrar medios para definir las
vistas externas la forma en la que presentamos los datos a los usuarios.
Permite a los usuarios consultar, modificar, añadir o suprimir datos. Permite actuar
sobre conjuntos de datos que cumplan un determinado criterio.
Dentro de los LMD, podemos clasificarlos de acuerdo a diferentes criterios:
Puede ser huésped o autocontenido. A veces puede ser de los dos tipos (SQL)
o Decimos que es huésped cuando las llamadas a sentencias DML se
integran como parte de un proceso creado a partir de un lenguaje
anfitrión que interactúa con la BD. Por ejemplo si desde un programa
escrito en C se utilizan sentencias DML
o Decimos que es autocontenido cuando permite a los usuarios interactuar
directamente con la BD.
Puede ser procedimental o no procedimental.
o Procedimental cuando necesita que el usuario especifique qué datos
obtener y cómo hacerlo.
o No Procedimental si el usuario únicamente indica qué datos quiere.
Existen DML navegacionales que recuperan o actualizan los datos registro a
registro, debiendo el programador indicar el camino a recorrer para llegar al
registro buscado.
Página 6 de 13
Introducción a los Sistemas Gestores de Bases de Datos (SGBD).
3.3 Utilización.
Página 7 de 13
Introducción a los Sistemas Gestores de Bases de Datos (SGBD).
4.1 Esquemas.
Uno de los objetivos de un SGBD es abstraer al usuario los detalles relativos a como se
almacenan y mantienen los datos. Existen SGBD con diferentes arquitecturas, la más
estandarizada es la normativa ANSI/X3/SPARC que establece tres niveles de
abstracción para la arquitectura de una BD:
En un sistema con tres niveles, el SGBD debe garantizar la transferencia de datos entre
los distintos niveles. Existen tres niveles de transformación:
Interno/Almacenamiento. Para pasar del esquema interno a los datos físicos.
Conceptual/Interno. Paso del esquema conceptual al interno y viceversa.
Externa/Conceptual. Paso de una vista externa al conceptual y viceversa.
El SGBD debe conocer las relaciones entre los distintos niveles para poder realizar la
transformación de información desde un nivel a otro. Corresponde al DBA cuando
define los esquemas indicar la forma en que unos esquemas se deducen de otros por
medio de las reglas de correspondencia que son los parámetros que definen los
procedimientos de mapeo entre esquemas. Cuando un usuario solicita un acceso a los
datos, lo que el SGBD hace es:
Interpretar la solicitud
Inspeccionar: el esquema externo, la transformación entre el esquema externo y
conceptual, el esquema conceptual, la transformación entre el e. Conceptual y el
interno, el esquema interno, la transformación entre el interno y el
almacenamiento.
Realizar la operación sobre el dato físico.
Página 8 de 13
Introducción a los Sistemas Gestores de Bases de Datos (SGBD).
Para una BD existirá un único esquema interno, un único esquema conceptual y una
serie de esquemas externos. Todos estos esquemas son construidos y administrados por
el DBA. Una de las herramientas más potentes con las que cuenta para el manejo de los
datos es el diccionario de datos en el que se almacenan:
Las descripciones, interna, conceptual y externas de la BD, así como las reglas
de correspondencia para pasar de un esquema a otro.
Las descripciones de los campos, registros y referencias cruzadas entre los
registros de varios ficheros.
Los códigos de autorización y seguridad de los datos.
Página 9 de 13
Introducción a los Sistemas Gestores de Bases de Datos (SGBD).
Los modelos son la base de los lenguajes de datos, por ejemplo SQL es el resultado de
aplicar una determinada sintaxis al modelo relacional. Los modelos que más se han
utilizado son: El jerárquico, el modelo en red, el relacional y los orientados a objetos.
El relacional es en la actualidad el más extendido, siendo el utilizado por la mayoría de
SGBD.
Para describir cada uno de los modelos o paradigmas en que se basan las bases de datos,
vamos a seguir un criterio histórico, estudiando primero los sistemas más antiguos para
pasar por último a los sistemas más avanzados.
Utiliza árboles para la representación lógica de los datos. Posee las siguientes
características:
Página 10 de 13
Introducción a los Sistemas Gestores de Bases de Datos (SGBD).
El SGBD jerárquico más conocido es el IMS que utiliza el lenguaje de consulta DL/I.
El Modelo de Red se puede entender como una extensión del Modelo Jerárquico. En
este caso, cada registro hijo puede tener más de un registro padre (muchos a 1), por lo
que se reducen las redundancias de datos. El más conocido es el modelo Codasyl, que
presenta la restricción de que no permite directamente la relación muchos a muchos. Si
se presenta, se utiliza un registro intermedio que contiene los campos claves de los
registros que se quieren relacionar.
Página 11 de 13
Introducción a los Sistemas Gestores de Bases de Datos (SGBD).
Problemas Asociados:
Los lenguajes de manipulación asociados son fuertemente navegacionales.
Hace falta un lenguaje de programación anfitrión en el que se inserten los
operadores.
Especialmente complicado en redes complejas.
Fue desarrollado por Codd en 1970. Utiliza tablas bidimensionales (relaciones) para
representar lógicamente los datos y las relaciones entre ellos.
Se llama tupla a cada fila de la tabla y atributo o campo a cada columna. Una clave es
un atributo o conjunto de atributos que permiten identificar de forma única una tupla.
Los sistemas de Bases de Datos surgieron como una alternativa a los sistemas de
ficheros, con el objetivo de manejar grandes cantidades de información. Los modelos
clásicos presentan una serie de características comunes:
Uniformidad. Una gran cantidad de datos se estructuran de modo similar.
Orientación en Registros. Los datos básicos se almacenan en registros de
longitud fija.
Datos Pequeños. Los registros son cortos, normalmente de pocos cientos de
bytes.
Campos Atómicos. Los campos de los registros son cortos, de longitud fija y no
poseen ningún tipo de estructura interna.
Transacciones Cortas. En las transacciones no existe interacción con el usuario
y además su duración es de alguna fracción de segundo.
Esquema casi estático. No suelen realizarse cambios en los esquemas, y si
aparecen son de poca importancia.
Página 12 de 13
Introducción a los Sistemas Gestores de Bases de Datos (SGBD).
Página 13 de 13