GUIA DE SQL SERVER 2008.docx

13
UNIVERSIDAD NACIONAL JOSE MARIA ARGUEDAS TEORIA Y DISEÑO DE BASE DE DATOS I INGENIERIA DE SISTEMAS ING. RICHARD FLORES C. ING. IRMA HUAMANÑAHUI CH. SQL SERVER 2008 1. COMANDOS Existen dos tipos de comandos SQL: DDL: que permiten crear y definir nuevas bases de datos, campos e índices. DML: que permiten generar consultas para ordenar, filtrar y extraer datos de la base de datos. 1.1. Comandos DDL COMANDO DESCRIPCION CREATE Utilizado para crear nuevas tablas, campos , índices, procedimientos, funciones, etc. DROP Empleado para eliminar tablas, campos , índices, procedimientos, funciones, etc. ALTER Utilizado para modificar las tablas, campos , índices, procedimientos, funciones, etc. 1.2. Comandos DML COMANDO DESCRIPCION SELECT Utilizado para consultar registros de la base de datos que satisfagan un criterio Determinado. INSERT Utilizado para cargar lotes de datos en la base de datos en una única operación. UPDATE Utilizado para modificar los valores de los campos y registros especificados. DELETE Utilizado para eliminar registros de una tabla de una base de datos. pág. 1

Transcript of GUIA DE SQL SERVER 2008.docx

Page 1: GUIA DE SQL SERVER 2008.docx

UNIVERSIDAD NACIONAL JOSE MARIA ARGUEDAS TEORIA Y DISEÑO DE BASE DE DATOS IINGENIERIA DE SISTEMAS ING. RICHARD FLORES C.

ING. IRMA HUAMANÑAHUI CH.

SQL SERVER 2008

1. COMANDOSExisten dos tipos de comandos SQL: DDL: que permiten crear y definir nuevas bases de datos, campos e índices. DML: que permiten generar consultas para ordenar, filtrar y extraer datos de

la base de datos.

1.1. Comandos DDLCOMANDO DESCRIPCIONCREATE Utilizado para crear nuevas tablas, campos , índices,

procedimientos, funciones, etc.DROP Empleado para eliminar tablas, campos , índices,

procedimientos, funciones, etc.ALTER Utilizado para modificar las tablas, campos , índices,

procedimientos, funciones, etc.

1.2. Comandos DMLCOMANDO DESCRIPCIONSELECT Utilizado para consultar registros de la base de datos que

satisfagan un criterio Determinado.INSERT Utilizado para cargar lotes de datos en la base de datos en una

única operación.UPDATE Utilizado para modificar los valores de los campos y registros

especificados.DELETE Utilizado para eliminar registros de una tabla de una base de

datos.

1.3. CLÁUSULASLas cláusulas son condiciones de modificación utilizadas para definir los datos que desea seleccionar o manipular.

CLAUSULA

DESCRIPCION

FROM Utilizada para especificar la tabla de la cual se van a seleccionar los registros.

WHERE Utilizada para especificar las condiciones que deben reunir los registros que se van a seleccionar.

pág. 1

Page 2: GUIA DE SQL SERVER 2008.docx

UNIVERSIDAD NACIONAL JOSE MARIA ARGUEDAS TEORIA Y DISEÑO DE BASE DE DATOS IINGENIERIA DE SISTEMAS ING. RICHARD FLORES C.

ING. IRMA HUAMANÑAHUI CH.

GROUP BY Utilizada para separar los registros seleccionados en grupos específicos.

HAVING Utilizada para expresar la condición que debe satisfacer cada grupo.

ORDER BY Utilizada para ordenar los registros seleccionados de acuerdo con un orden específico.

1.4. Operadores LógicosOPERADOR USOAND Es el "y" lógico. Evalúa dos condiciones y

devuelve un valor de verdad sólo siambas son ciertas.

OR Es el "o" lógico. Evalúa dos condiciones y devuelve un valor de verdad si alguna de las dos es cierta.

NOT Negación lógica. Devuelve el valor contrario de la expresión.

1.5. Operadores de ComparaciónOPERADOR USO< Menor que> Mayor que<> Distinto de<= Menor o igual que>= Mayor o igual que= Igual queBETWEEN Utilizado para especificar un intervalo de valores.LIKE Utilizado en la comparación de un modelo.LN Utilizado para especificar registros de una base de datos.

1.6. Funciones de AgregadoLas funciones de agregado se usan dentro de una cláusula SELECT en grupos de registros para devolver un único valor que se aplica a un grupo de registros.FUNCION DESCRIPCIONAVG Utilizada para calcular el promedio de los valores de un campo

determinado.COUNT Utilizada para devolver el número de registros de la selección.SUM Utilizada para devolver la suma de todos los valores de un campo

determinado.MAX Utilizada para devolver el valor más alto de un campo

especificado

pág. 2

Page 3: GUIA DE SQL SERVER 2008.docx

UNIVERSIDAD NACIONAL JOSE MARIA ARGUEDAS TEORIA Y DISEÑO DE BASE DE DATOS IINGENIERIA DE SISTEMAS ING. RICHARD FLORES C.

ING. IRMA HUAMANÑAHUI CH.

MIN Utilizada para devolver el valor más bajo de un campo especificado

1.7. Ejemplos:Para los siguientes ejemplos hacer uso de la base de datos Academia

Ejemplo1: Utilizando el Comando CreateCREATE TABLE SEDE_ACADEMIA –--CREANDO UNA NUEVA TABLA(

COD_SEDE CHAR(6) PRIMARY KEY NOT NULL,NOM_SEDE CHAR(80) NOT NULL,UBICACION CHAR(100) NOT NULL

)

DESPUES DE EJECUTAR EL CODIGO

Ejemplo 2: Utilizando el Comando DROPDROP TABLE SEDE_ACADEMIA --- ELIMINANDO LA TABLA

Después de compilar el código se eliminó la tabla sede_academia

Ejemplo 3: Utilizando el Comando ALTER--1 CAMBIAR NOMBRE DE LA BASE DE DATOS

pág. 3

Page 4: GUIA DE SQL SERVER 2008.docx

UNIVERSIDAD NACIONAL JOSE MARIA ARGUEDAS TEORIA Y DISEÑO DE BASE DE DATOS IINGENIERIA DE SISTEMAS ING. RICHARD FLORES C.

ING. IRMA HUAMANÑAHUI CH.

ALTER DATABASE ACADEMIA3 MODIFY NAME = ACADEMIA2;

--- 2 CAMBIAR INFORMACION EN UNA TABLA---- CAMBIA LA LONGITUD DEL DOMINIO DE CHAR(100) A CHAR(50)

ALTER TABLE SEDE_ACADEMIA ALTER COLUMN UBICACION CHAR(50);

---- AGREGA UN NUEVO ATRIBUTO EN LA TABLA SEDE_ACADEMIAALTER TABLE SEDE_ACADEMIA ADD TELEFONO varchar(9);

---- ELIMINA EL ATRIBUTO TELEFONO DE LA TABLA CLIENTES ALTER TABLE SEDE_ACADEMIA DROP COLUMN TELEFONO;

Ejemplo 4: Utilizando el Comando DML y Clausulas --- 1:SELECCIONA TODOS LOS DATOS DE LA TABLA ALUMNO

SELECT * FROM ALUMNO

pág. 4

Page 5: GUIA DE SQL SERVER 2008.docx

UNIVERSIDAD NACIONAL JOSE MARIA ARGUEDAS TEORIA Y DISEÑO DE BASE DE DATOS IINGENIERIA DE SISTEMAS ING. RICHARD FLORES C.

ING. IRMA HUAMANÑAHUI CH.

---2: SELECCIONA ALGUNOS CAMPOS DE LA TABLA ALUMNOSELECT COD_ALUMNO, NOM_ALUMNO, APE_ALUMNOFROM ALUMNO

---3: SELECCIONA ALGUNOS CAMPOS DE LA TABLA ALUMNO SIEMPRE Y CUANDO EL NOMBRE DEL ALUMNO SEA “DAMIAN”

SELECT COD_ALUMNO, NOM_ALUMNO, APE_ALUMNO FROM ALUMNOWHERE NOM_ALUMNO='DAMIAN'

---4: SELECCIONA EL GRADO DEL PROFESOR Y REALIZA UN CONTEO DE LA CANTIDAD DE PROFESORES POR GRADO Y LOS AGRUPA DE ACUERDO AL GRADOSELECT GRT_PROFESOR, COUNT(CODIGO_PROFESOR)AS [CANTIDAD DE PROFESORES]FROM PROFESORGROUP BY GRT_PROFESOR;

pág. 5

Page 6: GUIA DE SQL SERVER 2008.docx

UNIVERSIDAD NACIONAL JOSE MARIA ARGUEDAS TEORIA Y DISEÑO DE BASE DE DATOS IINGENIERIA DE SISTEMAS ING. RICHARD FLORES C.

ING. IRMA HUAMANÑAHUI CH.

---5: SELECCIONA EL GRADO DEL PROFESOR Y REALIZA UN CONTEO DE LA CANTIDAD DE PROFESORES POR GRADO Y LOS AGRUPA POR GRADO SIEMPRE Y CUANDO LA CANTIDAD DE PROFESORES POR GRADO SEA MENOR A 2

SELECT GRT_PROFESOR, COUNT(CODIGO_PROFESOR)AS [CANTIDAD DE PROFESORES]FROM PROFESORGROUP BY GRT_PROFESORHAVING COUNT(GRT_PROFESOR)<2;

---6: SELECCIONA LOS CURSOS ORDENADOS POR EL NOMBRESELECT *

FROM CURSOORDER BY NOM_CURSO

---7: SELECCIONA LOS CURSOS ORDENADOS POR EL COSTO TOTAL DEL CURSO EN FORMA DESCENDENTE

SELECT COD_CURSO, NOM_CURSO, (HORAS*PRECIO)AS [COSTO TOTAL DEL CURSO]

FROM CURSOORDER BY [COSTO TOTAL DEL CURSO] DESC;

Ejemplo 5: Utilizando Operadores Lógicos y de Comparación

---1 CONSULTA DE LOS CURSOS QUE SU PRECIO SE ENCUENTRE ENTRE 20 Y 40 SOLES

SELECT COD_CURSO, NOM_CURSO, PRECIO FROM CURSO

WHERE PRECIO BETWEEN 20 AND 40;

pág. 6

Page 7: GUIA DE SQL SERVER 2008.docx

UNIVERSIDAD NACIONAL JOSE MARIA ARGUEDAS TEORIA Y DISEÑO DE BASE DE DATOS IINGENIERIA DE SISTEMAS ING. RICHARD FLORES C.

ING. IRMA HUAMANÑAHUI CH.

---2 CONSULTA DE LOS CURSOS QUE SUS HORAS SEAN MENORES O IGUALES A 5

SELECT COD_CURSO, NOM_CURSO,HORAS, PRECIO FROM CURSO

WHERE HORAS <=5

--3 CONSULTA DE LOS CURSOS QUE SUS NOMBRES EMPPIECEN CON LA LETRA ISELECT COD_CURSO, NOM_CURSO,HORAS, PRECIO

FROM CURSOWHERE NOM_CURSO LIKE'I%';

--4 CONSULTA DE LOS ALUMNOS QUE NO VIVEN EN ANDAHUAYLAS

SELECT COD_ALUMNO, APE_ALUMNO, NOM_ALUMNO,DIR_ALUMNOFROM ALUMNOWHERE NOT DIR_ALUMNO = 'ANDAHUAYLAS';

--5 CONSULTA DE LOS ALUMNOS QUE VIVEN EN ANDAHUAYLAS O EN TOTORAL

SELECT COD_ALUMNO, APE_ALUMNO, NOM_ALUMNO,DIR_ALUMNOFROM ALUMNOWHERE DIR_ALUMNO = 'ANDAHUAYLAS' OR DIR_ALUMNO ='TOTORAL'

pág. 7

Page 8: GUIA DE SQL SERVER 2008.docx

UNIVERSIDAD NACIONAL JOSE MARIA ARGUEDAS TEORIA Y DISEÑO DE BASE DE DATOS IINGENIERIA DE SISTEMAS ING. RICHARD FLORES C.

ING. IRMA HUAMANÑAHUI CH.

Ejemplo 6: Funciones de agregado

2. Algebra Relacional y Sql Server 20082.1.1. Operadores fundamentales:

Conjunto de operaciones que toman como argumentos relaciones y retornan una nueva relación.Las operaciones fundamentales del Algebra relacional son:

Selección σ Proyección π Union υ Diferencia − Producto cartesiano × Renombramiento ρ

Ejemplos:Ejemplo 1: selección σCURSOS CUYO PRECIO ES MAYOR A 20 Y SUS HORAS MENORES A 5

σ _PRECIO>10^HORAS<5(CURSO) SQL:

SELECT *FROM CURSOWHERE PRECIO>10 AND HORAS<5;

Ejemplo 2: Proyección πCursos pero solo con el atributo código:

π _COD_CURSO(CURSO)

pág. 8

Page 9: GUIA DE SQL SERVER 2008.docx

UNIVERSIDAD NACIONAL JOSE MARIA ARGUEDAS TEORIA Y DISEÑO DE BASE DE DATOS IINGENIERIA DE SISTEMAS ING. RICHARD FLORES C.

ING. IRMA HUAMANÑAHUI CH.

SQL:SELECT COD_CURSOFROM CURSO;

Ejemplo 3: unión υRETORNA LOS NOMBRES DE LOS ALUMNOS Y LOS NOMBRES DE LAS ESPECIALIDADES

π _NOM_ALUMNO(ALUMNO) υ π _DESCRIPCION(ESPECIALIDAD)

SQL:

SELECT NOM_ALUMNO FROM ALUMNOUNIONSELECT DESCRIPCION FROM ESPECIALIDAD;

Ejemplo 4:Profesores y sus cursos a cargo:SELECT P.NOM_PROFESOR, NOM_CURSO

pág. 9

Page 10: GUIA DE SQL SERVER 2008.docx

UNIVERSIDAD NACIONAL JOSE MARIA ARGUEDAS TEORIA Y DISEÑO DE BASE DE DATOS IINGENIERIA DE SISTEMAS ING. RICHARD FLORES C.

ING. IRMA HUAMANÑAHUI CH.

FROM PROFESOR P, CLASE CL INNER JOIN CURSO CON CL.COD_CURSO =C.COD_CURSOWHERE CL.CODIGO_PROFESOR= P.CODIGO_PROFESOR;

Tarea:1: CONSULTA DE LOS CURSOS QUE SU COSTO TOTAL SE ENCUENTRE ENTRE 175 Y 240 SOLES

2: LISTAR A TODOS LOS CURSOS QUE SUS NOMBRES TENGAN ESPACION VACIOS Y QUE TERMINEN EN I.

pág. 10