2. Catálogo del Sistema
Contiene una descripción completa de la
estructura de la base de datos y sus restricciones.
La información almacenada en el catalogo se
denomina meta-datos.
Su principal utilidad es la de conocer que datos
existen sin acceder a ellos.
3. Ficheros tradicionales
En el procesamiento la definición de datos
normalmente forma parte de los propios
programas de aplicación.
Por lo que solo pueden trabajar con un único tipo
de archivo o “base de datos”.
El único que sabe como leer el archivo es el
programa para el cual está hecho.
4. Ficheros de DBMS
Puede acceder a varios “tipos” de archivo utilizando
la definición existente en el catálogo.
Cada vez que un DBMS intenta acceder a un archivo
(por ejemplo con una sentencia SELECT sobre una
tabla):
Primero se fija en el catálogo del sistema para ver la
estructura del fichero y que tipo de datos contiene.
La estructura le dice: donde esta cada dato ( en que
byte y que largo tiene) , etc .
Luego ingresa al fichero usando la información
obtenida del catálogo.
5. Catálogo del Sistema de PostGres
Todos los catálogos del sistema tienen un nombre
que empieza por pg_...
Más sobre catálogo de PostGres:
http://www.postgresql.org/docs/8.2/static/catalogs-
overview.html
6. Esquemas en Bases de Datos
Un clúster de bases de datos contiene una o más bases de
datos con un nombre asociado.
Usuarios y grupos de usuarios se comparten en el clúster
pero no se comparte nada más entre las bases de datos.
Un cliente que se conecta al servidor de bases de datos solo
puede acceder a los datos de la base de datos a la que se
conectó.
Por ejemplo, si quisiera conectarse a una base conteniendo
información de usuario centralizada (login único) y luego
acceder a una base de datos usada por un software
particular, debería realizar dos conexiones
7. Esquemas en Bases de Datos
Una base de datos puede contener uno o varios
esquemas, que a su vez contiene tablas.
Además, el esquema contiene otro tipo de objetos
con nombre, como ser:
Tipos de datos
Funciones
Operadores
Un objeto puede ser usado con el mismo nombre
en esquemas diferentes.
8. Esquemas en Bases de Datos
Hay varias razones para usar esquemas en Bases de
Datos:
Para permitir que muchos usuarios usen una base de datos
- sin interferir unos con otros.
Para organizar los objetos de una Base de Datos en grupos
- lógicos para hacerlos más manejables.
Aplicaciones Third-party pueden ser “instaladas” en
esquemas diferentes y así evitar colisiones con los nombres
de los objetos entre distintas aplicaciones.
Los esquemas son análogos a los directorios a nivel de S.O.,
con excepción que no pueden anidarse.
Para crear un esquema se usa la sentencia:
CREATE SCHEMA miEsquema;
9. Vistas
En terminología SQL , una vista (VIEW) es una tabla derivada de
otras tablas.
Se les considera tablas virtuales porque no contienen datos ,solo
definiciones de cómo acceder a ellos.
Las vistas proveen ventajas sobre las tablas “comunes”:
Pueden contener subconjuntos de los datos contenidos en una tabla.
Se puede realizar un JOIN o una PROYECCION y simplificar muchas tablas en una tabla “
virtual”. (“prolijidad” o seguridad)
Pueden usarse como tablas de agregación, donde son “agregadas” al contener el
resultado de realizar cálculos sobre tablas “reales”.
Pueden ocultar la complejidad de los datos (seguridad).
Ocupan poco lugar de almacenamiento: solo su definición.
Pueden limitar la exposición al “mundo exterior ” (seguridad).
10. Vistas
Haga clic para modificar el estilo de texto del patrón
Segundo nivel
Tercer nivel
Cuarto nivel
Quinto nivel
Ejemplo: Dada una tabla definida como:
La siguiente es una vista definida sobre la misma:
CREATE VIEW clientes_ricos AS SELECT nombre, cedula
FROM cliente cl, cuentas cu WHERE cl.cuenta = cu.cuenta
and cu.saldo >100.000
11. Seguridad y Autorización
¿Que técnicas existen para proteger el acceso a
Bases de Datos contra personas que no estén
autorizadas?
Control de Acceso Discrecional (DAC)
conceder y revocar privilegios
Control de Acceso Obligatorio o Mandatorio (MAC).
múltiples niveles de seguridad (Ejército)
12. Tipos de Seguridad
¿Por que es necesaria la seguridad y restricción en
el acceso a información?
Por cuestiones éticas o legales.
Cuestiones de política institucional, estatal, etc.
Identificar múltiples niveles de seguridad.
Por ejemplo: Top Secret, Secret, Confidential,
Unclassified.
13. Administrador de Bases de Datos
Usuario con “superpoderes” que puede:
Crear cuentas y grupos (acceso a BD)
Concesión de privilegios (DAC)
Revocación de privilegios (DAC)
Asignación de niveles de seguridad a usuarios y
objetos (MAC)
14. Control de Acceso Discrecional - DAC
Se basa en conceder y revocar PRIVILEGIOS.
Tipos de Privilegios (siempre para usuarios):
Nivel de Cuenta
privilegios que tiene el usuario independiente de las
relaciones de BD.
CREATE: SCHEMA, TABLE, VIEW, etc.
GRANT, REVOKE.
Nivel de Relación (o Tabla)
se controlan los privilegios de un usuario a nivel de relación o
vista.
Modelo de Matriz de Acceso: M(i, j)
15. Control de Acceso Discrecional - DAC
Modelo de Matriz de Acceso: M(i, j)
i – son usuarios, cuentas, programas (SUJETOS)
j – son relaciones, registros, columnas, vistas,
operaciones (OBJETOS)
Cada elemento de la matriz m(i,j) representa los
tipos de privilegios (lectura, escritura o
modificación) para el sujeto i y el objeto j.
Para controlar la concesión o revocación de
privilegios a cada relación se le asigna un usuario
propietario que tiene todos los derechos sobre la
misma.
16. Control de Acceso Mandatorio - MAC
Para ciertas aplicaciones se necesita una política
de seguridad que clasifique los datos y los
usuarios por niveles o clases de seguridad.
Se crean clases de seguridad
Las más usuales son: TS, S, C, U.
Se sigue el modelo de Bell-LaPadula (o BLP)
Asigna a cada sujeto (usuario, cuenta, programa) y
objeto (relación, tupla, columna, vista, operación) una
clasificación de seguridad: TS, S, C, U u otra
definida.
NO al par sino a CADA UNO.
17. Control de Acceso Mandatorio - MAC
El modelo BLP tiene las siguientes reglas.
Ningún sujeto puede leer un objeto cuya clasificación
de seguridad sea más alta que la acreditación del
sujeto.
Se prohíbe a un sujeto escribir un objeto que tenga la
clasificación de seguridad menor que la acreditación
del sujeto . (POCO INTUITIVA)
Significa que: la violación de esta regla permitiría el
flujo de información desde un nivel de seguridad alto
a uno más bajo.
18. Seguridad en BD Estadísticas.
Las BD Estadísticas son BD cuyo principal objetivo
es
obtener estadísticas generales de distinta índole:
promedio, media, total, etc.
Las técnicas de seguridad en Bases de Datos
Estadísticas se basan en lograr que no se pueda
obtener tuplas individuales de una consulta
cualquiera.
Ejemplo con la persona que gana más de 100.000
pesos