Publicado el 26 de Mayo del 2020
628 visualizaciones desde el 26 de Mayo del 2020
253,4 KB
25 paginas
Creado hace 20a (27/04/2005)
TEMA III
Sistemas de Gestión de
Bases de Datos
Sistemas de Gestión de Bases de Datos (SGBD)
• Objetivos:
– conocer la arquitectura ANSI/SPARC para sistemas de gestión de
bases de datos (SGBD).
– aprender el concepto de independencia de datos.
– aprender mecanismos y estrategias para el control de la integridad
(calidad) y seguridad (privacidad) en bases de datos (BD).
– Conocer las organizaciones de ficheros que sirven de soporte a la
implementación de relaciones en las bases de datos relacionales.
Sistemas de Gestión de Bases de Datos (SGBD)
Temario
3.1 Sistema de gestión de bases de datos: componentes y funciones.
3.2 Independencia de datos.
3.3 Integridad.
3.3.1 Concepto de transacción. Procesamiento de transacciones.
3.3.2 Integridad semántica.
3.3.3 Accesos concurrentes.
3.3.4. Reconstrucción de la base de datos.
3.4 Seguridad.
3.4.1 Control de usuarios.
3.4.2 Control de accesos permitidos.
3.5 Implementación de Bases de Datos Relacionales.
3.1.- Sistema de Gestión de Bases de Datos
SGBD: Software que permite la creación y manipulación de bases
de datos.
SGBD
Se basa
modelo de datos (modelo relacional)
Se compone
estructuras de datos y operadores asociados
3.1.1.- Componentes y funciones del SGBD
3.1.1.- Componentes y funciones del SGBD.
Los SGBD permiten:
– descripción unificada de los datos e independiente de las
aplicaciones
– independencia de las aplicaciones respecto a la
representación física de los datos
– definición de vistas parciales de los datos para distintos
usuarios
– gestión de la información
– integridad y seguridad de los datos
Objetivos de técnicas BD
Funciones SGBD
Componentes SGBD
• descripción unificada e
independiente de los datos
• independencia de las
aplicaciones
• definición de vistas parciales
Definición de datos a
varios niveles:
• esquema lógico
• esquema interno
• esquemas externos
Lenguajes de definición
de esquemas y
traductores asociados
3.1.1.- Componentes y funciones del SGBD.
3.1.1.- Componentes y funciones del SGBD.
Objetivos de técnicas BD
Funciones SGBD
Componentes SGBD
Objetivos de técnicas BD
Funciones SGBD
Componentes SGBD
Gestión de la información
Manipulación de los datos:
• consulta
• actualización
Gestión y administración
de la base de datos
Lenguajes de
manipulación y
traductores asociados
Herramientas para:
• reestructuración
• simulación
• estadísticas
• impresión
Integridad y seguridad de
los datos
Control de:
• integridad semántica
• accesos concurrentes
• reconstrucción en caso
de fallo
• seguridad (privacidad)
Herramientas para:
• control integridad
• reconstrucción
• control seguridad
3.1.2.- Esquema de acceso del SGBD a los datos
3.1.2.- Esquema de acceso del SGBD a los datos
Aplicación 1
Aplicación 2
Aplicación 3
Descripción
unificada de los
datos
Independencia
de datos
Esquemas externos
Esquema lógico
(especificación)
Esquema interno
(implementación)
Integración de toda
la información del
sistema
BD
Persistencia
SGBD
•Control de seguridad
•Control de integridad semántica
•Control de accesos concurrentes
•Reconstrucción
SO
Órdenes y flujo de datos
Consultas del SGBD a
la definición de los datos
3.1.2.- Esquema de acceso del SGBD a los datos
Aplicación 1: accede a la información a través del esquema
externo 1
SELECT nombre, salario_men
FROM Administrativo
WHERE dni = parámetro
Esquema externo aplicación 1:
CREATE VIEW Administrativo (dni, nombre, salario_men)
AS SELECT dni, nombre, salario/14
FROM Empleado
WHERE tipo=‘AD’
Esquema lógico:
CP: {dni}
Empleado(dni, nombre, dirección, salario, tipo)
Esquema Interno:
Fichero ordenado Empleado con índice primario sobre
el campo dni en el camino h:/disco1/gerencia
3.1.2.- Esquema de acceso del SGBD a los datos
Usuario 1
Aplicación 1
área de datos de
la aplicación 1
1. Consulta sobre las
estructuras de datos del
esquema externo 1
7. Datos
área de trabajo
del SGBD
SGBD
Esquema externo 1
Esquema lógico
Esquema interno
2. Correspondencia
entre esquemas
SGBD: control del acceso y resolución de la operación pedida
3.Solicita registro
de fichero de datos
6. registro
SO: Manipulación de los controladores de los dispositivos de
memoria secundaria
mandato
flujo de datos
operación
bloque
BD
buffers de
memoria
5. Operación de
entrada-salida
Administrador de
ficheros del SO
4. Solicita bloque
de datos del disco
Administrador de
E/S del SO
3.1.2.- EJEMPLO. Especificación
3.1.2.- EJEMPLO. Esquema Lógico (SQL)
Una pequeña inmobiliaria desea mantener información sobre los edificios cuya venta
gestiona. Se quiere saber:
– De cada edificio, el código, la ubicación, el distrito, el propietario, el precio solicitado
por éste y el agente encargado de la venta si ya está asignado.
– De cada propietario, el código, nombre y teléfono.
– De cada agente el DNI, el nombre, la comisión por cada venta, los años de antigüedad y
el teléfono.
Las restricciones que deben cumplirse son las siguientes:
– La comisión de un agente no puede exceder el 3% si su antigüedad es menor de 3 años.
– No se quiere tener información de propietarios si no se tiene al menos un edificio para la
venta.
Grupos de trabajo:
– El personal de administración tiene acceso a toda la información comentada.
– El jefe de la inmobiliaria sólo desea tener información referente a los edificios con precio
solicitado superior a 5 millones. De cada uno desea el código, la ubicación, y el distrito.
– El jefe es el único que puede modificar la información de los agentes.
CREATE SCHEMA Inmobiliaria
CREATE TABLE Edificios
(Código d_cod PRIMARY KEY,
Distrito d_dis NOT NULL,
Dni_age d_dni FOREIGN KEY REFERENCES Agente
Precio d_pre NOT NULL,
Ubicación d_ubi NOT NULL,
ON UPDATE CASCADE, ON DELETE NO ACTION
Dueño d_cod NOT NULL, FOREIGN KEY(Dueño) REFERENCES Propietario (cod)
ON UPDATE CASCADE ON DELETE CASCADE)
CREATE TABLE Propietarios
(Cod d_cod PRIMARY KEY, Nombre d_nom NOT NULL, Teléfono d_tel NOT NULL)
CREATE TABLE Agentes
(Dni_age d_dni PRIMARY KEY, Comisión d_com, Años d_años NOT NULL,
Tel d_tel NOT NULL, CHECK NOT (años < 3 AND comisión > 3))
CREATE ASSERTION no_propet_sin_edificios CHECK NOT EXISTS
(SELECT * FROM Propietarios WHERE cod NOT IN (SELECT Dueño FROM Edificio))
3.1.2.- EJEMPLO. Esquemas Externos (SQL)
3.1.2.- EJEMPLO. Esquema Físico
GRANT ALL ON Edificios TO PUBLIC;
GRANT ALL ON Propietarios TO PUBLIC;
GRANT SELECT ON Agentes TO PUBLIC;
ESQUEMA EXTERNO DEL JEFE:
CREATE VIEW más_de_5 AS
SELECT código, ubicación, distrito
FROM Edificios
WHERE E.precio >= 5000000;
GRANT ALL ON más_de_5 TO Jefe;
GRANT ALL ON Agentes TO Jefe;
+ El resto de tablas del esquema lógico (excepto edificios)
ESQUEMA EXTERNO DEL PERSONAL ADMINISTRACIÓN :
Todas las tablas del esquema lógico
Edificios :
Fichero disperso por dni_age
Índice B+ sobre (distrito + precio)
Propietarios
Fichero disperso por cod
Índice B+ sobre nombre
Agentes
Fichero desordenado (se suponen pocos agentes).
3.1.2.- EJEMPLO. Proceso de Acceso
3.2.- Independencia de datos.
El jefe se pregunta:
¿código y ubicación de los edificios del distrito 05?
U suario 1
Aplicación 1
área de datos de
la aplicación 1
1. La aplicación interpreta la selección del
jefe como:
SELECT código, ubicación
FROM más_de_5 WHERE distrito = ‘05’;
2. El SGBD convierte la consulta del
esquema externo al esquema lógico:
SELECT código, ubicación
FROM Edificios E
WHERE E.precio >= 5000000
AND E.distrito = ‘05’;
1. Consulta sobre las
estructuras de datos del
esquema externo 1
7. D atos
Esq. Ext.
Esq. Lóg.
Esq. Int.
2. Correspond.
entre esquemas
SG BD
3.Solicita registro
de fichero de datos
6. registro
mandato
NO HAY MÁS
Propiedad que asegura que los programas de
aplicación sean independientes de los cambios
realizados en datos que no usan o en detalles de
representación física de los datos a los que acceden.
área de trabajo
del SG B D
BD
5. O p.
de E/S
bloque
buffers de
memoria
flujo de datos
3,4,5,6. REPETIR:
“Leer usando el índice B+ sobre
(distrito + precio) el primer registro con
distrito = ‘05’ y precio >= 5000000:
HASTA QUE NO HAYA MÁS REGISTROS
operación
Adm inistrador de
ficheros del SO
4. Solicita bloque
de datos del disco
Admor. de
E/S del SO
7. Eliminar los atributos que no se han solicitado
3.2.- Independencia de datos.
Propuesta de arquitectura del grupo de estudio ANSI/SPARC
(1977) para los SGBD: plantea la definición de la base de datos a
tres niveles de abstracción:
– Nivel conceptual ⇒ Esquema conceptual
• descripción de la BD con independencia del SGBD
– Nivel interno ⇒ Esquema interno
• descripción de la BD en términos de su representación
física
– Nivel externo ⇒ Esquema externo
• descripción de las vistas parciales de la BD que poseen
los distintos usuarios
3.2.- Independencia de datos.
Debido a que no existe un modelo conceptual generalizado y accesible
a los distintos tipos de SGBD, se prefiere distinguir cuatro niveles:
– Nivel conceptual ⇒ Esquema conceptual
descripción organizativa de la BD
– Nivel lógico ⇒ Esquema lógico
descripción de la BD en términos del modelo de datos del SGBD
– Nivel interno ⇒ Esquema interno
descripción de la BD en términos de su representación física
– Nivel externo ⇒ Esquema externo
descripción de las vistas parciales de la BD que poseen los
distintos usuarios
3.2.- Independencia de datos.
Un SGBD que soporte la arquitectura de niveles debe:
– permitir definir los distintos esquemas de la base de datos
(a excepción del esquema conceptual)
– establecer las correspondencias entre los esquemas.
– aislar los esquemas: los cambios en un esquema no deben
afectar a los esquemas de nivel superior y por tanto, tampoco
a los programas de aplicación.
INDEPENDENCIA DE DATOS
3.2.- Independencia de datos.
Esquema
externo 1
Esquema
externo 2
Esquema
ext erno n
…
Correspondencia
externo-lógico
Correspondencia
lógico-físico
Esquema
Comentarios de: Tema III - Sistemas de Gestión de Bases de Datos (0)
No hay comentarios