bd 2 1 fundamentos transact sql
TRANSCRIPT
![Page 1: Bd 2 1 fundamentos transact sql](https://reader034.vdocuments.pub/reader034/viewer/2022042614/55a0fd0f1a28ab50088b468d/html5/thumbnails/1.jpg)
UNIVERSIDAD ANTONIO UNIVERSIDAD ANTONIO JOSE CAMACHOJOSE CAMACHO
CURSO BASES DE DATOS IICURSO BASES DE DATOS II
TEMA 1: FUNDAMENTOS DE TEMA 1: FUNDAMENTOS DE TRANSACT SQLTRANSACT SQL
CARLOS GUSTAVO LOPEZCARLOS GUSTAVO LOPEZ
SEPTIEMBRE DE 2011SEPTIEMBRE DE 2011
![Page 2: Bd 2 1 fundamentos transact sql](https://reader034.vdocuments.pub/reader034/viewer/2022042614/55a0fd0f1a28ab50088b468d/html5/thumbnails/2.jpg)
CONTENIDOCONTENIDO PRESENTACION DEL CURSO DEFINICIONES INTRODUCCION A SQL SERVER REPASO DML Y DDL FUNCIONES CONTROL DE FLUJO STORED PROCEDURES STORED PROCEDURES EXTENDIDOS TRIGGERS CURSORES
![Page 3: Bd 2 1 fundamentos transact sql](https://reader034.vdocuments.pub/reader034/viewer/2022042614/55a0fd0f1a28ab50088b468d/html5/thumbnails/3.jpg)
PRESENTACION DEL CURSOPRESENTACION DEL CURSO
PLAN DE ESTUDIO METODOLOGIA DISTRIBUCION DE NOTAS
![Page 4: Bd 2 1 fundamentos transact sql](https://reader034.vdocuments.pub/reader034/viewer/2022042614/55a0fd0f1a28ab50088b468d/html5/thumbnails/4.jpg)
DEFINICIONESDEFINICIONES
SQL: Lenguaje estructurado de consultas (structured query language).
Lenguaje de acceso a BD relacionales. Manejo de álgebra y cálculo relacional que
permite definir (DDL) realizar consultas para recuperar y modificar la información de una BD (DML).
![Page 5: Bd 2 1 fundamentos transact sql](https://reader034.vdocuments.pub/reader034/viewer/2022042614/55a0fd0f1a28ab50088b468d/html5/thumbnails/5.jpg)
DEFINICIONESDEFINICIONES
Transact SQL: extensión al SQL de Microsoft que permite:
Incluir información procedimental Variables locales Funciones
![Page 6: Bd 2 1 fundamentos transact sql](https://reader034.vdocuments.pub/reader034/viewer/2022042614/55a0fd0f1a28ab50088b468d/html5/thumbnails/6.jpg)
DEFINICIONESDEFINICIONESAlgo de historia 1970: E. F. Codd propone el modelo relacional y
sublenguaje de acceso a los datos. IBM define el lenguaje SEQUEL (Structured
English QUEry Language) con base en las ideas de Codd.
1979: Oracle introduce por primera vez SEQUEL en un lenguaje comercial.
SQL: versión evolucionada de SEQUEL 1986: Estandarización de SQL: ANSI SQL 1992: Nuevo estándar ampliado y revisado: SQL-
92 o SQL2
![Page 7: Bd 2 1 fundamentos transact sql](https://reader034.vdocuments.pub/reader034/viewer/2022042614/55a0fd0f1a28ab50088b468d/html5/thumbnails/7.jpg)
INTRODUCCION A SQL SERVERINTRODUCCION A SQL SERVER
SQL Server: sistema para la gestión de BD (DBMS) producido por Microsoft basado en el modelo relacional.
Sus lenguajes de consulta son TransactSQL y ANSI SQL.
http://msdn.microsoft.com/es-es/library/bb934498.aspx
![Page 8: Bd 2 1 fundamentos transact sql](https://reader034.vdocuments.pub/reader034/viewer/2022042614/55a0fd0f1a28ab50088b468d/html5/thumbnails/8.jpg)
INTRODUCCION A SQL SERVERINTRODUCCION A SQL SERVER
Características: Soporte de transacciones Escalabilidad, estabilidad y seguridad
(integración con PowerShell que remueve la consola para configurar la seguridad, cifrado , auditoría, compresión de datos, corrector de sintaxis
![Page 9: Bd 2 1 fundamentos transact sql](https://reader034.vdocuments.pub/reader034/viewer/2022042614/55a0fd0f1a28ab50088b468d/html5/thumbnails/9.jpg)
INTRODUCCION A SQL SERVERINTRODUCCION A SQL SERVER
Características: Soporta procedimientos almacenados Entorno gráfico de administración que
permite uso de comandos DDL y DML Permite trabajar en modo cliente-
servidor
![Page 10: Bd 2 1 fundamentos transact sql](https://reader034.vdocuments.pub/reader034/viewer/2022042614/55a0fd0f1a28ab50088b468d/html5/thumbnails/10.jpg)
INTRODUCCION A SQL SERVERINTRODUCCION A SQL SERVER
PRACTICA EN CLASEInstalación BD de AdventureWorks.
![Page 11: Bd 2 1 fundamentos transact sql](https://reader034.vdocuments.pub/reader034/viewer/2022042614/55a0fd0f1a28ab50088b468d/html5/thumbnails/11.jpg)
REPASO DML Y DDLREPASO DML Y DDL
DDL: CREATE / DROP TABLE ALTER TABLE◦ PRIMARY KEY◦ FOREIGN KEY◦ UNIQUE◦ CHECK◦ NULL / NOT NULL
![Page 12: Bd 2 1 fundamentos transact sql](https://reader034.vdocuments.pub/reader034/viewer/2022042614/55a0fd0f1a28ab50088b468d/html5/thumbnails/12.jpg)
REPASO DML Y DDLREPASO DML Y DDL
DML:SELECT ….FROM ….WHERE ….GROUP BY ….HAVING ….ORDER BY ….
![Page 13: Bd 2 1 fundamentos transact sql](https://reader034.vdocuments.pub/reader034/viewer/2022042614/55a0fd0f1a28ab50088b468d/html5/thumbnails/13.jpg)
REPASO DML Y DDLREPASO DML Y DDLDML:SELECT ….FROM ….[INNER JOIN | LEFT JOIN | RIGHT JOIN |
FULL OUTER JOIN] …. ON …WHEREGROUP BYHAVINGORDER BY
![Page 14: Bd 2 1 fundamentos transact sql](https://reader034.vdocuments.pub/reader034/viewer/2022042614/55a0fd0f1a28ab50088b468d/html5/thumbnails/14.jpg)
REPASO DML Y DDLREPASO DML Y DDL
DML: INSERT UPDATE DELETE
![Page 15: Bd 2 1 fundamentos transact sql](https://reader034.vdocuments.pub/reader034/viewer/2022042614/55a0fd0f1a28ab50088b468d/html5/thumbnails/15.jpg)
REPASO DML Y DDLREPASO DML Y DDL
DML: UNION INTERSECT EXCEPT
![Page 16: Bd 2 1 fundamentos transact sql](https://reader034.vdocuments.pub/reader034/viewer/2022042614/55a0fd0f1a28ab50088b468d/html5/thumbnails/16.jpg)
REPASO DML Y DDLREPASO DML Y DDL
DML: DISTINCT IN BETWEEN CASE EXISTS
![Page 17: Bd 2 1 fundamentos transact sql](https://reader034.vdocuments.pub/reader034/viewer/2022042614/55a0fd0f1a28ab50088b468d/html5/thumbnails/17.jpg)
REPASO DML Y DDLREPASO DML Y DDL
DML: LIKE◦ LIKE ‘A%’◦ LIKE ‘_ABC’◦ LIKE ‘[AF]%’: todo lo que empiece por A o F◦ LIKE ‘[!A-F]%’ todo lo que no empiece por
cualquier letra entre A y F
![Page 18: Bd 2 1 fundamentos transact sql](https://reader034.vdocuments.pub/reader034/viewer/2022042614/55a0fd0f1a28ab50088b468d/html5/thumbnails/18.jpg)
REPASO DML Y DDLREPASO DML Y DDL
DML: SUM COUNT AVG MAX MIN
![Page 19: Bd 2 1 fundamentos transact sql](https://reader034.vdocuments.pub/reader034/viewer/2022042614/55a0fd0f1a28ab50088b468d/html5/thumbnails/19.jpg)
REPASO DML Y DDLREPASO DML Y DDLDML: COMPUTE: calculo de consolidados o
totales sobre campos numéricos de la consulta.
SELECT MARITALSTATUS, COUNT(1)FROM HUMANRESOURCES.EMPLOYEEGROUP BY MARITALSTATUSCOMPUTE SUM(COUNT(1));
![Page 20: Bd 2 1 fundamentos transact sql](https://reader034.vdocuments.pub/reader034/viewer/2022042614/55a0fd0f1a28ab50088b468d/html5/thumbnails/20.jpg)
REPASO DML Y DDLREPASO DML Y DDL
Operadores lógicos: AND OR NOT
![Page 21: Bd 2 1 fundamentos transact sql](https://reader034.vdocuments.pub/reader034/viewer/2022042614/55a0fd0f1a28ab50088b468d/html5/thumbnails/21.jpg)
REPASO DML Y DDLREPASO DML Y DDL
Predicados de consultas: ALL: devuelve todos los campos de la
tabla TOP: devuelve la cantidad indicada de
registros DISTINCT: omite registros repetidos con
base en los campos seleccionados
![Page 22: Bd 2 1 fundamentos transact sql](https://reader034.vdocuments.pub/reader034/viewer/2022042614/55a0fd0f1a28ab50088b468d/html5/thumbnails/22.jpg)
REPASO DML Y DDLREPASO DML Y DDL
VISTAS: Una vista es una consulta que refleja el contenido de una o más tablas, desde la que se puede acceder a los datos como si fuera una tabla.
CREATE VIEW <nombre_vista>AS (<sentencia_select>);
ALTER VIEW <nombre_vista>AS (<sentencia_select>);
![Page 23: Bd 2 1 fundamentos transact sql](https://reader034.vdocuments.pub/reader034/viewer/2022042614/55a0fd0f1a28ab50088b468d/html5/thumbnails/23.jpg)
REPASO DML Y DDLREPASO DML Y DDL
SINONIMOS: Un sinónimo es un nombre alternativo que identifica una tabla en la BD.
CREATE SYNONYM<nombre_sinonimo>FOR <nombre_tabla>;
![Page 24: Bd 2 1 fundamentos transact sql](https://reader034.vdocuments.pub/reader034/viewer/2022042614/55a0fd0f1a28ab50088b468d/html5/thumbnails/24.jpg)
FUNCIONESFUNCIONES Sintaxis:◦ Select nombre_funcion(argumentos)◦ Select user_name◦ Ver pág 375: funciones del sistema◦ Ver pág 380: funciones con cadenas◦ Ver pág 394: funciones matemáticas◦ Ver pág 397: funciones con fechas◦ Ver pág 412: funciones de seguridad
Las funciones pueden emplearse en el SELECT o en el WHERE
![Page 25: Bd 2 1 fundamentos transact sql](https://reader034.vdocuments.pub/reader034/viewer/2022042614/55a0fd0f1a28ab50088b468d/html5/thumbnails/25.jpg)
FUNCIONESFUNCIONES Ejercicios de funciones del sistema:◦ db_name◦ host_name◦ isnull◦ user_name
Ejercicios de funciones con cadenas◦ Char◦ Char_length◦ Charindex◦ patindex◦ Lower, upper◦ Ltrim, rtrim◦ Substr◦ stuff
![Page 26: Bd 2 1 fundamentos transact sql](https://reader034.vdocuments.pub/reader034/viewer/2022042614/55a0fd0f1a28ab50088b468d/html5/thumbnails/26.jpg)
FUNCIONESFUNCIONES Ejercicios de funciones matemáticas:◦ Abs◦ Ceiling◦ Floor◦ Rand◦ Round
Ejercicios de funciones con fechas:◦ getdate◦ datename◦ datepart◦ Datediff◦ dateadd
![Page 27: Bd 2 1 fundamentos transact sql](https://reader034.vdocuments.pub/reader034/viewer/2022042614/55a0fd0f1a28ab50088b468d/html5/thumbnails/27.jpg)
TAREATAREA1. Instalar en el PC propio SQL Server 2008 y SQL Server
Management Studio.2. Repasar del Transact-SQL User’s Guide los capítulos del 1 al 113. Hacer las siguientes consultas de la base de datos de
AdventureWorks, explicando para cada una la solución planteada1. Obtenga de Person.CountryRegion los países cuya primera letra del
código sea la ‘C’ y la segunda se encuentre entre la ‘L’ y la ‘O’. 2. Obtenga de Person.Address la AddressLine1 concatenada con
AddressLine2, City y StateProvinceID, en mayúscula, de todas las direcciones de la ciudad ‘Melbourne’. Nota: tenga el cuenta que varias AddressLine2 vienen nulas.
3. Obtenga de Person.Contact el FirstName concatenado con el MiddleName y el LastName, y en otra columna las iniciales. Por ejemplo: ‘Gustavo Achong’, ‘GA’
4. Obtenga de Person.Contact el FirstName, MiddleName, LastName y el EmailAddress hasta antes de la ‘@’