clase vii
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 PresentationTRANSCRIPT
![Page 1: Clase VII](https://reader036.vdocument.in/reader036/viewer/2022070401/56813637550346895d9db18a/html5/thumbnails/1.jpg)
Clase VIIClase VIIDelioAlanisDelioAlanis
![Page 2: Clase VII](https://reader036.vdocument.in/reader036/viewer/2022070401/56813637550346895d9db18a/html5/thumbnails/2.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022070401/56813637550346895d9db18a/html5/thumbnails/3.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022070401/56813637550346895d9db18a/html5/thumbnails/4.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022070401/56813637550346895d9db18a/html5/thumbnails/5.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022070401/56813637550346895d9db18a/html5/thumbnails/6.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022070401/56813637550346895d9db18a/html5/thumbnails/7.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022070401/56813637550346895d9db18a/html5/thumbnails/8.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022070401/56813637550346895d9db18a/html5/thumbnails/9.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022070401/56813637550346895d9db18a/html5/thumbnails/10.jpg)
Computer ManagerSQLServer 2005SQLServer 2005
SQ
LS
erv
er
200
5S
QL
Se
rve
r 20
05
![Page 11: Clase VII](https://reader036.vdocument.in/reader036/viewer/2022070401/56813637550346895d9db18a/html5/thumbnails/11.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022070401/56813637550346895d9db18a/html5/thumbnails/12.jpg)
SQL Server Management StudioSQLServer 2005SQLServer 2005
SQ
LS
erv
er
200
5S
QL
Se
rve
r 20
05
![Page 13: Clase VII](https://reader036.vdocument.in/reader036/viewer/2022070401/56813637550346895d9db18a/html5/thumbnails/13.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022070401/56813637550346895d9db18a/html5/thumbnails/14.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022070401/56813637550346895d9db18a/html5/thumbnails/15.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022070401/56813637550346895d9db18a/html5/thumbnails/16.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022070401/56813637550346895d9db18a/html5/thumbnails/17.jpg)
Assisted Editors & Templates SQLServer 2005SQLServer 2005
SQ
LS
erv
er
200
5S
QL
Se
rve
r 20
05
![Page 18: Clase VII](https://reader036.vdocument.in/reader036/viewer/2022070401/56813637550346895d9db18a/html5/thumbnails/18.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022070401/56813637550346895d9db18a/html5/thumbnails/19.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022070401/56813637550346895d9db18a/html5/thumbnails/20.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022070401/56813637550346895d9db18a/html5/thumbnails/21.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022070401/56813637550346895d9db18a/html5/thumbnails/22.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022070401/56813637550346895d9db18a/html5/thumbnails/23.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022070401/56813637550346895d9db18a/html5/thumbnails/24.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022070401/56813637550346895d9db18a/html5/thumbnails/25.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022070401/56813637550346895d9db18a/html5/thumbnails/26.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022070401/56813637550346895d9db18a/html5/thumbnails/27.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022070401/56813637550346895d9db18a/html5/thumbnails/28.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022070401/56813637550346895d9db18a/html5/thumbnails/29.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022070401/56813637550346895d9db18a/html5/thumbnails/30.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022070401/56813637550346895d9db18a/html5/thumbnails/31.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022070401/56813637550346895d9db18a/html5/thumbnails/32.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022070401/56813637550346895d9db18a/html5/thumbnails/33.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022070401/56813637550346895d9db18a/html5/thumbnails/34.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022070401/56813637550346895d9db18a/html5/thumbnails/35.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022070401/56813637550346895d9db18a/html5/thumbnails/36.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022070401/56813637550346895d9db18a/html5/thumbnails/37.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022070401/56813637550346895d9db18a/html5/thumbnails/38.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022070401/56813637550346895d9db18a/html5/thumbnails/39.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022070401/56813637550346895d9db18a/html5/thumbnails/40.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022070401/56813637550346895d9db18a/html5/thumbnails/41.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022070401/56813637550346895d9db18a/html5/thumbnails/42.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022070401/56813637550346895d9db18a/html5/thumbnails/43.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022070401/56813637550346895d9db18a/html5/thumbnails/44.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022070401/56813637550346895d9db18a/html5/thumbnails/45.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022070401/56813637550346895d9db18a/html5/thumbnails/46.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022070401/56813637550346895d9db18a/html5/thumbnails/47.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022070401/56813637550346895d9db18a/html5/thumbnails/48.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022070401/56813637550346895d9db18a/html5/thumbnails/49.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022070401/56813637550346895d9db18a/html5/thumbnails/50.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022070401/56813637550346895d9db18a/html5/thumbnails/51.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022070401/56813637550346895d9db18a/html5/thumbnails/52.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022070401/56813637550346895d9db18a/html5/thumbnails/53.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022070401/56813637550346895d9db18a/html5/thumbnails/54.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022070401/56813637550346895d9db18a/html5/thumbnails/55.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022070401/56813637550346895d9db18a/html5/thumbnails/56.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022070401/56813637550346895d9db18a/html5/thumbnails/57.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022070401/56813637550346895d9db18a/html5/thumbnails/58.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022070401/56813637550346895d9db18a/html5/thumbnails/59.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022070401/56813637550346895d9db18a/html5/thumbnails/60.jpg)
É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](https://reader036.vdocument.in/reader036/viewer/2022070401/56813637550346895d9db18a/html5/thumbnails/61.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022070401/56813637550346895d9db18a/html5/thumbnails/62.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022070401/56813637550346895d9db18a/html5/thumbnails/63.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022070401/56813637550346895d9db18a/html5/thumbnails/64.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022070401/56813637550346895d9db18a/html5/thumbnails/65.jpg)
WHERE - EJEMPLOSentencias Transact-SQLSentencias Transact-SQL
Tra
nsa
ct-S
QL
Tra
nsa
ct-S
QL
![Page 66: Clase VII](https://reader036.vdocument.in/reader036/viewer/2022070401/56813637550346895d9db18a/html5/thumbnails/66.jpg)
WHERE con LIKESentencias Transact-SQLSentencias Transact-SQL
Tra
nsa
ct-S
QL
Tra
nsa
ct-S
QL
![Page 67: Clase VII](https://reader036.vdocument.in/reader036/viewer/2022070401/56813637550346895d9db18a/html5/thumbnails/67.jpg)
Funciones de Agregado
Funciones de Agregado:AVGCOUNTMINMAXSUMSTDEV
Sentencias Transact-SQLSentencias Transact-SQLT
rans
act
-SQ
LT
rans
act
-SQ
L
![Page 68: Clase VII](https://reader036.vdocument.in/reader036/viewer/2022070401/56813637550346895d9db18a/html5/thumbnails/68.jpg)
Funciones de Agregado - EjemploSentencias Transact-SQLSentencias Transact-SQL
Tra
nsa
ct-S
QL
Tra
nsa
ct-S
QL
![Page 69: Clase VII](https://reader036.vdocument.in/reader036/viewer/2022070401/56813637550346895d9db18a/html5/thumbnails/69.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022070401/56813637550346895d9db18a/html5/thumbnails/70.jpg)
Funciones de Texto
Funciones de Texto
LEFTRIGHTLTRIMRTRIMREPLACESUBSTRINGSTUFFREVERSECHARLENLOWERUPPER
Sentencias Transact-SQLSentencias Transact-SQLT
rans
act
-SQ
LT
rans
act
-SQ
L
![Page 71: Clase VII](https://reader036.vdocument.in/reader036/viewer/2022070401/56813637550346895d9db18a/html5/thumbnails/71.jpg)
Funciones de Fecha
Funciones de Fecha
DATEADDDATEDIFFGETDATEDAYMONTHYEAR…
Sentencias Transact-SQLSentencias Transact-SQLT
rans
act
-SQ
LT
rans
act
-SQ
L
![Page 72: Clase VII](https://reader036.vdocument.in/reader036/viewer/2022070401/56813637550346895d9db18a/html5/thumbnails/72.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022070401/56813637550346895d9db18a/html5/thumbnails/73.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022070401/56813637550346895d9db18a/html5/thumbnails/74.jpg)
É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](https://reader036.vdocument.in/reader036/viewer/2022070401/56813637550346895d9db18a/html5/thumbnails/75.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022070401/56813637550346895d9db18a/html5/thumbnails/76.jpg)
STORE PROCEDURE – Crear un SPSentencias Transact-SQLSentencias Transact-SQL
Tra
nsa
ct-S
QL
Tra
nsa
ct-S
QL
![Page 77: Clase VII](https://reader036.vdocument.in/reader036/viewer/2022070401/56813637550346895d9db18a/html5/thumbnails/77.jpg)
STORE PROCEDURE – ConsumirSentencias Transact-SQLSentencias Transact-SQL
Tra
nsa
ct-S
QL
Tra
nsa
ct-S
QL
![Page 78: Clase VII](https://reader036.vdocument.in/reader036/viewer/2022070401/56813637550346895d9db18a/html5/thumbnails/78.jpg)
DemoDemo•Crear un Base de Datos con tablas, campos y registrosCrear un Base de Datos con tablas, campos y registros