Você está na página 1de 48

Universidad Nacional De Ingeniería

Facultad Ingeniería Industrial y de Sistemas

Profesor: Ing. MBA Ysabel Rojas


ARQUITECTURA DEL GESTOR SQL SERVER
REVISION INSTRUCCIONES DDL
ACTUALIZACION DE TUPLAS
CONSULTAS - QUERYS
EJERCICIOS NIVEL BÁSICO
CONSULTAS MULTITABLAS
PROYECTO TRABAJO GRUPAL
PRACTICA DIRIGIDA 02
ARQUITECTURA DEL
GESTOR SQL SERVER
ARQUITECTURA DEL GESTOR
SQL SERVER
 Cuando se instala SQL Server se crean cuatro bases de datos del
sistema que guardan información del propio sistema, son necesarias
para su funcionamiento, y no son utilizables directamente por el
usuario:
ARQUITECTURA DEL GESTOR
SQL SERVER
MASTER
 Las cuentas de inicio de sesión,
 parámetros de configuración del servidor,
 Registrar la existencia de otras bases de datos, etc
MSBD
 Programación de trabajos,
 Definición de operadores y alertas.
 Almacena la información de la copia de seguridad y se emplea en la restauración de
la base de datos
MODEL
Es la base de datos plantilla cuando se crea una nueva B:D. Si se desea que
determinados objetos, permisos, usuarios se creen automáticamente cada vez que se
crea una base de datos, pueden incluirse en esta base.
TEMPDB
Utilizada cuando se necesita crear tablas temporales internas (o tablas de trabajo)
para determinadas operaciones, ordenación, las operaciones multitabla, el
tratamiento de cursores, almacena todas las tablas y procedimientos
almacenados temporales.
VISTA DESDE EL
ADMINISTRADOR
Se Pulsa la B.D que se desea :
ARQUITECTURA DEL GESTOR SQL SERVER
REVISION INSTRUCCIONES DDL
ACTUALIZACION DE TUPLAS
CONSULTAS - QUERYS
EJERCICIOS NIVEL BÁSICO
CONSULTAS MULTITABLAS
PROYECTO TRABAJO GRUPAL
PRACTICA DIRIGIDA 02
Conceptos Básicos

 Lenguaje de Consultas Estruturado (SQL)

 Lenguaje de trabajo estándard para modelo


relacional
 Componentes
 DDL: Data Definition Language

 DML: Data Manipulation Language (AR y CRT)

 DCL : Data Control Language

8
SQL
 DDL - Lenguaje de definición de datos.
 Definición de esquemas,relaciones, indices y vistas (una
vista es una tabla virtual, ya que sus filas no se almacenan
físicamente, sino que son producto de una consulta)
 Autorizaciones al acceso a datos
 Definición de reglas de integridad.
 Control de Concurrencia

 DML - Lenguaje interactivo de manipulación de datos.


 Consultar datos almacenados.
 Modificar el contenido de los datos almacenados.

 DCL - Lenguaje interactivo del control de la seguridad de


datos .
 Control de accesos y privilegios entre los usuarios.
9
SQL : Grupos de instrucciones
(mandatos)
Los mandatos de SQL se dividen en tres grandes grupos diferenciados

DDL(Data Definition Language), es el encargado de la definición de Bases de Datos, tablas, vistas e índices entre otros.
Son comandos propios DDL

CREATE TABLE
CREATE INDEX
CREATE VIEW
CREATE SYNONYM

DML(Data Manipulation Language), cuya misión es la manipulación de datos. A través de él podemos seleccionar,
insertar, eliminar y actualizar datos. Es la parte que más frecuentemente utilizaremos, y que con ella se construyen
las consultas.
Son comandos propios DML
SELECT
UPDATE
INSERT
INSERT INTO
DELETE FROM

DCL (Data Control Language), encargado de la seguridad de la base de datos, en todo lo referente al control de accesos
y privilegios entre los usuarios.

Son comandos propios de este lenguaje:


GRANT
REVOKE
ARQUITECTURA DEL GESTOR SQL SERVER
REVISION INSTRUCCIONES DDL
ACTUALIZACION DE TUPLAS
CONSULTAS - QUERYS
EJERCICIOS NIVEL BÁSICO
CONSULTAS MULTITABLAS
PROYECTO TRABAJO GRUPAL
PRACTICA DIRIGIDA 02
ACTUALIZACION

 Permite la actualizacion de unos o


varios registros

UPDATE <nombre_tabla>
SET <campo1> = <valor1>
{[,<campo2> = <valor2>,...,<campoN> =
<valorN>]}
[ WHERE <condicion>];
ACTUALIZACION
Incrementar en 10% el sueldo de los empleados del departamento 02

UPDATE EMPLEADO
SET SALARIO=SALARIO*1.1
WHERE cod-dep= ‘02’)
 A la izquierda se refiere al nuevo valor
de SALARIO
 A la derecha al valor antiguo
ARQUITECTURA DEL GESTOR SQL SERVER
REVISION INSTRUCCIONES DDL
ACTUALIZACION DE TUPLAS
CONSULTAS - QUERYS
EJERCICIOS NIVEL BÁSICO
CONSULTAS MULTITABLAS
PROYECTO TRABAJO GRUPAL
PRACTICA DIRIGIDA 02
SQL – Consultas Basicas

 Estructura básica: 3 cláusulas


 Select (equivale a )
 From (equivale a x)
 Where (equivale a )
 a1,...,an (p (r1 x ... X rm ) ) equivale a
Select a1,..., an
From r1,..., rm
Where P
 Ej1: todas las sucursales de la
relación sucursal
35
Consultas - Querys
SELECT [ALL | DISTINCT ]
<nombre_campo> [{,<nombre_campo>}]
FROM <nombre_tabla>|<nombre_vista>
[{,<nombre_tabla>|<nombre_vista>}] [WHERE
<condicion> [{ AND|OR <condicion>}]] [GROUP
BY <nombre_campo> [{,<nombre_campo
>}]]
[HAVING <condicion>[{ AND|OR <condicion>}]]
[ORDER BY
<nombre_campo>|<indice_campo> [ASC | DESC]
[{,<nombre_campo>|<indice_campo> [AS
C | DESC ]}]]
SQL - Querys

Select
 * (incluye todos los atributos de las
tablas que aparecen en el from)

 Distinct (eliminan tuplas


duplicadas)

 All (valor por defecto, aparecen


todas las tuplas) 37
SQL- Querys Nivel básico
 Ej: nombres de las sucursales en la relación
o tabla préstamo sin repetición
 Ej :Operaciones en el select
 Select nombre, saldo * 3
From cliente
 Where
 Operadores lógicos
 Ej: préstamos cuyo monto es superior a S/.20000
 Between
 Ej: préstamos cuyo monto este entre 20000 y 30000
Nuevos soles
38
SQL- Querys
 Ordenamiento de las tuplas resultado

 Order By atributo: especifica el atributo por el


cual las tuplas serán ordenadas
 Ej8: presentar todos los clientes ordenados por
nombre.

 Desc, asc: por defecto es ascendente,


 se puede especificar descendente.
 Facturas=(Nro,Fecha,Hora)
 Ej: presentar las facturas del mes de agosto
ordenadas por fecha desde el 31 al 1 de agosto

39
SQL- Querys Nivel basico
SQL- Querys Nivel 1
SQL- Querys formato general
Significado
Palabra clave que indica que la sentencia de SQL que queremos ejecutar es de
SELECT
búsqueda seleccionada
Indica que queremos seleccionar todos los valores.Es el valor por defecto y no suele
ALL especificarse casi nunca.
DISTINCT Indica que queremos seleccionar sólo los valores distintos.
FROM Indica la tabla (o tablas) desde la que queremos recuperar los datos. En el caso
de que exista más de una tabla se denomina a la consulta "consulta combinada" o
"join". En las consultas combinadas es necesario aplicar una condición de combinació
a través de una cláusula WHERE.
WHERE Especifica una condición que debe cumplirse para que los datos sean devueltos por
la consulta. Admite los operadores lógicos AND y OR.

GROUP BY Especifica la agrupación que se da a los datos. Se usa siempre en combinación con
funciones agregadas.
HAVING Especifica una condición que debe cumplirse para que los datos sean devueltos por
la consulta. Su funcionamiento es similar al de WHERE pero aplicado al conjunto de
resultados devueltos por la consulta. Debe aplicarse siempre junto a GROUP BY y la
condición debe estar referida a los campos contenidos en ella.

Presenta el resultado ordenado por las columnas indicadas. El orden puede


ORDER BY expresarse con ASC (orden ascendente) y DESC (orden descendente).
El valor predeterminado es ASC.
ARQUITECTURA DEL GESTOR SQL SERVER
REVISION INSTRUCCIONES DDL
ACTUALIZACION DE TUPLAS
CONSULTAS - QUERYS
EJERCICIOS NIVEL BÁSICO
CONSULTAS MULTITABLAS
PROYECTO TRABAJO GRUPAL
PRACTICA DIRIGIDA 02
Consultas – Nivel basico
1)CONSULTANDO TODAS LAS TUPLAS (Con todos los
campos creados) (Tabla Empleado de B.D Edumatica)
Use Edumatica
Go
Select * from empleado
Go
2)CONSULTANDO TODAS LAS TUPLAS (Con campos
seleccionados) (Tabla Empleado)
Use Edumatica
Go
Select IDEMPLEADO,APEEMPLEADO,NOMEMPLEADO from
empleado
Go
Consultas – Nivel Basico
3)CONSULTANDO TUPLAS (Concatenando campos)
 Select IDEMPLEADO,APEEMPLEADO+’, ‘ +NOMEMPLEADO from
empleado
 Go
4)Estableciendo Titulo a las columnas
 Select IDEMPLEADO,APEEMPLEADO+’, ‘ +NOMEMPLEADO AS
EMPLEADO from empleado
 Go
5)Seleccionando registros en base a rangos
 Select * from Products Where UnitPrice Between 20 and 40
 Go
 Select * from Employees Where hiredate Between ‘20160101’ and ‘20161231’
 Go


ARQUITECTURA DEL GESTOR SQL SERVER
REVISION INSTRUCCIONES DDL
ACTUALIZACION DE TUPLAS
CONSULTAS - QUERYS
EJERCICIOS NIVEL BÁSICO
CONSULTAS MULTITABLAS
PROYECTO TRABAJO GRUPAL
PRACTICA DIRIGIDA 02
Consultas
Multitablas
Consultas Multitabla

 Las consultas multitabla son


llamadas así porque están basadas
en más de una tabla y permite
 La unión de tablas

 La composición
UNIÓN DE TABLAS
 Requisitos: deben de tener igual estructura las dos tablas
 La consulta unión sirven para ver en un único campo los datos
de igual tipo de varias tablas. En Access se realiza en diseño
de consultas, menú consulta, opción específica de SQL y
Unión. O directamente escribiéndola en la pantalla de SQL. No
se puede hacer en modo gráfico.
 SELECT [CAMPO1], [CAMPO2] FROM [TABLA1] UNION
SELECT [CAMPO1], [CAMPO2] FROM [TABLA2];
 La TABLA1 y la TABLA2 deben de tener el mismo número de
campos.
 El resultado es que devuelve en una misma columna el
resultado de las dos tablas.
 Los registros duplicados se eliminan. Si no se quiere que se
eliminen se escribe UNION ALL
Consultas Multitabla

El poder de la sentencia Select es la capacidad de poder en una


solo sentencia consultar multiples tablas simultaneamente, a esta
operación tambien se le conoce como JOIN

El requisito principal para que se pueda dar esta operacion, es


que las tablas a reunirse en una consulta esten relacionadas a
través de una llave (tener una columna de conexion)
Consultas Multitabla : Joins
Composicion de tablas

Los tipos de composición de tablas son:


 El INNER JOIN

 El OUTER JOIN
LEFT / RIGHT JOIN/ Full Outer Join
Composición interna: Inner join

 INNER JOIN es una composición interna ya


que todos los valores de las filas del
resultado son valores que están en las
tablas que se combinan
 Con una composición interna sólo se
obtienen las filas que tienen al menos una
fila de la otra tabla que cumpla la condición
Composición interna: Inner join

Inner Join
Composición externa: Outer join
Inner Join vs Outer Join
JOIN vs UNION
JOIN

UNION
Uniendo Tres o mas tablas
Inner Join con varias tablas
Se pueden combinar más de dos tablas
En este caso hay que sustituir en la sintaxis una tabla por un
INNER JOIN completo.

Por ejemplo:
SELECT * FROM
(PEDIDOS
INNER JOIN CLIENTES
ON PEDIDOS.IDCLIENTE = CLIENTES.IDCLIENTE)
INNER JOIN EMPLEADOS ON
PEDIDOS.IDEMPLEADO =
EMPLEADOS.IDEMPLEADO
Ejemplos :Consultas Multitabla
Ejem:
Queremos combinar los empleados con las oficinas para saber
la ciudad de la oficina donde trabaja cada empleado
Soluciones
 Solución 1: utilizando un producto cartesiano

SELECT EMPLEADOS.*,CIUDAD
FROM EMPLEADOS, OFICINAS
WHERE EMPLEADOS.OFICINA = OFICINAS.OFICINA

 Solución 2: utilizando Inner Join

SELECT EMPLEADOS.*, CIUDAD


FROM EMPLEADOS INNER JOIN OFICINAS ON
EMPLEADOS.OFICINA = OFICINAS.OFICINA.
Haciendo Join con varias
Tablas
Encadenar Joins es tan simple como ponerlos
uno a
continuación de otro ejemplo:
SELECT A.*, B.*, C.id FROM tabla_a A
INNER JOIN tabla_b B ON A.id = B.foo
INNER JOIN tabla_c C ON A.id = C.bar

Y así sucesivamente. Puedes tener tantos joins


como necesites, y si es necesario jugar con
los paréntesis para cambiar la preferencia (por
defecto MySQL lee de izquierda a derecha).
Ejemplos con Inner Join / Left
Y Right Join

 Para los casos en que queremos que


también aparezcan las filas que no
tienen una fila coincidente en la otra
tabla, utilizaremos el LEFT o RIGHT
JOIN.
Ejemplos de JOIN
 Mostrar en una consulta el nombre de los empleados junto con la
remuneración en el 2016
 Existen dos formas equivalentes
 CON INNER JOIN...ON

SELECT PERSONAL.NOMBRE, Sum(SALARIO.SUELDO) AS


Remuneracion FROM PERSONAL INNER JOIN SALARIO ON
PERSONAL.COD = SALARIO.CA_PERSONAL WHERE
SALARIO.AÑO=2011 GROUP BY PERSONAL.NOMBRE;

 PONIENDO LA INFORMACIÓN DE UNIÓN EN EL WHERE


SELECT PERSONAL.NOMBRE, Sum(SALARIO.SUELDO) AS
Remuneracion
FROM PERSONAL,SALARIO WHERE PERSONAL.COD =
SALARIO.CA_PERSONAL AND SALARIO.AÑO=2016
GROUP BY PERSONAL.NOMBRE;
ARQUITECTURA DEL GESTOR SQL SERVER
REVISION INSTRUCCIONES DDL
ACTUALIZACION DE TUPLAS
CONSULTAS - QUERYS
EJERCICIOS NIVEL BÁSICO
CONSULTAS MULTITABLAS
PROYECTO TRABAJO GRUPAL
PRACTICA DIRIGIDA 02
Proyecto Grupal

Presentación del Primer


Avance
ARQUITECTURA DEL GESTOR SQL SERVER
REVISION INSTRUCCIONES DDL
ACTUALIZACION DE TUPLAS
CONSULTAS - QUERYS
EJERCICIOS NIVEL BÁSICO
CONSULTAS MULTITABLAS
PROYECTO TRABAJO GRUPAL
PRACTICA DIRIGIDA 02
PRACTICA DIRIGIDA 02
Muchas Gracias!

Você também pode gostar