2.3. Resumen
3.1.5. Caracter´ısticas Especiales y Tabla Comparativa
Caracter´ısticas Especiales Espec´ıficamente SQL Server y Oracle Server contienen ciertas caracter´ısticas (cada uno por separado) que los otros manejadores analizados no las poseen, y que a su vez los coloca como DBMS vers´atiles y con ventajas competitivas
a considerar.
SQL Server posee estas caracter´ısticas([17]),([18]) :
Triggers Instead Of. Estos reemplazan toda la acci´on del evento para el cu´al se est´an declarando. Se interpreta como evento las operaciones SELECT, DELETE, UPDATE o INSERT. Por ejemplo si se define un trigger de este tipo en una tabla para un DELETE, se ejecutar´a el c´odigo que contenga el trigger, en vez de la operaci´on DELETE original.
Contextos de ejecuci´on en Stored Procedures ([29]). Este tipo de contexto, permite definir el tipo y modo de ejecuci´on de un stored procedure sin importar qui´en lo invoque.
Control granular de permisos. Permite a los administradores manejar permisos a un nivel granular haciendo la administraci´on de los permisos f´acil.
Separa los usuarios de los esquemas. Significa que la liga entre el usuario y los objetos de los que es due˜no ya no existe. Por ejemplo, en versiones anteriores si se desea borrar un usuario, es necesario borrar todos los objetos relacionados a ´el, afectando posiblemente a aplicaciones que los utilicen; pero ahora ya no es necesario borrar los objetos, el usuario es borrado sin ning´un problema.
Pol´ıticas de passwords. Los administradores pueden aplicar las mismas pol´ıticas que utiliza Microsoft Windows en la administraci´on de sus passwords.
Triggers para DDL. Es posible implementar triggers para este tipo de instruc- ciones (CREATE, ALTER, DROP, etc).
Encripta la informaci´on ya almacenada. Oracle Server tiene la siguiente caracter´ıstica:
Definici´on de pol´ıticas de acceso ([22]). Estas pol´ıticas son estructuras que se activan dependiendo de la operaci´on (SELECT, DELETE, UPDATE o INSERT) efectuada sobre una tabla y que a su vez usan stored procedures para validar y determinar si el usuario tiene permitido ejecutar dicha operaci´on sobre la tabla.
Tabla comparativa Hay que agregar que todos los DBMS mencionados anterior- mente soportan la creaci´on de vistas, las mismas que pueden ser utilizadas en las pr´acticas del control de acceso.
A continuaci´on se muestra una tabla que detalla de manera descriptiva las carac- ter´ısticas con las cu´ales cuentan los DBMS analizados.
Item Criterios Informix Sybase Oracle SQL Server 1 Capacidad para que un
usuario al que se le otor- ga un rol, pueda a su vez otorgar ´este a otro usuario
Si No Si Si
2 Activaci´on de varios roles por sesi´on
No Si Si Si
3 Especificar un rol de- fault para una sesi´on de usuario
No Si Si Si
4 Especifica el m´aximo o m´ınimo de usuarios asig- nados a un rol
No No No No
5 Asigna privilegios de sis- tema a roles y usuarios
No Si Si Si
6 Asigna privilegios de ob- jetos a roles y usuarios
Si Si Si Si
7 Soporta creaci´on de vis- tas
Si Si Si Si
8 Creaci´on de Stored Pro- cedures Si Si Si Si 9 Triggers en DDLs No No Si Si 10 Separaci´on Usuario- Esquema No No No Si
Tabla 3.1: Tabla Comparativa de los DBMS (Criterios)
Para la creaci´on de la tabla comparativa, se han tomado criterios obtenidos a su vez de las caracter´ısticas esenciales que existen en los RDBMS y que pueden ayudar a construir un control de acceso. A continuaci´on se menciona en qu´e consiste cada criterio:
1. Capacidad para que un usuario al que se le otorga un rol, pueda o su vez otorgar ´este a otro usuario. Este criterio se refiere a que un usuario pueda tomar un rol que le fue asignado y tener la capacidad de asignar ese rol a otro usuario, aunque el creador del rol haya sido un tercero.
2. Activaci´on de varios roles por sesi´on. Al conectarse a la base de datos el usuario puede tener uno o m´as roles asignados y la capacidad de poder activar m´as para la misma sesi´on.
3. Especificar un rol default para una sesi´on de usuario. Significa que cuando el usuario se conecta, ya tiene un rol asignado autom´aticamente.
4. Especifica el m´aximo o m´ınimo de usuarios asignados a un rol. Este criterio se refiere a que en la creaci´on del rol se especifique el n´umero de usuarios al que podr´a ser asignado como m´aximo y el n´umero m´ınimo de usuario al que se tiene que asignar.
5. Asigna privilegios de sistema a roles y usuarios. Este criterio consta de poder asignar a role y/o usuarios privilegios poderosos, como creaci´on de tablas, usuarios y otros objetos, asignaci´on ilimitada de recursos de la base de datos.
6. Asigna privilegios de objetos a roles y usuarios. Consta de la capacidad de asignar privilegios a usuarios y/o roles de consulta, inserci´on, actualizaci´on, borrado y ejecuci´on sobre los objetos de la base de datos.
7. Soporta creaci´on de vistas. La capacidad de crear a partir de queries espec´ıficos, los objetos llamados vistas.
8. Creaci´on de Stored Procedures. Capacidad para crear triggers, funciones, proced- imientos y paquetes.
9. Triggers en DDLs. Capacidad para crear triggers en sentencias de creaci´on, bor- rado y modificaci´on de objetos de base de datos.
10. Separaci´on Usuario-Esquema. Significa que no existe una relaci´on estrecha entre el due˜no de un esquema y sus objetos, ya que se puede eliminar al due˜no (borrarlo) sin necesidad de eliminar a los objetos que ´este haya creado.