bd 2 1 fundamentos transact sql

27

Upload: carlos-lopez

Post on 11-Jul-2015

843 views

Category:

Education


5 download

TRANSCRIPT

Page 1: Bd 2   1 fundamentos transact sql

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

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

PRESENTACION DEL CURSOPRESENTACION DEL CURSO

PLAN DE ESTUDIO METODOLOGIA DISTRIBUCION DE NOTAS

Page 4: Bd 2   1 fundamentos transact sql

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

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

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

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

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

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

INTRODUCCION A SQL SERVERINTRODUCCION A SQL SERVER

PRACTICA EN CLASEInstalación BD de AdventureWorks.

Page 11: Bd 2   1 fundamentos transact sql

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

REPASO DML Y DDLREPASO DML Y DDL

DML:SELECT ….FROM ….WHERE ….GROUP BY ….HAVING ….ORDER BY ….

Page 13: Bd 2   1 fundamentos transact sql

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

REPASO DML Y DDLREPASO DML Y DDL

DML: INSERT UPDATE DELETE

Page 15: Bd 2   1 fundamentos transact sql

REPASO DML Y DDLREPASO DML Y DDL

DML: UNION INTERSECT EXCEPT

Page 16: Bd 2   1 fundamentos transact sql

REPASO DML Y DDLREPASO DML Y DDL

DML: DISTINCT IN BETWEEN CASE EXISTS

Page 17: Bd 2   1 fundamentos transact sql

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

REPASO DML Y DDLREPASO DML Y DDL

DML: SUM COUNT AVG MAX MIN

Page 19: Bd 2   1 fundamentos transact sql

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

REPASO DML Y DDLREPASO DML Y DDL

Operadores lógicos: AND OR NOT

Page 21: Bd 2   1 fundamentos transact sql

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

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

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

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

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

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

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 ‘@’