ALTER. Modifica alguna caracterstica de cualquier objeto relacional TABLE SPACE PRIMARIO. Se define con base el el layout METADATO. Informacin de cada dato y se aloja en los catalogos del DBMS (no confundir con el diccionario de datos de la etapa de anlisis. 1 CHAR = BYTE DECIMAL (10,4)= 999999.9999 = 6 BYTES INTEGER (DB2, IBM) = 4 BYTES SMALLINT (10, 4) PRIQTY. Es para los registries posibles de una table SECQTY. Para espacio adicional cuando se rebase la cantidad primaria RESPECTO A UNA TABLA UPDATE. Actualiza valores en algunas columnas SELECT. Para consultar alguna tabla INSERT. Para agregar registros en una tabla DELETE. Elimina registros GRANT. Otorga permisos o privilegios para poder utilizar comandos REVOKE. Quite permiso concedido o denegado previamente. FUNCIONES DE COLUMNA SUM. Totaliza los valores de un dominio numero de una columna AVG. Calcula el promedio de un conjunto de valores del un dominio de una columna MIN. Obtiene el minimo valor dentro de un conjunto de valores en el dominio de una columna COUNT. DEVUELVE EL NUMERO DE ELEMENTOS DE UN GRUPO DISTINCT. No repite los valores
NORMALIZACION Consiste en aplicar restricciones a las columnas de las tablas Objetivo. Crear estructuras de datos relacionales optimas para evitar ambigedades o anomalas al intentar actualizar, borrar, insertar o consultar registros de una tabla (DML). 1 FORMA NORMAL (1FN). Todos los valores en el dominio de una columna deben ser nicos. Objetivo. Evitar mltiples valores en el dominio de cada columna Toda estructura de datos relacional esta en segunda forma normal en automtico y/si solamente tiene una llave primaria. 2FN. Toda columna en una tabla que no forma parte de la llave primaria debe depender completamente de la llave primaria. Objetivo. Evitar dependencias parciales para cumplir que siempre exista una dependencia total de la llave primaria 3FN. Toda columna q no forma parte de la llave primaria no puede depender de otra que tampoco forme parte de la llave primaria Objetivo. Eliminar dependencias transitivas CARDINALIDAD. Es el numero de registros de una tabla.
CREACION DE LA BASE DE DATOS CREATE STOGROUP STOGRAEREO VOLUMES (DISCOX1, DISCO2) CREATE DATABASE AEROLINEA STOGROUP STOGRAEREO CREATE TABLESPACE TSVUELO USING STOGROUP STOGRAEREO PRIQTY 80KB SECQTY 40KB CREATE TABLE VUELO (NUM_VUELO SMALLINT NOT NULL; FECHA_VUELO DATE NOT NULL; NUM_PILOTO SMALLINT NOT NULL) IN AEROLINEA.TSVUELO CREATE UNIQUE INDEX 1XVUELO ON VUELO (NUM_VUELO, FECHA_VUELO) USING STOGROUP STOGRAEREO PRIQTY 60KB SECQTY 30KB
GRANT SELECT, INSERT UPDATE, DELETE ON VUELO TO USER12 WITH GRANT NULL se utiliza para indicar la ausencia de valor asociado a un campo para un determinado registro. FUNCIONES ESCALARES YEAR (FECHA_VUELO) MONTH (FECHA_VUELO) DAY (FECHA_VUELO) SUBSTR (CURP, 5, 6)
SELECT AVG (CALIFICACION) FROM CALIFICACION WHERE BOLETA = 2001 SELECT DISTINCT (CVE_MATERIA) FROM CALIFICACION DE LA TABLA EMPLEADO -SELECT DISTINCT (CVE_DEPTO) FROM EMPLEADO -SELECT NUM_EMPLEADO FROM EMPLEADO -SELECT NUM_PUESTO, NOM_EMPLEADO, E.NUM_PUESTO, NOM_PUESTO, E.NUM_DEPTO, NOM_DEPTO FROM EMPLEADO E, PUESTO P, DEPARTAMENTO D WHERE E.NUM_PUESTO = P.NUM_PUESTO AND E.NUM_DEPTO = D.NUM_DEPTO
-SELECT MAX (SUELDO_QUINCENAL)*2, MIN (SUELDO_QUINCENAL)*2, AVG (SUELDO_QUINCENAL)*2, SUM (SUELDO_QUINCENAL)*2, COUNT (*) FROM EMPLEADO -SELECT *FROM EMPLEADO WHERE SUELDO_QUINCENAL *2> (SELECT AVG (SUELDO_QUINCENAL)*2 FROM EMPLEADO)
Obtener la informacin de cada unos de los empleados que tenga un sueldo mayor al sueldo promedio de su departamento SELECT *FROM EMPLEADO E1 WHERE SUELDO_QUINCENAL> (SELECT AVG (SUELDO_QUINCENAL) FROM EMPLEADO E2 WHERE E1.NUM_DEPTO = E2.NUM_DEPTO)
Toda la informacin de los empleados que fueron contratados el ultimo mes en que hubo contrataciones SELECT *FROM EMPLEADO WHERE MONTH (FECHA_CONT) = (SELECT MONTH (MAX (FECHA_CONT) FROM EMPLEADO) AND YEAR (FECHA_CONT) = (SELECT YEAR (MAX (FECHA_CONT) FROM EMPLEADO)
Insercion de un nuevo registro a una tabla INSERT INTO EMPLEADO VALUES (1, HUITRON TOLEDO ADRIAN, HUTA871101HDFTLD02, 2011-03-01, 100.00, 017, 01 Al registro cambiarle la fecha UPDATE EMPLEADO SET FECHA_INGRESO = 2012-09-03 WHERE NUM_EMPLEADO = 1 Escribir el postulado o query para crear la vista con el nombre V1_EMPLEADO con base en la tabla empleado CREATE VIEW V1_EMPLEADO AS (SELECT * FROM EMPLEADO WHERE NUM_DEPTO BETWEEN 1 AND 99)
Otorgar grant al usuario u1234 otorgandole los commandos del DML y a su vez que el usuario pueda otorgar privilegios a otros usuarios GRANT SELECT, INSERT, UPDATE, DELETE ON V1_EMPLEADO TO U1234 WITH GRANT OPTION
Escribir el postulado para obtener las cifras anuales por departamento delo que se paga por concepto de sueldos 1.- sueldos actuales 2.- si se otorga un incremento del 3.89% 3.- por el total de ambos Solo para los departamentos que tengan al menos 2empleados cuyo sueldo promedio mensual sea menor a $9000 SELECT SUM (SUELDO_QUINCENAL)*24, SUM (SUELDO_QUINCENAL)*24*0.0389, SUM (SUELDO_QUINCENAL)*24*1.0389, NUM_DEPTO FROM EMPLEADO GROUP BY NUM_DEPTO HAVING COUNT (*) >= 2 AND AVG (SUELDO_QUINCENAL)*2<9000
Escibirel postulado para obtener de forma mensual el total de sueldos, el sueldo promedio, el sueldo maximo, sueldo minimo y la cardinalidad de cada depot pero solo de los departamentos que tengan al menos 10 empleados, sustituyendo las columnas por los siguientes nombres respectivamente total_de_sueldos, sueldo_promedio, sueldo_maximo, sueldo_minimo, cantidad_de_empleadosy ordenar por numero de departamento de forma descendente SELECT SUM (SUELDO_QUINCENAL)*2 AS TOTAL_DE_SUELDOS , AVG (SUELDO_QUIENCENAL)*2 AS SUELDO_PROMEDIO, MAX (SUELDO_QUINCENAL)*2 AS SUELDO_MAX, MIN (SUELDO_QUINCENAL)*2 AS SUELDO_MIN), COUNT (*) AS CA CONTIDAD_EMPLEADOS, NUM_DEPTO FROM EMPLEADO GROUP BY NUM_DEPTO HAVING COUNT (*) >9 ORDER BY NUM_DEPTO DESC
Escriba el postulado para obtener las columnas num_empleado, nom_empleado, la feha de nacimiento en format aa/mm/dd, la columna fech_ingreso de los empleados en el ultimo mes que hubo contrataciones, sustituyendo la columna para la obtencion de la fecha de nacimiento por la leyernda fecha de nacimiento SELECT NUM_EMPLEADO, NOM_EMPLEADO, SUBSTR (CURP, 5, 6) AS FECHA_DE _NACIMIENTO, FECH_INGRESO FROM EMPLEADO WHERE MONTH (FECH_INGRESO) = (SELECT MONTH (MAX (FECH_INGRESO)) FROM EMPLEADO) AND YEAR (FECH_INGRESO) = (SELECT YEAR (MAX (FECH_INGRESO)) FROM EMPLEADO)
Escriba el postulado para obtener las columnas num_empleado, nom_empleado, sueldo mensual, num_depto de los empleados que no tengan apellido Villarreal en el paterno suponiendo que este es el primero en todos los valores de la columna y ordenar por num_depto de forma ascendente. SELECT NUM_EMPELADO, NOM_EMPLEADO, (SUELDO_QUINCENAL)*2 AS SUELDO_MENSUAL, NUM_DEPTO FROM EMPLEADOS WHERE NOM_EMPLEADO NO LIKE VILLARREAL% ORDER BY NUM_DEPTO