clase vii

78
Clase VII Clase VII DelioAlanis DelioAlanis

Upload: akeem-everett

Post on 03-Jan-2016

28 views

Category:

Documents


5 download

DESCRIPTION

Clase VII. DelioAlanis. Agenda. Bases de Datos Relacionales SQL Server 2005 Instalación Computer Manager SQL Server Management Studio Object Explorer Project Management Query Editor Assisted Editors SQLiMail Sentencias Transact-SQL. Agenda. Bases de Datos Relacionales - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Clase VII

Clase VIIClase VIIDelioAlanisDelioAlanis

Page 2: Clase VII

AgendaAgenda Bases de Datos RelacionalesBases de Datos Relacionales SQL Server 2005SQL Server 2005

InstalaciónInstalación Computer ManagerComputer Manager SQL Server Management StudioSQL Server Management Studio Object ExplorerObject Explorer Project ManagementProject Management Query EditorQuery Editor Assisted EditorsAssisted Editors SQLiMailSQLiMail

Sentencias Transact-SQLSentencias Transact-SQL

Page 3: Clase VII

AgendaAgenda Bases de Datos RelacionalesBases de Datos Relacionales SQL Server 2005SQL Server 2005

InstalaciónInstalación Computer ManagerComputer Manager SQL Server Management StudioSQL Server Management Studio Object ExplorerObject Explorer Project ManagementProject Management Query EditorQuery Editor Assisted EditorsAssisted Editors SQLiMailSQLiMail

Sentencias Transact-SQLSentencias Transact-SQL

Page 4: Clase VII

Se organizan por Tablas Contiene Filas y Columnas Una columna representa un “campo” en la tabla

Los valores de una columna tienen un “tipo de dato” definido

Las tablas pueden contener Claves Primarias (Primary Key) y/o Claves Foraneas

Utilizando Claves entre tablas obtenemos una integridad referencial entre ellas

Utilización de Indices mejora el rendimiento en la búsqueda

Ejemplo a continuación…

Base de Datos RelacionalesBase de Datos RelacionalesB

ase

s d

e D

ato

s R

ela

cion

ale

sB

ase

s d

e D

ato

s R

ela

cion

ale

s

Page 5: Clase VII

Base de Datos RelacionalesBase de Datos RelacionalesB

ase

s d

e D

ato

s R

ela

cion

ale

sB

ase

s d

e D

ato

s R

ela

cion

ale

s

Page 6: Clase VII

Tipos de Relaciones Uno a uno Uno a varios Varios a varios

Integridad Referencial Es un sistema de reglas Mantiene la consistencia de los datos entre tablas

relacionadas Actualizar y/o eliminar registros en cascada

Indices Estructura de datos que permite recuperar filas rápidamente Proporciona ordenación Se define sobre una columna o varias o conjunto de

columnas

Base de Datos RelacionalesBase de Datos RelacionalesB

ase

s d

e D

ato

s R

ela

cion

ale

sB

ase

s d

e D

ato

s R

ela

cion

ale

s

Page 7: Clase VII

AgendaAgenda Bases de Datos RelacionalesBases de Datos Relacionales SQL Server 2005SQL Server 2005

InstalaciónInstalación Computer ManagerComputer Manager SQL Server Management StudioSQL Server Management Studio Object ExplorerObject Explorer Project ManagementProject Management Query EditorQuery Editor Assisted EditorsAssisted Editors SQLiMailSQLiMail

Sentencias Transact-SQLSentencias Transact-SQL

Page 8: Clase VII

Fácil de usar: Instalación basada en Windows Installer

Inspector de configuración del sistema para verificar la máquina destino

Instalación

Utilidades Command-line para ejecución desatendida e instalación remota

Permite instalar o desinstalar componentes SQL Server 2005 desde Add/Remove.

Logging de error mejorado y reporte de fallas

SQLServer 2005SQLServer 2005S

QL

Se

rve

r 20

05

SQ

LS

erv

er

200

5

Page 9: Clase VII

Computer Manager combina la funcionalidad de las siguientes herramientas SQL Server en la versión anterior: Server Network Utility

Client Network Utility

Server Manager

Los siguientes servicios son administrados por el “Computer Manager” : SQL Server

SQL Server Agent

SQL Server Analysis Services

Report Server

Microsoft Search

Distributed Transaction Coordinator (DTC)

Full Text Search

El computer manager usa el WMI para cambiar los seteos del server y es parte del Microsoft Management Console (MMC)

Computer ManagerSQLServer 2005SQLServer 2005

SQ

LS

erv

er

200

5S

QL

Se

rve

r 20

05

Page 10: Clase VII

Computer ManagerSQLServer 2005SQLServer 2005

SQ

LS

erv

er

200

5S

QL

Se

rve

r 20

05

Page 11: Clase VII

Provee un entorno centralizado integrado para la gestión de múltiples servers, tareas y servicios

Las características incluyen: Explorador de Objetos

Editores Asistidos

Ventana de resumen

Extensiones para Editor de Consultas de SQLCMD

Explorador de Templates

Manejo de errores mejorado

Administración de Proyectos

Dialog Boxes no modales

Scripting y Schedulling mejorado

SQL Server Management StudioSQLServer 2005SQLServer 2005

SQ

LS

erv

er

200

5S

QL

Se

rve

r 20

05

Page 12: Clase VII

SQL Server Management StudioSQLServer 2005SQLServer 2005

SQ

LS

erv

er

200

5S

QL

Se

rve

r 20

05

Page 13: Clase VII

Muestra los componentes SQL en una jerarquía de árbol grafica

Permite al usuario expandir múltiples nodos del árbol simultáneamente.

Object Explorer (Explorador de Objetos)

Permite al usuario filtrar un nodo basado en uno o múltiples criterios de filtro.

Provee una interface de usuario amigable para la administración

SQLServer 2005SQLServer 2005S

QL

Se

rve

r 20

05

SQ

LS

erv

er

200

5

Page 14: Clase VII

Las funcionalidades disponibles para administrar un proyecto son: Organiza scripts relacionados dentro de un único proyecto

Mantiene el control de versiones sobre scripts (Si VSS esta disponible)

Conexión almacenada y opciones resultantes con cada script

Project Management

(Administrador de Proyectos)

SQLServer 2005SQLServer 2005S

QL

Se

rve

r 20

05

SQ

LS

erv

er

200

5

Page 15: Clase VII

Permite la ejecución de scripts T-SQL y sentencias contra SQL Server y SQL Server Mobile Edition,

Permite ejecución de expresiones: multidimensionales (MDX)

data mining (DMX)

XMLA

Query Editor (Editor de consultas)

Escritura de scripts en modo desconectado

Ayuda dinámica

Display mejorado para resultados XML. Resultados en forma

XML cuando usa la columna XML

Funciones XML para Transact-SQL

Legibilidad mejorada por el uso de color-coding

SQLServer 2005SQLServer 2005S

QL

Se

rve

r 20

05

SQ

LS

erv

er

200

5

Page 16: Clase VII

Editores asistidos para creación de objetos SQL Server con propiedades de texto como stored procedures, triggers y funciones

Ejemplo de cómo acceder a Editores asistidos: Abrir SQL Server Management Studio

Explorar Object Browser. Seleccionar SQL Instance → Databases→ <database> →Programmability→ Stored Procedures

Click derecho sobre Stored Procedures → New Stored Procedure

Esto abrirá el editor asistido con información de cabecera para crear el stored procedure

Assisted Editors & Templates

(Editores Asistidos)

SQLServer 2005SQLServer 2005S

QL

Se

rve

r 20

05

SQ

LS

erv

er

200

5

Page 17: Clase VII

Assisted Editors & Templates SQLServer 2005SQLServer 2005

SQ

LS

erv

er

200

5S

QL

Se

rve

r 20

05

Page 18: Clase VII

Usa SMTP para enviar mail. No necesita Outlook o MAPI extendida

Corre out-of-process desde SQL Server para confiabilidad

Provee background y entrega asíncrona para escalabilidad

Failover múltiple de cuentas SMTP y perfiles permitidos

Cluster y compatibilidad con 64-bit

Servicio esta off por default

Fuerza la seguridad para perfiles de usuario

El tamaño y tipo de adjuntos pueden ser configurados

Logs activity para SQL Server y monitores de rendimiento

SQLiMailSQLServer 2005SQLServer 2005

SQ

LS

erv

er

200

5S

QL

Se

rve

r 20

05

Page 19: Clase VII

SQL-CLR

Beneficios del CLR Beneficios para la Programación Assemblies La Nueva Arquitectura de

SQL Server 2005 Confiabilidad Seguridad Configuración del CLR en SQL Server 2005 Creación y distribución Functions Tipos de datos definidos por el usuario Triggers Performance Tuning

SQLServer 2005SQLServer 2005S

QL

Se

rve

r 20

05

SQ

LS

erv

er

200

5

Page 20: Clase VII

Beneficios del CLR

Modelo de programación mejorado User Defined Types y Aggregates Seguridad mejorada Compatibilidad Cross-Language Performance y Escalabilidad

SQLServer 2005SQLServer 2005S

QL

Se

rve

r 20

05

SQ

LS

erv

er

200

5

Page 21: Clase VII

Beneficios para la Programación

Modelo de programación mejorado Soporte en Visual Studio 2005 Fácil construcción y distribución de soluciones utilizando el

entorno de Visual Studio Mejor debugging

SQLServer 2005SQLServer 2005S

QL

Se

rve

r 20

05

SQ

LS

erv

er

200

5

Page 22: Clase VII

Assemblies

Assemblies archivos ejecutables que actúan como punto de entrada para una aplicación

Contienen el código que el CLR ejecuta Estos no son creados si no poseen un manifest asociado

(información de la metadata) Contienen toda la información requerida acerca de tipos y

recursos que la aplicación necesita para ejecutarse Dependencia entre assemblies

SQLServer 2005SQLServer 2005S

QL

Se

rve

r 20

05

SQ

LS

erv

er

200

5

Page 23: Clase VII

La Nueva Arquitectura de SQL Server 2005

La Hosting layer provee coordinación para: Carga de los Assembly Manejo de Memoria Modelo de Seguridad Confiabilidad Threads & Fibers Deteccion de Deadlock Contexto de Ejecución

SQL OS Manejador de Conexiones Manejo de Memoria Manejo de Thread Servicios de Sincronización

SQL EngineSQL Engine

WindowsWindows

SQL OSSQL OS

CLRCLR

HostingHostingLayerLayer

SQLServer 2005SQLServer 2005S

QL

Se

rve

r 20

05

SQ

LS

erv

er

200

5

Page 24: Clase VII

Confiabilidad

AppDomain

AppDomain, el dominio de la aplicación, es un dominio aislado para la ejecución.

Todos los assemblies de un usuario en particular residen en un AppDomain

Assemblies de un usuario no pueden ser referenciados por ningun otro usuario

AppDomain aísla completamente todos los recursos que el código .NET desde los recursos de SQL Server

SQLServer 2005SQLServer 2005S

QL

Se

rve

r 20

05

SQ

LS

erv

er

200

5

Page 25: Clase VII

Seguridad

La seguridad en el CLR es definida por Code Access Security (CAS)

En CAS, los permisos son seteados en tres niveles:

Políticas de Maquina: Son las políticas para todo el código manejado por la maquina que ejecuta el SQL Server

Políticas de Usuario: Son las políticas para el código manejado que sea hosteado por un proceso. En SQL Server, esta política es especifica para la cuenta de Windows que levanta los servicios para SQL Server

Políticas de Host : Son las políticas seteadas por el Host del CLR, concretamente para el código manejado ejecutándose en ese servidor

SQLServer 2005SQLServer 2005S

QL

Se

rve

r 20

05

SQ

LS

erv

er

200

5

Page 26: Clase VII

Configuración del CLR en SQL Server 2005

La configuración del CLR se encuentra en las opciones de advanced server configuration

Para deshabilitar la ejecución del CLR :

sp_configure ‘show_advanced_options’, 1

GO

RECONFIGURE

GO

sp_configure ‘clr enabled’, 0

GO

RECONFIGURE

GO

SQLServer 2005SQLServer 2005S

QL

Se

rve

r 20

05

SQ

LS

erv

er

200

5

Page 27: Clase VII

Creación y distribución

.NET database objects written in C#,VB.NET….

BuildAssembly

SQL Data Definition: create assembly … create function … create procedure … create trigger … create type …

Load

SQL SERVER

SQLServer 2005SQLServer 2005S

QL

Se

rve

r 20

05

SQ

LS

erv

er

200

5

Page 28: Clase VII

Manejando Assemblies

Cargar un Assembly Para cargar una dll llamada ‘sqlclr.dll’ en un assembly con permisos

‘SAFE’ :

CREATE ASSEMBLY SQLCLR

FROM ‘C: \YukonApps\sqlclr.dll’

With PERMISSION_SET = SAFE

SQLServer 2005SQLServer 2005S

QL

Se

rve

r 20

05

SQ

LS

erv

er

200

5

Page 29: Clase VII

Meta Data de los Assemblies

Cre

ate

Ass

embl

yDetalles del Assembly:

Sys.assembliesCodigo fuente:

Sys.assembly_filesReferencias:

Sys.assembly_references

Otra informacion en la metadata•SYS.OBJECTSSYS.OBJECTS•SYS.ASSEMBLY_MODULESSYS.ASSEMBLY_MODULES•SYS.ASSEMBLY_TYPESSYS.ASSEMBLY_TYPES

SQLServer 2005SQLServer 2005S

QL

Se

rve

r 20

05

SQ

LS

erv

er

200

5

Page 30: Clase VII

Creando Stored Procedures CLR

CREATE ASSEMBLY Module15_assembly

FROM ‘\\MachineName\Module15\bin\Debug\Module15_library.dll’

GO

CREATE PROCEDURE NewProc

@name varchar(255)

AS

EXTERNAL NAME Module15_assembly.Class1.getSSNbasedOnName

SQLServer 2005SQLServer 2005S

QL

Se

rve

r 20

05

SQ

LS

erv

er

200

5

Page 31: Clase VII

Functions

Tipos: Scalar Table Valued

Ejemplo de creacion de una UDF

CREATE ASSEMBLY ValidateString

FROM '\\MachineName\Module15\bin\Debug\validateString.dll';

GO

CREATE FUNCTION ValidateAreaCode ()

RETURNS int

AS EXTERNAL NAME ValidateString.StringcheckClass.validateString;

GO

SQLServer 2005SQLServer 2005S

QL

Se

rve

r 20

05

SQ

LS

erv

er

200

5

Page 32: Clase VII

Tipos de datos definidos por el usuario

Para extender los tipos de datos escalares Soporte a indexado, queries distribuidos, integridad referencial,

replicación y operaciones bcp sobre columnas definidas por UDTs

Para distribuir un UDT, se deben seguir los siguientes pasos en este orden: Definir el UDT como una clase de lenguaje .NET Distribuir el assembly que referencie el objeto CLR creado Crear el tipo que referencie al assembly registrado

CREATE ASSEMBLY GISmeasures

FROM '\\MachineName\Module15\bin\Debug\GIS.dll' ;

GO

CREATE TYPE area

EXTERNAL NAME GISmeasures.GISclass.latitudeLongitude ;

GO

SQLServer 2005SQLServer 2005S

QL

Se

rve

r 20

05

SQ

LS

erv

er

200

5

Page 33: Clase VII

Triggers

Standard: Fuerzan reglas de negocios e integridad referencial de datos Insert, Delete, Update

DDL Triggers: Permiten al usuario prevenir cambios al schema de la base de datos o disparar algun otro cambio en el schema changes en respuesta a alguna otra modificacion de la base de datos

Create, Alter, Drop

SQLServer 2005SQLServer 2005S

QL

Se

rve

r 20

05

SQ

LS

erv

er

200

5

Page 34: Clase VII

Performance - CLR Vs T-SQL

Performance Puede reemplazar cursores T-SQL del lado del servidor Grandes mejoras en la performance Para llevar adelante grandes accesos a datos o implementar un

spool de datos en estadios intermedios

Nota: Si no se usan las UDAgg, se debe considerar la escritura de stored procedures usando código manejado para un mejor aprovechamiento en la performance sobre T-SQL

SQLServer 2005SQLServer 2005S

QL

Se

rve

r 20

05

SQ

LS

erv

er

200

5

Page 35: Clase VII

Performance Tuning

Utilizar la herramienta Profiler para monitorear los planes de ejecución y el funcionamiento de SQL con los objetos .NET

Observar los siguientes contadores Contadores de SQL Server Contadores de .NET CLR

Relacionar los contadores de performance con los datos del profiler

SQLServer 2005SQLServer 2005S

QL

Se

rve

r 20

05

SQ

LS

erv

er

200

5

Page 36: Clase VII

AgendaAgenda Bases de Datos RelacionalesBases de Datos Relacionales SQL Server 2005SQL Server 2005

InstalaciónInstalación Computer ManagerComputer Manager SQL Server Management StudioSQL Server Management Studio Object ExplorerObject Explorer Project ManagementProject Management Query EditorQuery Editor Assisted EditorsAssisted Editors SQLiMailSQLiMail

Sentencias Transact-SQLSentencias Transact-SQL

Page 37: Clase VII

El Lenguaje de programación Transact-SQL Tipos de intrucciones de Transact-SQL Elementos de sintaxis del Transact-SQL

Sentencias Transact-SQLSentencias Transact-SQLT

rans

act

-SQ

LT

rans

act

-SQ

L

Page 38: Clase VII

Implementa el estándar ISO de nivel básico de la especificación ANSI-SQL99

Se pueden ejecutar desde cualquier producto que cumpla los requisitos básicos

Incluye una funcionalidad ampliada

Sentencias Transact-SQLSentencias Transact-SQLT

rans

act

-SQ

LT

rans

act

-SQ

L

Page 39: Clase VII

Instrucciones del Lenguaje de definincion de datos (DDL)

Instrucciones del Lenguaje de Control de Datos (DCL)

Instrucciones del Lenguaje de tratamientos de datos (DML)

Tipos de intruccionesSentencias Transact-SQLSentencias Transact-SQL

Tra

nsa

ct-S

QL

Tra

nsa

ct-S

QL

Page 40: Clase VII

Definen los objetos de la base de datos CREATE nombreobjeto ALTER nombreobjeto DROP nombreobjeto

Deben tener los permisos adecuados

Tipos de intruccionesInstruciones del Lenguaje de definicion de datos

Sentencias Transact-SQLSentencias Transact-SQLT

rans

act

-SQ

LT

rans

act

-SQ

L

Page 41: Clase VII

Establecer o cambiar los permisos GRANT DENY REVOKE

Deben tener los permisos adecuados

Tipos de intruccionesInstruciones del Lenguaje de control de datos

Sentencias Transact-SQLSentencias Transact-SQLT

rans

act

-SQ

LT

rans

act

-SQ

L

Page 42: Clase VII

Las instrucciones DML se utilizan para cambiar datos o recuperar información SELECT INSERT UPDATE DELETE

Deben tener los permisos adecuados

Tipos de intruccionesInstrucciónes del Lenguaje de Tratamiento de datos

Sentencias Transact-SQLSentencias Transact-SQLT

rans

act

-SQ

LT

rans

act

-SQ

L

Page 43: Clase VII

GO Envia lotes de instrucciones de TSQL a las herramientas y

utilidades No se trata, realmente, de una instrucción de TSQL

EXEC Ejecuta una funcion definida por el usuario, un

prodecimiento de sistema, un prodecimiento definido por el usuario o un prodecimiento almacenado extendido

Controla la ejecución de una cadena de caracteres dentro de un lote de TSQL

Elementos de la sintaxis de Transact-SQLDirectivas de proceso por lotes

Sentencias Transact-SQLSentencias Transact-SQLT

rans

act

-SQ

LT

rans

act

-SQ

L

Page 44: Clase VII

Comentarios en línea

Comentarios en Bloque

Elementos de la sintaxis de Transact-SQLComentarios

Sentencias Transact-SQLSentencias Transact-SQLT

rans

act

-SQ

LT

rans

act

-SQ

L

Page 45: Clase VII

Números Enteros Bigint

Números enteros entre -2E63 (-9.223.372.036.845.775.808) y 2E-63 (9.223.372.036.845.775.807)

Int Números enteros entre -2E31 (-2,147,483,648 ) y 2E-

31(2,147,483,647 ) Smallint

Números enteros entre 2E15 (-32.768) y 2E-15 (32.767) Tinyint

Números enteros entre 0 y 255

Bit Bit

Enteros entre 0 y 1

DataTypesSentencias Transact-SQLSentencias Transact-SQL

Tra

nsa

ct-S

QL

Tra

nsa

ct-S

QL

Page 46: Clase VII

Decimal y númericos Decimal

Dátos númericos con precisión fija de -10E38 a 10E-38 Numeric

Función equivalente a decimal

Money & SmallMoney Money

Valores monetarios entre -2E63 y 2E63-1 con precisión de hasta 10 dígitos.

SmallMoney Valores monetarios entre -214.748,3648 y +214.748,3647

DataTypesSentencias Transact-SQLSentencias Transact-SQL

Tra

nsa

ct-S

QL

Tra

nsa

ct-S

QL

Page 47: Clase VII

Números aproximádos Float

Dátos numéricos de punto flotante entre -1.79E+308 y 1.79E+308

Real Dátos numéricos de punto flotante entre -3.40E+38 y 3.40E+38

Datetime & Smalldatetime Datetime

Fechas entre 1 de Enero del 1753 y 31 de diciembre de 9999 con una precisión de 3 milésimas de segúndo

Smalldatetime Fechas entre 1 de Enero de 1900 y 6 de Junio de 2079, con una

precisión de 1 minúto

DataTypesSentencias Transact-SQLSentencias Transact-SQL

Tra

nsa

ct-S

QL

Tra

nsa

ct-S

QL

Page 48: Clase VII

Caracteres Char

Carácter de longitud fija (no unicode) con un máximo de 8000 caracteres

Varchar Caracteres de longitud variable (no unicode) con un máximo de 8000

caracteres Text

Caracteres de longitud variable (no unicode) con un máximo de 2.147.483.647 caracteres

Nchar Carácter de longitud fija (unicode) con un máximo de 4000 caracteres

Nvarchar Caracteres de longitud variable (unicode) con un máximo de 8000

caracteres Ntext

Caracteres de longitud variable (unicode) con un máximo de 1,073,741,823 caracteres

DataTypesSentencias Transact-SQLSentencias Transact-SQL

Tra

nsa

ct-S

QL

Tra

nsa

ct-S

QL

Page 49: Clase VII

Binary Binary

Datos binarios de longitud fija con un máximo de 8000 bytes Varbinary

Datos binarios de longitud variable con un máximo de 8000 bytes

Image Datos binarios de lóngitud variable con un máximo de

2.147.483.647 bytes

DataTypesSentencias Transact-SQLSentencias Transact-SQL

Tra

nsa

ct-S

QL

Tra

nsa

ct-S

QL

Page 50: Clase VII

Operadores Aritméticos Operadores de Asignación Operadores Bitwise Operadores de Comparación Operadores Lógicos Operadores de Concatenación Operadores Unarios

OperadoresSentencias Transact-SQLSentencias Transact-SQL

Tra

nsa

ct-S

QL

Tra

nsa

ct-S

QL

Page 51: Clase VII

Realizan operaciones matemáticas entre dos expresiones

Operadores aritméticos + (suma) - (resta) * (Muliplicación) / (División) % (Módulo) , devuelve el resto Devuelve el resto entero de

una división. Por ejemplo, 12 % 5 = 2 porque el resto de 12 dividido entre 5 es 2.

Operadores AritméticosSentencias Transact-SQLSentencias Transact-SQL

Tra

nsa

ct-S

QL

Tra

nsa

ct-S

QL

Page 52: Clase VII

Operadores de Asignación

Operadores de AsignaciónSentencias Transact-SQLSentencias Transact-SQL

Tra

nsa

ct-S

QL

Tra

nsa

ct-S

QL

Page 53: Clase VII

Operadores bit a bit

&& (operador bit a bit AND)Realiza una operación lógica AND a nivel de bit entre dos valores enteros.

|| (operador bit a bit OR)Realiza una operación OR lógica a nivel de bit entre dos valores enteros dados que se convirtieron a expresiones binarias dentro de instrucciones de Transact-SQL.

^̂ (operador bit a bit OR exclusivo)Realiza una operación OR exclusivo a nivel de bit entre dos valores enteros dados que se convierten a expresiones binarias dentro de instrucciones de Transact-SQL.

Operadores bit a bitSentencias Transact-SQLSentencias Transact-SQL

Tra

nsa

ct-S

QL

Tra

nsa

ct-S

QL

Page 54: Clase VII

Operadores de comparación= (igual al)> (mayor que)< (menor que)>= (mayor que o igual que)<= (menor que o igual que)<> (no es igual a)!= (no es igual a)!< (no es menor que)!> (no es mayor que)

Operadores de comparaciónSentencias Transact-SQLSentencias Transact-SQL

Tra

nsa

ct-S

QL

Tra

nsa

ct-S

QL

Page 55: Clase VII

Comprueban la veracidad de alguna condición Operadores Lógicos

ALLANDANYBETWEENEXISTSINLIKENOTORSOME

Operadores lógicosSentencias Transact-SQLSentencias Transact-SQL

Tra

nsa

ct-S

QL

Tra

nsa

ct-S

QL

Page 56: Clase VII

Permite concatenar cadenas de textos

Operadores de concatenación Signo ++ (mas)

Operadores de concatenación de cadenasSentencias Transact-SQLSentencias Transact-SQL

Tra

nsa

ct-S

QL

Tra

nsa

ct-S

QL

Page 57: Clase VII

Los operadores unarios realizan una operación sobre una única expresión de cualquiera de los tipos de datos de la categoría del tipo de datos numérico. ++ (positivo)

Es un operador unario que devuelve el valor positivo de una expresión numérica (un operador unario).

- - (negativo)Es un operador unario que devuelve el valor negativo de una

expresión numérica (un operador unario). ~~ (operador bit a bit NOT)

Realiza una operación NOT lógica a nivel de bit en un valor entero dado que se convierte a una expresión binaria dentro de instrucciones de Transact-SQL.

Operadores unariosSentencias Transact-SQLSentencias Transact-SQL

Tra

nsa

ct-S

QL

Tra

nsa

ct-S

QL

Page 58: Clase VII

La sintaxis para crear tablas es:CREATE TABLE "table_name"

("column 1" "data_type_for_column_1",

"column 2“ "data_type_for_column_2",... )

Crear TablasSentencias Transact-SQLSentencias Transact-SQL

Tra

nsa

ct-S

QL

Tra

nsa

ct-S

QL

Page 59: Clase VII

La sintaxis para insertar registros es:Insert into <tablename>

(<fieldname>, <fieldname>, <fieldname>)

Values

(@fieldname, @fieldname, @fieldname);

Sentencia de INSERTSentencias Transact-SQLSentencias Transact-SQL

Tra

nsa

ct-S

QL

Tra

nsa

ct-S

QL

Page 60: Clase VII

Ésta técnica es usada para copiar datos desde una tabla a la tabla indicada

La sintaxis para insertar copiando registros de otra tabla es

insert new_studentdetails

select id_number, passwd from studentdetails

INSERT FROMSentencias Transact-SQLSentencias Transact-SQL

Tra

nsa

ct-S

QL

Tra

nsa

ct-S

QL

Page 61: Clase VII

La sentencia SELECT es usada para seleccionar registros desde una tabla de la base de datos

SELECT <Col_1>, <Col_2>,…

FROM <Table_name>

Ej:

SELECT Sentencias Transact-SQLSentencias Transact-SQL

Tra

nsa

ct-S

QL

Tra

nsa

ct-S

QL

Page 62: Clase VII

La sentencia SELECT INTO es usado para copiar los registros seleccionados de una tabla e insertarla en una tabla diferente al mismo tiempo

La sintaxis es la siguiente:

SELECT Column1, Column2, Column3,

INTO Table2 FROM Table1

SELECT *

INTO Customers_copy FROM Customers

SELECT INTOSentencias Transact-SQLSentencias Transact-SQL

Tra

nsa

ct-S

QL

Tra

nsa

ct-S

QL

Page 63: Clase VII

La clausula DISTINCT es usada para devolver sólo los valores en la expresión especificada

DISTINCTSentencias Transact-SQLSentencias Transact-SQL

Tra

nsa

ct-S

QL

Tra

nsa

ct-S

QL

Page 64: Clase VII

La clausula WHERE es utilizada para seleccionar datos condicionalmente en base a criterios especificados

SELECT * FROM Customers WHERE LastName <> 'Smith‘

SELECT * FROM Customers WHERE DOB > '1/1/1970‘

SELECT * FROM Customers WHERE DOB >= '1/1/1970‘

WHERESentencias Transact-SQLSentencias Transact-SQL

Tra

nsa

ct-S

QL

Tra

nsa

ct-S

QL

Page 65: Clase VII

WHERE - EJEMPLOSentencias Transact-SQLSentencias Transact-SQL

Tra

nsa

ct-S

QL

Tra

nsa

ct-S

QL

Page 66: Clase VII

WHERE con LIKESentencias Transact-SQLSentencias Transact-SQL

Tra

nsa

ct-S

QL

Tra

nsa

ct-S

QL

Page 67: Clase VII

Funciones de Agregado

Funciones de Agregado:AVGCOUNTMINMAXSUMSTDEV

Sentencias Transact-SQLSentencias Transact-SQLT

rans

act

-SQ

LT

rans

act

-SQ

L

Page 68: Clase VII

Funciones de Agregado - EjemploSentencias Transact-SQLSentencias Transact-SQL

Tra

nsa

ct-S

QL

Tra

nsa

ct-S

QL

Page 69: Clase VII

Funciones Matemáticas

Funciones Matemáticas

ABS SQRTRAND SQUARESIN POWERCOS CEILINGTAN FLOORCOT EXP

Sentencias Transact-SQLSentencias Transact-SQLT

rans

act

-SQ

LT

rans

act

-SQ

L

Page 70: Clase VII

Funciones de Texto

Funciones de Texto

LEFTRIGHTLTRIMRTRIMREPLACESUBSTRINGSTUFFREVERSECHARLENLOWERUPPER

Sentencias Transact-SQLSentencias Transact-SQLT

rans

act

-SQ

LT

rans

act

-SQ

L

Page 71: Clase VII

Funciones de Fecha

Funciones de Fecha

DATEADDDATEDIFFGETDATEDAYMONTHYEAR…

Sentencias Transact-SQLSentencias Transact-SQLT

rans

act

-SQ

LT

rans

act

-SQ

L

Page 72: Clase VII

La clausula ORDER BY es usado para ordernar los registros de una sentencia SELECT previamente indicada

La sintaxis es la siguiente:

[ ORDER BY { order_by_expression [ ASC | DESC ] } [ ,...n] ]

ORDER BYSentencias Transact-SQLSentencias Transact-SQL

Tra

nsa

ct-S

QL

Tra

nsa

ct-S

QL

Page 73: Clase VII

La sentencia UPDATE es utilizada para modificar los valores de los registros especirficando algún criterio.

La sintaxis es la siguiente:

UPDATE tablename SET (campo1 = valor1, campo2 = valor2,…) WHERE

Campo4 = Criterio1

UPDATESentencias Transact-SQLSentencias Transact-SQL

Tra

nsa

ct-S

QL

Tra

nsa

ct-S

QL

Page 74: Clase VII

Ésta sentencia elimina los registros que especifiquemos dentro de la clausula WHERE

La sintaxis es la siguiente:

DELETE FROM tablename Campo4 = Criterio1

DELETESentencias Transact-SQLSentencias Transact-SQL

Tra

nsa

ct-S

QL

Tra

nsa

ct-S

QL

Page 75: Clase VII

Un procedimiento almacenado es un grupo de instrucciones compiladas en un único plan de ejecución

Parámetros de salida, que pueden devolver datos (por ejemplo, un valor entero o de carácter) o una variable de cursor (los cursores son conjuntos de resultados que pueden devolver filas de una en una).

Códigos de retorno, que siempre son un valor entero.

Un conjunto de resultados por cada instrucción SELECT contenida en el procedimiento almacenado o en cualquier otro procedimiento almacenado invocado por el procedimiento almacenado original.

Un cursor global al que se puede hacer referencia desde fuera del procedimiento almacenado.

STORE PROCEDURESentencias Transact-SQLSentencias Transact-SQL

Tra

nsa

ct-S

QL

Tra

nsa

ct-S

QL

Page 76: Clase VII

STORE PROCEDURE – Crear un SPSentencias Transact-SQLSentencias Transact-SQL

Tra

nsa

ct-S

QL

Tra

nsa

ct-S

QL

Page 77: Clase VII

STORE PROCEDURE – ConsumirSentencias Transact-SQLSentencias Transact-SQL

Tra

nsa

ct-S

QL

Tra

nsa

ct-S

QL

Page 78: Clase VII

DemoDemo•Crear un Base de Datos con tablas, campos y registrosCrear un Base de Datos con tablas, campos y registros