Diapositivas Resumen SQL ORACLE – Semana 1 Especialización en Desarrollo de soluciones Informáticas Universidad del Cauca Miguel Angel Niño Zambrano.

Slides:



Advertisements
Presentaciones similares
Introducción Lenguaje de manipulación de datos (Data Manipulation Language) Permite a los usuarios llevar a cabo las tareas de consulta o manipulación.
Advertisements

VISTAS (VIEWS) DEFINICIÓN Y OBJETIVO DE LAS VISTAS.
LENGUAJE ESTRUCTURADO DE CONSULTA “SQL”
Base de Datos Orientada a Objetos (OODBMS)
SQL G r u p o
Funciones SQL en PL/SQL Semana 2. Aprendizajes esperados Construye procedimientos almacenados, triggers de base de datos, cursores y funciones que ayuden.
CAPITULO 9 Creando y Manejando Tablas
Controlando el Acceso a los Usuarios
Mejoras a la Cláusula GROUP BY
PRIVILEGIOS DE ACCESO EN INFORMIX
Universidad del Cauca – FIET – Departamento de Sistemas CAPITULO 2 Restringiendo y Ordenando Datos.
4.3. Privilegios de usuarios
PL/SQL Francisco Moreno Universidad Nacional.
CAPITULO 1 Escribiendo Sentencias SELECT Básicas
Universidad del Cauca – FIET – Departamento de Sistemas CAPITULO 5 Agregando Datos Usando Funciones de Grupo.
16/04/ Sesión 11 Funciones y procedimientos Ing. Ricardo Inquilla.
Universidad del Cauca – FIET – Departamento de Sistemas
CAPITULO 3 Funciones de Fila Simple
Subconsultas Avanzadas
Ing. Ricardo Carlos Inquilla Quispe
Procedimientos Almacenados Funciones Agregadas
Bases de datos en la Web n Las bases de datos permiten almacenar de una forma estructurada y eficiente toda la información de un sitio web n Ventajas –Proporcionar.
Universidad del Cauca – FIET – Departamento de Sistemas CAPITULO 7 Produciendo Salidas Más Legibles con iSQL*Plus.
UNITA - IBARRA TRIGGERS
John Freddy Duitama M.U.de.A. Facultad de Ingeniería. Creación del esquema de Una Base de Datos. John Freddy Duitama Muñoz. Facultad de Ingeniería. U.de.A.
Universidad del Cauca – FIET – Departamento de Sistemas CAPITULO 6 Subconsultas.
Universidad del Cauca – FIET – Departamento de Sistemas CAPITULO 11 Creando Vistas.
COMANDOS SQL.
CAPITULO 10 Manejando Restricciones
Diseñando la arquitectura de aplicaciones empresariales. Acceso al SQL Server.- Autenticación de usuario:
SQL (Structured Query Language / Lenguaje de consulta estructurado)‏
IBD CLASE 15. SQL Lenguaje de Consultas Estruturado (SQL) ◦Lenguaje de trabajo estándard para modelo relacional ◦Componentes ◦DDL: Data Definition Language.
Mayo de 2009Dos Ideas - La visión de Sistemas desde el Desarrollo Manipulación de Datos Conceptos básicos.
Universidad del Cauca – FIET – Departamento de Sistemas CAPITULO 19 Extensiones de Oracle 9i para las sentencias DML y DDL.
CAPITULO 4 Despliegue de Datos Desde Múltiples Tablas
CONSULTAS SENCILLAS A LA BASE DE DATOS
Universidad del Cauca – FIET – Departamento de Sistemas CAPITULO 12 Otros Objetos de la Base de Datos.
Autora: Francisca Montañez Muñoz
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.
Consultas SQL (Base de Datos)
LENGUAJE SQL.
Bases de Datos Sql.
Universidad del Cauca – FIET – Departamento de Sistemas CAPITULO 14 Uso de Operadores de Conjuntos.
John Freddy Duitama M.U.de.A. Facultad de Ingeniería. Creación del esquema de Una Base de Datos. John Freddy Duitama Muñoz. Facultad de Ingeniería. U.de.A.
LENGUAJE ESTRUCTURADO DE CONSULTAS
Universidad del Cauca – FIET – Departamento de Sistemas CAPITULO 0 Introducción.
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.
Prof. De Bases de Datos: Lcdo. Luis Peña. El lenguaje más habitual para construir las consultas a bases de datos relacionales es SQL, Structured Query.
Diseña y administra base de datos avanzadas
Unidad 4 SEGURIDAD 4.1 Tipos de usuarios
 La sentencia SELECT recupera todas las columnas o un subconjunto de ellas de una tabla. Esto afecta a todas las filas de la tabla, a menos que especifiquemos.
Consultas SQL. SQL SQL es un lenguaje de consulta estructurado (Structured Query Languague). Se utiliza para: Eliminar Modificar Consultar La base de.
MSSQL SERVER CURSO BÁSICO 1. CONCEPTOS BASICOS DE SQL. DESCRIPCIÓN DEL CURSO. Sesión 3: Índices Uso, Creación, Tipos, Eliminación LENGUAJE DE CONSULTAS.
SQL es un estándar internacional para trabajar con bases de datos, que consta de dos partes: una parte para manipular datos y una parte para definir tipos.
SQL es el lenguaje de comunicación entre el programa cliente y programa servidor; Oracle es un programa servidor, en el que está la base de datos propiamente.
ORACLE SQL - DCL.
SQL: DDL.
6 Triggers ORACLE - II Bases de datos II I-2014 Universidad del Cauca Ing. Wilson Ortega Bases de datos II I-2014 Universidad del Cauca Ing. Wilson Ortega.
Copyright  Oracle Corporation, All rights reserved. 1 Escritura de sentencias SQL SELECT básicas.
Mtr. Adrián Monge Monge Educación 2015 Maestría, Mención en Administración de Proyectos ULACITMaestría, Mención en Administración de Proyectos 2012 Licenciatura,
DLM Transact SQL Sesión II Recuperación de información.
Base de Datos I – Ing. Mary Carlota Bernal J.  Cada instrucción PL/SQL tiene asociado internamente un cursor  Los cursores en PL/SQL pueden ser de dos.
DML Transact SQL Sesión VI Trabajando con subconsultas.
Diapositivas PLSQL ORACLE – Semana 2 Especialización en Desarrollo de soluciones Informáticas Universidad del Cauca Miguel Ángel Niño Zambrano.
Copyright  Oracle Corporation, All rights reserved. 9 Creación y gestión de tablas.
Lenguaje MySQL, DDL (Lenguaje de definición de datos) Ing. Linda Masias Morales.
Crear una tabla (create table - sp_tables - sp_columns - drop table) Para ver las tablas existentes creadas por los usuarios en una base de datos usamos.
DML Transact SQL Sesión III Agrupando y resumiendo información.
Selección Condicionada de Filas Uso de la cláusula WHERE La cláusula WHERE restringe las columnas que retorna una consulta según la condición que se imponga.
COMANDOS SQL. ¿QUÉ ES SQL? El lenguaje de consulta estructurado es un lenguaje declarativo que permite la creación, acceso e interacción de bases de datos.
Transcripción de la presentación:

Diapositivas Resumen SQL ORACLE – Semana 1 Especialización en Desarrollo de soluciones Informáticas Universidad del Cauca Miguel Angel Niño Zambrano

Recursos del Curso Profesor: – Mag. Miguel Angel Niño Zambrano – Oficina: 422 – Correos: – Celular: CD del Curso Sitio Web: /course/view.php?id=397http://pis.unicauca.edu.co/moodle /course/view.php?id=397

Instalación de ORACLE Proceso de instalación ORACLE – Servidor en UV04 – Cliente en Ternurita. Trabajando con los Clientes – sqlplus – Iqlplus – PLSQL Developer – Editor npp

Universidad del Cauca – FIET – Departamento de Sistemas Usuarios del curso User name – espXX donde XX es 01, 02, 03, …10, …16 Password – oracle Host string / Connection Identifier – bd9ipro

Universidad del Cauca – FIET – Departamento de Sistemas Sentencias SQL Recuperación de datos – SELECT Manipulación de datos (DML) – INSERT / UPDATE / DELETE / MERGE Definición de datos (DDL) – CREATE / ALTER / DROP / RENAME / TRUNCATE Control de Transacciones – COMMIT / ROLLBACK / SAVEPOINT Control de datos (DCL) – GRANT / REVOKE

Recuperación de Datos SELECT … FROM … WHERE … GROUP BY … HAVING

Ejecutar Comandos SQL (1) 1.Seleccionando Datos a.Obtener todos los datos de los Empleados. b.Obtener todos los datos de los clientes. c.Obtener el nombre, cargo, salario y numero de departamento de los empleados. d.Obtener el nombre y salario de los empleados, calculando un bono del 10%. e.Obtener todos los cargos de la empresa sin repetirlos.

Universidad del Cauca – FIET – Departamento de Sistemas Operadores de comparación Operador es: – =Igual a – >Mayor que – >=Mayor o igual que – <Menor que – <=Menor o igual que – <>Diferente a(!=)(^=) Otros Operadores – BETWEEN … AND … Entre dos valores (incluidos) – IN (Lista)En la lista de valores dados – LIKEConcuerda con un patrón – IS NULLEs un valor nulo

Ejecutar Comandos SQL (2) 2.Restringiendo Datos a.Obtener una lista de nombre y salario de empleados que ganen menos de $ b.Obtener el nombre de los empleados cuyo cargo es VENDEDOR. c.Obtener el nombre de los empleados contratados a partir del año d.Obtener una lista de nombre y salario de empleados que ganen más de $ y menos de $ pesos. e.Obtener un lista de nombres de empleados que sean OFICINISTA y ANALISTA.

Ejecutar Comandos SQL (3) 2.Restringiendo Datos f.Obtener una lista de nombre de empleados cuyo nombre inicie por el carácter ‘M’. g.Obtener una lista de nombre de empleados cuyo nombre tenga por segundo carácter en el nombre la letra ‘O’. h.Obtener la lista de nombres de empleados que no tienen comision.

Universidad del Cauca – FIET – Departamento de Sistemas Condiciones lógicas AND NOT PQP AND Q TRUE FALSE TRUEFALSE TRUENULL FALSENULLFALSE NULLTRUENULL FALSE PNOT P TRUEFALSE TRUE NULL PQP OR Q TRUE FALSETRUE FALSETRUE FALSE TRUENULLTRUE FALSENULL TRUE NULLFALSENULL OR

Ejecutar Comandos SQL (3) 3.Restringiendo Datos con Condiciones lógicas a.Obtener una lista de nombre de empleados cuyo nombre tenga en cualquier parte el carácter ‘N’ y además, gane más de $ b.Obtener una lista de nombre de empleados cuyo nombre tenga por segundo carácter en el nombre la letra ‘O’ ó la letra ‘A’. c.Obtener la lista de nombres de empleados que no sean ni GERENTE, ni VENDEDOR.

Universidad del Cauca – FIET – Departamento de Sistemas SELECT * | { [DISTINCT] columna | expresión [alias], … } FROMTabla [WHERECondicion(es) ] [ORDER BY{columna | expresión} [ASC | DESC], … ]; La cláusula ORDER BY ordena las filas: – ASCOrden ascendente (por defecto) – DESCOrden descendente La cláusula ORDER BY debe ser la última de la sentencia SELECT Los valores NULL: – En orden ASC van al final – En orden DESC van al principio Ordenar los resultados

Ejecutar Comandos SQL (4) 4.Ordenando los Datos a.Obtener una lista de nombre y el salario de los empleados ordenados de menor a mayor salario. b.Obtener una lista de nombre y comisión de los empleados ordenada de mayor a menor comisión. c.Obtener la lista de nombres y salario anual de los empleados, colocar como alias de columna ‘Salario Anual’ y ordenar por el alías de menor a mayor salario anual. d.Ordenar por nombre y luego por salario la tabla empleados. e.Mostrar la tabla empleados ordenada por la segunda columna, teniendo en cuenta, que la posición de dicha columna, deberá ser la misma que se uso, al momento de crear la tabla

Universidad del Cauca – FIET – Departamento de Sistemas Tipos de funciones SQL Funciones Funciones de Fila simple Funciones de Múltiples filas

Universidad del Cauca – FIET – Departamento de Sistemas Funciones de fila simple Caracteres Números Fecha Conversión General LOWER UPPER INITCAP CONCAT SUBSTR LENGTH INSTR LPAD RPAD TRIM REPLACE Manejo de mayúsculas y minúsculas Manejo de caracteres

Universidad del Cauca – FIET – Departamento de Sistemas Funciones de fechas Oracle almacena las fechas en un formato numérico interno que incluye: centuria, año, mes, día, hora, minutos y segundos – Fechas validas entre 1-JAN-4712 AC y 31-DIC-9999 – La fecha Mayo 15 de 2003 a las 10:12:15 se almacena El formato de despliegue por defecto es DD-MON-RR, aunque el administrador puede cambiarlo, y cada usuario en su sesión también El formato RR facilita almacenar fechas del siglo XXI estando en el siglo XX especificando sólo dos dígitos También permite que almacene fechas del siglo XX estando en el siglo XXI especificando sólo dos dígitos Se uso para solucionar en parte el problema del cambio de milenio CenturiaAñoMesDíaHoraMinutosSegundos

Universidad del Cauca – FIET – Departamento de Sistemas Aritmética de fechas OPERACIONRESULTADODESCRIPCIÓN Fecha + NúmeroFechaAdiciona un Número de días a la Fecha Fecha – NúmeroFechaResta un Número de días a la Fecha Fecha1 – Fecha2NúmeroResta a Fecha1 el valor de la Fecha2 y obtiene el número de días entre las dos fechas Fecha + Número/24FechaAdiciona un Número de horas a la Fecha

Universidad del Cauca – FIET – Departamento de Sistemas Funciones de fechas FUNCIONDESCRIPCIÓN MONTHS_BETWEEN (fecha1, fecha2)Encuentra el número de meses entre dos fechas. El resultado es positivo si la fecha1 es más reciente que la fecha2 y es negativo si la fecha1 es más reciente que la fecha2. ADD_MONTHS (fechaorigen, n)Adiciona n meses calendario a la fechaorigen. El valor de n debe ser un entero positivo o negativo NEXT_DAY (fechaorigen, ‘cadena’)Encuentra el siguiente día que coincida con ‘cadena’ a partir de la fecha dada. La cadena puede ser DOMINGO, LUNES, MARTES, MIÉRCOLES, JUEVES, VIERNES, SÁBADO, o un número que representa ese día. Recuerde que el primer día de la semana es el DOMIGO LAST_DAY (fechaorigen)Devuelve la fecha del último día del mes de la fechaorigen ROUND (fechaorigen, [‘formato’])Aplica a fechaorigen un redondeo basado en el ‘formato’. Si el formato se omite se redondea al día más cercano. TRUNC (fechaorigen, [‘formato’])Trunca fechaorigen basado en el ‘formato’. Si el formato se omite se trunca al día más cercano.

Universidad del Cauca – FIET – Departamento de Sistemas Funciones de conversión explícitas NUMBERCHAR DATE TO_CHAR (Number, [‘formato’]) TO_CHAR (Date, [‘formato’]) TO_NUMBER (Char, [‘formato’])TO_DATE (Char, [‘formato’])

Ejecutar Comandos SQL (5) 5.Aplicando Funciones a los Datos a.Obtener una lista de nombre y el cargo de los empleados bajo una columna con el nombre de Cargos, de tal forma que cada línea se lea como el siguiente ejemplo: “El cargo de Lopez es presidente”. b.Obtener una lista de nombres de los empleados cuyo nombre tenga 5 caracteres de longitud. c.Obtener la lista de nombres de los empleados y el número de meses que ha sido contratado en la empresa. d.Presentar el nombre y la fecha de contratación de los empleados con un formato del ejemplo: ‘Domingo- Ago :41:16 PM’. También el salario con un formato como el ejemplo: $1,570,325.90

Universidad del Cauca – FIET – Departamento de Sistemas Funciones varias (manejo de NULL) FUNCIONDESCRIPCIÓN NVL (expresión1, expresión2)Si expresión1 es NULL retorna expresión2, de lo contrario deja el valor original. El tipo de dato de las dos expresiones debe ser igual NVL2 (expresión1, expresión2, expresión3) expresión2 y expresión3 no pueden ser LONG Si expresión1 no es NULL retorna expresión2, de lo contrario retorna expresión3. El tipo de dato que se retorna siempre es el de la expresión2, para ello Oracle puede hacer una conversión de la expresión3 si se necesita NULLIF (expresión1, expresión2)Compara las dos expresiones y retorna NULL si son iguales, de lo contrario retorna expresión1. Es igual a: CASE WHEN expresión1 = expresión2 THEN NULL ELSE expresión1 END La expresión1 no puede ser el literal NULL COALESCE (expresión1, expresión2, …, expresiónN) Retorna la primer expresión de la lista que no sea NULL, teniendo en cuenta que evalúa de izquierda a derecha. Al menos una expresión no debe ser el literal NULL

Ejecutar Comandos SQL (6) 6.Aplicando Funciones a los Datos a.Obtener una lista de nombre y la comisión de los empleados retornando tanto los que tienen comisión como los que no tienen comisión, colocando $0 para los que no lo tienen. b.Obtener el nombre, el cargo, el salario y un aumento dependiendo del cargo: Si es presidente se incrementa en 1.3, si es Gerente en 1.2, para los demás 1.1 del salario.

Ejecutar Comandos SQL (7) 7.Obteniendo datos de múltiples tablas a.Obtener una lista de nombre de empleado y su respectivo nombre de Departamento. b.Obtener el nombre de empleado y el nombre de su jefe.

Universidad del Cauca – FIET – Departamento de Sistemas Funciones de grupo FUNCIONDESCRIPCIÓN COUNT ({* | [DISTINCT | ALL] expresión})Cuenta el número de filas donde la expresión no tiene un valor NULL. El * cuenta todas las filas incluyendo duplicados y filas con valores NULL SUM ([DISTINCT | ALL] expresiónnúmerica)Suma los valores de expresión de cada fila retornada. Ignora los valores NULL MAX ([DISTINCT | ALL] expresión)Máximo de los valores de expresión de cada fila retornada. Ignora los valores NULL MIN ([DISTINCT | ALL] expresión)Mínimo de los valores de expresión de cada fila retornada. Ignora los valores NULL AVG ([DISTINCT | ALL] expresiónnúmerica)Promedio de los valores de expresión de cada fila retornada. Ignora los valores NULL STDDEV ([DISTINCT | ALL] expresiónnúmerica)Desviación estándar de los valores de expresión de cada fila retornada. Ignora los valores NULL VARIANCE ([DISTINCT | ALL] expresiónnúmerica)Varianza de los valores de expresión de cada fila retornada. Ignora los valores NULL DISTINCT hace que la función descarte los valores duplicados ALL hace que la función tenga en cuenta todos los valores, incluidos los duplicados (repetidos)

Ejecutar Comandos SQL (8) 8.Obteniendo datos de múltiples tablas a.Obtener una lista con el nombre de empleado y su respectivo salario. Para los empleados que tengan salarios menores al promedio general. b.Obtener el número de empleados que tiene cada departamento. c.Obtener el promedio de salario de los empleados por tipo de cargo. d.Obtener el máximo promedio de los salarios por departamento.

Ejecutar Comandos SQL (9) 9.Subconsultas a.Obtener una lista con el nombre de empleado y su respectivo salario. Para los empleados que tengan salarios menores al salario ganado por TOLEDO. b.Obtener los empleados que no son jefes.

Universidad del Cauca – FIET – Departamento de Sistemas Variables de sustitución Use las variables de sustitución de iSQL*Plus para: – Almacenar valores temporalmente: Ampersand sencillo (&) Ampersand doble (&&) Comando DEFINE – En cada ejecución de la sentencia SQL debe digitar los valores que se sustituyen o los obtiene desde un archivo – Pasar valores desde una sentencia SQL a otra – Modifique dinámicamente los encabezados y pies de página – iSQL*Plus sólo soporta chequeo de tipo de dato

Universidad del Cauca – FIET – Departamento de Sistemas Definición de variables de sustitución El comando DEFINE sirve para predefinir variables Si el Valor incluye espacios debe encerrarse entre comillas sencillas Una variable definida queda disponible por toda la sesión (hasta que se salga de iSQL*Plus), o hasta que se aplique el comando UNDEFINE sobre la misma DEFINE Variable = Valorcrea una variable de usuario de tipo CHAR con el valor establecido por el usuario DEFINE Variablemuestra el valor y el tipo de una variable DEFINEmuestra los valores y los tipos de todas las variables definidas

Ejecutar Comandos SQL (10) 10.Variables de Sustitución a.Obtener la información de un empleado específico, preguntando al usuario el código del empleado a mostrar. b.Obtener la información de un empleado específico, preguntando al usuario el nombre del empleado a mostrar. c.Realizar el ejemplo a. con doble ampersad. d.Demostrar uso del comando VERIFY

Universidad del Cauca – FIET – Departamento de Sistemas Use el comando SET para fijar el valor de una variable – SET VaribleDelSistema Valor – SET ECHO ON Use SHOW para consultar el valor actual de la variable – SHOW VariableDelSistema – SHOW ECHO Personalizando el ambiente de iSQL*Plus

Universidad del Cauca – FIET – Departamento de Sistemas Variables del comando SET NOMBREDESCRIPCIÓN ARRAYSIZE { 20 | Número }Le fija a la base de datos, el tamaño de filas que extrae de una sola vez en una consulta FEEDBACK { 6 | Número | OFF | ON}Muestra el número de filas retornadas por una consulta, cuando se retornan más de N número de filas HEADING { OFF | ON }Determina si los encabezados de las columnas se muestra o no en el reporte LONG { 80 | Número | ON | Texto}Define el máximo ancho de despliegue de las columnas de tipo LONG EJEMPLOS SET ARRAYSIZE 30 SET FEEDBACK OFF SET HEAD OFF SET LONG 60 SHOW HEAD

Universidad del Cauca – FIET – Departamento de Sistemas Comandos para formatear en iSQL*Plus NOMBREDESCRIPCIÓN COLUMN [Opciones]Permite definir el formato de una columna TTITLE [ Texto | OFF | ON]Define un encabezado que aparece en la parte superior de cada página del reporte BTITLE [ Texto | OFF | ON]Define un pie de página que aparece en la parte inferior de cada página del reporte BREAK [ ON | ElementoDelReporte]Permite suprimir valores duplicados y dividir filas de datos en secciones usando saltos de línea (line breaks) EJEMPLOS COL Emp_Id FORMAT A10 TTITLE ‘Lista de Empleados’ BTI ‘Orden por Nombre’ BREAK ON Dep_Id

Ejecutar Comandos SQL (11) 11.Creación de Reportes a.Crear un reporte en el cual se presente el nombre del departamento, el nombre del empleado, fecha de contratación, salario y salario anual. El reporte debe solicitar la localización al usuario. Debe colocarse un título, subtítulo y formatear adecuadamente cada columna.

Manipulación de Datos INSERT … UPDATE … DELETE

Universidad del Cauca – FIET – Departamento de Sistemas Lenguaje de Manipulación de datos (DML) Una sentencia DML se ejecuta cuando: – Se adicionan nuevas filas a una tabla (INSERT) – Se modifican filas en una tabla (UPDATE) – Se eliminan filas existentes de una tabla (DELETE) Una transacción es una colección de sentencias DML que se comportan como una unidad lógica (se hacen todas en la base de datos o no se hace ninguna). Las sentencias asociadas son: COMMIT, SAVEPOINT y ROLLBACK

Universidad del Cauca – FIET – Departamento de Sistemas Control de transacciones Tiempo COMMIT DELETEINSERTUPDATE INSERT COMMIT SAVEPOINT P1SAVEPOINT P2SAVEPOINT P3 Transacción ROLLBACK TO SAVEPOINT P3 ROLLBACK TO SAVEPOINT P2 ROLLBACK TO SAVEPOINT P1 ROLLBACK

Ejecutar Comandos SQL (12) 12. Manipulación de Datos a.Insertar un nuevo departamento llamado “SISTEMAS”. b.Insertar como nuevo empleado del departamento anterior, el usuario del sistema y como fecha de contratación la fecha actual. c.Insertar otro empleado, con fecha de contratación abril 3 de d.Parametrizar la inserción de nuevos Departamentos. e.Modificar el departamento de los nuevos empleados al departamento ventas. Deshacer la acción. f.Eliminar el Departamento SISTEMAS.

Definición de Datos CREATE.. ALTER.. DROP

Universidad del Cauca – FIET – Departamento de Sistemas Objetos de la base de datos OBJETODESCRIPCIÓN TablaUnidad básica de almacenamiento, compuesta de filas y columnas. Pueden ser creadas en cualquier momento, no se necesita definir el tamaño del almacenamiento (se recomienda) y su estructura se puede redefinir en línea. VistaRepresentación lógica de un subconjunto de datos de una o más tablas SecuenciaGenerador de valores numéricos ÍndiceMejora el rendimiento de algunas consultas SinónimoNombre alternativo de los objetos de una base de datos OtrosProcedimientos, funciones, disparadores, clusters, enlaces a bases de datos y demás

Ejecutar Comandos SQL (13) 13. Definición de Datos a.Crear una nueva tabla en la que se almacena el calculo de la nómina temporal de cada mes. Para esto se calcula las retenciones por salud, pensión, solidaridad, las horas trabajadas, valor hora y salario devengado. b.Crear la tabla anterior con una subconsulta. c.Adicionar una nueva columna a la tabla anterior, que almacena si se hace retención o no. d.Borrar la tabla del punto a. e.Analizar las restricciones de las tablas del curso.

Ejecutar Comandos SQL (14) 14. Definición de Datos (Vistas) a.Crear una vista de los empleados del departamento de VENTAS. b.Insertar un nuevo empleado a la vista anterior. c.Crear una vista en la que se almacena el calculo de la nómina temporal de cada mes. Para esto se calcula las retenciones por salud, pensión, solidaridad, las horas trabajadas, valor hora y salario devengado. d.Borrar la vista del punto a. e.Realizar un análisis top-N de los 5 empleados que más ganan al año con una vista en línea.

Ejecutar Comandos SQL (14) 14. Definición de Datos (Secuencias, Índices, Sinónimos) a.Crear una secuencia para la creación de nuevos departamentos. b.Crear un nuevo departamento con la secuencia y utilizar las seudo columnas NEXTVAL y CURRVAL. c.Crear un indice para la columna de los nombres de los empleados. d.Crear un sinonimo del usuario manzamb de la tabla departamentos llamado deptosmanzamb. e.Eliminar los objetos creados anteriormente.

Control de Datos GRANT.. REVOKE

Universidad del Cauca – FIET – Departamento de Sistemas Creación de usuarios CREATE USER NombreUsuario IDENTIFIED {BY clave | EXTERNALLY | GLOBALLY AS ‘NombreExterno’} [… | ACCOUNT {LOCK | UNLOCK}]; Sólo el administrador del sistema y los usuarios con el privilegio de crear usuarios pueden usar esta sentencia Después de crear el usuario, éste aún no puede hacer nada en el sistema. Es como tener una tarjeta plástica para entrar a un edificio inteligente, pero en el sistema aún NO han dado permiso para entrar al edificio

Universidad del Cauca – FIET – Departamento de Sistemas Otorgando privilegios del sistema GRANT Privilegio [, Privilegio2, …] TO Usuario1 [, Usuario2 | Rol, PUBLIC …] [WITH ADMIN OPTION]; Esta sentencia permite otorgar privilegios a un usuario El privilegio mínimo que un usuario necesita para entrar al sistema es CREATE SESSION. En este momento se activa la tarjeta plástica en el sistema y el usuario puede usarla para entrar al edificio. La vista SESSION_PRIVS muestra los privilegios del usuario conectado La cláusula WITH ADMIN OPTION permite al usuario que recibió el privilegio, concederlo a otros usuarios

Universidad del Cauca – FIET – Departamento de Sistemas Otorgando privilegios del sistema Se recomienda asignar sólo los roles que un usuario necesita (como administrador ser lo más restrictivo posible) Un usuario desarrollador de una aplicación, normalmente necesita crear tablas, vistas, secuencias y procedimientos, pero no crear usuarios o hacer copias de seguridad del sistema, entre otros Para crear objetos (un usuario cree su esquema) debe tener cuotas de espacio en disco o el privilegio UNLIMITED TABLESPACE (Cuidado!!!)

Universidad del Cauca – FIET – Departamento de Sistemas Roles Usuario Rol Privilegios

Ejecutar Comandos SQL (15) 15. Control de privilegios (Usuarios, Roles) a.Crear un nuevo rol para los usuarios de la especialización. b.Crear un nuevo usuario con el nuevo rol. c.Cambiar la clave del nuevo usuario. d.Permitir al nuevo usuario consultar la tabla departamentos del usuario manzamb. e.Revocar los privilegios al usuario creado.

FIN REPASO