Bases de
datos.
Tema 1.
Introducción.
1.0 Prefacio.
1.1 Objetivos
de las “Bases de Datos”.
1.2
Abstracción de datos.
1.3 Modelos
de datos.
1.4
Facilidades del “Sistema de Gestión de Bases de Datos” (SGBD).
1.5 Tipos de
usuarios.
1.6
Estructura general de los SGBD.
1.0 Prefacio.
·
BD: Conjunto de datos interrelacionados
que se ajustan a una serie de modelos preestablecidos que recogen información
de interés de objetos del mundo real.
·
SGBD: (DBMS) Software encargado de
gestionar los datos de la BD. Su misión es proporcionar mecanismos de acceso a
los datos para almacenar, definir, recuperar,... información de forma
eficiente. Existen además una serie de aplicaciones en torno al SGBD que
aportan interfaces sencillos para manejar los datos.
1.1 Objetivos de las “Bases de datos”.
·
Control
centralizado de la información. Los sistemas tradicionales de ficheros nos permiten centralizar la información
por medio de varios programas de diseño. Ahora bien, siguiendo las normas
estandarizadas de las bases de datos actuales podemos acceder a todos los datos
mediante un único programa -administrador de bases de datos-.
·
Disminuir
la redundancia y evitar la inconsistencia. Son objetivos básicos de una base de datos
eficiente. Disminuir la redundancia consiste en agrupar todos los datos en un
mismo objeto sin repetir información. Esto no puede realizarse siempre, con lo
cual hay ocasiones en las que se duplica información. Es en este punto donde
aparece el concepto de inconsistencia. Una base de datos eficiente no puede
tener datos contradictorios en aquellos puntos donde se repite la información
(No pueden existir dos D.N.I. iguales asociados a nombres de personas
diferentes). Cuanta menos redundancia existe, menos posibilidad de inconsistencia
existe.
·
Posibilidad
de compartición de datos.
Se consigue disminuyendo la redundancia.
·
Mantenimiento
de la integridad.
Deben existir controles que verifiquen que los datos introducidos son correctos,
para lo cual se comparan con otros datos, se crean redundancias de control, se
hacen validaciones de rango y se permite al usuario modificar los datos.
·
Disponer
de un acceso seguro.
Imponer controles para acceder o modificar las bases de datos tales como claves
de acceso.
·
Proporcionar
independencia de datos.
Establecer una separación entre programas y datos desde una perspectiva física
y lógica, de tal forma que cualquier cambio físico o lógico en las estructuras
de datos no afecten a los programas de aplicación. Como ejemplo de reestructuración
física estaría una división de uno de los ficheros de datos en dos ficheros. Un
cambio lógico en la estructura sería añadir un nuevo campo en la base de datos.
1.2 Abstracción de
datos.
Ha de
existir una visión conceptual e integradora de todas las propiedades de un
determinado objeto, la cual pertenece al administrador de la base de datos. Por
otra parte, cada una de las aplicaciones distintas tienen distintas visiones
del objeto cuyos contenidos son un subconjunto de la visión del administrador.
De hecho, la visión física del administrador puede tener datos propios
(longitud de las cadenas, posibilidad de cadenas nulas,...) que no son usados
por las otras visiones o incluso pueden ser reconvertidas para la asignación al
resto de las visiones.
|
Administrador
|
Otra aplicación
|
|
Nivel conceptual
|
Nivel interno / físico
|
Ejemplo de nivel externo
|
|
Nombre:
|
Cadena
|
Nombre:
|
18 chars
|
Nombre:
|
Cadena
|
|
Dirección:
|
Cadena
|
Dirección:
|
50 chars
|
Dirección:
|
Cadena
|
|
DNI:
|
Número
|
DNI:
|
4 bytes
|
|
|
|
Salario:
|
Número
|
Salario:
|
4 bytes
|
|
|
1.3 Modelos de datos.
Existen
modelos de datos que tienen herramientas para relacionar unos datos con otros
de la misma forma que ocurre en el mundo real. Dentro de los modelos existentes
hoy en día podemos hacer dos clasificaciones:
·
Modelos
de diseño: Predomina
el modelo “Entidad/relación”.
·
Modelos
de representación:
·
Primero apareció
el modelo jerárquico o de tipo
árbol.
·
Posteriormente
se evolucionó hacia el modelo de red en
el que se usan registros unidos por enlaces.
·
Actualmente
el modelo más usado es el modelo
relacional basado en tablas.
1.4 Facilidades del
“Sistema de Gestión de Bases de Datos” (SGBD).
El SGBD proporciona dos lenguajes:
·
Lenguaje
de definición de datos (LDD): Conjunto de instrucciones que definen los objetos con sus propiedades,
es decir, definen los esquemas o niveles externos, conceptual e interno.
·
Lenguaje
de manipulación de datos (LMD): Conjunto de instrucciones que permiten realizar consultas y actualizaciones
de datos (altas, bajas y modificaciones). Dentro del LMD podemos agrupar un
conjunto de instrucciones como “lenguaje de consulta” (LC o también
“Query Languaje”).
El
SGBD se encarga de interactuar los datos con el “file system”. Este permite
implantar los controles de integridad definidos para los datos, es decir, se
encarga de modificar todas las copias redundantes de la base de datos si una
sola de ellas es modificada. El SGBD también se encarga de realizar copias de
seguridad y de actualizarlas. Finalmente, otra tarea del SGBD es el control de
concurrencia, es decir, permitir o no acceder por varios usuarios a una misma
información en un mismo momento.
1.5 Tipos de usuarios.
·
Usuarios
ingenuos o accidentales.
Interactuan con una base de datos sin saberlo. Normalmente acceden a la base
con una aplicación de ventanas y menús con un conjunto de opciones reducidos
(Usuario de un cajero automático). Es esta aplicación la que usa la base de datos.
·
Usuarios
en línea. Tienen
acceso a la base de datos a través del lenguaje de consulta (LC o “Query Languaje”)
e incluso en algunas ocasiones pueden acceder a la base de datos con en
lenguaje de manipulación de datos (LMD).
·
Programadores
de aplicaciones. Han
de conocer algún lenguaje de programación de alto nivel denominado “lenguaje
anfitrión” tal como el Pascual o el C++ así como el lenguaje de manipulación de
datos (LMD) y el lenguaje de definición de datos (LDD). Entonces ha de crear un
programa de control en el lenguaje anfitrión insertándole instrucciones del LMD
o el LDD. Generalmente las bases de datos ya incluyen compiladores de varios
lenguajes preparados para admitir las instrucciones de los LDD y los LMD.
·
Administrador
de la base de datos (ABD).
Se encarga de modificar y mantener los esquemas de la base de datos. Cualquier
cambio producido en la base de datos es realizado por el ABD, el cual realiza
los cambios de forma transparente para el resto de los usuarios y aplicaciones.
El ABD también se encarga de definir las políticas de “backup”, controles de
integridad y autorizaciones.
1.6 Estructura general
de los SGBD.
Datos y diccionario de datos. El DD constituye una pequeña BD
con metadatos acerca de la BD.
|
|
Una
parte del “Gestor de ficheros” está controlada directamente por el SGBD y otra
usa el gestor de ficheros del sistema operativo (File system).
Tema 2.
Modelo Entidad/Relación.
2.1
Entidades, atributos y asociaciones.
2.2 Entidades
de datos. Modelación de la variación en el tiempo.
2.3
Generalización y especialización.
2.4 Ejemplo
de diseño.
2.1 Entidades, atributos y asociaciones.
Una entidad representa el conjunto de objetos
importantes (objetos tanto tangibles como no) para una organización. Lo primero
que hay que hacer en un modelo entidad relación es definir las entidades.
Las distintas entidades pueden estar relacionadas o asociadas mediante una
definición. Así, una entidad “alumno”
interacciona con una entidad “asignatura”
mediante la asociación o relación “está
matriculado de”. Las representaciones tanto de entidades como de relaciones
han de tener nombres representativos. Generalmente a las entidades se les
asignan sustantivos y a las asociaciones se les asignan verbos.
|
Ejemplo:
|
Alumno
|
|
Impartir
|
Asignatura
|
|
 
|
|
Impartir
|
|
Responsable
|
|
|
|
Profesor
|
Cada asociación está definida por un nombre y tiene
tres propiedades:
|
·
Grado: Es el número de
entidades involucradas. Puede ser unario,
binario o ternario.
|
|
Alumno
|
|
Asignatura
|
|
Alumno
|
|
Profesor
|
|
 
|
Compañero
|
|
Matricularse
|
|
|
|
Examinar
|
|
Relación
unaria
|
Relación binaria
|
Relación ternaria
|
Asignatura
|
|
|
·
 Cardinalidad o conectividad: Número de instancias de un
conjunto que interactúan con número de instancias de otro conjunto. La
cardinalidad puede ser 1:1, 1:N o N:M.
|
|
|
|
Relación 1:1 (Marido-Mujer)
|
Relación N:1 (Alumno-Clase)
|
Relación N:M (Coche-Familia)
|
|
·
Participación: Determina la opcionalidad u
obligatoriedad de una entidad en una relación. Si la participación es obligatoria, todas las instancias de
la entidad están asociadas. Por el contrario si existen entidades que pueden
no estar relacionadas la participación se denomina opcional.
|
|
|
Obligatoria
hacia la derecha-> (Asignatura-Aula)
|
|