37
BASE DE DATOS TIPOS DE BASES DE DATOS CONSULTAS Y SUB CONSULTAS EN SQL SERVER 2005

BASE DE DATOS TIPOS DE BASES DE DATOS CONSULTAS Y SUB … · 2017-04-25 · Base de datos Tipos de bases de datos Comandos y consultas C O N T E N I D O 1. El Lenguaje de Gestión

  • Upload
    others

  • View
    38

  • Download
    2

Embed Size (px)

Citation preview

BASE DE DATOSTIPOS DE BASES DE DATOS

CONSULTAS Y SUB CONSULTASEN SQL SERVER 2005

UNIVERSIDAD NACIONAL DEL CALLAOFACULTAD DE CIENCIAS DE LA SALUD

CAPITULO IIBase de datos. Tipos de base de datos. Comandos y consultas

Autor: Ms. Lic. Lucio Arnulfo Ferrer Peñaranda

Base dedatos

Pág. 61

2Base de datos

Tipos de bases de datosComandos y consultas

C O N T E N I D O

1. El Lenguaje de Gestión deDatos

2. Creación de una tabla3. Introducción a la Información4. Búsqueda de Información de

una Tabla5. Búsqueda por palabras

incompletas6. Cómo se ordena el resultado

de una búsqueda7. Cómo se evitan las líneas

repetidas en un listado8. Búqueda de Información en

Varias Tablas: JOIN QUERY9. Expresiones Aritméticas y

Funciones para el Manejo deTexto

10.Funciones para el manejo deTextos

11.Formato de Fecha y hora12.Funciones para el manejo de

Grupos de filas13.Condiciones de búsqueda de

un grupo de líneas: HAVING14.Sub búsquedas o Sub series15.Modificación de la Información

Almacenada16.Actualización de una Tabla17.Cómo insertar nuevos

registros en un Tabla18.Cambios de la Estructura de

una base de datos19.Cómo modificar la capacidad

de los datos de una Tabla20.Vistas alternativas de

Información21.Búsqueda de integridad de la

información en los Views22.Guía de Laboratorio

Referenciales

O B J E T I V O S

El objetivo del presente capítulo, es:

Desarrollar el tema de base de datos

Desarrollar tipos de bases de datos

Desarrollar consultas y sub consultas en SQL Server 2005

UNIVERSIDAD NACIONAL DEL CALLAOFACULTAD DE CIENCIAS DE LA SALUD

CAPITULO IIBase de datos. Tipos de base de datos. Comandos y consultas

Autor: Ms. Lic. Lucio Arnulfo Ferrer Peñaranda

Base dedatos

Pág. 62

El tema base de datos SQL Server es parte de la sumilla de la Asignatura deInformática Aplicada en Salud, que textualmente dice:SUMILLA.- La asignatura brinda conocimientos sobre: Visión sistemática de laInformática en salud; programación y bases de datos; Análisis y Algoritmosmatemáticos; Edición, Compilación y Ejecución de Programas con un lenguajecientífico actualizado; Diseño de sistemas y aplicaciones en Salud.El objetivo según el Sílabo que se dicta en el Semestre Académico 2009-A indica:OBJETIVO GENERAL.- El estudiante al finalizar el curso será capaz decomprender el uso de Software aplicado a la Ciencias de la salud e informatizarprocesos estadísticos aplicados en Salud.El concepto básico en el almacenamiento de datos es el registro. El registroagrupa la información asociada a un elemento de un conjunto, y está compuestopor campos. Así por ejemplo, un registro correspondiente a un libro no es másque un elemento de un conjunto: biblioteca, elenco bibliográfico, etc. A su vez,ese registro contiene toda la información asociada al libro, clasificada en campos:título, autor, fecha de edición, etc.Se puede hablar de propiedades características o campos característicos, ypropiedades secundarias o campos secundarios según definan o complementenel elemento representado por el registro. Por ejemplo, el registro empleados tienelos siguientes campos: DNI, Nombre, Apellidos, Edad, Población, Sueldo. Loscampos DNI, Nombre y Apellidos son elementos o campos característicos. Losrestantes son secundarios. Un fichero o tabla es un conjunto de registroshomogéneos con la misma estructura:

Cuando se tienen varias tablas o ficheros con algún campo en común, entoncespueden relacionarse y constituyen una base de datos relacional:

En el ejemplo anterior, puede extraerse la información relacionada en las dostablas, por medio del campo común DNI; por ejemplo:

UNIVERSIDAD NACIONAL DEL CALLAOFACULTAD DE CIENCIAS DE LA SALUD

CAPITULO IIBase de datos. Tipos de base de datos. Comandos y consultas

Autor: Ms. Lic. Lucio Arnulfo Ferrer Peñaranda

Base dedatos

Pág. 63

“Buscar en la tabla los puestos de trabajo desempeñados y la antigüedad delempleado con nombre = Luis”Hasta hace un tiempo, y siempre que se deseara una base de datosespecialmente diseñada, se utilizaban bases de datos con estructura jerárquica ode red, mediante anillos interconectados. La información afín está organizada enanillos (listas cíclicas), por ejemplo empresas, ciudades, trabajos... De cada anillose pasa otro anillo de conceptos subordinados. Por ejemplo una base de datos deuna empresa para su personal en varias ciudades puede ser:

Este tipo de bases son especialmente eficientes en búsquedas acordes con suestructura, por ejemplo: “[[questiondown]] qué ajustadores trabajan en Valencia”;pero ante otras preguntas como “[[questiondown]]Cuántas personas tienecontratadas mi empresa?” la búsqueda se hace bastante más difícil.Además, las bases de datos en red y jerárquicas requieren un diseño específicoajustado a las consultas, por lo que no suele usarse ante las dificultades técnicasque plantea su desarrollo.Un ejemplo de bases de datos jerárquicas, aunque no basada en anillos múltiples,sería el de una base de datos construida según la organización jerárquica de laspiezas que componen un vehículo:

UNIVERSIDAD NACIONAL DEL CALLAOFACULTAD DE CIENCIAS DE LA SALUD

CAPITULO IIBase de datos. Tipos de base de datos. Comandos y consultas

Autor: Ms. Lic. Lucio Arnulfo Ferrer Peñaranda

Base dedatos

Pág. 64

El modelo relacional, basado en tablas, tiene en la actualidad una difusión mayor.Las búsquedas pueden ser mucho más flexibles, basadas en cualquier campo(DNI, Nombre, etc.). Para hacer búsquedas rápidas deben definirse camposíndice. Los campos comunes por donde se conectan las tablas deben tener uníndice definido.Se conoce como gestor de bases de datos al programa de ordenador que sirvepara definir, diseñar y utilizar los registros, ficheros y formularios de la base dedatos. Generadores de bases de datos muy conocidos son ORACLE, SyBase,INFORMIX, FOX BASE, PARADOX, ACCESS...

1. EL LENGUAJE DE GESTIÓN DE BASES DE DATOS SQLHasta la década de los 80, las personas que preparaban las consultas einformes de una base de datos debían ser programadores. Al aparecer lasbases de datos con lenguajes de consulta sencillos y estandarizados,semejantes al lenguaje natural, el proceso de consulta puede hacerlo cualquierusuario mediante un lenguaje escrito asequible.El lenguaje de gestión de bases de datos más conocido en la actualidad es elSQL, Structured Query Language, que es un lenguaje estandar internacional,comúnmente aceptado por los fabricantes de generadores de bases de datos.En concreto, el gestor de bases de datos Oracle utiliza el lenguaje SQL.El SQL trabaja con estructura cliente/servidor sobre una red de ordenadores. Elordenador cliente es el que inicia la consulta; el ordenador servidor es queatiende esa consulta. El cliente utiliza toda su capacidad de proceso paratrabajar; se limita a solicitar datos al ordenador servidor, sin depender paranada más del exterior. Estas peticiones y las respuestas son transferencias detextos que cada ordenador cliente se encarga de sacar por pantalla, presentaren informes tabulados, imprimir, guardar, etc., dejando el servidor libre.El SQL permite:? Definir una base de datos mediante tablas? Almacenar información en tablas.? Seleccionar la información que sea necesaria de la base de datos.

UNIVERSIDAD NACIONAL DEL CALLAOFACULTAD DE CIENCIAS DE LA SALUD

CAPITULO IIBase de datos. Tipos de base de datos. Comandos y consultas

Autor: Ms. Lic. Lucio Arnulfo Ferrer Peñaranda

Base dedatos

Pág. 65

? Realizar cambios en la información y estructura de los datos.? Combinar y calcular datos para conseguir la información necesaria.SQL es el lenguaje de comunicación entre el programa cliente y programaservidor; Oracle es un programa servidor, en el que está la base de datospropiamente dicha. El usuario accede con alguno de los programas clientesdisponibles para consultar Oracle.En este manual se explica cómo emplear SQL para:? Crear y modificar la estructura de una tabla de datos.? Seleccionar información de una tabla.? Añadir datos a una tabla.? Introducir información en una tabla.? Realizar consultas entre tablas con campos comunes.

Estructura de una base de datosUna base de datos Oracle está formada por tablas. Los ejemplos de estemanual se basan en las tablas de departamentos DEPT y empleados EMP deuna empresa.DEPT:

EMP:

2. CREACIÓN DE UNA TABLAAntes de cualquier consulta a una base de datos debe crearse una tabla eintroducir la información. En nuestro caso creamos las dos tablas que vamos autilizar como ejemplo:CREATE TABLE DEPT (DEPTNO NUMBER (2), DNAME CHAR (14),LOC CHAR (13));

UNIVERSIDAD NACIONAL DEL CALLAOFACULTAD DE CIENCIAS DE LA SALUD

CAPITULO IIBase de datos. Tipos de base de datos. Comandos y consultas

Autor: Ms. Lic. Lucio Arnulfo Ferrer Peñaranda

Base dedatos

Pág. 66

El comando crear tabla (CREATE TABLE) indica al servidor Oracle que nombrequeremos poner a la tabla, los nombres de las columnas de la tabla(n[[ordmasculine]] de departamento, nombre del departamento y localidad) y eltipo de información que cada columna va a contener. La columna DEPTNOtendrá información numérica (2 dígitos), DNAME tendrá 14 caracteres y LOCtendrá 13 caracteres; de este modo especificamos la longitud máxima decualquier dato que pueda ser almacenado en las columnas de la tabla.Se procede de forma análoga con la tabla empleados EMP con el comandoCREATE TABLE:

CREATE TABLE EMP (EMPNO NUMBER(4) NOT NULL,ENAME CHAR(10),JOB CHAR(9),MGR NUMBER(9),HIREDATE DATE,SAL NUMBER(7,2),COMM NUMBER(7,2),DEPTNO NUMBER(2));En esta tabla se ha definido la columna n[[ordmasculine]] de empleado(EMPNO) como no nula, esto significa que cada campo de esa columna debecontener un valor. Esta especificación NOT NULL es un ejemplo de cómoORACLE analiza los valores que se introducen en cada campo y compruebaque se cumple lo especificado.Aunque el número máximo de caracteres definido para un campo sea -porejemplo- 14, si sólo se ocupan 4, ORACLE solo utiliza cuatro en disco. Losvalores nulos no ocupan espacio.

3. INTRODUCCIÓN DE LA INFORMACIÓNTan pronto como se ha creado la tabla, puede comenzarse a introducir líneas oregistros de información mediante comando INSERT:

INSERT INTO DEPT VALUES (30,’SALES’,’CHICAGO);En este comando, primero se nombra la tabla de la base de datos en la quequieren insertarse los datos (DEPT), y a continuación la lista de valores quevan a ir en cada columna (30, ‘Ventas’, ‘Chicago’)

4. BÚSQUEDA DE INFORMACIÓN EN UNA TABLALa operación más común en una base de datos es pedir información, y sedenomina búsqueda o Query. El comando Select va seguido de FROM y enocasiones de WHERE. SELECT especifica las columnas, FROM especifica lastablas y WHERE especifica las condiciones. Si no hay condiciones debúsqueda se presentarán las columnas completas, sin restricciones. En esteejemplo, el comando Headers() especifica que el listado ponga los nombres delas columnas (DNAME, DEPTNO, LOC); PrintAll, imprime los datos.

UNIVERSIDAD NACIONAL DEL CALLAOFACULTAD DE CIENCIAS DE LA SALUD

CAPITULO IIBase de datos. Tipos de base de datos. Comandos y consultas

Autor: Ms. Lic. Lucio Arnulfo Ferrer Peñaranda

Base dedatos

Pág. 67

Si se quiere ver el contenido de toda la tabla EMP, puede sustituirse toda la listade columnas por un asterisco:

En los ejemplos, para facilitar la lectura, se escriben los comandos en diversaslíneas, pero puede hacerse en una sola línea, por ejemplo:SELECT * FROM DEPT; Headers(); PrintAll;

5. BÚSQUEDA POR PALABRAS INCOMPLETASEl orden en el que vemos las columnas (DNAME, DEPTNO) es en el que se hapuesto en el comando SELECT:

Para seleccionar determinados registros o filas de la base de datos, debeañadirse una condición con el comando WHERE al usar SELECT... FROM:SELECT * FROM EMP

UNIVERSIDAD NACIONAL DEL CALLAOFACULTAD DE CIENCIAS DE LA SALUD

CAPITULO IIBase de datos. Tipos de base de datos. Comandos y consultas

Autor: Ms. Lic. Lucio Arnulfo Ferrer Peñaranda

Base dedatos

Pág. 68

WHERE DEPTNO=30;Headers(); PrintAll; obtiene todas las columnas pero de los empleados delDepartamento número 30:

WHERE obliga a ORACLE a buscar en la información de la tabla y mostrar soloaquellas líneas o registros que cumple la condición.

Condiciones múltiples para una búsquedaA veces WHERE va seguido de más de una condición:SELECT ENAME, JOB, SAL FROM EMPWHERE JOB = ‘SALESMAN’ AND SAL >=100;En este caso se piden los datos del nombre, trabajo, salario de aquellosempleados de la tabla cuyo empleo sea ‘SALESMAN’[1] y su salario mayor oigual que 100:

Para las condiciones alternativas, negativas (excluyentes) se utilizan loscomandos OR, y NOT. Así por ejemplo:

Pide los datos de empleados con categoría manager o que su salario seamayor que 100:

El siguiente ejemplo pide un listado con los nombres, categorías y número de

UNIVERSIDAD NACIONAL DEL CALLAOFACULTAD DE CIENCIAS DE LA SALUD

CAPITULO IIBase de datos. Tipos de base de datos. Comandos y consultas

Autor: Ms. Lic. Lucio Arnulfo Ferrer Peñaranda

Base dedatos

Pág. 69

departamento de los empleados cuyo trabajo sea clerck (oficinista) y sudepartamento sea distinto[2] del 30,

y su resultado es el siguiente:

Mediante los comandos BEETWEEN y AND pueden pedirse datoscomprendidos en un rango determinado. El ejemplo siguiente facilita los elnombre y el salario de los empleados cuyo salario esté comprendido entre 800y 900:SELECT ENAME, SALFROM EMP WHERE SAL BETWEEN 800 AND 900;

El comando IN permite seleccionar líneas cuyo campo contenga uno de losvalores de una lista especificada entre paréntesis:

SELECT * FROM DEPT WHERE DEPTNO IN (10,30);

UNIVERSIDAD NACIONAL DEL CALLAOFACULTAD DE CIENCIAS DE LA SALUD

CAPITULO IIBase de datos. Tipos de base de datos. Comandos y consultas

Autor: Ms. Lic. Lucio Arnulfo Ferrer Peñaranda

Base dedatos

Pág. 70

En este ejemplo, como la lista está compuesta por sólo 2 valores, podríahaberse empleado OR para realizar la misma búsqueda:

SELECT * FROM DEPT WHERE DEPTNO=’10’ OR DEPTNO=’30’;

Búsquedas por palabras incompletasPueden seleccionarse líneas de información mediante búsquedas de palabrasincompletas: buscar empleados en cuyo nombre tenga una ‘R’ en3[[ordmasculine]] lugar:

SELECT ENAME FROM EMP WHERE ENAME LIKE ‘__R%’;Headers();PrintAll;

En este ejemplo se utiliza el operador LIKE de SQL. Además, mediante guionesse especifican las dos posiciones (‘__R%’), y el signo % indica que puede seguircualquier cadena de caracteres.Los operadores BETWEEN, IN y LIKE, pueden ir precedidos por NOT y unidoscon AND y OR, para formar una búsqueda tan completa como se necesite.

6. CÓMO SE ORDENA EL RESULTADO DE UNA BÚSQUEDAEn todos los ejemplos hasta ahora, las líneas resultado de las búsquedas hanestado en un orden aleatorio, determinado por el programa ORACLE. Puedecontrolarse el orden de las líneas seleccionadas añadiendo la opción ORDERBY al final de nuestro comando SELECT.Como ejemplo suponga que desea obtener una lista de los empleados quetrabajan en el departamento 30 pero ordenados por su salario. Esta ordenación

UNIVERSIDAD NACIONAL DEL CALLAOFACULTAD DE CIENCIAS DE LA SALUD

CAPITULO IIBase de datos. Tipos de base de datos. Comandos y consultas

Autor: Ms. Lic. Lucio Arnulfo Ferrer Peñaranda

Base dedatos

Pág. 71

no está limitada a un orden ascendente o a un único criterio, así por ejemplo,pueden ordenarse los empleados por puesto de trabajo, y dentro de estaordenación ( los trabajos) por orden de salarios:

SELECT JOB, SAL, ENAMEFROM EMPORDER BY JOB, SAL DESC;Headers();PrintAll;Donde DESC indica orden descendente (de mayor a menor), y cuyo resultadoes el siguiente:

7. CÓMO SE EVITAN LAS LÍNEAS REPETIDAS EN UN LISTADOSupóngase que se desea obtener una lista de los trabajos en la empresa. Si sepide una columna completaSELECT JOBFROM EMP;Headers();PrintAll;

Al no haber ninguna condición en nuestra búsqueda, ORACLE trae a lapantalla todos los valores de la columna trabajos. En la lista obtenida hayrepeticiones que pueden eliminarse especificando DISTINCT al escribir labúsqueda:

SELECT DISTINCT JOB FROM EMP;Headers(); PrintAll;

UNIVERSIDAD NACIONAL DEL CALLAOFACULTAD DE CIENCIAS DE LA SALUD

CAPITULO IIBase de datos. Tipos de base de datos. Comandos y consultas

Autor: Ms. Lic. Lucio Arnulfo Ferrer Peñaranda

Base dedatos

Pág. 72

8. BÚSQUEDA DE INFORMACIÓN EN VARIAS TABLAS: JOINQUERY

Hasta ahora se han efectuado búsquedas en una sola tabla, pero puede ocurrirque la información que buscamos no esté almacenada en una sola tabla. ComoORACLE es una base de datos relaciona permite seleccionar información demás de una tabla y combinar los resultados en un listado. La búsquedacombinada en más de una tabla se denomina búsqueda relacional o join query.En las bases de datos jerárquicas y en anillo, las relaciones son estáticasporque están perfectamente definidas en la estructura de la base de datosdesde el diseño, por lo que las consultas deben seguir ese mismo esquema. Enlas bases de datos relacionales como ORACLE, las relaciones son dinámicas;se establecen en el momento de la consulta, y es posible extraer informaciónsegún convenga en cada caso.Por ejemplo, si se desea saber el nombre del departamento donde trabajadeterminado empleado, y se intenta buscar en la tabla EMP (empleados),puede verse que no tiene columna con el nombre de departamento; sinembargo, la tabla de departamentos tiene el departamento (número y nombre).Como las dos tablas tienen una columna en común -el n[[ordmasculine]] dedepartamento-, es posible relacionar las dos tablas. Puede hacerse con dosbúsquedas:

SELECT ENAME, DEPTNOFROM EMPWHERE ENAME = ‘WARD’;

SELECT LOC FROM DEPT WHERE DEPTNO = 30;

UNIVERSIDAD NACIONAL DEL CALLAOFACULTAD DE CIENCIAS DE LA SALUD

CAPITULO IIBase de datos. Tipos de base de datos. Comandos y consultas

Autor: Ms. Lic. Lucio Arnulfo Ferrer Peñaranda

Base dedatos

Pág. 73

Pero puede llegarse al mismo resultado mediante una única búsquedaindicando la tabla y la columna separados por un punto. El ejemplo siguienteSELECT ENAME,LOC FROM EMP,DEPTWHERE ENAME=’KING’ AND EMP.DEPTNO =DEPT.DEPTNO;Headers();PrintAll;

busca los empleados en la tabla EMP cuyo nombre es KING y utiliza el valordel código del empleado localizado para buscar en la otra tabla (DEPT) elnombre del departamento de trabajo, y busca los registros donde coinciden losvalores de las columnas EMPTO y DEPTO:

En el ejemplo anterior, en la tabla EMPL se busca la fila que contiene alempleado ‘KING’, se determina el número de departamento al que perteneceDEPTNO, y con el número de departamento, en la tabla DEPT se extrae elregistro con el mismo valor de DEPTNO. La cláusula

EMP.DEPTNO =DEPT.DEPTNOEspecifica que los registros de las tablas EMP y DEPT deben coincidir en elvalor del campo o columna DEPTNO

.

UNIVERSIDAD NACIONAL DEL CALLAOFACULTAD DE CIENCIAS DE LA SALUD

CAPITULO IIBase de datos. Tipos de base de datos. Comandos y consultas

Autor: Ms. Lic. Lucio Arnulfo Ferrer Peñaranda

Base dedatos

Pág. 74

9. EXPRESIONES ARITMÉTICAS Y FUNCIONES PARA ELMANEJO DE TEXTO

Expresiones aritméticasPara construir una expresión aritmética deben combinarse nombres decolumnas y constantes numéricas con una operación aritmética. En el ejemplosiguienteSELECT ENAME, SAL, COMM, SAL+COMMFROM EMPWHERE JOB=’SALESMAN’;Headers();PrintAll;

Se obtiene un listado con una tercera columna que es la suma de salario ycomisiones. La columna de la suma no es una columna real, es decir no estáalmacenada en nuestra base de datos, pero se construye dinámicamente comoresultado de una búsqueda, y se puede operar con la columna resultado comosi se tratara de una columna real.Se adjuntan las principales funciones aritméticas:

Funciones aritméticas significado? suma? resta? producto

/ divisiónPOWER exponenciaciónROUND redondeoTRUNC trunca a enteroABS valor absoluto

10.Funciones para el manejo de textosLas funciones aritméticas nos permiten manipular información numérica, deforma parecida las funciones para manejo de texto character strings functionspermiten manipular los campos que contienen texto.El ejemplo siguiente busca en la tabla EMP los registros cuyo campo ENAMEsuene parecido a ‘SCHMIDT’:

SELECT ENAME FROM EMPWHERE SOUNDEX(ENAME)=SOUNDEX(‘SCHMIDT’);Headers(); PrintAll;

UNIVERSIDAD NACIONAL DEL CALLAOFACULTAD DE CIENCIAS DE LA SALUD

CAPITULO IIBase de datos. Tipos de base de datos. Comandos y consultas

Autor: Ms. Lic. Lucio Arnulfo Ferrer Peñaranda

Base dedatos

Pág. 75

Se adjuntan las principales funciones de texto:

Funciones de texto significado| concatena textosLENGTH mide la longitud de un textoSUBSTR corta un textoINSTR inserta un texto dentro de otroUPPER pone en mayúsculasLOWER pone en minúsculasSOUNDEX sonido de un texto

11.FORMATO DE FECHA Y HORA

Formato de fechaAl crear la tabla emp se definió la columna hiredate como información tipofecha (HIREDATE DATE). El formato estándar será Día-mes-año (03-Sept-93),pero pueden utilizarse otros formatos. Para cambiar de formato, ORACLE tieneel operador TO_CHAR(nombre_de_columna name, formato).En el siguiente ejemplo se listan algunos datos de los empleados que trabajanen el Depto 30 y la fecha en formato DY DD MM YY (día de la semana, día,mes, año):SELECT ENAME,JOB,TO_CHAR(HIREDATE,’DY DD MON YYYY’) HIREDATEFROM EMP WHERE DEPTNO = 20;Headers(); PrintAll;

ORACLE permite una amplia variedad de formatos:

Formato de fecha ejemplo

Estándar 22-OCT-93DAY MONTH DD, YYYY WEDNESDAY OCTOBER 17, 1993

UNIVERSIDAD NACIONAL DEL CALLAOFACULTAD DE CIENCIAS DE LA SALUD

CAPITULO IIBase de datos. Tipos de base de datos. Comandos y consultas

Autor: Ms. Lic. Lucio Arnulfo Ferrer Peñaranda

Base dedatos

Pág. 76

Day DD Mon YYYY Wed 22 Oct 1993DY “the” ddth “of” Month YYYY Wednesday the 22nd of October 1993

Operaciones aritméticas con fechasAdemás de poder dar formato a la fecha, pueden realizarse operacionesaritméticas en los campos de fechas:

SYSDATE siempre nos da la fecha del día (fecha interna del ordenador). Laexpresión HIREDATE+ 4500 suma 4500 días a la fecha. La consulta muestraaquellos registros cuya fecha HIREDATE es de hace 4500 días.ORACLE permite: calcular días, meses o años entre fechas; calcular la últimafecha del mes; calcular la fecha del día siguiente.

12.FUNCIONES PARA EL MANEJO DE GRUPOS DE FILASLas funciones para grupos permiten seleccionar información a partir de gruposde líneas o registros. Por ejemplo, pueden agruparse todos los empleados quepertenezcan al mismo departamento y entonces calcular el salario máximo encada grupo de departamentos:SELECT DEPTNO, MAX(SAL)FROM EMP GROUP BY DEPTNO;Headers(); PrintAll;

En una búsqueda de grupos, cada línea en el resultado de la búsqueda,corresponde a un grupo de líneas de nuestra tabla, la columna que se pone acontinuación de group by es aquella por la que queremos agrupar las líneas dela tabla. En el ejemplo anterior cada línea de la tabla EMP se incluye en uno de

UNIVERSIDAD NACIONAL DEL CALLAOFACULTAD DE CIENCIAS DE LA SALUD

CAPITULO IIBase de datos. Tipos de base de datos. Comandos y consultas

Autor: Ms. Lic. Lucio Arnulfo Ferrer Peñaranda

Base dedatos

Pág. 77

los tres grupos, uno para cada departamento, dependiendo de su valor en elcampo DEPTO: todas las líneas de su mismo grupo tienen el mismo número dedepartamento.Podemos combinar las funciones de grupo con las búsquedas relacionales.Además, hay tres funciones que pueden utilizarse con los grupos:? SUM : Para sumar los valores de los campos, dentro de los grupos definidos

por GROUP BY.? COUNT: Para contar el número de líneas que entran en cada uno de esos

grupos.? AVG: Para saber la medida de los valores de campos específicos en cada

grupo.El siguiente ejemplo tiene como objetivo saber cuantos empleados estántrabajando en cada categoría en cada departamento, cuantos secretarios hayen el departamento de ventas y, en esos grupos, cuál es la suma y media delos salarios:

SELECT DNAME,JOB,SUM(SAL),COUNT(*),AVG(SAL)FROM EMP, DEPTWHERE EMP.DEPTNO=DEPT.DEPTNOGROUP BY DNAME,JOB;Headers(); PrintAll;

13. Condiciones de búsqueda de un grupo de líneas: HAVINGAsí como el operador WHERE se especifican las condiciones para lasbúsquedas con líneas individuales, con HAVING pueden especificarse lascondiciones de búsqueda para grupos de líneas.Supongamos que interesa una búsqueda como la anterior, pero en la que sólose necesita ver aquellos grupos que tengan al menos dos empleados:SELECT ENAME,JOB,SUM(SAL),COUNT(*),AVG(SAL)FROM EMPWHERE EMP.DEPTNO = DEPT.DEPTNOGROUP BY DNAME,JOBHAVING COUNT(*)>=2

UNIVERSIDAD NACIONAL DEL CALLAOFACULTAD DE CIENCIAS DE LA SALUD

CAPITULO IIBase de datos. Tipos de base de datos. Comandos y consultas

Autor: Ms. Lic. Lucio Arnulfo Ferrer Peñaranda

Base dedatos

Pág. 78

Headers(); PrintAll;

14.SUB BÚSQUEDAS O SUBQUERIESSupóngase, por ejemplo, que se desea obtener una lista con todos losempleados que tienen el mismo empleo que Jones; puede omitirse el empleode Jones y ORACLE lo busca, en lo que constituiría una búsqueda subordinadao subbúsqueda:

SELECT ENAME,JOBFROM EMPWHERE JOB =(SELECT JOBFROM EMPWHERE ENAME = ‘KING’));

ORACLE realiza las subbúsquedas antes, por que necesita el resultado deestas para las búsquedas.Como ejemplo adicional puede buscarse el empleado que gana más que lamedia de todos los salarios de los empleados:

SELECT ENAME, SALFROM EMPWHERE SAL >(SELECT AVG(SAL)

FROM EMP);Headers(); PrintAll;

UNIVERSIDAD NACIONAL DEL CALLAOFACULTAD DE CIENCIAS DE LA SALUD

CAPITULO IIBase de datos. Tipos de base de datos. Comandos y consultas

Autor: Ms. Lic. Lucio Arnulfo Ferrer Peñaranda

Base dedatos

Pág. 79

15.MODIFICACIÓN DE LA INFORMACIÓN ALMACENADAComo se ha visto antes, el comando SELECT permite ver un grupo de registrosde una o más tablas. Con SQL también pueden añadirse o modificarse líneas:? UPDATE: Cambia valores almacenados en tablas.? INSERT: Añade líneas a una tabla.? DELETE: Borra líneas a una tabla.

16..Actualización de datos en la tablaSi se desease subir el sueldo a todos los oficinistas, sería necesario actualizaro cambiar el valor del salario. Es decir, se debe actualizar, en la tabla deempleados, el campo de salario en aquellas líneas en que el trabajo seaoficinista. El comando UPDATE se escribe seguido por la tabla donderealizamos el cambio y para indicar la actualización, se escribe Set seguido porel cambio, y finalmente la condición (opcional) en la que se indican las líneasque se van a modificar:

UPDATE EMPSET SAL=SAL+100WHERE JOB=’CLERCK’;Headers(); PrintAll;un mensaje confirmará que la actualización ha tenido lugar.

17. Cómo insertar nuevos registros en una tablaEl comando INSERT se ha utilizado hasta ahora para introducir líneas deinformación, pero una línea cada vez. Sin embargo, puede usarse estecomando para añadir un conjunto de líneas desde una tabla hacia otra. Puedehacerse esto utilizando una búsqueda para definir el conjunto de líneas que sevan a insertar en la tabla.Supongamos que en nuestra base de datos tenemos una tercera tabla llamadaPROMOCIóN, con algunas de las columnas de la tabla DEPT y queremosintroducir en ella la información de todos los vendedores que tengan decomisión una cifra superior al 25% de su salario, copiando la información desdela tabla EMP:INSERT INTO PROMOCION (ENAME,JOB,SAL,COMM)SELECT ENAME,JOB,SAL,COMMFROM EMPWHERE COMM > 0.25 * SAL;El comando Insert utiliza una subbúsqueda.

Borrado de registros de una tablaPara borrar se emplea la orden Delete y se puede utilizar con where paradeterminar los registros que se quieren borrar. Así por ejemplo, para borrar eldepartamento 40 se haría lo siguiente:

UNIVERSIDAD NACIONAL DEL CALLAOFACULTAD DE CIENCIAS DE LA SALUD

CAPITULO IIBase de datos. Tipos de base de datos. Comandos y consultas

Autor: Ms. Lic. Lucio Arnulfo Ferrer Peñaranda

Base dedatos

Pág. 80

DELETE FROM DEPT WHERE DEPTNO=40;Cuando ORACLE ha realizado la orden aparece 1 record deleted. Puedepedirse un listado de todos los departamentos para comprobarlo:SELECT * FROM DEPT;

Las condiciones para todos esos comandos demuestran como SQL emplea lamisma sintaxis tanto para las búsquedas como para la manipulación de lainformación. En los comandos SELECT, UPDATE, INSERT y DELETE, lacondición con WHERE es opcional.

18.CAMBIOS EN LA ESTRUCTURA DE UNA BASE DE DATOSORACLE proporciona los comandos necesarios que se necesitan paramodificar la estructura de una base de datos. En esta sección utiliza SQL para:? ALTER TABLE ADD: Añadir una columna a una tabla existente.? ALTER TABLE MODIFY: Hacer una columna existente más larga.Siguiendo con los ejemplos anteriores, se va a aumentar la base de datosmodelo para poder asignar empleados a proyectos de igual forma que hayempleados asignados a departamentos. Se trata en definitiva de crear unanueva tabla y practicar los comandos ALTER TABLE en su diseño.El cambio en la estructura de la base de datos exige varios pasos. Primero, conel comando CREATE, hay que añadir la tabla proyectos a la base de datos:CREATE TABLE PROJ (PROJNO NUMBER(3) NOT NULL,PNAME CHAR(5), BUDGET NUMBER(7,2));En segundo lugar, con el comando INSERT, se introducen algunas líneas:

Que son los proyectos en curso dentro de la empresa. Los datos introducidosen la nueva tabla, pueden examinarse con el comando SELECT actuandosobre la nueva tabla proyectos (PROJ):

SELECT * FROM PROJ;

UNIVERSIDAD NACIONAL DEL CALLAOFACULTAD DE CIENCIAS DE LA SALUD

CAPITULO IIBase de datos. Tipos de base de datos. Comandos y consultas

Autor: Ms. Lic. Lucio Arnulfo Ferrer Peñaranda

Base dedatos

Pág. 81

Headers(); PrintAll;

Finalmente para que puedan hacerse búsquedas relacionales sobre las tablasPROY y EMP, debe añadirse una columna a EMP denominada número deproyecto (PROJNO), para que las tablas tengan alguna columna en común.Con este fin se utiliza el comando ALTER TABLE:

ALTER TABLE EMP ADD (PROJNO NUMBER(3));A este comando se le indica el nombre de la tabla a modificar, la columna quese quiere añadir, y el tipo de información y su longitud máxima. Ahora puedeseleccionarse la tabla EMP y ver que en cada línea hay un campo más.SELECT * FROM EMP;Headers(); PrintAll;

Como ejemplo del comando UPDATE, van a asignarse todos los empleadosdel Depto 20 y todos los vendedores al proyecto 101:

UPDATE EMP SET PROJNO=101 WHERE DEPTNO =20 ORJOB=’SALESMAN’9 records updated.Puede consultarse la tabla para confirmar la actualización:

UNIVERSIDAD NACIONAL DEL CALLAOFACULTAD DE CIENCIAS DE LA SALUD

CAPITULO IIBase de datos. Tipos de base de datos. Comandos y consultas

Autor: Ms. Lic. Lucio Arnulfo Ferrer Peñaranda

Base dedatos

Pág. 82

Para completar el ejemplo, se asignan el resto de empleados -los que no tienenproyecto asociado- al proyecto 102:

UPDATE EMPSET PROJNO=102WHERE PROJNO IS NULL;5 records updated

La actualización de las líneas con el número de proyecto, completa lamodificación de la base de datos ejemplo y permite relacionar los empleadoscon los proyectos como antes se hacía con los departamentos.Es posible, ahora que las tablas tienen un campo común, el número deproyecto, hacer búsquedas relacionales:SELECT ENAME,JOB,DEPTNO,PNAMEFROM EMP,PROJ WHERE EMP.PROJNO = PROJ.PROJNO;Headers(); PrintAll;

UNIVERSIDAD NACIONAL DEL CALLAOFACULTAD DE CIENCIAS DE LA SALUD

CAPITULO IIBase de datos. Tipos de base de datos. Comandos y consultas

Autor: Ms. Lic. Lucio Arnulfo Ferrer Peñaranda

Base dedatos

Pág. 83

19. CÓMO MODIFICAR LA CAPACIDAD DE LOS DATOS DE UNA COLUMNAEn la definición de la tabla de datos se asigna a cada columna una capacidad(2, 14, 13):

CREATE TABLE DEPT (DEPTNO NUMBER(2),DNAME CHAR(14),LOC CHAR (13));Pero puede plantearse en un momento dado, cambiar el ancho o capacidad deuna columna. En el ejemplo siguiente, al intentar actualizar una columna con elvalor 105000,

El SQL notifica un error debido a que esa columna sólo tiene capacidad para 7dígitos incluyendo la coma y los dos decimales (7,2). Se necesita modificar ladefinición de la columna budget, manteniendo el tipo de información quecontiene pero haciéndola más ancha:

ALTER TABLE PROJ MODIFY BUDGET NUMBER(8,2);y aparece: 1 record updated.Una vez modificada la capacidad, la orden

Se procesa correctamente.

UNIVERSIDAD NACIONAL DEL CALLAOFACULTAD DE CIENCIAS DE LA SALUD

CAPITULO IIBase de datos. Tipos de base de datos. Comandos y consultas

Autor: Ms. Lic. Lucio Arnulfo Ferrer Peñaranda

Base dedatos

Pág. 84

20. VISTAS ALTERNATIVAS DE INFORMACIÓNORACLE permite diseñar y almacenar presentaciones alternativos para unconjunto de información dentro de la base de datos.Las presentaciones o vistas (views) son tablas virtuales, como ventanas, através de las cuales, vemos información almacenada en la base de datos. Losviews no contienen información propia, pero puede operarse con ellas como sifueran tablas reales.La utilización de views tiene tres ventajas:? Simplifica el acceso a la información.? Independencia de la información.? Privacidad de la información.Como ejemplo va a crearse un view como un subconjunto de la tabla completa,que nos muestre solamente algunas columnas de algunos empleados (los delDpto n[[ordmasculine]] 10).

CREATE VIEW asigna un nombre al view y define su contenido en forma deuna búsqueda.

21.BÚSQUEDA DE INFORMACIÓN EN UN VIEWPuede utilizarse un view como si de una tabla se tratase. Para recuperar lainformación agrupada en un view se procese con el comando SELECT:

Asegurar la integridad de la información en los viewsCuando hemos creado el view con la cláusula WITH CHECK OPTION, Oracleasegura que toda la información que se añada a la tabla cumplirá la condicióncon la que se creó, WHERE DEPTNO=’10’.Si intentamos introducir un empleado del dpto 20:

UNIVERSIDAD NACIONAL DEL CALLAOFACULTAD DE CIENCIAS DE LA SALUD

CAPITULO IIBase de datos. Tipos de base de datos. Comandos y consultas

Autor: Ms. Lic. Lucio Arnulfo Ferrer Peñaranda

Base dedatos

Pág. 85

Da un error que indica que ese dato es incompatible con las condiciones deconstrucción del view.

22.GUÍA DE LABORATORIOTarea previa.- Usted previamente debe crear una carpeta temporal de nombreX en el disco D:\

Pasos para abrir SQL Server Management StudioPara abrir SQL Server Management Studio, siga los siguientes pasos:1. En el menú Inicio, seleccione Todos los programas, Microsoft SQL Server

2005 y, a continuación, haga clic en SQL Server Management Studio.2. En el cuadro de diálogo Conectar al servidor, compruebe la configuración

predeterminada y, a continuación, haga clic en Conectar. Para conectarse,el cuadro Nombre del servidor debe contener el nombre del equipo en elque está instalado SQL Server. Si Database Engine (Motor de base dedatos) es una instancia con nombre, el cuadro de nombre de servidortambién debe contener el nombre de la instancia con el formato <nombreDe Equipo>\<nombre De Instancia>.

Mostrar ventanas adicionales (Opcional)Es posible que los usuarios que conozcan el Administrador corporativo de SQLServer de SQL Server 2000 deseen que aparezca la ventana Servidoresregistrados.

Para mostrar la ventana Servidores registrados1. En el menú Ver, haga clic en Servidores registrados.

La ventana Servidores registrados aparece encima del Explorador de objetos.Servidores registrados enumera los servidores que el usuario administrahabitualmente. Puede agregar y quitar los servidores de esta lista. Si hainstalado anteriormente el Administrador corporativo de SQL Server 2000 eneste equipo, se le solicitará que importe la lista de servidores registrados. Sino es así, sólo aparecerán en la lista los servidores de las instancias de SQLServer que se encuentren en el equipo donde se ejecuta Management Studio.

2. Si no aparece su servidor, en Servidores registrados, haga clic con el botónsecundario en Motor de base de datos y, a continuación, en Actualizarregistro de servidor local.

UNIVERSIDAD NACIONAL DEL CALLAOFACULTAD DE CIENCIAS DE LA SALUD

CAPITULO IIBase de datos. Tipos de base de datos. Comandos y consultas

Autor: Ms. Lic. Lucio Arnulfo Ferrer Peñaranda

Base dedatos

Pág. 86

Hoja electrónica de SQL Server Management Studio

Creación de bases de datos con SQL Server Management StudioLa manera más sencilla de crear una base de datos en SQL Server es a travésde SQL Server Management Studio.

Tarea 1.- Crear una base de datos de nombre Profesores_FCS

Pasos a seguir para crear una base de datos:1. Abra SQL Server Management Studio desde el grupo Microsoft SQL Server

2005 y conéctese con la Autenticación de Windows, para lo cual haga clic enel botón conectar (ver cuadro siguiente).

2. Expanda el servidor en el panel Explorador de objetos y expanda el íconoBases de datos (Clic en el signo + del lado izquierdo del ícono).

UNIVERSIDAD NACIONAL DEL CALLAOFACULTAD DE CIENCIAS DE LA SALUD

CAPITULO IIBase de datos. Tipos de base de datos. Comandos y consultas

Autor: Ms. Lic. Lucio Arnulfo Ferrer Peñaranda

Base dedatos

Pág. 87

3. Haga clic con el botón derecho en Bases de datos y seleccione Nueva basede dato.

4. En el panel de la izquierda Nueva base de dato, observará la listaSeleccionar una página. Asegúrese de encontrarse en la página General y

complete la siguiente información: Nombre de la base de datos: Profesores_FCS Propietario: <Predeterminado> Clic en la página Opciones y elija lo

siguiente: Intercalación: <Servidor predeterminado> Modelo de recuperación: Completa

5. Vuelva a la página General, en la sección Archivos de base de datos, habrádos filas: una para el archivo de datos y otra para el archivo de registro.Cambie el tamaño inicial (MB) del archivo de datos de 1 (por defecto) a 10.

6. Haga clic en el botón de los puntos suspensivos en la columna Crecimientoautomático (lado derecho) para el archivo de datos y se abrirá la ventanaque muestra la figura siguiente. Haga clic en el botoncito En porcentaje (Versiguiente cuadro:

UNIVERSIDAD NACIONAL DEL CALLAOFACULTAD DE CIENCIAS DE LA SALUD

CAPITULO IIBase de datos. Tipos de base de datos. Comandos y consultas

Autor: Ms. Lic. Lucio Arnulfo Ferrer Peñaranda

Base dedatos

Pág. 88

7. Haga clic en el botoncito Limitar el crecimiento de los archivos (MB) ycambie el tamaño por defecto de 100 a 20. Si dejara la opción No limitar elcrecimiento de los archivos, el archivo de datos podría llenar todo el discoduro, lo cual podría provocar que el equipo se bloqueara si el archivo dedatos se encontrara en el mismo disco duro que otros programas (como porejemplo el sistema operativo Windows). Para los pasos 6 y 7 se debe tenercomo la siguiente:

Haga clic en el botón Aceptar.8. Haga clic sobre el botón de los puntos suspensivos en la columna

Crecimiento automático para el archivo de registro (segunda línea) y seabrirá la ventana que se muestra en la figura siguiente. Haga clic en el botónde opción Limitar el crecimiento de los archivos y cambie el tamaño queaparece por defecto de 100 a 2 y cambie el Crecimiento de archivos a unporcentaje de 10.

Haga clic en el botón Aceptar9. Haga clic en el botón de los puntos suspensivos en la columna Ruta de

acceso para archivo de datos que se encuentra a la derecha para elegir laruta de acceso (elija una ruta creada por usted, por ejemplo D:\X, ócualquiera; considere la misma ruta de acceso para el archivo de registro. Si

UNIVERSIDAD NACIONAL DEL CALLAOFACULTAD DE CIENCIAS DE LA SALUD

CAPITULO IIBase de datos. Tipos de base de datos. Comandos y consultas

Autor: Ms. Lic. Lucio Arnulfo Ferrer Peñaranda

Base dedatos

Pág. 89

no indica la ruta, la base de datos se creará en la ruta donde se encuentrainstalado el SQL Server y podría ser perjudicial. Proceda como se indica enla siguiente pantalla:

10. Haga clic en Aceptar para crear la nueva base de datos.11. Ahora ya debería aparecer la nueva base de datos en el Explorador de

objetos en SQL Server Management Studio, como se muestra en la figurasiguiente:

Truco.- Cuando se crea un nuevo objeto en SQL Server, siempre se debeActualizar.Tarea 2.- Crear una tabla de nombre Nombrados, dentro de la base de datosProfesores_FCS; para lo cual expanda el objeto base de datosProfesores_FCS, clic en pie derecho sobre el ícono Tablas, y clic en Nuevatabla de la ventanita desplegable; ahora indique el nombre de cada columna yel tipo de datos, teniendo en cuenta el siguiente diseño:

UNIVERSIDAD NACIONAL DEL CALLAOFACULTAD DE CIENCIAS DE LA SALUD

CAPITULO IIBase de datos. Tipos de base de datos. Comandos y consultas

Autor: Ms. Lic. Lucio Arnulfo Ferrer Peñaranda

Base dedatos

Pág. 90

La columna Código es el campo más importante, por lo tanto es la llave oclave. Para hacer que el campo Código sea considerado como llave; piederecho sobre la columna Código y clic en la opción “Establecer como llaveprincipal”, de tal manera que a la izquierda del campo Código aparezca unallavecita tal como se indica en la figura siguiente:

Cuando usted termine de definir todas las columnas (campos), haga clic en piederecho en la pestaña superior (Tabla-dbo.Table_1), haga clic en la opciónGuardar y escriba el nombre de la tabla Nombrados, y haga clic en el botónAceptarIngrese los registros siguientes:

UNIVERSIDAD NACIONAL DEL CALLAOFACULTAD DE CIENCIAS DE LA SALUD

CAPITULO IIBase de datos. Tipos de base de datos. Comandos y consultas

Autor: Ms. Lic. Lucio Arnulfo Ferrer Peñaranda

Base dedatos

Pág. 91

Para que ingrese los registros de la tabla, haga clic sobre el ícono de la tablaNombrados; luego pie derecho, y clic en la opción abrir tabla.Los demás campos se rellenarán más adelante mediante fórmulas ocomandos.

Tarea 3.- Una vez que terminó de ingresar los registros a la tabla Nombradosque pertenece a la base de datos Profesores_FCS usted debe crear lassiguientes consultas:1. Visualice todos los campos de la tabla Nombrados, para lo cual haga lo

UNIVERSIDAD NACIONAL DEL CALLAOFACULTAD DE CIENCIAS DE LA SALUD

CAPITULO IIBase de datos. Tipos de base de datos. Comandos y consultas

Autor: Ms. Lic. Lucio Arnulfo Ferrer Peñaranda

Base dedatos

Pág. 92

siguiente:Haga clic en el nombre de la base de datos: Profesores_FCS, pie derecho yclic en la opción Crear nueva consulta, tal como aparece en la siguiente figura:

Para que ejecute la consulta SELECT * FROM NOMBRADOS ORDER BYAPENOM, márquelo o píntelo de azul tal como se muestra en la figura anterior,haga clic en ! Ejecutar de la barra de herramientas; también pude hacer clicen la función F5. Ya puede ver el resultado de la consulta. Expanda la pantallade resultados hacia la parte de arriba, hacia la izquierda y hacia la derecha yaparecerá la siguiente figura:

UNIVERSIDAD NACIONAL DEL CALLAOFACULTAD DE CIENCIAS DE LA SALUD

CAPITULO IIBase de datos. Tipos de base de datos. Comandos y consultas

Autor: Ms. Lic. Lucio Arnulfo Ferrer Peñaranda

Base dedatos

Pág. 93

2. Visualice los campos Apenom, profesion y categoría de la tabla Nombrados,con la instrucción SELECT APENOM, PROFESION, CATEGORIA FROMNOMBRADOS

3. Visualice todos los docentes de la categoría AUXILIAR de la tablaNombrados con la siguiente instrucción:

SELECT * FROM NOMBRADOS

WHERE CATEGORÍA =’AUXILIAR’4. Visualice todos los docentes de la categoría AUXILIAR de la tabla

Nombrados, en orden alfabético.5. Visualice todos los docentes de la categoría ASOCIADO de la tabla

Nombrados, en orden alfabético.

Tarea 4.- Rellene los campos faltantes; es decir los campos que están enblanco:

El campo Dias_vida se llena restando de la fecha actual el campo Fecha_nac.Para lo cual ejecute la siguiente consulta (06 líneas)

USE PROFESORES_FCS

DECLARE @FECHA AS DATETIMESET @FECHA = ‘24/05/2011’ /* .......... (fecha actual)

SELECT @FECHAUPDATE NOMBRADOS SET DIAS_VIDA =CAST((@FECHA - FECH_NAC)AS INT)

SELECT * FROM NOMBRADOS

2. El campo Edad se llena dividiendo el campo Días_vida por 365Para lo cual ejecute la siguiente consulta (02 líneas)

UPDATE NOMBRADOS SET EDAD = CAST (DIAS_VIDA/365 AS INT)

SELECT * FROM NOMBRADOS

3. El campo Tiempo_ser se llena restando de la fecha actual el campoFech_ingPara lo cual ejecute la siguiente consulta (05 líneas)

DECLARE @FECHA AS DATETIME

UNIVERSIDAD NACIONAL DEL CALLAOFACULTAD DE CIENCIAS DE LA SALUD

CAPITULO IIBase de datos. Tipos de base de datos. Comandos y consultas

Autor: Ms. Lic. Lucio Arnulfo Ferrer Peñaranda

Base dedatos

Pág. 94

SET @FECHA = ‘24/05/2011’ /* .......... (fecha actual)

SELECT @FECHAUPDATE NOMBRADOS SET TIEMPO_SER = CAST((@FECHA - FECH_ING)AS INT)

SELECT * FROM NOMBRADOS

4. El campo Tiempo_ser_años se llena dividiendo el campo Tiempo_ser por365Para lo cual ejecute la siguiente consulta (02 líneas)

UPDATE NOMBRADOS SET TIEMPO_SER_AÑOS = TIEMPO_SER/365

SELECT * FROM NOMBRADOS

5. El campo bonifica (La bonificación será el 25% del Sueldo)Para lo cual ejecute la siguiente consulta (02 líneas)

UPDATE NOMBRADOS SET BONIFICA = (0.25)*SUELDO

SELECT * FROM NOMBRADOS

6. La gratificación es de S/. 300.00 para todos los docentes que tengan de 5 amás años de tiempo de servicio.

Para lo cual ejecute la siguiente consulta (02 líneas)UPDATE NOMBRADOS SET GRATIFICA = 300 WHERETIEMPO_SER_AÑOS >= 5

SELECT * FROM NOMBRADOS

7. Los descuentos de AFP y ESALUD son del 2.5% de la suma de los camposSueldo y Bonifica. 0.025*(Sueldo + Bonifica)

UPDATE NOMBRADOS SET AFP = 0.025*(SUELDO + BONIFICA)UPDATE NOMBRADOS SET ESALUD = 0.025*(SUELDO + BONIFICA)SELECT * FROM NOMBRADOS

El resultado del desarrollo de la tarea 4, es como se muestra en la pantallasiguiente:

UNIVERSIDAD NACIONAL DEL CALLAOFACULTAD DE CIENCIAS DE LA SALUD

CAPITULO IIBase de datos. Tipos de base de datos. Comandos y consultas

Autor: Ms. Lic. Lucio Arnulfo Ferrer Peñaranda

Base dedatos

Pág. 95

Tarea 5.- Muestre la tabla Nombrados ordenado por apellidos y nombres enorden descendente.

SELECT * FROM NOMBRADOS ORDER BY APENOM DESC

UNIVERSIDAD NACIONAL DEL CALLAOFACULTAD DE CIENCIAS DE LA SALUD

CAPITULO IIBase de datos. Tipos de base de datos. Comandos y consultas

Autor: Ms. Lic. Lucio Arnulfo Ferrer Peñaranda

Base dedatos

Pág. 96

REFERENCIALES

1. CEVALLOS FCO. JAVIER SIERRA, Enciclopedia de Microsoft Visual C#,

Edit. Alfaomega RA-MA, primera edición 2006, México

2. ROMERO RICARDO, SQL Server 2005, Edit. Ritisa Graff S.R.L., primera

edición 2006, Lima Perú.