Manual-Sql-Server-2012 13012017
Manual-Sql-Server-2012 13012017
Manual-Sql-Server-2012 13012017
Caractersticas
Algunas de las caractersticas de este lenguaje son:
Compatible con todos los sistemas de bases de datos comerciales importantes.
Estandarizada - nuevas caractersticas en el tiempo.
Interactiva a travs de interfaz grfica de usuario o del sistema.
Declarativa, basada en lgebra relacional.
1
Base de Datos 2016 II
UNASAM INGENIERA DE SISTEMAS E INFORMTICA
Ejemplos de DDL:
CREATE TABLE nombre_tabla;
DROP TABLE nombre_tabla;
ALTER TABLE nombre_tabla ADD id INTEGER;
2
Base de Datos 2016 II
UNASAM INGENIERA DE SISTEMAS E INFORMTICA
Ejemplos de DML
SELECT atributo FROM nombre_tabla;
INSERT INTO nombre_tabla (atributo_1,..., atributo_n) VALUES (dato_1,..., dato_n);
DELETE FROM nombre_tabla WHERE condicion;
UPDATE nombre_tabla SET atributo = nuevo dato WHERE condicion;
Descripcin de comandos
SELECT
3
Base de Datos 2016 II
UNASAM INGENIERA DE SISTEMAS E INFORMTICA
Combinar, filtrar: Lo que busca esta consulta es mostrar las columnas A1,,An de las
tablas o relaciones R1,,Rm, siguiendo alguna condicin.
lgebra relacional:
A1,, An (condicin (R1Rm))
Comandos SQL
INSERT : agrega uno o ms registros a una tabla de una base de datos relacional.
DELETE : elimina uno o ms registros de una tabla. Un subconjunto de datos
puede ser eliminado si existe una condicin, de lo contrario todos los registros sern
eliminados.
UPDATE : cambia los datos de uno o ms registros de una tabla. Una fila o un
subconjunto de filas puede ser actualizadas utilizando una condicin.
Estructura:
CREATE OBJETO NOMBREOBJETO (
--ESTRUCTURA DEL OBJETO
)
CASO I.1.1: Implementar una consulta que permita crear la base de datos
METROPILITANO con valores estndar. As mismo generar un backup de la base de datos
creada.
CREATE DATABASE METROPOLITANO
4
Base de Datos 2016 II
UNASAM INGENIERA DE SISTEMAS E INFORMTICA
SP_HELPDB METROPOLITANO
Ahora veremos cuatro maneras de crear un backup de una base de datos en SQL SERVER.
5
Base de Datos 2016 II
UNASAM INGENIERA DE SISTEMAS E INFORMTICA
Esto es debido a que la base de datos METROPOLITANO est siendo usada, para
esto debemos ir al panel de control > herramientas administrativas > servicios, o
simplemente ejecutar Inicio + R y escribir services.msn, como se muestra a
continuacin:
6
Base de Datos 2016 II
UNASAM INGENIERA DE SISTEMAS E INFORMTICA
7
Base de Datos 2016 II
UNASAM INGENIERA DE SISTEMAS E INFORMTICA
Como podemos ver la base de datos METROPOLITANO se encuentra lista para ser
usada.
8
Base de Datos 2016 II
UNASAM INGENIERA DE SISTEMAS E INFORMTICA
Ahora bien lo que haremos es cerrar el servicio solo de la base de datos que
queremos salvar, para esto escribimos el siguiente comando SQL:
USE master
GO
SP_DETACH_DB 'METROPOLITANO'
GO
Luego para restaurar la base de datos que queremos copiar en nuestro caso
METROPOLITANO, lo que haremos es copiar a la siguiente direccin
Para restaurar la base de datos desde el SQL Server ejecutaremos los mismos pasos
del mtodo anterior de restauracin o en su defecto levantar el servicio de la base de
datos con el siguiente comando:
USE master
GO
SP_ATTACH_DB 'METROPOLITANO', 'C:\Program Files\Microsoft SQL
Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\
METROPOLITADNO.mdf'
GO
9
Base de Datos 2016 II
UNASAM INGENIERA DE SISTEMAS E INFORMTICA
10
Base de Datos 2016 II
UNASAM INGENIERA DE SISTEMAS E INFORMTICA
11
Base de Datos 2016 II
UNASAM INGENIERA DE SISTEMAS E INFORMTICA
12
Base de Datos 2016 II
UNASAM INGENIERA DE SISTEMAS E INFORMTICA
Caso I.1.2: Implementar un script que permita crear la tabla BOLETA dentro de la
base de datos METROPOLITANO con las siguientes caractersticas:
BOLETA N 000000011515452
FECHA DE EMISION: 06/08/2012
MONTO: 10.00
USE METROPOLITANO
GO
13
Base de Datos 2016 II
UNASAM INGENIERA DE SISTEMAS E INFORMTICA
14
Base de Datos 2016 II
UNASAM INGENIERA DE SISTEMAS E INFORMTICA
Caso I.1.6: Implementar un script que permita crear la vista VBOLETAS donde
muestre los registros contenidos en la tabla BOLETAS.
15
Base de Datos 2016 II
UNASAM INGENIERA DE SISTEMAS E INFORMTICA
Probar la Vista
SELECT * FROM VBOLETA
Estructura:
SP_HELPDB METROPOLITANO
ALTER DATABASE METROPOLITANO
ADD FILE (
NAME='METROPOLITANO_SEC2',
FILENAME='C:\Program Files\Microsoft SQL Server\ MSSQL10_50.
MSSQLSERVER\MSSQL\DATA\METROPOLITANO_SEC2.NDF',
SIZE=5MB,
MAXSIZE=10MB,
FILEGROWTH=2%
)
16
Base de Datos 2016 II
UNASAM INGENIERA DE SISTEMAS E INFORMTICA
SP_COLUMNS BOLETA
ALTER TABLE BOLETA
ALTER COLUMN NUMEROBOLETA CHAR (25) NOT NULL
GO
17
Base de Datos 2016 II
UNASAM INGENIERA DE SISTEMAS E INFORMTICA
18
Base de Datos 2016 II
UNASAM INGENIERA DE SISTEMAS E INFORMTICA
Caso I.2.6: Implementar una consulta que permita modificar la vista VBOLETAS
donde muestre solo las columnas Numero de Boleta y Fecha de Emisin de la tabla
BOLETAS, adems de encriptar la informacin de la implementacin.
19
Base de Datos 2016 II
UNASAM INGENIERA DE SISTEMAS E INFORMTICA
Estructura:
USE MASTER
GO
Caso I.3.2: Implementar una consulta que permita eliminar la tabla boleta de la
base de datos METROPOLITANO.
20
Base de Datos 2016 II
UNASAM INGENIERA DE SISTEMAS E INFORMTICA
21
Base de Datos 2016 II
UNASAM INGENIERA DE SISTEMAS E INFORMTICA
La consulta segn el horario muestra los horarios de las diferentes aerolneas que dan el
servicio entre dos ciudades. La consulta segn tarifa muestra los diferentes vuelos entre dos
ciudades ordenados por su costo. La informacin de vuelos se usa para consultar el estado
de un determinado vuelo para el mismo da, si este est en hora. Se pueden incluir
preferencias en las bsquedas como fecha y horario deseado, categora del vuelo, aerolnea
deseada y si ocasionalmente desean vuelos directos.
La reserva de vuelo permite al usuario hacer una reserva para un vuelo particular,
especificando la fecha y horario, bajo una tarifa establecida. Es posible reservar un
itinerario compuesto de mltiples vuelos, para uno o ms pasajeros, adems de poder
reservar asientos. La compra permite al usuario, dada una reserva de vuelo y un nmero de
tarjeta de crdito validada, adquirir los boletos areos.
Los boletos areos sern posteriormente enviados al usuario o estarn listos para ser
adquiridos en el terminal del aeropuerto antes de la salida de su vuelo. Es necesario estar
previamente registrado con un nmero de tarjeta de crdito vlida para poder hacer
compras de boletos areos, o bien proveerla en el momento de la compra.
Adems de los servicios de vuelo, el usuario podr en cualquier momento leer, modificar o
cancelar su propio registro, todo esto despus de haber sido validado como usuario del
sistema.
22
Base de Datos 2016 II
UNASAM INGENIERA DE SISTEMAS E INFORMTICA
23
Base de Datos 2016 II
UNASAM INGENIERA DE SISTEMAS E INFORMTICA
24
Base de Datos 2016 II
UNASAM INGENIERA DE SISTEMAS E INFORMTICA
CASO: II.1.1. Implementar la base de datos AGENCIA con valores por defecto.
1ERA FORMA
2DA FORMA
SELECT name,dbid,crdate,filename
FROM SYS.SYSDATABASES
SP_HELPDB AGENCIA
25
Base de Datos 2016 II
UNASAM INGENIERA DE SISTEMAS E INFORMTICA
SELECT name,dbid,crdate,filename
FROM SYS.SYSDATABASES
SP_HELPDB AGENCIA2
26
Base de Datos 2016 II
UNASAM INGENIERA DE SISTEMAS E INFORMTICA
27
Base de Datos 2016 II
UNASAM INGENIERA DE SISTEMAS E INFORMTICA
GO
SP_HELPDB AGENCIA3
28
Base de Datos 2016 II
UNASAM INGENIERA DE SISTEMAS E INFORMTICA
(
NAME='AGENCIA4_SEC2',
FILENAME='D:\Base_Datos\AGENCIA42.NDF',
SIZE=2MB,
MAXSIZE=15MB,
FILEGROWTH=2%
)
LOG ON (
NAME='AGENCIA4_LOG',
FILENAME='D:\Base_Datos\AGENCIA4.LDF',
SIZE=4MB,
MAXSIZE=20MB,
FILEGROWTH=10%
)
GO
SP_HELPDB AGENCIA4
CASO: II.1.5. Implementar una consulta que permita separar la base de datos AGENCIA5
ubicado en la carpeta D:\Base_Datos\ con las siguientes caractersticas:
29
Base de Datos 2016 II
UNASAM INGENIERA DE SISTEMAS E INFORMTICA
USE master
GO
SP_DETACH_DB AGENCIA5
30
Base de Datos 2016 II
UNASAM INGENIERA DE SISTEMAS E INFORMTICA
USE master
GO
SP_ATTACH_DB AGENCIA5,'D:\Base_Datos\AGENCIA5.MDF'
SP_HELPDB AGENCIA5
SQL, brinda una serie de datos para almacenar la informacin, la correcta seleccin del
tipo de dato implica un determinado valor; por ejemplo: carcter, entero, binario, fecha,
etc., as mismo algunas veces necesitamos algn tipo de dato en especial, como el caso del
DNI que cuenta con 8 caracteres de tipo CHAR o el nmero de celular de 9 caracteres.
Para esto pasaremos a definir la sintaxis para crear nuestro propio tipo de dato.
SP_DROPTYPE NOMBRE_TIPO
GO
31
Base de Datos 2016 II
UNASAM INGENIERA DE SISTEMAS E INFORMTICA
CASO: II.1.6. Implemente una consulta que permita aadir el tipo de dato DNI dentro de
la base de datos agencia5, adems restringir que no debe contener espacios vacos.
01
USE AGENCIA5
GO
02
03
CASO: II.1.7. Implemente una consulta que permita crear la tabla llamada PASAJERO, en
la cual deber hacer referencia al nuevo tipo de dato creado en la consulta anterior.
32
Base de Datos 2016 II
UNASAM INGENIERA DE SISTEMAS E INFORMTICA
Dentro de las restricciones podemos tener NULL, NOT NULL y IDENTITY, lo cual
implica que para dar consistencia al valor que se registrara en la columna puede ser nulo,
no nulo, por defecto, primario, incremental, etc.
01
02
SP_COLUMNS PASAJERO
CASO: II.1.8. Implemente una consulta que permita crear la tabla llamada PAGO, que
tiene las columnas nmero de pago de tipo entero con un autoincremento de inicio 1 con
salto de 1, fecha de tipo dato NO NULO y monto de tipo MONEY NO NULO.
01
CREATE TABLE PAGO (
NUMPAGO INT IDENTITY (1, 1),
FECHA DATE NOT NULL,
MONTO MONEY NOT NULL
)
02
SP_COLUMNS PAGO
33
Base de Datos 2016 II
UNASAM INGENIERA DE SISTEMAS E INFORMTICA
CASO: II.1.9. Implemente una consulta que permita crear la tabla llamada PASAJERO,
con las siguientes especificaciones mostradas a continuacin:
El manejo de esquemas tiene que ver con temas de agrupacin de objetos y seguridad de las
mismas. Cuando se crea un objeto de base de datos o se especifica una entidad de seguridad
de dominio valida usuarios o grupos como el propietario del objeto, o la entidad de
seguridad de dominio se agregar a la base de datos como esquema.
Su sintaxis de creacin es:
34
Base de Datos 2016 II
UNASAM INGENIERA DE SISTEMAS E INFORMTICA
01
USE AGENCIA5
GO
02
03
35
Base de Datos 2016 II
UNASAM INGENIERA DE SISTEMAS E INFORMTICA
RESERVACIONES
VUELO
ASIENTO
TARIFA
RESERVA
PAGO
LOGISTICA
AVION
AEROPUERTO
AEROLINEA
PAIS
CLIENTES
PASAJERO
Luego deber crear las tablas antes mencionadas haciendo referencia a sus respectivos
esquemas.
01
USE AGENCIA3
GO
36
Base de Datos 2016 II
UNASAM INGENIERA DE SISTEMAS E INFORMTICA
02
03
37
Base de Datos 2016 II
UNASAM INGENIERA DE SISTEMAS E INFORMTICA
38
Base de Datos 2016 II
UNASAM INGENIERA DE SISTEMAS E INFORMTICA
39
Base de Datos 2016 II
UNASAM INGENIERA DE SISTEMAS E INFORMTICA
Es un tipo de restriccin estructural que permite la vinculacin de los datos a otras tablas y
hacer obligatoria la consistencia de las mismas.
Sintaxis de asignacin de llaves primarias:
CASO: II.1.12. Implementar una consulta que permita aadir la restriccin estructural
campo clave a la columna IDPASAJERO de la tabla PASAJERO.
01
USE AGENCIA3
GO
02
CREATE TABLE CLIENTES.PASAJERO (
IDPASAJERO CHAR (5) NOT NULL,
NOMBRES VARCHAR (50) NOT NULL,
IDPAIS CHAR (4) NOT NULL,
TELEFONO CHAR (15) NOT NULL,
EMAIL VARCHAR (50) NOT NULL
)
GO
40
Base de Datos 2016 II
UNASAM INGENIERA DE SISTEMAS E INFORMTICA
03
OTRA FORMA:
CASO: II.1.13. Implementar una consulta que permita aadir la restriccin estructural
entre las columnas IDPAIS de la tabla PASAJERO asociado a la tabla PAIS.
01
USE AGENCIA3
GO
02
CREATE TABLE LOGISTICA.PAIS (
IDPAIS CHAR (4) NOT NULL,
PAIS VARCHAR (30) NOT NULL
)
GO
03
ALTER TABLE LOGISTICA.PAIS
ADD PRIMARY KEY NONCLUSTERED (IDPAIS)
41
Base de Datos 2016 II
UNASAM INGENIERA DE SISTEMAS E INFORMTICA
04
ALTER TABLE CLIENTES.PASAJERO
ADD FOREIGN KEY (IDPAIS)
REFERENCES LOGISTICA.PAIS (IDPAIS)
UNIQUE: Determina que los valores registrados en una misma columna no sean idnticos,
es decir, se mantengan nicos. La restriccin de UNIQUE permite controlar cualquier otro
campo que no sea llave. As mismo tener en cuenta que la columna definida como
UNIQUE acepta a lo ms un valor NULL mientras que una columna restringida con
PRIMARY KEY no permite dicha accin.
CASO: II.1.14. Implementar una consulta que permita aadir la restriccin UNIQUE a la
columna PAIS, es decir solo permita registrar nombre de pases sin repetirse.
01
USE AGENCIA5
GO
02
SELECT * FROM DBO.PAIS;
03
ALTER TABLE DBO.PAIS
ADD PRIMARY KEY NONCLUSTERED (IDPAIS)
GO;
04
ALTER TABLE DBO.PASAJERO
ADD FOREIGN KEY (IDPAIS)
REFERENCES LOGISTICA.PAIS (IDPAIS)
GO;
42
Base de Datos 2016 II
UNASAM INGENIERA DE SISTEMAS E INFORMTICA
INSERTANDO
CHECK: Permite restringir el rango de valores que pueden estar permitidos ingresar en
una o ms columnas de una tabla.
CASO: II.1.15. Implementar una consulta que permita aadir la restriccin a la columna
FECHA de la tabla PAGO en donde solo permitir registrar fechas menores o iguales al
da actual.
43
Base de Datos 2016 II
UNASAM INGENIERA DE SISTEMAS E INFORMTICA
CASO: II.1.16. Implementar una consulta que permita aadir la restriccin a la columna
FECHA de la tabla PAGO en donde si el usuario no registra la fecha se inserte la fecha
actual por defecto.
Si en caso se desea eliminar una restriccin se debe alterar la tabla aplicando un DROP
CONSTRAINT.
44
Base de Datos 2016 II
UNASAM INGENIERA DE SISTEMAS E INFORMTICA
CASO: II.1.18. Implementar una consulta que permita mostrar las restricciones de la tabla
PAGO.
SELECT * FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS
WHERE TABLE_NAME='PAGO'
CASO: II.1.19. Implementar una consulta que permita restringir el campo monto de la
tabla PAGO. De tal forma que los montos ingresados sean valores positivos y no superen
los mil soles, en el caso de numeros decimales solo debera de permitir tres decimales.
CASO: II.1.20. Implementar una consulta que permita restringir el campo ruc de la tabla
AEROLINEA, de tal manera que solo permita ingresar numeros (0-9) y con una longitud
igual a 11
CASO: II.1.22. Implemetar una restriccion al campo ID_AVION de la tabla AVION de tal
forma que peermita 5 caracteres (dos letras y tres digitos). tener en cuenta que los digitos
deberan ser diferentes de 0, salvo sea el primer digito
CASO: II.1.23. Implementar una consulta que permita restringir la columna letra de la
tabla ASIENTO, de tal forma que solo permita ingresar los siguientes valores [CA,CM,CP ]
45
Base de Datos 2016 II
UNASAM INGENIERA DE SISTEMAS E INFORMTICA
CATEGORIA DML
INSERT
UPDATE
SELECT
DELETE
MERGE
BULK INSERT
INSERT. La sentencia insert permite agregar una nueva fila a una tabla o vista de una
determinada base de datos.
SINTAXIS
46
Base de Datos 2016 II
UNASAM INGENIERA DE SISTEMAS E INFORMTICA
CASO III.1.1. Implementar una consulta que permita registrar los paises en la tabla PAIS
de la base de datos AGENCIA6, usar la version simple de la instruccion o comando
INSERT
USE AGENCIA6;
CASO III.1.2. Implementar una consulta que permita registrar los paises en la tabla PAIS
de la base de datos AGENCIA6 aplicando el registrar multiple de filas(criterio de por lo
menos "n" filas)
47
Base de Datos 2016 II
UNASAM INGENIERA DE SISTEMAS E INFORMTICA
CASO III.1.3 Implementar una consulta que permita registrar los paises, aplicando un
orden personalizado de las columnas (pais, idpais)
CASO III.1.4. Implementar una consulta que permita registrar las reservas, teniendo en
cuenta que solo se debe de ingresar el costo de la reserva
BASE DE DATOS
USE AGENCIA6;
CREAMDO LA TABLA
48
Base de Datos 2016 II
UNASAM INGENIERA DE SISTEMAS E INFORMTICA
INSERTANDO
ELIMINAR TABLA
SP_COLUMNS RESERVA
GO
CASO III.1.5. Implementar una consulta para que el costo sea por defecto 0.00
49
Base de Datos 2016 II
UNASAM INGENIERA DE SISTEMAS E INFORMTICA
CASO III.1.6. Implementar una consulta que permita crear una vista, y que por medio de
esta vista se registre las reservas.
01
03
SELECT * FROM VTA_RESERVA
SELECT * FROM RESERVA
04
CASO III.1.7. Implementar una consulta que permita registrar los 5 primeras reservas a
una tabla llamada RESERVA TEMP (La tabla sera definida por el usuario)
01
SELECT * FROM RESERVA
02
CREATE TABLE RESERVA_TEMP1(
IDRESERVA INT NOT NULL PRIMARY KEY,
COSTO MONEY NOT NULL,
FECHA DATE NOT NULL )
50
Base de Datos 2016 II
UNASAM INGENIERA DE SISTEMAS E INFORMTICA
GO
03
SELECT
TOP(5)
IDRESERVA,COSTO,FECHA
FROM RESERVA
04
INSERT TOP(5) INTO
RESERVA_TEMP1(IDRESERVA,COSTO,FECHA)
SELECT
IDRESERVA,COSTO,FECHA
FROM RESERVA
GO
05
NOTA
INSERT INTO
PASAJERO_TEMP
SELECT
51
Base de Datos 2016 II
UNASAM INGENIERA DE SISTEMAS E INFORMTICA
IDPASAJERO,NOMBRES,EMAIL
FROM
PASAJERO
WHERE
EMAIL LIKE '%@GMAIL%'
GO
52
Base de Datos 2016 II
UNASAM INGENIERA DE SISTEMAS E INFORMTICA
USE AGENCIA6
GO
CASO III.1.8. Una tabla temporal para pasajero e ingresar solo los pasajeros que tengan
solo gmail
53
Base de Datos 2016 II
UNASAM INGENIERA DE SISTEMAS E INFORMTICA
CASO III.1.9. Implementar una consulta que permita insertar un registro a la tabla
PASAJERO por medio de una variable temporal de tipo table
DECLARE @TEMP_PASAJEROS
TABLE(ID CHAR(5) ,
NOM VARCHAR(50),
IDP CHAR(4),
TELE CHAR(15),
EMAIL VARCHAR(50))
INSERT PASAJERO
OUTPUT INSERTED.IDPASAJERO,
INSERTED.NOMBRES,
INSERTED.IDPAIS,
INSERTED.TELEFONO,
INSERTED.EMAIL
INTO @TEMP_PASAJEROS
VALUES ('P0011','LENIN
ELIO','0001','123456789','[email protected]')
GO
54
Base de Datos 2016 II
UNASAM INGENIERA DE SISTEMAS E INFORMTICA
DECLARE @TEMP_RESERVA
TABLE (ID INT,
COST MONEY,
FEC DATE)
INSERT RESERVA
OUTPUT INSERTED.IDRESERVA,
INSERTED.COSTO,
INSERTED.FECHA
INTO @TEMP_RESERVA
DEFAULT VALUES
GO
CASO III.1.10. Implementar una consulta que permita registrar aviones a una nueva tabla
temporal llamada MIS AVIONES, usar la instruccion with
55
Base de Datos 2016 II
UNASAM INGENIERA DE SISTEMAS E INFORMTICA
PARA RESERVA
CREATE TABLE MISRESERVAS(
ID INT,
COST MONEY,
FECH DATE
)
GO
56
Base de Datos 2016 II
UNASAM INGENIERA DE SISTEMAS E INFORMTICA
Caso III.1.11. Implementar una consulta que permita actualizar los valores de la columna
impuesto por el valor 11 a todos los registros.
UPDATE TARIFA
SET IMPUESTO=11
GO
Caso III.1.12. Implementar una consulta que permita actualizar los valores de la columna
impuesto aumentando en 2 a todos los registros de la tabla tarifa.
UPDATE TARIFA
SET IMPUESTO+=2
GO
Caso III.1.13. Implementar una consulta que permita asignar el impuesto a cero solo a
slo a los registros cuya clase sea Econmico de la tabla tarifa.
UPDATE TARIFA
SET IMPUESTO=0
57
Base de Datos 2016 II
UNASAM INGENIERA DE SISTEMAS E INFORMTICA
WHERE CLASE='ECONOMICO'
GO
Caso III.1.14. Implementar una consulta que permita actualizar los costos de la tabla
RESERVA disminuyendo en 50 a los registros cuyo ingreso se realiz el ao 2013, utilizar
variables.
UPDATE RESERVA
SET COSTO=COSTO - 50
WHERE YEAR (FECHA) = 2013
GO
Caso III.1.15. Implementar una consulta que asigne el texto SIN FONO en el campo
telfono de los pasajeros que sean de Per. Todo esto deber ser realizado en la tabla
Pasajero. Usar subconsultas.
UPDATE PASAJERO
SET TELEFONO = 'SIN FONO'
WHERE IDPAIS= (SELECT IDPAIS FROM PAIS WHERE NOMBRE='PER')
GO
Caso III.1.16. Script que permita eliminar todos los registros de la tabla AEROLINEA
01
DELETE AEROLINEA
02
58
Base de Datos 2016 II
UNASAM INGENIERA DE SISTEMAS E INFORMTICA
Caso III.1.17. Script que permita eliminar el registro de la tabla PASAJERO cuyo pas sea
ECUADOR usando subconsultas para el proceso.
Caso III.1.18. Implementar una consulta que permita eliminar el 5% de los registros de la
tabla pasajero, cuyo pais sea Brasil. Usar subconsultas.
Caso III.1.19. Implemetar una consulta que permita eliminar el 5% de los registros de la
tabla pasajero cuyo pais sea brasil, usar subconsultas para el proceso y el operador
OUTPUT.
DELETE PASAJERO
OUTPUT deleted.IDPASAJERO,
deleted.NOMBRES,
59
Base de Datos 2016 II
UNASAM INGENIERA DE SISTEMAS E INFORMTICA
deleted.TELEFONO
INTO @MISPASAJEROS
FROM PASAJERO P
WHERE IDPAIS = (
SELECT IDPAIS
FROM PAIS
WHERE PAIS='BRASIL')
03
SELECT IDPASAJERO,NOMBRES,IDPAIS,TELEFONO,EMAIL
FROM PASAJERO
04
SELECT NOMBRES,EMAIL,TELEFONO
FROM PASAJERO
GO
05
SELECT IDPASAJERO AS CODIGO,
NOMBRES AS 'PASAJERO',
IDPAIS AS 'CODIGO PAIS',
60
Base de Datos 2016 II
UNASAM INGENIERA DE SISTEMAS E INFORMTICA
TELEFONO,
EMAIL AS 'CORREO ELECTRONICO'
FROM PASAJERO
06
SELECT
IDPASAJERO AS [CODIGO],
NOMBRES AS [PASAJERO],
IDPAIS AS [CODIGO PAIS],
TELEFONO,
EMAIL AS [CORREO ELECTRONICO]
FROM PASAJERO
07
SELECT
IDPASAJERO [CODIGO],
NOMBRES [PASAJERO],
IDPAIS [CODIGO PAIS],
TELEFONO,
EMAIL [CORREO ELECTRONICO]
FROM PASAJERO
08
SELECT
CODIGO=IDPASAJERO,
PASAJERO=NOMBRES,
[CODIGO PAIS]=IDPAIS,
TELEFONO,
[CORREO ELECTRONICO]=EMAIL
FROM PASAJERO
61
Base de Datos 2016 II
UNASAM INGENIERA DE SISTEMAS E INFORMTICA
09
SELECT
P.IDPASAJERO, P.NOMBRES,
P.IDPAIS,P.TELEFONO,P.EMAIL
FROM PASAJERO P
10
SELECT
PASAJERO.IDPASAJERO, PASAJERO.NOMBRES,
PASAJERO.IDPAIS,PASAJERO.TELEFONO,PASAJERO.EMAIL
FROM PASAJERO
01
SELECT IDPAIS
FROM PASAJERO
02
SELECT DISTINCT IDPAIS
FROM PASAJERO
01
SELECT P.*
FROM PASAJERO P
ORDER BY P.NOMBRES
02
SELECT P.*
FROM PASAJERO P
ORDER BY P.NOMBRES ASC
62
Base de Datos 2016 II
UNASAM INGENIERA DE SISTEMAS E INFORMTICA
03
SELECT P.IDPAIS,IDPASAJERO,P.NOMBRES,P.TELEFONO,P.EMAIL
FROM PASAJERO P
ORDER BY P.IDPAIS
04
SELECT P.IDPAIS,IDPASAJERO,P.NOMBRES,P.TELEFONO,P.EMAIL
FROM PASAJERO P
ORDER BY P.IDPAIS, P.IDPASAJERO DESC
05
SELECT P.IDPAIS,P.NOMBRES,P.IDPASAJERO,P.TELEFONO,P.EMAIL
FROM PASAJERO P
ORDER BY P.IDPAIS, P.NOMBRES DESC
01
SELECT TOP 5 *
FROM PASAJERO
02
SELECT TOP 5 *
FROM PASAJERO
ORDER BY IDPASAJERO DESC
SELECT TOP 5 *
FROM (SELECT ROW_NUMBER() OVER (ORDER BY P.IDPASAJERO DESC) AS
[NUMERO],*
63
Base de Datos 2016 II
UNASAM INGENIERA DE SISTEMAS E INFORMTICA
FROM PASAJERO P) X
ORDER BY IDPASAJERO DESC
01
IF OBJECT_ID('MISPASAJEROS') IS NOT NULL
BEGIN
DROP TABLE MISPASAJEROS
END
GO
02
SELECT P.*
INTO MISPASAJEROS
FROM PASAJERO P
GO
01
IF OBJECT_ID('MISPASAJEROS') IS NOT NULL
BEGIN
DROP TABLE MISPASAJEROS
END
GO
02
SELECT P.*
INTO MISPASAJEROS
64
Base de Datos 2016 II
UNASAM INGENIERA DE SISTEMAS E INFORMTICA
FROM PASAJERO P
WHERE P.EMAIL LIKE '%HOTMAIL%'
GO
03
SELECT * FROM MISPASAJEROS
GO
03
SELECT PAI.*,PAS.*
FROM PASAJERO PAS,PAIS PAI
WHERE PAS.IDPAIS=PAI.IDPAIS
65
Base de Datos 2016 II
UNASAM INGENIERA DE SISTEMAS E INFORMTICA
02
SELECT X.IDPASAJERO,X.NOMBRES,X.EMAIL
FROM (SELECT P.*
FROM PASAJERO P
WHERE P.IDPAIS='0004') X
03
SELECT X.IDPASAJERO,X.NOMBRES,X.EMAIL
FROM (SELECT P.*
FROM PASAJERO P
WHERE P.IDPAIS=(SELECT PA.IDPAIS
FROM PAIS PA
WHERE
PA.PAIS='ECUADOR')) X
66
Base de Datos 2016 II