Vous êtes sur la page 1sur 19

LENGUAJE DE DEFINICIN DE DATOS

2.1 LENGUAJE DE DEFINICIN DE DATOS EN ORACLE El punto de partida de una base de datos se inicia con las sentencias DDL, estas permiten la creacin de objetos los cuales sern expuestos a continuacin: Vistas Secuencias ndices Sinnimos. 2.1.1 Vistas Las vistas son consultas Select que se almacena en la Base de Datos con un nombre particular. Presenta la misma estructura que una tabla, es decir, formada por filas y columnas. La vista no es una tabla, la diferencia es que almacena la definicin y no los datos. Se utilizan porque: Proporcionan un nivel adicional de seguridad. Permiten ocultar la complejidad de los datos. Ayudan a mantener nombres razonables.

Para la creacin de este objeto, emplearemos la siguiente estructura: CREATE [ or replace ] VIEW nombre_vista AS Consulta El parmetro or replace, permite sobrescribir una vista existente. En caso de querer eliminar la vista podr utilizar el comando: Drop View Nombre_Vista Ejercicios: Crear la vista con el nombre tempo_emp que muestre los nombres y los salarios para todos los empleados, usar Tabla Employees. Luego, muestre el contenido de la vista.

Crear la vista tempo_fecha que muestre a todos los empleados que fueron fu contratados en el ao 2000, usar u Tabla Employees. Luego, muestre el contenido de la vista.

Borrar la vista tempo_emp creada en el ejercicio anterior.

2.1.2 Secuencias Objeto de la base de datos que genera nmeros secunciales. Se suele usar para asignar valores a campos numricos en forma automtica, es decir a las llaves llave primaria (PK). Podemos decir que representa una tabla con una columna numrica en la que se almacena un valor. Cada vez que se referencia a la secuencia esta se incrementa para la siguiente consulta. Para la creacin de este objeto, emplearemos la siguiente sig estructura: CREATE SEQUENCE nombre_secuencia [start with entero ] [increment by entero] [maxvalue entero ] [minvalue entero ] [cycle / nocycle ]

Los parmetros: Start, , indica el valor inicial de la secuencia. Increment ncrement by, indica el incremento increm de la secuencia. Maxvalue, indica el mximo valor que tomara la secuencia. Minvalue, indica el mnimo valor que tomar la secuencia. Cycle, indica que se producir un ciclo al finalizar el valor mximo. Nocycle, N no se producir el ciclo. Para eliminar minar la secuencia podr utilizar: Drop Sequence nombre_secuencia; Ejercicios: Crear la secuencia seq_factura, con los parmetros: inicio 2000, incremento 2, mximo valor 99999 y mnimo valor 2000.

Para registrar un nuevo valor a la secuencia secuencia seq_factura, a travs de la clausula NEXTVAL.

Para conocer el valor actual de la secuencia, es decir el ltimo cdigo asignado se usa la clusula CURRVAL.

Borrar la secuencia seq_factura creada en el ejercicio anterior.

2.1.3 ndices Los ndices permiten acceder a los datos rpidamente. El sistema crea una estructura de datos interna, con lo cual se puede seleccionar los registros en forma adecuada. Este ndice le dice al motor de la base de datos donde est el dato, d como en un libro donde el ndice le dice en que pagina aparece la palabra. Como informacin general Oracle crea un ndice al definirse la llave primaria de una tabla. Para la creacin de este objeto, emplearemos la siguiente estructura: CREATE [ UNIQUE UNIQUE ] INDEX nombre_indice ON tabla (columna, ) El parmetro UNIQUE, acta como si los campos indexados fueran nicos, no permite que los campos se repitan en la tabla al momento de crear el ndice. Para poder eliminar el ndice podr utilizar el comando: com Drop index Nombre_Inidice Ejercicios: Crear un ndice con el nombre Ind_pais para el campo country_name de la tabla Countries.

Borrar el ndice ind_pais creado en el ejercicio anterior.

2.1.4 Sinnimos Podemos sealar que e es una redefinicin de nombre de un objeto en la base de datos. Oracle permite crear un sinnimo para una tabla o vista. Esto supone que puede utilizarse dos nombres diferentes para un mismo objeto. Para la creacin de este objeto, emplearemos la siguiente siguie estructura: CREATE [ PUBLIC ] SYNONYM nombre_sinonimo FOR OR [usuario.] [ tabla/vista ] El parmetro Public, permite que todos los usuarios de la base de datos puedan acceder al sinnimo creado. Ejercicios: Crear el sinnimo emp_sinonimo para la la tabla Employees. Luego a travs de un Select probar su funcionalidad.

Borrar el sinnimo emp_sinonimo creado en el ejercicio anterior.

FUNCIONES EN ORACLE
3.1 MANEJO DE FUNCIONES EN ORACLE omplementar el trabajo de las consultas, estas extraen los Las funciones permiten complementar datos segn sea su funcionalidad. En Oracle existen muchas funciones y estas las podemos clasificar en: (Crovetto, 2005). Funciones Aritmticas. Funciones de cadena de caracteres. Manejo de Fechas. Funciones de conversiones.

3.1.1 Funciones Aritmticas Ceil (n): Devuelve el valor entero inmediato superior.

Respuesta

Floor (n): Devuelve el valor entero inmediato inferior.

Mod (m,n) : muestra el residuo de m entre n.

Power (m,n): muestra la potencia n-esima n de m.

Round (m, n) : redondeo de m a n decimales.

Sqrt (n): devuelve la raz cuadrada de n.

Trunc (m,n) : calcula m truncado a n decimales.

3.1.2 Funciones iones de Cadena de Caracteres Concat (cadena1,cadena2) : Permite unir o concatenar cadenas.

Concatenar con ||: Permite concatenar cadenas de textos.

Length (cadena): retorna la longitud de la cadena.

Lower (cad): devuelve la cadena en minscula.

Substr (cadena, inicio, longitud): devuelve la subcadena de la cadena compuesta por la longitud de caracteres a partir de la posicin inicio.

Upper (cad) : devuelve una cadena en mayscula. maysc

To_Char(valor, (valor, mascara): convierte un numero a cadena.

3.1.3 Manejo de Fechas Sysdate, devuelve la fecha del sistema.

Restando dos fechas, se obtendr el nmero de das que existe entre ambas fechas.

Agregando o substrayendo a una fecha fec nmero de das, se obtendr una nueva fecha.

Add_Months (fecha,n), devuelve una fecha incrementada en n meses.

To_char( fecha, [ formato_salida] formato_salida ), convierte una fecha a cadena.

[formato_salida] Descripcin Ao Trimestre Mes Semana Da Da de la Semana Hora Minuto Parmetros YYYY, Year, YYY, YY, Y Q Month, Mon, MM, RM(en Romano) WW DDD, DD Day, Dy, D HH, HH12, HH24 Mi

3.1.4 Funciones de Conversiones To_number( ( cadena, [mascara_formato ] ), convierte una cadena a nmero.

Nvl ( cadena, reemplazar_con ), ) sustituye un valor cuando un null es encontrado.

3.2 FUNCIONES DE GRUPOS EN ORACLE Son utilizadas para trabajar con un grupo de registros, estas evalan un conjunto de datos y arrogan un resultado propio de la funcin, entre ellas podemos mencionar: SUM, AVG, COUNT, MAX Y MIN. Por otro lado, tocaremos las expresiones Group by y Having relacionadas con las funciones de grupos. SUM, muestra la suma de un conjunto de registros.

Ejemplo: Mostrar la suma de los salarios para todos los empleados que trabajen en el departamento 100 de la tabla employees.

AVG, muestra el promedio de un conjunto de registros. registro

Ejemplo: Mostrar el promedio de los salarios para todos los empleados que trabajen en el departamento 60 de la tabla employees. Rotule esta columna con el nombre de Salario_promedio.

COUNT, muestra la cantidad de registros segn la condicin, condicin, esta funcin no cuenta campos vacios.

Ejemplo: Mostrar la cantidad de empleados que trabajan para el departamento 80. Rotule esta columna con el nombre de Cantidad_Empleados.

MAX, muestra el valor ms alto de un conjunto de registros. registr

Ejemplo: Mostrar el salario ms alto para todos los empleados registrados en la tabla Employees. Rotule esta columna como Salario_Alto.

MIN, muestra el valor ms bajo de un conjunto de registros.

Ejemplo: Mostrar el salario ms bajo para todos los empleados que trabajan en el departamento 20. Rotule esta columna como Salario_Bajo.

Group By
Expresin del select la cual permite agrupar registros segn el campo o campos especificados. Ejercicios: Mostrar los cdigos digos de los departamentos y el nmero de personas agrupados por departamento. Emplear la tabla Employees.

Mostrar el nmero de empleados para cada cdigo de trabajador dentro de cada departamento. Ordene su salida en base al cdigo del departamento. departamento.

HAVING

Permite definir una condicin para la expresin Group By. Ejercicios: Mostrar el cdigo del trabajador y el salario promedio para todos los cdigos de trabajadores con ms de dos empleados. Utilizar la tabla Employees. Employees

Mostrar el cdigo del departamento y la suma del salario (esto se conoce como nomina) para aquellos departamentos cuya nomina exceda los 25000, excluir en este reporte a los empleados cuyo cdigo de trabajador sea SA_REP. Ordene su salida por nomina.

Vous aimerez peut-être aussi