La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Vista Externa de Una Base de Datos John Freddy Duitama Muñoz. Facultad de Ingeniería. U.de.A. John Freddy Duitama Muñoz. Facultad de Ingeniería. U.de.A.

Presentaciones similares


Presentación del tema: "Vista Externa de Una Base de Datos John Freddy Duitama Muñoz. Facultad de Ingeniería. U.de.A. John Freddy Duitama Muñoz. Facultad de Ingeniería. U.de.A."— Transcripción de la presentación:

1 Vista Externa de Una Base de Datos John Freddy Duitama Muñoz. Facultad de Ingeniería. U.de.A. John Freddy Duitama Muñoz. Facultad de Ingeniería. U.de.A.

2 ¿Qué es la Vista Externa? Es la perspectiva que un grupo de usuarios tiene de la base de datos. Permite establecer un esquema de seguridad para la información en la base de datos. Generalmente la información está representada en las tablas de la base de datos

3 Primer Paso: Definir funciones en la organización.  Supongamos tres transacciones: facturar, pagar y cierre. Procedemos a crear un role por cada función.  SQL> CREATE ROLE facturar;  SQL> CREATE ROLE pagar;  SQL> CREATE ROLE cierre;  Nota: la base de definición son los casos de uso.

4 Diagrama General Cajero Gerente De Cuenta Facturar T1 Facturar T1 Pagar T2 Pagar T2 Cierre T3 Cierre T3 Pedro Juan María Usuarios Cargos Transacciones

5 Segundo Paso: Para cada función debemos asignar los permisos necesarios en las tablas y vistas SQL del sistema. Ejemplo:  SQL> GRANT SELECT ON tabla-1 TO facturar.  Significa que la transacción facturar necesita consultar todos los atributos de la tabla-1.  SQL > GRANT UPDATE(sal, comm) ON tabla-1 to facturar;  Significa que la transacción facturar necesita solo actualizar dos atributos de la tabla-1.  SQL> GRANT DELETE ON Tabla-3 TO facturar.  Significa que la transacción facturar necesita borrar registros de la tabla-3.  De manera similar se asignan los permisos a Pagar y Cierre

6 Tercer Paso, Definir los cargos de la empresa.  Tenemos los cargos cajero y Gerente de Cuenta. Debemos definir su existencia en la base de datos mediante ROLE.  SQL> CREATE ROLE cajero;  SQL> CREATE ROLE gerente_de_cuenta;  La base de la definición son los actores del sistema definidos en los casos de uso.

7 Diagrama General Cajero Gerente De Cuenta Gerente De Cuenta facturar Pagar Cierre Pedro Juan María Usuarios Cargos Transacciones

8 Cuarto Paso: Asignar funciones a los cargos.  SQL> GRANT facturar TO Cajero;  SQL> GRANT pagar TO Cajero;  SQL> GRANT pagar TO gerente_de_cuenta;  SQL> GRANT cierre TO gerente_de_cuenta;  Significa que el Cajero tiene la función de facturar y pagar, mientras que el gertenye de cuenta tiene las funciones de pagar y cierre.

9 Diagrama General Cajero Gerente De Cuenta Gerente De Cuenta facturar Pagar Cierre Pedro Juan María Usuarios Cargos Transacciones

10 Quinto Paso: Crear usuarios y asignarles un cargo en la empresa.  Por cada empleado de la empresa debe crearse una cuenta individual y especificar el o los cargos que este posea.  La instrucción para crear usuarios es: CREATE USER nombreUsuario [identified by clave]  CREATE USER Pedro identified by 1234;  CREATE USER Juan identified by HHERN;  CREATE USER Maria identified by Mari12;

11 Sexto Paso: A cada usuario le asignamos un cargo.  SQL> GRANT Cajero to Pedro;  SQL> GRANT Gerente_de_Cuenta to Juan;  SQL> GRANT Gerente_de_Cuenta to Maria;

12 MATRIZ TABLAS VS TRANSACCIONES Tabla/ Transacción Transacción- 1 Transacción- 2 Transacción- 3 Transacción- 4 Empleado CedulaK-SKK-DI NombreSSDI TeléfonoSUDI Salario-UDI Cargo--DI Registros por Tx.1351 Tabla2 Atributo1 Atributo2 Atributo3 Registros por Tx. Tx por DIA1000508600100 S: Consulta U: Actualización D: Borrado I: Inserción K: Punto de entrada. (Búsqueda)

13 Vistas SQL  Una vista SQL es una tabla lógica (no física) que se basa en una tabla o varias tablas o en otra vista.  Una vista SQL no contiene datos en si misma, es como una ventana a través de la cual pueden verse y cambiarse datos de tablas.

14 Sintaxis  CREATE [OR REPLACE] [FORCE|NOFORCE] VIEW nombre_vista [(alias atributos...)] AS subconsulta [WITH READ ONLY] Donde:  OR REPLACE. Se utiliza por si la vista ya estuviera creada anteriormente. De esta forma una vista podrá ser modificada.  FORCE. Crea la vista independientemente de si la tabla base existe.  NOFORCE. Crea la vista sólo si la tabla base existe. Está opción es la que está por defecto.  Subconsulta. Es una sentencia SELECT  WITH READ ONLY. Solo lectura  WITH CHECK OPTION

15 Ejemplo CREATE VIEW vEmpleado AS ( SELECT cedula, nombre,salario, depto, jefe FROM empleados WHERE depto = 20 WITH CHECK OPTION; ) -- WITH CHECK OPTION, significa que sólo podrán manipularse únicamente empleados del departamento 20

16 Una vista permite consultar, editar y eliminar atributos de la tabla base, sin embargo:  No puede borrarse una fila si la vista contiene:  Funciones de agrupamiento  Una cláusula GROUP BY  La cláusula DISTINCT  No pueden modificarse datos de una vista si:  Se cumple alguna de las condiciones del borrado  Las columnas están definidas mediante expresiones  No se pueden añadir datos a una vista si  Se cumple cualquiera de las condiciones del borrado  Hay columnas NOT NULL en la tabla base que no están seleccionadas en la vista

17 Referencias  (Connolly, Begg. 2005) Connolly, Thomas. Begg, Carolyn. Sistemas de bases de datos. Un enfoque práctico para diseño, implementación y gestión. 4ta edición. Pearson Addison Wesley. Pag 165.


Descargar ppt "Vista Externa de Una Base de Datos John Freddy Duitama Muñoz. Facultad de Ingeniería. U.de.A. John Freddy Duitama Muñoz. Facultad de Ingeniería. U.de.A."

Presentaciones similares


Anuncios Google