Clave foránea
En el contexto de bases de datos relacionales, una clave foránea o clave ajena (o Foreign Key
FK) es una limitación referencial entre dos tablas. La clave foránea identifica una columna o
grupo de columnas en una tabla (tabla hija o referendo) que se refiere a una columna o grupo de
columnas en otra tabla (tabla maestra o referenciada). Las columnas en la tabla referendo deben
ser la clave primaria u otra clave candidata en la tabla referenciada.
Los valores en una fila de las columnas referendo deben existir solo en una fila en la tabla
referenciada. Así, una fila en la tabla referendo no puede contener valores que no existen en la
tabla referenciada. De esta forma, las referencias pueden ser creadas para vincular o relacionar
información. Esto es una parte esencial de la normalización de base de datos. Múltiples filas en
la tabla referendo pueden hacer referencia, vincularse o relacionarse a la misma fila en la tabla
referenciada. Mayormente esto se ve reflejado en una relación uno (tabla maestra o referenciada)
a muchos (tabla hija o referendo).
Diagrama Relacional Base de Datos en Sql Server 2014
Dentro de las opciones que nos ofrece nuestra base de datos, encontramos la opción Diagrama
de la Base de Datos, que nos permite realizar las relaciones de las tablas en forma Gráfica. Para
acceder a esta opción le damos click derecho y crearemos un nuevo Diagrama de Base de Datos.
Imagen 1: Diagrama relacional de la Base de datos del Curso.
--TABLA PAÍS
CREATE TABLE pais (
idpais char(4) not null primary key,
nombre varchar(30) not null unique
)
go
--TABLA PASAJERO
CREATE TABLE pasajero (
idpasajero char(8) not null primary key,
nombre varchar(20) not null,
apaterno varchar(20) not null,
amaterno varchar(20) not null,
tipo_documento varchar(30) not null,
num_documento varchar (12) not null,
fecha_nacimiento date not null,
idpais char(4) not null,
telefono varchar(15) null,
email varchar(50) not null unique,
clave varchar(20) not null
)
go
--TABLA AEROPUERTO
CREATE TABLE aeropuerto (
idaeropuerto char(5) not null,
nombre varchar(50) not null,
idpais char(4) not null
)
go
--TABLA AEROLÍNEA
CREATE TABLE aerolinea (
idaerolinea int not null primary key,
ruc char(11) not null unique,
nombre varchar(40) not null unique
)
go
--TABLA AVIÓN
CREATE TABLE avion (
idavion char(5) not null primary key,
idaerolinea int not null,
fabricante varchar(40) null,
tipo varchar(30) null,
capacidad int not null
)
go
--TABLA VUELO
CREATE TABLE vuelo(
idasiento int not null,
idaeropuerto char(5) not null,
idreserva int not null,
idavion char(5) not null,
idtarifa int not null
)
go
--IMPLEMENTANDO LAS LLAVES PRIMARIAS DE LA TABLA VUELO
ALTER TABLE VUELO
ADD PRIMARY KEY NONCLUSTERED (idasiento,idaeropuerto,idreserva,idav
ion)
go
--TABLA PAGO
CREATE TABLE pago(
idpago int not null primary key identity,
idreserva int not null,
idpasajero char(8) not null,
fecha date DEFAULT GETDATE(),
monto money not null,
tipo_comprobante varchar(20) not null,
num_comprobante varchar(15)not null,
impuesto decimal (5,2) not null
)
go
go
Código que permite crear el diagrama entidad relación de nuestra base de datos Propuesta
Curso completo de Microsoft Sql Server 2014, Lenguaje de Definición de Datos, Relaciones en
Sql Server, Separar y adjuntar base de datos en Sql Server.
Puedes descargar el Material del Curso desde, Archivos del Curso, Backup y Presentaciones:
https://drive.google.com/open?id=1kAJ_A03b7Y2DSqQzXEDwaMtBbvks7gmj
Cuando creamos una base de datos el servidor la protege de gestiones desde el exterior, eso
quiere decir que desde el explorador de windows no se podrá eliminar ni cambiar de nombre a
la DB.
Para poder cambiar de ubicación física o modificar el nombre de la Base de Datos, el Motor
propone algunas políticas de gestión proporcionando funciones, sentencias e intrucciones para
dicho control.
Procedimiento Almacenado SP_DETACH_DB (Permite separar una Base de Datos del Servidor
Actual):
use master
SP_DETACH_DB @DBNAME=‘DBRESERVA’
GO
Adjuntar Base de Datos
Separar y adjuntar Base de datos Sql Server 2014 (9-35) Bases de Datos en Microsoft Sql
Server 2014
Lenguaje de Manipulación de datos Sql Server - Bases de
Datos en Microsoft Sql Server 2014 (10-35)
IncanatoIt-ad 4 years ago Curso Completo Sql Server 2014
Buen día amigos de IncanatoIt, en este artículo se explica la manera de insertar registros en
una tabla en sql server 2014 utilizando el Asistente de Microsoft Sql Server Management
Studio 2014.
Continuamos con este videocurso completo de base de datos en sql server 2014, se explica de
manera detallada el lenguaje de Manipulación de Datos DML, las sentencias Insert Into,
Update, Delete, Select, Merge, Bulk Insert.
https://www.youtube.com/watch?v=lFYSq3DI3rs&list=PLZPrWDz1MolrT1ID3CRIeR6jPLJ7Fp1x6
Puedes descargar el Material del Curso desde, Archivos del Curso, Backup y Presentaciones:
https://drive.google.com/open?id=1kAJ_A03b7Y2DSqQzXEDwaMtBbvks7gmj
Lenguaje SQL
El lenguaje de Manipulación de Datos (DML) es un término usado para recuperar y trabajar con
datos en Sql Server, incluye instrucciones para agregar, modificar, consultar o quitar datos de
una base de Datos en Sql Server.
INSERT
UPDATE
DELETE
SELECT
MERGE
BULK INSERT
Aerolínea
País
Pasajero
Reserva
Pago
Tarifa
Aeropuerto
En el video siguiente se muestra como ingresar Datos pero utilizando el asistente gráfico de Sql
Server Magement Studio 2014.
Lenguaje de Manipulación de datos Sql Server (10-35) Bases de Datos en Microsoft Sql
Server 2014
Insertar registros en tablas Sql Server 2014 - Bases de
Datos en Microsoft Sql Server 2014 (11-35)
IncanatoIt-ad 4 years ago Curso Completo Sql Server 2014
Buen día amigos de IncanatoIt En este capítulo se explica la manera de insertar registros en
una tabla en sql server 2014 utilizando el Lenguaje de manipulación de Datos DML en
Microsoft Sql Server 2014, se utiliza la sentencia Insert Into para registrar datos en tablas en
Base de datos en Sql Server 2014.
https://www.youtube.com/watch?v=lFYSq3DI3rs&list=PLZPrWDz1MolrT1ID3CRIeR6jPLJ7Fp1x6
Puedes descargar el Material del Curso desde, Archivos del Curso, Backup y Presentaciones:
https://drive.google.com/open?id=1kAJ_A03b7Y2DSqQzXEDwaMtBbvks7gmj
INSERT [INTO]
[ESQUEMA] TABLA O VISTA [(Lista de columnas)]
SENTENCIA INSERT
Aerolínea
País
Pasajero
Reserva
Pago
Tarifa
Aeropuerto
Tabla Aeropuerto
values ('AE01','0003','Bariloche'),
('AE03','0001','Jorge Chávez')
go
Tabla Reserva
values ('1','140','01-27-2013','')
go
values ('2','100','01-01-2013','')
go
values ('3','300','03-04-2014','')
go
values ('4','800','04-05-2014','')
go
insert into RESERVA (idreserva,costo,fecha,observacion)
values ('5','250',getdate(),'')
go
values ('6','1150',getdate(),'')
go
values ('7','700',getdate(),'')
go
Tabla Pago
values ('1','01-27-2013','P0000001',40,'Ticket','0010007',0.18),
('5','05-05-2014','P0000002',250,'Factura','001-0002',0.18),
('7',getdate(),'P0000007',700,'Factura','001-0003',0.18)
go
Tabla Tarifa
--Insertar tarifa
values ('1','Supervip',1200,12),
('2','Vip',1000,12),
('3','Nacional',800,12),
('4','Económica',500,0)
go
--Verificando registros insertados en la tabla tarifa
Insertar registros en tablas Sql Server 2014 (11-35) Bases de Datos en Microsoft Sql Server
2014
Buen día amigos de IncanatoIt, en este artículo se explica la manera de Modificar registros en
sql server 2014 utilizando el lenguaje de Manipulación de Datos, se usa la sentencia Update
para modificar o actualizar la información de los registros almacenados en una tabla o vista
de una base de datos en sql server 2014, todo utilizando el lenguaje sql y el lenguaje DML.
https://www.youtube.com/watch?v=lFYSq3DI3rs&list=PLZPrWDz1MolrT1ID3CRIeR6jPLJ7Fp1x6
Puedes descargar el Material del Curso desde, Archivos del Curso, Backup y Presentaciones:
https://drive.google.com/open?id=1kAJ_A03b7Y2DSqQzXEDwaMtBbvks7gmj
[WHERE <Search_Condition>]
Ejemplos
1. Actualizar los Valores de la columna impuesto por el valor 11 a todos los registros de la tabla
TARIFA.
Tabla Tarifa
update tarifa
set impuesto=11
go
2. Actualizar los valores de la columna impuesto aumentado en 2 a todos los registros de la tabla
TARIFA.
update tarifa
set impuesto=impuesto + 2
go
3. Asignar el impuesto a cero sólo a los registros cuya clase sea Económico de la tabla tarifa.
update tarifa
set impuesto=0
where clase='Económica'
go
4. Actualizar los costos de la tabla RESERVA disminuyendo en 50 a los registros cuyo ingreso
se realizó el año 2013, utilizar variables.
Tabla Reserva
update reserva
set costo=costo - 50
where year(fecha)=2013
go
5. Asignar el texto ‘SIN FONO’ en el campo teléfono de los pasajeros que sean de Perú
Pasajero.
Tabla Pasajero
update pasajero
Modificar registros sql server 2014 Update (12-35) Bases de Datos en Microsoft Sql Server
2014
Buen día amigos de IncanatoIt, en este artículo veremos la manera de Eliminar registros de
tablas en base de datos en sql server 2014, utilizando el lenguaje de Manipulación de Datos
en sql server 2014, se usa la sentencia delete para poder eliminar registros en el lenguaje sql,
se utiliza también condiciones con la cláusula where para filtrar la información que se desea
eliminar y subconsultas en sql server 2014.
https://www.youtube.com/watch?v=lFYSq3DI3rs&list=PLZPrWDz1MolrT1ID3CRIeR6jPLJ7Fp1x6
Puedes descargar el Material del Curso desde, Archivos del Curso, Backup y Presentaciones:
https://drive.google.com/open?id=1kAJ_A03b7Y2DSqQzXEDwaMtBbvks7gmj
SENTENCIA DELETE (Eliminación de Registros de una tabla): Permite eliminar todos los
registros específicados en una determinada tabla.
DELETE
[TOP { Expresión } ]
FROM TABLE
[WHERE <Search_Condition>]
Ejemplos
1. Eliminar todos los registros de la Tabla AEROLÍNEA.
Tabla Aerolínea
Tabla Pasajero
delete from pasajero
where idpasajero='P0000004'
go
3. Eliminar los registros de la tabla PASAJERO cuyo país sea México, utilizar subconsultas.
4. Eliminar los registros de la tabla RESERVA que sean del año 2013 y que no superen los $ 70.
Tabla Reserva
5. Eliminar los registros de la tabla PAGO, que se han efectuado en el año 2012 ó 2013.
Tabla Pago
Eliminar Registros de tablas en Sql Server 2014 (13-35) Bases de Datos en Microsoft Sql
Server 2014
Puedes descargar el Material del Curso desde, Archivos del Curso, Backup y Presentaciones:
https://drive.google.com/open?id=1kAJ_A03b7Y2DSqQzXEDwaMtBbvks7gmj
Back Up de Base de Datos
Una copia de seguridad, copia de respaldo en tecnologías de la información es una copia de los
datos originales que se realiza con el fin de disponer de un medio para recuperarlos en caso de
su pérdida. Los Backup son útiles ante distintos eventos y usos:
Recuperar los datos de los sistemas informáticos de una catástrofe informática, natural
o ataque.
Restaurar una pequeña cantidad de información que pueden haberse eliminado
accidentalmente, corrompido.
El proceso de copia de seguridad se complementa con otro conocido como restauración de los
datos (en inglés restore), que es la acción de leer y grabar en la ubicación original u otra
alternativa los datos requeridos que han sido respaldados con anterioridad.
Sacar BackUp y restaurar Backup Sql server 2014 (14-35) Bases de Datos en Microsoft Sql
Server 2014
Comando Select recuperar registros - Bases de Datos en
Microsoft Sql Server 2014 (15-35)
IncanatoIt-ad 4 years ago Curso Completo Sql Server 2014
Buen día amigos de IncanatoIt, en este artículo explicaremos de manera detallada el uso de la
sentencia SELECT y sus variadas formas de recuperar información desde una tabla en la base
de datos activa. Veremos las cláusulas principales: Cláusula ALL para especificar el conjunto
de filas devueltas, DISTINCT Sentencia utilizada para mostrar filas únicas no repetidas, TOP
para mostrar solo un número o porcentaje indicado de filas obtenidas. Cláusula FROM que
permite indicar las filas que están involucradas. Sentencia WHERE Cláusula que permite
condicionar el resultado de una consulta, GROUP BY permite agrupar un conjunto de registros
en forma de resumen. HAVING permite condicionar el resultado después de haber agrupado
los registros. Sentencia ORDER BY para ordenar los registros de acuerdo a una columna
específica.
Puedes seguir el curso Completo desde:
https://www.youtube.com/watch?v=lFYSq3DI3rs&list=PLZPrWDz1MolrT1ID3CRIeR6jPLJ7Fp1x6
Puedes descargar el Material del Curso desde, Archivos del Curso, Backup y Presentaciones:
https://drive.google.com/open?id=1kAJ_A03b7Y2DSqQzXEDwaMtBbvks7gmj
Sintáxis
[FROM] tabla
[WHERE <Condición> ]
[<GROUP BY>]
[HAVING <Condición> ]
Cláusulas Principales
ALL: Especifica el conjunto de filas devueltas por la consulta.
ORDER BY: Permite ordenar los registros de acuerdo a una columna espcífica.
Ejemplos
Ejemplo 1:
Mostrar los registros de la tabla PASAJERO , ordenarlos de manera ascendente por su apellido
paterno.
Tabla Pasajero
go
--1ra forma
amaterno as ApellidoMaterno
from PASAJERO
go
--2da Forma
from PASAJERO
go
amaterno as ApellidoMaterno
from PASAJERO
go
Cláusula TOP:
Específica que el conjunto de filas devueltas por la consulta puede ser controlado en un número
y en porcentaje. Considere que la muestra de registros devueltas siempre será el primer conjunto
de filas especificadas. Para especificar el porcentaje sólo agregar la palabra PERCENT.
Ejemplo 2:
Mostrar los 3 primeros registros de la tabla PASAJERO ordenados por su apellido paterno .
select top 3
idpasajero as ID, nombre as Nombre, apaterno as ApellidoP,
go
Ejemplo 3:
Mostrar los 3 últimos registros de la tabla PASAJERO ordenados por ambos apellidos.
select top 3
idpasajero as ID, nombre as Nombre, apaterno as ApellidoP,
go
Ejemplo 4:
Tabla Reserva
go
Comando Select recuperar registros (15-35) Bases de Datos en Microsoft Sql Server 2014
Cláusula Where Comando Select - Bases de Datos en
Microsoft Sql Server 2014 (16-35)
IncanatoIt-ad 4 years ago Curso Completo Sql Server 2014
Buen día amigos de IncanatoIt, En este capítulo trabajaremos con expresiones para
condicionar la búsqueda para eso utilizaremos la sentencia where junto al comando Select,
revisaremos algunos ejemplos utilizando la base de datos dbreserva para condicionar algunas
búsquedas en sql server, además trabajaremos con la función year, month.
https://www.youtube.com/watch?v=lFYSq3DI3rs&list=PLZPrWDz1MolrT1ID3CRIeR6jPLJ7Fp1x6
Puedes descargar el Material del Curso desde, Archivos del Curso, Backup y Presentaciones:
https://drive.google.com/open?id=1kAJ_A03b7Y2DSqQzXEDwaMtBbvks7gmj
Comando Select
Cláusula Where
Ejemplos
Ejemplo 1:
Script que permita mostrar los PASAJEROS cuyo tipo de documento sea “DNI”.
Tabla Pasajero
select * from pasajero
where tipo_documento='DNI'
go
Ejemplo 2:
Tabla Pago
select fecha,idpasajero,monto from pago
where fecha='2013-1-27'
go
Ejemplo 3:
where month(fecha)='5'
and year(fecha)='2014'
go
Ejemplo 4:
go
Ejemplo 5:
Implementar un Script que permita mostrar los PASAJEROS con su correspondiente país de
residencia.
where pas.idpais=pai.idpais
go
Cláusula Where Comando Select (16-35) Bases de Datos en Microsoft Sql Server 2014
Puedes descargar el Material del Curso desde, Archivos del Curso, Backup y Presentaciones:
https://drive.google.com/open?id=1kAJ_A03b7Y2DSqQzXEDwaMtBbvks7gmj
A) Operadores Aritméticos
+ Sumar : Operador de Suma Númerica y concatenación de Columnas.
- Restar : Operador de resta Númerica y también representa a números negativos.
* Multiplicar : Operador de Multiplicación.
/ Dividir : Operador de División entera y fraccionaria.
% Módulo : Operador que Devuelve el resto de una división.
B) Operador de Asignación
Sql server solo cuenta con un operador para la asignación de valores.
El operador = se tendrá que colocar en cualquier expresión que necesite asignar un valor de
cualquier tipo.
Ejemplos:
Ejemplo 1:
Script que permita mostrar el resultado de la expresión 2*(10+15) - (8/3), utilizar la sentencia
SELECT para mostrar el resultado.
Ejemplo 2:
Script que permita mostrar el resultado de la expresión Celsius=(Fharenheit-32)*5/9, usar la
sentencia Select.
Ejemplo 4:
Script que permita capturar en una variable el correo electrónico del pasajero con código
”P0000005”, usar variables Transact-SQL y sentencia Select para mostrar el email.
Operadores Aritméticos y Asignación (17-35) Bases de Datos en Microsoft Sql Server 2014
Operadores Lógicos and between or in some - Bases de
Datos en Microsoft Sql Server 2014 (18-35)
IncanatoIt-ad 4 years ago Curso Completo Sql Server 2014
Buen día amigos de IncanatoIt, En este capítulo veremos operadores lógicos en sql server; Los
operadores lógicos tienen por misión comprobar la veracidad de Alguna Condición, estos como
los operadores de comparación, devuelven el tipo de datos BOOLEAN (True, False, Unknown).
Tenemos algunos operadores lógicos: Cláusula AND , Cláusula ANY, Sentencia BETWEEN,
Cláusula EXISTS, Sentencia IN, Cláusula NOT, sentencia OR y Cláusula SOME, trabajaremos
estas cláusulas o sentencias junto al comando select en sql server 2014.
https://www.youtube.com/watch?v=lFYSq3DI3rs&list=PLZPrWDz1MolrT1ID3CRIeR6jPLJ7Fp1x6
Puedes descargar el Material del Curso desde, Archivos del Curso, Backup y Presentaciones:
https://drive.google.com/open?id=1kAJ_A03b7Y2DSqQzXEDwaMtBbvks7gmj
Lenguaje de Manipupación de Datos
C) Operadores Lógicos
Los operadores lógicos tienen por misión comprobar la veracidad de Alguna Condición, estos
como los operadores de comparación, devuelven el tipo de datos BOOLEAN (True, False,
Unknown).
AND: Representa la Lógica Y, dos expresiones deben ser TRUE para poder devolver TRUE.
EXISTS: Devuelve TRUE si una determinada subconsulta devuelve por lo menos una fila de
registros.
IN: Devuelve TRUE si el operando se encuentra dentro de una lista de valores específicos.
= Igualdad de Expresiones
Ejemplo 1:
Script para Mostrar las reservas que sean del año 2014 y no superen los $ 500.
Tabla Reserva
where year(fecha)='2014'
and costo<500
go
Ejemplo 2:
Script que permita mostrar las reservas cuyo costo se encuentre desde $400 hasta $700.
go
go
Ejemplo 3:
Script que permita mostrar los pasajeros cuya letra inicial de su apellido paterno se
encuentre entre A y C.
Tabla Pasajero
select apaterno, amaterno, nombre,num_documento from pasajero
go
Ejemplo 4:
Script que permita mostrar los pasajeros cuya letra inicial de su apellido paterno No se
encuentre entre A y C.
go
Ejemplo 5:
Script que permita mostrar las reservas cuya fecha se encuentra en el año 2013.
go
go
select * from reserva
where year(fecha)=2013
go
Operadores Lógicos and between or in some (18-35) Bases de Datos en Microsoft Sql Server
2014
Buen día amigos de IncanatoIt, En este capítulo explicaremos de manera detallada el uso de la
sentencia SELECT y sus variadas formas de recuperar información desde una tabla en la base
de datos activa. Veremos operadores lógicos, implementaremos un script para determinar si un
dato ya se encuentra registrado en un tabla de la base de datos, veremos también la cláusula
like junto con sus comodines.
https://www.youtube.com/watch?v=lFYSq3DI3rs&list=PLZPrWDz1MolrT1ID3CRIeR6jPLJ7Fp1x6
Puedes descargar el Material del Curso desde, Archivos del Curso, Backup y Presentaciones:
https://drive.google.com/open?id=1kAJ_A03b7Y2DSqQzXEDwaMtBbvks7gmj
C) Operadores Lógicos
Operador LIKE: Devuelve TRUE si el operando coincide a lo más con un patrón específico. El
patrón es una cadena de caracteres que se buscará en la expresión. Los comodínes a utilizar
son:
%: Representa a uno o más caracteres. Puede ser cualquier tipo de carácter textual o símbolo.
Ejemplos:
Ejemplo 1:
Script que permita verificar si un determinado país fue registrado o no en su tabla origen.
declare @pais varchar(40)
else
go
Ejemplo 2:
Script que permita mostrar los pasajeros cuyo nombre inicie con la letra A.
Tabla Pasajero
select * from pasajero
go
Ejemplo 3:
Ejemplo 4:
go
Ejemplo 5:
Ejemplo 6:
Mostrar los pagos realizados por un determinado pasajero, filtrar a dicho pasajero por su
número de documento. Usar subconsultas Operadores T-SQL.
where idpasajero=(
where num_documento=@documento
go
Sentencia Like en Sql server 2012 (19-35) Bases de Datos en Microsoft Sql Server 2014
Combinación de Tablas Inner Join - Bases de Datos en
Microsoft Sql Server 2014 (20-35)
IncanatoIt-ad 4 years ago Curso Completo Sql Server 2014
https://www.youtube.com/watch?v=lFYSq3DI3rs&list=PLZPrWDz1MolrT1ID3CRIeR6jPLJ7Fp1x6
Puedes descargar el Material del Curso desde, Archivos del Curso, Backup y Presentaciones:
https://drive.google.com/open?id=1kAJ_A03b7Y2DSqQzXEDwaMtBbvks7gmj
Externas: las filas resultantes no son directamente de la tabla origen, podría ser de
la izquierda, derecha o completa.
INNER JOIN
El INNER JOIN es otro tipo de composición de tablas, permite emparejar filas de
distintas tablas de forma más eficiente que con el producto cartesiano cuando una
de las columnas de emparejamiento está indexada.
Ejemplos
1. Implementar un Script que permita mostrar los pasajeros con su correspondiente
país de residencia (Inner Join).
Tabla Pasajero-País
go
on pas.idpais=pai.idpais
go
--Utilizando un producto cartesiano y aplicando un filtro Where
where pas.idpais=pai.idpais
go
2. Implementar un Script que permita mostrar los pasajeros con las siguientes
columnas idpasajero, nombre, apaterno, amaterno, país, fecha de pago, monto de
pago (Inner Join).
Tabla País-Pasajero-Pago
select pas.idpasajero,pas.nombre,pas.apaterno, pas.amaterno,pai.nom
bre as Pais,pag.fecha, pag.monto
on pas.idpais=pai.idpais
on pag.idpasajero=pas.idpasajero
go
select res.*
on pag.idpasajero=pas.idpasajero
on pag.idreserva=res.idreserva
where pas.num_documento=@num_documento
go
Combinación de Tablas Inner Join (20-35) Bases de Datos en Microsoft Sql
Server 2014
https://www.youtube.com/watch?v=lFYSq3DI3rs&list=PLZPrWDz1MolrT1ID3CRIeR6jPLJ7Fp1x6
Puedes descargar el Material del Curso desde, Archivos del Curso, Backup y Presentaciones:
https://drive.google.com/open?id=1kAJ_A03b7Y2DSqQzXEDwaMtBbvks7gmj
Datos Agrupados
GROUP BY
[ROLLUP]
[CUBE]
<Lista de Columnas>
ROLLUP: Genera filas de agregado a la cláusula Group By más filas de subtotal y
también una fila con un total general.
Ejemplos:
Ejemplo 1:
Implementar un Script que permita mostrar las claves primarias de la tabla país
agrupadas desde la tabla pasajero. Usar la cláusula Group By.
Tabla Pasajero-País
--Utilizando Group By
go
Tabla Aerolínea-Avión
--Utilizando Group By
on avi.idaerolinea=aer.idaerolinea
group by aer.nombre
having count(avi.idavion)>1
go
Buen día amigos de IncanatoIt, en este artículo veremos el uso de las funciones
agregadas en sql server, y utilizaremos específicamente la función agregada SUM
que permite devolver la suma de todos los valores distinguidos en una
determinada expresión.
https://www.youtube.com/watch?v=lFYSq3DI3rs&list=PLZPrWDz1MolrT1ID3CRIeR6jPLJ7Fp1x6
Puedes descargar el Material del Curso desde, Archivos del Curso, Backup y Presentaciones:
https://drive.google.com/open?id=1kAJ_A03b7Y2DSqQzXEDwaMtBbvks7gmj
Funciones Agregadas
Ejemplos:
Ejemplo 1:
Tabla Pago
--Utilizando Función SUM
select sum(monto) as [Total Acumulado]
from pago
go
Ejemplo 2:
I Implementar un Script que permita mostrar el acumulado de los montos
registrados en la tabla pago por cada año, considere el año de la columna fecha.
Use la Función SUM y la cláusula Group By.
Ejemplo 3:
Implementar un Script que permita mostrar el acumulado de los montos
registrados en la tabla pago por cada año, y mes, considere el año de la columna
fecha. Use la Función SUM y la cláusula Group By.
--Utilizando SUM y Group By
select year(fecha) as [Año],month(fecha) as Mes, sum(monto) as [Tot
al Pago] from pago
group by year(fecha),month(fecha)
go
Buen día amigos de IncanatoIt, en este artículo seguimos revisando el uso de las
funciones agregadas en Sql Server, y utilizaremos específicamente la función
agregada COUNT que permite devolver el número de elementos de un grupo.
Count siempre devolverá un valor numérico. Resolveremos algunos ejemplos para
entender de manera adecuada el uso de esta función de agregado COUNT en Sql
Server. Curso tutorial completo de base de datos en Sql Server 2014.
https://www.youtube.com/watch?v=lFYSq3DI3rs&list=PLZPrWDz1MolrT1ID3CRIeR6jPLJ7Fp1x6
Puedes descargar el Material del Curso desde, Archivos del Curso, Backup y Presentaciones:
https://drive.google.com/open?id=1kAJ_A03b7Y2DSqQzXEDwaMtBbvks7gmj
Funciones Agregadas
SUM
COUNT
MAX
MIN
AVG
COUNT
Función que permite devolver el número de elementos de un grupo. Count siempre
devolverá un valor numérico.
Ejemplos
Ejemplo 1:
Implementar un Script que permita determinar el total de pasajeros registrados
(Función COUNT).
Tabla Pasajero
--Utilizando Función count
from pasajero
go
from pasajero
go
Ejemplo 2:
Tabla Pasajero-País
on pas.idpais=pai.idpais
group by pai.nombre
go
3. Implementar un Script que permita mostrar el total de pasajeros y el monto
acumulado de pagos de sus viajes realizados por un determinado país.
Tabla Pasajero-País-Pago
on pag.idpasajero=pas.idpasajero
group by pai.nombre
go
Buen día amigos de IncanatoIt, en este artículo seguimos revisando el uso de las
funciones agregadas en sql server, y utilizaremos específicamente la función
agregada MAX en Sql Server que permite determinar el valor máximo de una
expresión propuesta por el usuario.
https://www.youtube.com/watch?v=lFYSq3DI3rs&list=PLZPrWDz1MolrT1ID3CRIeR6jPLJ7Fp1x6
Puedes descargar el Material del Curso desde, Archivos del Curso, Backup y Presentaciones:
https://drive.google.com/open?id=1kAJ_A03b7Y2DSqQzXEDwaMtBbvks7gmj
Funciones Agregadas
SUM
COUNT
MAX
MIN
AVG
MAX
Función que permite determinar el valor máximo de una expresión propuesta por el
usuario.
Solo puede ser usado en columnas o expresiones que tenga como tipo de dato un
entero.
MIN
Función que permite determinar el valor mínimo de una expresión propuesta por el
usuario.
Solo puede ser usado en columnas o expresiones que tenga como tipo de dato un
entero.
MIN(All ó Columna ó Expresión).
MAX Y MIN
All: Especifica que todos los valores son evaluados.
Ejemplos:
Ejemplo 1:
Implementar un Script que permita mostrar el monto más alto y más bajo registrado
en la tabla PAGO (Función MAX y MIN).
t Tabla Pago
from pago
go
Ejemplo 2:
Implementar un Script que permita mostrar los montos más altos y más bajos por
año de la tabla pago, ordenados de forma descendente.
from pago
group by year(fecha)
go
Ejemplo 3:
Implementar un Script que permita mostrar los datos del pasajero que registra el
mayor monto desde la tabla PAGO.
select pas.*
go
Buen día amigos de IncanatoIt, en este artículo seguimos revisando el uso de las
funciones agregadas en Sql Server, y utilizaremos específicamente la función
agregada AVG en Sql Server, Función que devuelve el promedio de los valores de
un determinado grupo, consideremos que dicha columna debe de ser numérica.
https://www.youtube.com/watch?v=lFYSq3DI3rs&list=PLZPrWDz1MolrT1ID3CRIeR6jPLJ7Fp1x6
Puedes descargar el Material del Curso desde, Archivos del Curso, Backup y Presentaciones:
https://drive.google.com/open?id=1kAJ_A03b7Y2DSqQzXEDwaMtBbvks7gmj
Funciones Agregadas
SUM
COUNT
MAX
MIN
AVG
AVG
Función que devuelve el promedio de los valores de un determinado grupo,
consideremos que dicha columna debe de ser numérica.
AVG(Columna ó Expresión)
Ejemplos:
Ejemplo 1:
Implementar un Script que permita mostrar el precio promedio de las tarifas
asignadas a los diferentes vuelos. (Función AVG).
Tabla Tarifa
Ejemplo 2:
Implementar un Script que permita mostrar el monto promedio de pagos agrupado
por países. (Función AVG).
Tabla País-Pasajero-Pago
Buen día amigos de IncanatoIt, en este artículo veremos la manera de como agregar
conjunto de resultados de sentencia select utilizando el Operador UNION en Sql
Server que permite mostrar los resultados de varias consultas SELECT en una sola.
https://www.youtube.com/watch?v=lFYSq3DI3rs&list=PLZPrWDz1MolrT1ID3CRIeR6jPLJ7Fp1x6
Puedes descargar el Material del Curso desde, Archivos del Curso, Backup y Presentaciones:
https://drive.google.com/open?id=1kAJ_A03b7Y2DSqQzXEDwaMtBbvks7gmj
UNION
Consulta1
UNION
Consulta2
Ejemplos
Ejemplo 1:
Implementar un Script que permita mostrar los apellidos paternos de los pasajeros
y los nombres de los países en una misma consulta.
Tabla País-Pasajero
select pas.idpasajero,pas.apaterno
UNION
select pai.idpais,pai.nombre
Ejemplo 2:
Implementar un Script que permita mostrar el total de registros de las tablas
Pasajero, País, Pago desde una misma consulta.
Tabla País-Pasajero-Pago
--Agregando resultados UNION
UNION
from pais
UNION
from pago
go
Agregar Conjunto de Resultados Operador UNION (27-35) Bases de Datos en
Microsoft Sql Server 2014
Buen día amigos de IncanatoIt, en este artículo veremos la manera de como agregar
conjunto de resultados de sentencia select utilizando el Operador UNION en Sql
Server que permite mostrar los resultados de varias consultas SELECT en una sola.
https://www.youtube.com/watch?v=lFYSq3DI3rs&list=PLZPrWDz1MolrT1ID3CRIeR6jPLJ7Fp1x6
Puedes descargar el Material del Curso desde, Archivos del Curso, Backup y Presentaciones:
https://drive.google.com/open?id=1kAJ_A03b7Y2DSqQzXEDwaMtBbvks7gmj
UNION
Consulta1
UNION
Consulta2
Ejemplos
Ejemplo 1:
Implementar un Script que permita mostrar los apellidos paternos de los pasajeros
y los nombres de los países en una misma consulta.
Tabla País-Pasajero
select pas.idpasajero,pas.apaterno
UNION
select pai.idpais,pai.nombre
go
Ejemplo 2:
Implementar un Script que permita mostrar el total de registros de las tablas
Pasajero, País, Pago desde una misma consulta.
Tabla País-Pasajero-Pago
UNION
from pais
UNION
from pago
go
https://www.youtube.com/watch?v=lFYSq3DI3rs&list=PLZPrWDz1MolrT1ID3CRIeR6jPLJ7Fp1x6
Puedes descargar el Material del Curso desde, Archivos del Curso, Backup y Presentaciones:
https://drive.google.com/open?id=1kAJ_A03b7Y2DSqQzXEDwaMtBbvks7gmj
Scripts
Procedimientos Almacenados
Funciones
Triggers
La estructura CASE evalúa una expresión que podrá tomar N valores distintos,
según se elija uno de estos valores se tomará N posibles acciones
CASE <Columna>
WHEN Expresión THEN Expresión_Resultado
[…n]
[
ELSE Expresión_Falsa
]
END
Ejemplos:
Ejemplo 1:
Implementar un Script que permita mostrar la fecha en texto registrada en la tabla
RESERVA.
Tabla Reserva
Ejemplo 2:
Implementar un Script que permita mostrar el número total de pasajeros por país y
el mensaje “NO CUENTA” solo a los países cuyo número de pasajeros sea cero.
Tabla Pais-Pasajero
--Estructura Múltiple Case
select pai.nombre, count(pas.idpasajero)as [Total Pasajeros],
case
when count(pas.idpasajero)=0 then 'NO CUENTA'
else ''
end as [Mensaje]
from pais pai left join pasajero pas
on pai.idpais=pas.idpais
group by pai.nombre
go
Puedes descargar el Material del Curso desde, Archivos del Curso, Backup y
Presentaciones:
https://drive.google.com/open?id=1kAJ_A03b7Y2DSqQzXEDwaMtBbvks7gmj
Scripts
Procedimientos Almacenados
Funciones
Triggers
Funciones
Rutina almacenada que recibe unos parámetros escalares de entrada, luego los
procesa según el cuerpo definido de la función y por último retorna un resultado
de un tipo especifico que permitirá cumplir un objetivo.
SQL Server proporciona numerosas funciones integradas y permite crear funciones
definidas por el usuario.
Tipos de Funciones
Ejemplos
Ejemplo 1:
Implementar una función que devuelva el promedio de dos números ingresados por
el usuario.
BEGIN
END
go
RETURNS decimal(10,2)
AS
BEGIN
Ejemplo 2:
Implementar una función que devuelva el nombre de un mes en letras según una
fecha ingresada por el usuario.
BEGIN
go
RETURNS varchar(20)
AS
BEGIN
SET @resultado=concat(day(@fecha),' de
',datename(month,@fecha),
RETURN @resultado
END
GO
--Ejecutamos la función con un select y le enviamos
--el parámetro de entrada
select dbo.fechaletras('2015-08-08') as [Fecha Actual]
Ejemplo 3:
Implementar una función de tabla en línea que muestre los registros de la tabla
pasajero dependiendo del país de proveniencia.
BEGIN
END
go
RETURNS TABLE
AS
GO
--Ejecutamos la función con un select,
--Mostraremos los pasajeros del país Perú
select * from dbo.pasajeroxpais('Perú')
go
https://www.youtube.com/watch?v=lFYSq3DI3rs&list=PLZPrWDz1MolrT1ID3CRIeR6jPLJ7Fp1x6
Puedes descargar el Material del Curso desde, Archivos del Curso, Backup y Presentaciones:
https://drive.google.com/open?id=1kAJ_A03b7Y2DSqQzXEDwaMtBbvks7gmj
PIVOT gira una expresión con valores de tabla convirtiendo los valores únicos de
una columna de la expresión en varias columnas en la salida y realiza agregaciones
donde son necesarias en cualquier valor de columna restante que se desee en la
salida final.
Ejemplos:
Ejemplo 1:
Mostrar los pagos realizados por los pasajeros, pero ordenar los pagos por meses.
select
Pasajero,
case when Enero Is not null then Enero else 0 end as Enero,
case when Febrero Is not null then Febrero else 0 end as Febrero,
case when Marzo Is not null then Marzo else 0 end as Marzo,
case when Abril Is not null then Abril else 0 end as Abril,
case when Mayo Is not null then Mayo else 0 end as Mayo,
case when Junio Is not null then Junio else 0 end as Junio,
case when Julio Is not null then Julio else 0 end as Julio,
case when Agosto Is not null then Agosto else 0 end as Agosto,
case when Setiembre Is not null then Setiembre else 0 end as Setie
mbre,
case when Octubre Is not null then Octubre else 0 end as Octubre,
case when Noviembre Is not null then Noviembre else 0 end as Novie
mbre,
case when Diciembre Is not null then Diciembre else 0 end as Dicie
mbre
from
(
select pas.apaterno as Pasajero,
datename(month,pag.fecha) as Mes
,SUM(pag.monto) as Total
group by pas.apaterno,
datename(month,pag.fecha)
) T
PIVOT (SUM(T.Total) FOR T.Mes IN ([Enero],[Febrero],[Marzo]
,[Abril],[Mayo],[Junio],[Julio],[Agosto],[Setiembre],
[Octubre],[Noviembre],[Diciembre]))PVT
go