Documentos de Académico
Documentos de Profesional
Documentos de Cultura
BASE DE DATOS
Docente: Ing. Daz Leyva Teodoro Tema: Implementacin de Consultas Bsicas Semana N 09
1. INTRODUCCIN Las consultas de seleccin se utilizan para indicar al motor de datos que devuelva informacin de las bases de datos. Esta informacin es devuelta en forma de conjunto de registros que se pueden almacenar en un objeto recordset. Este conjunto de registros es modificable. Cuando las peticiones se hacen ms complejas, deben utilizarse caractersticas adicionales de la sentencia SELECT para especificar la consulta con precisin. La sentencia SELECT consta de siete clusulas. Las clausulas SELECT y FROM de la sentencia son necesarias. Las cinco restantes son opcionales. Se incluyen en la sentencia SELECT solamente cuando se desean utilizar las funciones que proporcionan.
SELECT INTO FROM WHERE GROUP BY HAVING ORDER BY COMPUTE BY [WITH ROLLUP/CUBE]
Pgina 1 de 62
b.
USE MASTER if DB_ID('VENTAS') IS NOT NULL BEGIN DROP DATABASE VENTAS END CREATE DATABASE VENTAS ON (NAME='VENTAS_DATA', FILENAME='D:\BDVENTAS2013\VENTAS_DATA.MDF', SIZE=10MB, MAXSIZE=20MB, FILEGROWTH=1MB ) LOG ON (NAME='VENTAS_LOG', FILENAME='D:\BDVENTAS2013\\VENTAS_LOG.LDF', SIZE=5MB, MAXSIZE=15MB, FILEGROWTH=1MB ) Pgina 2 de 62
CREATE TABLE EMPLEADO( COD_EMP CHAR(7) NOT NULL, NOMBRES_EMP VARCHAR(30), APE_PATER_EMP VARCHAR(20), APE_MATER_EMP VARCHAR(20), FECHA_NAC_EMP DATE, DIRECCION_EMP VARCHAR(45), TELEFONO_EMP VARCHAR(20), COD_DIST_EMP CHAR(7) NOT NULL, CORREO_E_EMP VARCHAR(25), FECHA_INGRESO_EM DATE, COD_SUPERVISOR_EMP CHAR(7) ) CREATE TABLE CLIENTE( COD_CLI CHAR(7) NOT NULL, DIRECCION_CLI VARCHAR(45), TELFONO_CLI VARCHAR(20), CODDIST_CLI CHAR(7), COREO_E VARCHAR(25), WEB VARCHAR(45) ) Pgina 3 de 62
CREATE TABLE BOLETA( COD_BOL CHAR(7) NOT NULL, COD_EMP CHAR(7) NOT NULL, FECHA_BOL DATE, COD_CLI CHAR(7) NOT NULL, ESTADO_BOL VARCHAR(15) ) CREATE TABLE DETALLEBOLETA( COD_BOL CHAR(7) NOT NULL, COD_PRO CHAR(7) NOT NULL, CANTIDAD INT, PRECIOVENTA DECIMAL(9,2) )
Pgina 4 de 62
ALTER TABLE EMPLEADO ADD CONSTRAINT EMPLEADO_FK FOREIGN KEY(COD_SUPERVISOR_EMP) REFERENCES EMPLEADO(COD_EMP) GO ALTER TABLE EMPLEADO ADD CONSTRAINT DISTRITO_EMPLEADO_FK FOREIGN KEY(COD_DIST_EMP) REFERENCES DISTRITO(COD_DIST) GO Pgina 5 de 62
Pgina 6 de 62
INSERT INTO DISTRITO VALUES('D001','CHORRILLOS') INSERT INTO DISTRITO VALUES('D002','RIMAC') INSERT INTO DISTRITO VALUES('D003','BARRANCO') INSERT INTO DISTRITO VALUES('D004','LOS OLIVOS') INSERT INTO DISTRITO VALUES('D005','LINCE') INSERT INTO DISTRITO VALUES('D006','VILLA EL SALVADOR') INSERT INTO DISTRITO VALUES('D007','ANCON') INSERT INTO DISTRITO VALUES('D008','SURCO') GO INSERT INTO EMPLEADO( COD_EMP,NOMBRES_EMP,APE_PATER_EMP,APE_MATER_EMP,FECHA_NAC_E MP,DIRECCION_EMP,TELEFONO_EMP,COD_DIST_EMP,CORREO_E_EMP,FECH A_INGRESO_EM) VALUES ('E005', 'FRANO ','SALCEDO', ' PUMA', '12-06-70 ','JR. LOS NOGALES','578-7188','D003','JPEREZ@HOTMAIL.COM','22-08-76') INSERT INTO EMPLEADO VALUES( 'E001', 'FRANCISCO ','FLORES', ' SALAZAR', '26-05-85 ','AV. LOS ALISOS 233 ','578-7188','D002','JPEREZ@HOTMAIL.COM','2208-90','E005') INSERT INTO EMPLEADO VALUES( 'E002', 'MARIA','VASQUEZ', ' SILVA', '08-06-76 ','AV. LA MARINA 964 ','578-7122','D002','MVASQUEZ@HOTMAIL.COM','22-0895','E005') INSERT INTO EMPLEADO VALUES( 'E003', 'FANY ','RAMIREZ', ' VILLAR', '26-10-80 ','JR. PUNO 554 ','228-7182','D005','LRAMIREZ@HOTMAIL.COM','22-08-90','E005') INSERT INTO EMPLEADO VALUES( 'E004', 'DIANA ','MARIN', ' SILVA', '12-02-76 ','JR. LOS PINOS 235','578-7188','D003','DMARIN@HOTMAIL.COM','22-08-90','E005') INSERT INTO EMPLEADO VALUES( 'E006', 'ANGELICA','SIMEON', ' JULCA', '0810-76 ','AV. SALAZAR 44 ','578-7122','D002','ASJ@HOTMAIL.COM','22-05-80','E005') INSERT INTO EMPLEADO VALUES( 'E007', 'LUIS','MOTA', ' QUIROZ', '08-10-80 ','AV. PERU 911 ','511-7122','D002','LUISM@HOTMAIL.COM','22-08-95','E005') INSERT INTO EMPLEADO VALUES( 'E008', 'ANA','RUIZ', ' OLIVA', '08-10-76 ','AV. LA PAZ 964 ','578-7122','D002','ANAR@HOTMAIL.COM','22-05-80','E005') GO INSERT INTO TIPO_PRODUCTO VALUES('T001','ACEITES') INSERT INTO TIPO_PRODUCTO VALUES('T002','LICORES') INSERT INTO TIPO_PRODUCTO VALUES('T003','MATERIALES ELCTRICOS') GO INSERT INTO PRODUCTO VALUES('P001','ACEITES VEGETAL AGUACATE',120,5,'T001') INSERT INTO PRODUCTO VALUES('P002','ACEITES VEGETAL ALMENDRA DULCE',200,5,'T001') INSERT INTO PRODUCTO VALUES('P003','ACEITES VEGETAL GERMEN DE TRIGO',80,5,'T001') INSERT INTO PRODUCTO VALUES('P004','ACEITES VEGETAL JOJOBA',80,5,'T001')
Pgina 7 de 62
Pgina 9 de 62
DATENAME
Devuelve una cadena de caracteres que representa el datepart especificado de la fecha especificada.
DATEPART
Devuelve un entero que representa el mes de date especificado. MONTH devuelve el mismo valor que DATEPART (month, date).
SELECT MONTH(GETDATE()) AS 'MES DE LA FECHA DE SISTEMA'
YEAR
Devuelve un entero que representa el ao de date especificado. YEAR devuelve el mismo valor que DATEPART (year, date).
SELECT YEAR(GETDATE()) AS 'AO DE LA FECHA DE SISTEMA'
Funciones para el manejo de cadenas Funcin Descripcin Devuelve la parte izquierda de una cadena de caracteres con LEFT el nmero de caracteres especificado.
LEFT ( character_expression , integer_expression )
Devuelve el nmero de caracteres de la expresin de cadena especificad, excluidos los espacios en blanco finales.
LEN ( string_expression )
Devuelve una expresin de caracteres despus de convertir en minsculas los datos de caracteres en maysculas.
LOWER ( character_expression )
Devuelve una expresin de caracteres tras quitar todos los espacios iniciales en blanco.
LTRIM ( character_expression )
Devuelve una cadena de caracteres despus de truncar todos los espacios en blanco finales.
RTRIM ( character_expression )
Pgina 10 de 62
SUBSTRING
UPPER
Devuelve una expresin de caracteres con datos de caracteres en minsculas convertidos a maysculas.
UPPER ( character_expression )
Ejemplos: Funciones de fecha Mostrar la Fecha y Hora del Sistema. Mostrar el Mes actual en Numero. Mostrar el Mes actual el Letras. Mostrar el dia actual del sistema. Mostrar el mes actual. Mostrar el Ao actual. Mostrar el siguiente Formato: Dia, Mes, Ao Mostrar el siguiente Formato: Dia, Mes en Letras, Ao Select GETDATE() Select DATEPART(month,getDate()) Select DATENAME(month,getDate()) Select DAY(getDate()) Select MONTH(getDate()) Select YEAR(getDate()) Select DAY(getDate()) AS DIA, MONTH(getDate()) AS MES, YEAR(getDate()) AS AO Select DAY(getDate()) AS DIA, DATENAME(month,getDate()) as LETRAS], YEAR(getDate()) AS AO [MES EN
Pgina 11 de 62
Funciones numricas para Select Mostrar el Valor Select ABS(STOCK_MIN_PRO) Absoluto del Campo From Producto STOCK_MIN_PRO Mostrar los Precios de los Productos Select Ceiling(PRECIOVENTA) redondeados al entero From DETALLEBOLETA mas pequeo mayor o igual que el Precio. Mostrar los Precios de los productos Select Floor(PRECIOVENTA) redondeados al entero From DETALLEBOLETA mas grande que es menor o igual al Precio. Mostrar el Stock elevado Select Power(STOCK_ACT_PRO,2) a la dos de todos los From Producto productos. Mostrar los Precios de los Productos Select cod_bol, cod_pro,round(precioventa,2) redondeados a 2 from detalleboleta Decimales Mostrar a 2 decimales los Precios de los Select Convert(Char(10), precioventa,2) Productos utilizando From detalleboleta conversion. Funciones de Cadena para Select Mostrar las 3 Primeras Letras del Nombre del Select LEFT(nombres_emp,3) From Empleado Empleado Mostrar la longitud en cadena de caracteres del Select LEN(nombres_emp) From Empleado nombre de los Empleado Mostrar los datos de la Direccion de los Select LOWER(direccion_emp) From empleado empleados en escrito Minuscula Mostrar al reves los codigos registrados a Select REVERSE(cod_emp) From Empleado los Empleados Mostrar las 4 Ultimas Letras de la descripcin Select RIGHT(descrip_pro,4) From Producto del Producto
Pgina 12 de 62
select nombres_emp as Nombre, fecha_ingreso_em as [Fecha de Ingreso] , direccion_emp+','+space(1)+telefono_emp as Contacto,correo_e_emp as Correo from Empleado Select UPPER(direccion_emp)From empleado
2. CONSULTAS SENCILLAS La sintaxis bsica de una consulta de seleccin es la siguiente: SELECT Campos FROM Tabla En donde campos es la lista de campos que se deseen recuperar y tabla es el origen de los mismos, por ejemplo: SELECT * FROM EMPLEADO Esta consulta devuelve un recordset con todos los campos de la tabla EMPLEADOS. SELECT NOMBRES_EMP, APE_PATER_EMP FROM EMPLEADO Esta consulta devuelve un recordset con los campos NOMBRES_EMP y APE_PATER_EMP de la tabla EMPLEADO. 3. ORDENAR LOS REGISTROS Adicionalmente se puede especificar el orden en que se desean recuperar los registros de las tablas mediante la clusula ORDER BY (Lista de Campos). En donde Lista de campos representa los campos a ordenar. Ejemplo: SELECT * FROM EMPLEADO ORDER BY APE_PATER_EMP ASC Esta consulta devuelve todos los campos de la tabla EMPLEADO ordenados por el campo apellido paterno del empleado
Pgina 13 de 62
ALL Si no se incluye ninguno de los predicados se asume ALL. El motor de base de datos selecciona todos los registros que cumplen las condiciones de la instruccin SQL. No es conveniente abusar de este predicado ya que obligamos al motor de la base de datos a analizar la estructura de la tabla para averiguar los campos que contiene. Por ello, es mucho ms rpido indicar el listado de campos deseados. SELECT ALL * FROM EMPLEADO SELECT * FROM EMPLEADO TOP Devuelve un cierto nmero de registros que entran al principio o al final de un rango especificado por una clusula ORDER BY. Supongamos que queremos recuperar los nombres de los cinco (03) primeros recordset de la tabla EMPLEADO ordenados por apellido paterno en forma descendente: SELECT TOP 3 APE_PATER_EMP, APE_MATER_EMP, NOMBRES_EMP FROM EMPLEADO ORDER BY APE_PATER_EMP DESC Si no se incluye la clusula ORDER BY, la consulta devolver un conjunto arbitrario de cinco (03) registros de la tabla EMPLEADO. El predicado TOP no elige entre valores iguales.
TOP PERCENT Se puede utilizar la palabra reservada PERCENT para devolver un cierto porcentaje de registros que estn al principio o al final de un rango especificado por la clusula ORDER BY. Supongamos que en lugar de los cinco (05) primeros empleados, deseamos el veinte por ciento (20%) por ciento de la tabla de empleados: SELECT TOP 20 PERCENT APE_PATER_EMP, APE_MATER_EMP, NOMBRES_EMP FROM EMPLEADO ORDER BY APE_PATER_EMP DESC
Pgina 14 de 62
ALIAS En determinadas circunstancias es necesario asignar un nombre a alguna columna determinada de un conjunto devuelto, otras veces por simple capricho o por otras circunstancias. Para resolver todas ellas tenemos la palabra reservada AS que se encarga de asignar el nombre que deseamos a la columna deseada. Tomado como referencia el ejemplo anterior podemos hacer que la columna devuelta por la consulta, en lugar de llamarse NUMFAC (igual que el campo devuelto) se llame FACTURA. En este caso, procederamos de la siguiente forma: SELECT DISTINCT COD_BOL AS BOLETA FROM DETALLEBOLETA
5. CONSULTAS CONDICIONALES Empleo de condicionales IF EXISTS, AND, y operadores lgicos >, <, =, <>, BETWEEN, IN, OR, NOT, DISTINCT, LIKE.
Sentencia que presenta los campos cdigo de producto, descripcin del producto, stock del producto cuyo stock actual sea menor o igual que 60. SELECT COD_PRO, DESCRIP_PRO, STOCK_ACT_PRO FROM PRODUCTO WHERE STOCK_ACT_PRO<= 60 El predicado EXISTS (con la palabra reservada NOT opcional) se utiliza en comparaciones de verdadero o falso para determinar si la subconsulta devuelve algn registro. Supongamos que se desea determinar los empleados que han emitido una boleta SELECT COD_EMP, NOMBRES_EMP FROM EMPLEADO WHERE EXISTS (SELECT *FROM BOLETA WHERE BOLETA.COD_EMP=EMPLEADO.COD_EMP)
Usando operadores lgicos, por ejemplo presenta todos los campos de la tabla
producto, pero con el stock actual mayor o igual a 60 y menor o igual a 80
Para indicar que deseamos recuperar los registros segn el intervalo de valores de un campo, emplearemos el operador Between cuya sintaxis es de la siguiente manera: campo [Not] Between valor1 And valor2 (la condicin Not es opcional) En este caso la consulta devolvera los registros que contengan un "campo" con el valor incluido en el intervalo valor1, valor2 (ambos inclusive). Si anteponemos la condicin Not devolver aquellos valores no incluidos en el intervalo. Ejemplo: Lista de productos con stock actual entre 60 y 80 SELECT *FROM PRODUCTO WHERE STOCK_ACT_PRO BETWEEN 60 AND 80 EL OPERADOR LIKE Se utiliza para comparar una expresin de cadena con un modelo en una expresin SQL. Su sintaxis es de la siguiente manera: expresin Like modelo En donde, expresin es una cadena modelo o campo contra el que se compara expresin. Se puede utilizar el operador Like para encontrar valores en los campos que coincidan con el modelo especificado. De acuerdo con el modelo empleado, se puede especificar un valor completo (Ana Cecilia) o se pueden utilizar caracteres comodn como los reconocidos por el sistema operativo para encontrar un rango de valores (Like An%). El operador Like se puede utilizar en una expresin para comparar un valor de un campo con una expresin de cadena. Por ejemplo, si introduce Like C% en una consulta SQL, la consulta devuelve todos los valores de campo que comiencen por la letra C. En una consulta con parmetros, puede hacer que el usuario escriba el modelo que se va a utilizar. El ejemplo siguiente devuelve los datos que comienzan con la letra P seguido de cualquier letra entre A y F y de tres dgitos: Like 'P[A-F]###'
Pgina 16 de 62
EL OPERADOR IN Este operador devuelve aquellos registros cuyo campo indicado coincide con alguno de los en una lista. Su sintaxis es la siguiente: expresin [Not] In(valor1, valor2, . . .) Ejemplo: SELECT COD_EMP,NOMBRES_EMP,APE_PATER_EMP FROM EMPLEADO WHERE APE_PATER_EMP IN ('FLORES','RAMIREZ','SANCHEZ')
LA CLUSULA WHERE La clusula WHERE puede usarse para determinar qu registros de las tablas enumeradas en la clusula FROM aparecern en los resultados de la instruccin SELECT. Despus de escribir esta clusula se deben especificar las condiciones expuestas en los puntos anteriores de la presente sesin. Si no se emplea esta clusula, la consulta devolver todas las filas de la tabla. WHERE es opcional, pero cuando aparece debe ir a continuacin de FROM. CONSULTAS CONDICIONALES Empleando las clasulas GROUP BY y HAVING, SUM, MIN, MAX, AVG y COUNT GROUP BY y HAVING Combina los registros con valores idnticos, en la lista de campos especificados, en un nico registro. Para cada registro, se crea un valor sumario si se incluye una funcin SQL agregada, como SUM o COUNT (como veremos despus), en la instruccin SELECT. Su sintaxis es la siguiente:
6.
SELECT CAMPOS FROM TABLA WHERE CRITERIO GROUP BY CAMPOS DEL GRUPO GROUP BY es opcional. Los valores de resumen se omiten si no existe una funcin SQL agregada en la instruccin SELECT. Los valores NULL en los campos GROUP BY se agrupan y no se omiten. No obstante, los valores NULL no se evalan en ninguna de las funciones SQL agregadas.
Pgina 17 de 62
Pgina 18 de 62
que
tenemos
los
siguientes
datos
de
la
tabla
Se solicita mostrar el nmero de contrato y el monto acumulado por cada contrato. SELECT DET.COD_CONT, MONTO=SUM(DEP.PRECIO_ALQXMES_DEP * (DATEDIFF(MM,DET.FEC_INI_ALQ,DET.FEC_FIN_ALQ))) FROM DEPARTAMENTOS DEP, DETALLECONTRATO DET WHERE DEP.COD_EDIF=DET.COD_EDIF. AND DEP.COD_DEP=DET.COD_DEP GROUP BY DET.COD_CONT Pgina 19 de 62
Pgina 21 de 62
Pgina 22 de 62
Crear base de datos USE MASTER GO If exists(select * from sysdatabases where name = 'ESTUDIO') Begin DROP DATABASE ESTUDIO End CREATE DATABASE ESTUDIO GO
Pgina 23 de 62
) GO CREATE TABLE TA_ASIGNATURA_TUTORIA( IN_PERIODO INTEGER NOT NULL, IN_ASIGNATURA INTEGER NOT NULL, IN_SECUENCIAL INTEGER NOT NULL, DT_FECHA DATETIME, PRIMARY KEY(IN_PERIODO ,IN_ASIGNATURA,IN_SECUENCIAL )
) GO ALTER TABLE TA_ALUMNO_ASIGNATURA ADD FOREIGN KEY (IN_PERIODO,IN_ASIGNATURA) REFERENCES TA_ASIGNATURA_PERIODO GO ALTER TABLE TA_ASIGNATURA_TUTORIA ADD FOREIGN KEY (IN_PERIODO,IN_ASIGNATURA) REFERENCES TA_ASIGNATURA_PERIODO Cargar datos USE ESTUDIO GO set dateformat dmy GO DELETE FROM TA_BOLETA_PAGO DELETE FROM TA_ALUMNO_ASIGNATURA DELETE FROM TA_ASIGNATURA_TUTORIA DELETE FROM TA_ASIGNATURA_PERIODO DELETE FROM TA_ALUMNO DELETE FROM TA_ASIGNATURA DELETE FROM TA_PERIODO /* TABLA : PERIODO */ INSERT INTO TA_PERIODO( IN_PERIODO ) VALUES(200301) INSERT INTO TA_PERIODO( IN_PERIODO ) Pgina 25 de 62
Pgina 27 de 62
Pgina 28 de 62
) VALUES (14,'CARLOS','ESPINOZA','MONTES','S','05/12/1975','36559632','cespinoza@gmail.c om') INSERT INTO TA_ALUMNO( IN_ALUMNO, VC_NOMBRE, VC_PATERNO, VC_MATERNO, CH_ESTADOCIVIL, DT_FECHANACIMIENTO, VC_DNI, VC_EMAIL ) VALUES (15,'ARMANDO','MEJIA','SOTO','S','05/12/1982','4569823','amejia@gmail.com') INSERT INTO TA_ALUMNO( IN_ALUMNO, VC_NOMBRE, VC_PATERNO, VC_MATERNO, CH_ESTADOCIVIL, DT_FECHANACIMIENTO, VC_DNI, VC_EMAIL ) VALUES (16,'CELESTINO','ROBLES','PEREZ','S','05/12/1985','4569823','crobles@gmail.com') INSERT INTO TA_ALUMNO( IN_ALUMNO, VC_NOMBRE, VC_PATERNO, VC_MATERNO, CH_ESTADOCIVIL, DT_FECHANACIMIENTO, VC_DNI, VC_EMAIL ) VALUES (17,'WALTER','VILCHEZ','PERALES','C','05/12/1980','3216549','wvilchez@gmail.com') INSERT INTO TA_ALUMNO( IN_ALUMNO, Pgina 30 de 62
) VALUES (18,'JAVIER','SANTISTEBAN','MORALES','C','05/12/1982','45698712','jsantisteban@g mail.com') INSERT INTO TA_ALUMNO( IN_ALUMNO, VC_NOMBRE, VC_PATERNO, VC_MATERNO, CH_ESTADOCIVIL, DT_FECHANACIMIENTO, VC_DNI, VC_EMAIL ) VALUES (19,'JOSE','YAURI','ROBLES','C','05/12/1981','56982135','jyauri@gmail.com') INSERT INTO TA_ALUMNO( IN_ALUMNO, VC_NOMBRE, VC_PATERNO, VC_MATERNO, CH_ESTADOCIVIL, DT_FECHANACIMIENTO, VC_DNI, VC_EMAIL ) VALUES (20,'JORGE','BUENO','GARAY','S','04/10/1982','32569874','jbueno@gmail.com') /* TABLA : ASIGNATURA */ INSERT INTO TA_ASIGNATURA( IN_ASIGNATURA, VC_NOMBRE ) VALUES(1,'ANLISIS MATEMATICO 1') INSERT INTO TA_ASIGNATURA( IN_ASIGNATURA, Pgina 31 de 62
) VALUES(200301,1,45,'08/08/2003','12/12/2003') INSERT INTO TA_ASIGNATURA_PERIODO( IN_PERIODO, IN_ASIGNATURA, IN_CAPACIDAD, DT_FECHAINICIO, DT_FECHAFIN ) VALUES(200302,1,45,'08/08/2003','12/12/2003') INSERT INTO TA_ASIGNATURA_PERIODO( IN_PERIODO, IN_ASIGNATURA, IN_CAPACIDAD, DT_FECHAINICIO, DT_FECHAFIN ) VALUES(200302,2,60,'08/08/2003','12/12/2003') -- Periodo 200401 INSERT INTO TA_ASIGNATURA_PERIODO( IN_PERIODO, IN_ASIGNATURA, IN_CAPACIDAD, DT_FECHAINICIO, DT_FECHAFIN ) VALUES(200401,1,45,'05/04/2004','15/09/2004') INSERT INTO TA_ASIGNATURA_PERIODO( IN_PERIODO, IN_ASIGNATURA, IN_CAPACIDAD, DT_FECHAINICIO, DT_FECHAFIN ) VALUES(200401,2,60,'03/04/2004','10/07/2004') INSERT INTO TA_ASIGNATURA_PERIODO( IN_PERIODO, IN_ASIGNATURA, Pgina 34 de 62
) VALUES(200401,3,50,'03/04/2004','10/07/2004') INSERT INTO TA_ASIGNATURA_PERIODO( IN_PERIODO, IN_ASIGNATURA, IN_CAPACIDAD, DT_FECHAINICIO, DT_FECHAFIN ) VALUES(200401,4,70,'03/04/2004','10/07/2004') INSERT INTO TA_ASIGNATURA_PERIODO( IN_PERIODO, IN_ASIGNATURA, IN_CAPACIDAD, DT_FECHAINICIO, DT_FECHAFIN ) VALUES(200401,5,40,'03/04/2004','10/07/2004') -- Periodo 200402 INSERT INTO TA_ASIGNATURA_PERIODO( IN_PERIODO, IN_ASIGNATURA, IN_CAPACIDAD, DT_FECHAINICIO, DT_FECHAFIN ) VALUES(200402,1,50,'03/04/2004','10/07/2004') INSERT INTO TA_ASIGNATURA_PERIODO( IN_PERIODO, IN_ASIGNATURA, IN_CAPACIDAD, DT_FECHAINICIO, DT_FECHAFIN ) VALUES(200402,2,40,'08/08/2004','05/12/2004') INSERT INTO TA_ASIGNATURA_PERIODO( IN_PERIODO, IN_ASIGNATURA, IN_CAPACIDAD, DT_FECHAINICIO, DT_FECHAFIN Pgina 35 de 62
) VALUES(200501,8,45,'17/04/2005','19/08/2005') INSERT INTO TA_ASIGNATURA_PERIODO( IN_PERIODO, IN_ASIGNATURA, IN_CAPACIDAD, DT_FECHAINICIO, DT_FECHAFIN ) VALUES(200501,11,45,'20/04/2005','19/08/2005') INSERT INTO TA_ASIGNATURA_PERIODO( IN_PERIODO, IN_ASIGNATURA, IN_CAPACIDAD, DT_FECHAINICIO, DT_FECHAFIN ) VALUES(200501,12,55,'23/04/2005','20/08/2005') INSERT INTO TA_ASIGNATURA_PERIODO( IN_PERIODO, IN_ASIGNATURA, IN_CAPACIDAD, DT_FECHAINICIO, DT_FECHAFIN ) VALUES(200501,13,45,'18/04/2005','20/08/2005') INSERT INTO TA_ASIGNATURA_PERIODO( IN_PERIODO, IN_ASIGNATURA, IN_CAPACIDAD, DT_FECHAINICIO, DT_FECHAFIN ) VALUES(200501,16,50,'19/04/2005','15/08/2005') INSERT INTO TA_ASIGNATURA_PERIODO( IN_PERIODO, IN_ASIGNATURA, IN_CAPACIDAD, DT_FECHAINICIO, DT_FECHAFIN Pgina 38 de 62
INSERT INTO TA_ASIGNATURA_TUTORIA( IN_PERIODO, IN_ASIGNATURA, IN_SECUENCIAL, DT_FECHA ) VALUES (200402,3,4,'15/01/2005') INSERT INTO TA_ASIGNATURA_TUTORIA( IN_PERIODO, IN_ASIGNATURA, IN_SECUENCIAL, DT_FECHA ) VALUES (200402,4,1,'17/12/2004') INSERT INTO TA_ASIGNATURA_TUTORIA( IN_PERIODO, IN_ASIGNATURA, IN_SECUENCIAL, DT_FECHA ) VALUES (200402,4,2,'19/12/2004') INSERT INTO TA_ASIGNATURA_TUTORIA( IN_PERIODO, IN_ASIGNATURA, IN_SECUENCIAL, DT_FECHA ) VALUES (200402,4,3,'20/12/2004') INSERT INTO TA_ASIGNATURA_TUTORIA( IN_PERIODO, IN_ASIGNATURA, IN_SECUENCIAL, DT_FECHA ) VALUES (200402,5,1,'16/11/2004') INSERT INTO TA_ASIGNATURA_TUTORIA( IN_PERIODO, IN_ASIGNATURA, IN_SECUENCIAL, DT_FECHA ) VALUES (200402,5,2,'20/12/2004')
Pgina 42 de 62
) VALUES (200501,3,1,'02/05/2005') INSERT INTO TA_ASIGNATURA_TUTORIA( IN_PERIODO, IN_ASIGNATURA, IN_SECUENCIAL, DT_FECHA ) VALUES (200501,3,2,'03/05/2005') INSERT INTO TA_ASIGNATURA_TUTORIA( IN_PERIODO, IN_ASIGNATURA, IN_SECUENCIAL, DT_FECHA ) VALUES (200501,3,3,'03/05/2005') INSERT INTO TA_ASIGNATURA_TUTORIA( IN_PERIODO, IN_ASIGNATURA, IN_SECUENCIAL, DT_FECHA ) VALUES (200501,4,1,'15/05/2005') INSERT INTO TA_ASIGNATURA_TUTORIA( IN_PERIODO, IN_ASIGNATURA, IN_SECUENCIAL, DT_FECHA ) VALUES (200501,4,2,'20/06/2005') INSERT INTO TA_ASIGNATURA_TUTORIA( IN_PERIODO, IN_ASIGNATURA, IN_SECUENCIAL, DT_FECHA ) VALUES (200501,16,1,'10/05/2005') INSERT INTO TA_ASIGNATURA_TUTORIA( IN_PERIODO, IN_ASIGNATURA, Pgina 44 de 62
) VALUES (200501,16,2,'18/05/2005') INSERT INTO TA_ASIGNATURA_TUTORIA( IN_PERIODO, IN_ASIGNATURA, IN_SECUENCIAL, DT_FECHA ) VALUES (200501,16,3,'20/06/2005') /* TABLA : TA_ALUMNO_ASIGNATURA */ INSERT INTO TA_ALUMNO_ASIGNATURA( IN_PERIODO, IN_ASIGNATURA, IN_ALUMNO, FL_NOTA ) VALUES(200402,1,1,15) INSERT INTO TA_ALUMNO_ASIGNATURA( IN_PERIODO, IN_ASIGNATURA, IN_ALUMNO, FL_NOTA ) VALUES(200402,2,1,14) INSERT INTO TA_ALUMNO_ASIGNATURA( IN_PERIODO, IN_ASIGNATURA, IN_ALUMNO, FL_NOTA ) VALUES(200402,3,1,16) INSERT INTO TA_ALUMNO_ASIGNATURA( IN_PERIODO, IN_ASIGNATURA, IN_ALUMNO, FL_NOTA ) VALUES(200402,1,2,10) INSERT INTO TA_ALUMNO_ASIGNATURA( IN_PERIODO, IN_ASIGNATURA, Pgina 45 de 62
) VALUES(200402,2,2,13) INSERT INTO TA_ALUMNO_ASIGNATURA( IN_PERIODO, IN_ASIGNATURA, IN_ALUMNO, FL_NOTA ) VALUES(200402,1,3,12) INSERT INTO TA_ALUMNO_ASIGNATURA( IN_PERIODO, IN_ASIGNATURA, IN_ALUMNO, FL_NOTA ) VALUES(200402,5,3,15) INSERT INTO TA_ALUMNO_ASIGNATURA( IN_PERIODO, IN_ASIGNATURA, IN_ALUMNO, FL_NOTA ) VALUES(200402,3,4,18) INSERT INTO TA_ALUMNO_ASIGNATURA( IN_PERIODO, IN_ASIGNATURA, IN_ALUMNO, FL_NOTA ) VALUES(200402,4,4,17) INSERT INTO TA_ALUMNO_ASIGNATURA( IN_PERIODO, IN_ASIGNATURA, IN_ALUMNO, FL_NOTA ) VALUES(200402,4,5,17) INSERT INTO TA_ALUMNO_ASIGNATURA( IN_PERIODO, IN_ASIGNATURA, IN_ALUMNO, FL_NOTA Pgina 46 de 62
INSERT INTO TA_ALUMNO_ASIGNATURA( IN_PERIODO, IN_ASIGNATURA, IN_ALUMNO, FL_NOTA ) VALUES(200401,2,2,08) -- Repitentes INSERT INTO TA_ALUMNO_ASIGNATURA( IN_PERIODO, IN_ASIGNATURA, IN_ALUMNO, FL_NOTA ) VALUES(200402,1,15,07) INSERT INTO TA_ALUMNO_ASIGNATURA( IN_PERIODO, IN_ASIGNATURA, IN_ALUMNO, FL_NOTA ) VALUES(200402,5,15,08) INSERT INTO TA_ALUMNO_ASIGNATURA( IN_PERIODO, IN_ASIGNATURA, IN_ALUMNO, FL_NOTA ) VALUES(200402,11,16,09) INSERT INTO TA_ALUMNO_ASIGNATURA( IN_PERIODO, IN_ASIGNATURA, IN_ALUMNO, FL_NOTA ) VALUES(200402,12,17,10) -- Periodo 200501 INSERT INTO TA_ALUMNO_ASIGNATURA( IN_PERIODO, IN_ASIGNATURA, IN_ALUMNO, FL_NOTA ) Pgina 48 de 62
Pgina 49 de 62
) VALUES(200501,5,18,12) INSERT INTO TA_ALUMNO_ASIGNATURA( IN_PERIODO, IN_ASIGNATURA, IN_ALUMNO, FL_NOTA ) VALUES(200501,11,18,14) INSERT INTO TA_ALUMNO_ASIGNATURA( IN_PERIODO, IN_ASIGNATURA, IN_ALUMNO, FL_NOTA ) VALUES(200501,16,18,17) INSERT INTO TA_ALUMNO_ASIGNATURA( IN_PERIODO, IN_ASIGNATURA, IN_ALUMNO, FL_NOTA ) VALUES(200501,17,18,19) INSERT INTO TA_ALUMNO_ASIGNATURA( IN_PERIODO, IN_ASIGNATURA, IN_ALUMNO, FL_NOTA ) VALUES(200501,2,19,14) INSERT INTO TA_ALUMNO_ASIGNATURA( IN_PERIODO, IN_ASIGNATURA, IN_ALUMNO, FL_NOTA ) VALUES(200501,3,19,16) INSERT INTO TA_ALUMNO_ASIGNATURA( IN_PERIODO, IN_ASIGNATURA, IN_ALUMNO, Pgina 51 de 62
Pgina 53 de 62
) VALUES (20040231,200402,3,800) INSERT INTO TA_BOLETA_PAGO( IN_BOLETA, IN_PERIODO, IN_ALUMNO, FL_MONTO ) VALUES (20040232,200402,3,800) INSERT INTO TA_BOLETA_PAGO( IN_BOLETA, IN_PERIODO, IN_ALUMNO, FL_MONTO ) VALUES (20040233,200402,3,800) INSERT INTO TA_BOLETA_PAGO( IN_BOLETA, IN_PERIODO, IN_ALUMNO, FL_MONTO ) VALUES (20040234,200402,3,800) INSERT INTO TA_BOLETA_PAGO( IN_BOLETA, IN_PERIODO, IN_ALUMNO, FL_MONTO ) VALUES (20040241,200402,4,700) INSERT INTO TA_BOLETA_PAGO( IN_BOLETA, IN_PERIODO, IN_ALUMNO, FL_MONTO ) VALUES (20040251,200402,5,600) INSERT INTO TA_BOLETA_PAGO( IN_BOLETA, IN_PERIODO, Pgina 55 de 62
) VALUES (20040261,200402,6,550) INSERT INTO TA_BOLETA_PAGO( IN_BOLETA, IN_PERIODO, IN_ALUMNO, FL_MONTO ) VALUES (20040262,200402,6,550) INSERT INTO TA_BOLETA_PAGO( IN_BOLETA, IN_PERIODO, IN_ALUMNO, FL_MONTO ) VALUES (20040263,200402,6,550) INSERT INTO TA_BOLETA_PAGO( IN_BOLETA, IN_PERIODO, IN_ALUMNO, FL_MONTO ) VALUES (20040111,200401,1,600) INSERT INTO TA_BOLETA_PAGO( IN_BOLETA, IN_PERIODO, IN_ALUMNO, FL_MONTO ) VALUES (20040121,200401,2,700) INSERT INTO TA_BOLETA_PAGO( IN_BOLETA, IN_PERIODO, IN_ALUMNO, FL_MONTO ) VALUES (20040131,200401,3,600) INSERT INTO TA_BOLETA_PAGO( IN_BOLETA, IN_PERIODO, IN_ALUMNO, FL_MONTO Pgina 56 de 62
INSERT INTO TA_BOLETA_PAGO( IN_BOLETA, IN_PERIODO, IN_ALUMNO, FL_MONTO ) VALUES (200501162,200501,16,500) INSERT INTO TA_BOLETA_PAGO( IN_BOLETA, IN_PERIODO, IN_ALUMNO, FL_MONTO ) VALUES (200501163,200501,16,500) INSERT INTO TA_BOLETA_PAGO( IN_BOLETA, IN_PERIODO, IN_ALUMNO, FL_MONTO ) VALUES (200501171,200501,17,480) INSERT INTO TA_BOLETA_PAGO( IN_BOLETA, IN_PERIODO, IN_ALUMNO, FL_MONTO ) VALUES (200501172,200501,17,530) INSERT INTO TA_BOLETA_PAGO( IN_BOLETA, IN_PERIODO, IN_ALUMNO, FL_MONTO ) VALUES (200501173,200501,17,490) INSERT INTO TA_BOLETA_PAGO( IN_BOLETA, IN_PERIODO, IN_ALUMNO, FL_MONTO ) VALUES (200501181,200501,18,430) INSERT INTO TA_BOLETA_PAGO( Pgina 58 de 62
) VALUES (200501182,200501,18,480) INSERT INTO TA_BOLETA_PAGO( IN_BOLETA, IN_PERIODO, IN_ALUMNO, FL_MONTO ) VALUES (200501183,200501,18,540) INSERT INTO TA_BOLETA_PAGO( IN_BOLETA, IN_PERIODO, IN_ALUMNO, FL_MONTO ) VALUES (200501191,200501,19,420) INSERT INTO TA_BOLETA_PAGO( IN_BOLETA, IN_PERIODO, IN_ALUMNO, FL_MONTO ) VALUES (200501192,200501,19,450) INSERT INTO TA_BOLETA_PAGO( IN_BOLETA, IN_PERIODO, IN_ALUMNO, FL_MONTO ) VALUES (200501193,200501,19,500) INSERT INTO TA_BOLETA_PAGO( IN_BOLETA, IN_PERIODO, IN_ALUMNO, FL_MONTO ) VALUES (200501201,200501,20,480) INSERT INTO TA_BOLETA_PAGO( IN_BOLETA, IN_PERIODO, Pgina 59 de 62
) VALUES (200501202,200501,20,480) INSERT INTO TA_BOLETA_PAGO( IN_BOLETA, IN_PERIODO, IN_ALUMNO, FL_MONTO ) VALUES (200501203,200501,20,480)
Pgina 60 de 62
Pgina 61 de 62
Pgina 62 de 62