Bases de Datos 2 Teórico
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.
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.
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.
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/catalogsoverview.html
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
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.
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;
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).
Vistas Ejemplo: Dada una tabla definida como: Haga clic para modificar el estilo de texto del patrón Segundo nivel Tercer nivel Cuarto nivel Quinto nivel 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
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)
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.
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)
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)
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.
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.
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.
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