Tema 43 – Administración de sistemas de bases de datos

Tema 43 – Administración de sistemas de bases de datos

Contenido

TEMA 43. Administración de sistemas de base de datos. 1

1. INTRODUCCIÓN.. 1

2. EL ADMINISTRADOR DE LA BASE DE DATOS. 1

3. FUNCIONES DEL ADMINISTRADOR. 2

4. HERRAMIENTAS DE LAS QUE DISPONE EL ADMINISTRADOR. 2

5. SEGURIDAD E INTEGRIDAD.. 2

5.1 Vistas. 3

5.2 Permisos. 3

5.3 Integridad. 4

1. INTRODUCCIÓN

El administrador de base de datos es el puesto de máxima responsabilidad dentro de la estructura organizativa de una base de datos. Su trabajo es decisivo.

2. EL ADMINISTRADOR DE LA BASE DE DATOS

El ABD es el encargado de gestionar los datos que almacenamos, asegurar su corrección y buen funcionamiento de la base de datos. Es la persona encargada de velar por la seguridad, integridad y confidencialidad de los mismos.

Puede haber más de un administrador dependiendo del tamaño de la base de datos.

El grupo ANSI/X3/SPARC divide las funciones del admin en 3 niveles (generando 3 tipos de administradores distintos)

Administrador de la empresa: Se encarga del diseño lógico y conceptual del a BD.

Administrador de la Base de Datos: Se encarga del diseño físico, mantenimiento, rendimiento y seguridad de la base de datos.

Administrador de aplicaciones: Creador de las vistas, aplicaciones y programas necesarios para manejar la BD. Trabaja desde el nivel externo.

3. FUNCIONES DEL ADMINISTRADOR

4. HERRAMIENTAS DE LAS QUE DISPONE EL ADMINISTRADOR

Las herramientas usadas por el admin de la base de datos para cumplir sus funciones son:

Lenguaje de definición de datos

Herramienta más usada. Podrá crear las tablas, vistas, definir la organización física, mejorar rendimiento, definir restricciones de integridad y seguridad.

Utilidades del SGBD

Crea copias de seguridad, restaurar los datos, recuperación frente a fallos, creación de usuarios.

Simuladores

Optimización de la Base de datos. Mejora el rendimiento.

Herramientas CASE

Permite llevar una metodología automática de ingeniería del SW. Automatiza tareas que antes de hacían manual.

Diccionario de fallos

Herramienta más útil para el admin. Es el diccionario de recursos.

5. SEGURIDAD E INTEGRIDAD

Seguridad: consiste en controlar que los usuarios estén autorizados para llevar a cabo operaciones que realizan.

Integridad: Comprobar que lo que tratan de hacer es correcto.

El administrador cuenta con 2 herramientas para mantener la seguridad en la BD:

Vistas

– Permisos

5.1 Vistas

Nos permiten crear tablas virtuales, que en realidad no existen para ocultar la información que no deseamos que el usuario vea.

A una vista se le pueden aplicar permisos del mismo modo que a una tabla.

Por ejemplo, supongamos que queremos crear una BD de los trabajadores de una empresa con sus datos. En este caso no nos interesa que los trabajadores sepan el sueldo de los demás.

CREATE VIEW Vista_Empleados (nom_empleado, apellidos_empleado, cargo_empleado)

AS
SELECT nombre, apellidos, cargo
FROM Empleados
///////////////////////////////////////////////////////////////

DROP VIEW Vista_Empleados; –para eliminar la vista

5.2 Permisos

Cualquier usuario que quiera realizar una operación sobre nuestra BD debe tener permiso.

El administrador debe estudiar y asignar los permisos necesarios a cada usuario o grupo de usuarios. El administrador es por defecto, el usuario que tiene todos los permisos de todos los objetos de la BD. Si un usuario quiere realizar una operación como:

SELECT NOMBRE, APELLIDOS

FROM PROFESORES

Debe tener permiso sobre la tabla profesores.

El admin puede realizar 2 operaciones sobre un permiso:

GRANT: Conceder un determinado permiso

REVOKE: Denegar un permiso o revocarlo.

El primer privilegio que debemos dar a un usuario es el de CONNECT, sin él, no puede conectarse a nuestra BD.

· GRANT

Privilege

Description

SELECT

Ability to perform SELECT statements on the table.

INSERT

Ability to perform INSERT statements on the table.

UPDATE

Ability to perform UPDATE statements on the table.

DELETE

Ability to perform DELETE statements on the table.

REFERENCES

Ability to create a constraint that refers to the table.

ALTER

Ability to perform ALTER TABLE statements to change the table definition.

INDEX

Ability to create an index on the table with the create index statement.

ALL

All privileges on table.

GRANT privileges ON table TO user;

GRANT SELECT, INSERT, UPDATE, DELETE ON suppliers TO smithj;

· REVOKE

REVOKE privileges ON table FROM user;

REVOKE DELETE ON suppliers FROM anderson;

5.3 Integridad

Asegura que se cumplen una serie de restricciones predefinidas.

Podemos definir restricciones, que se encargan de comprobar que no se viola ninguna regla de integridad. Hay 3 tipos de restricciones de integridad.

Restricciones sobre dominios

Restricciones generales

Restricciones sobre una tabla base

5.3.1 Restricciones sobre dominios

Podemos elegir los valores de los atributos de la BD.

CREATE DOMAIN asignaturas CHAR (11)

CONSTRAINT restricción_asignaturas

CHECK (VALUE IN (‘Informatica’, ‘medios’, ‘laboratorio’)

Para modificar o borrar un dominio:

ALTER DOMAIN nombre_dominio

ADD [listra_restricciones_dominio]

DROP CONSTRAINT nombre_restriccion

5.3.2 Restricciones generales

Restricciones sobre columnas de una o varias tablas.

– Para crearlas:

CREATE ASSERTION notas_positivas

CHECK ((SELECT *

FROM Asignaturas

WHERE notas>0))

– Para eliminarlas:

DROP ASSERTION notas_positivas

5.3.3 Restricciones sobre una tabla base

Estas restricciones afectan a una o varias tablas. Se definen cuando se crea la tabla y podemos alterarlas o destruirlas. Al crear la tabla podemos especificar:

Las claves primarias o candidatas

Las claves foráneas

Restricciones con cláusula CHECK

5.3.3.1 Claves primarias o candidatas

CREATE TABLE asignaturas

(nombre CHAR (11) UNIQUE,

Código CHAR(4) PRIMARY KEY

Créditos NUMBER(4))

5.3.3.2 Claves foráneas

CREATE TABLE estudia

(código_asignatura FOREIGN KEY NUMBER(4)

DNI_alumno FOREIGN KEY NUMBER(8)

nota NUMBER(2))

5.3.3.3 Restricciones con CHECK

CREATE TABLE estudia

(código_asignatura FOREIGN KEY NUMBER(4)

DNI_alumno FOREIGN KEY NUMBER(8)

nota NUMBER(2) (CHECK (VALUE >0)) — Definimos que la nota debe ser positiva.