25
Web: http://www.agsi.org.ar E-mail: [email protected] Asóciate y suma Benef icios! !!

Curso SQL Server 2008 Nivel 1

Embed Size (px)

DESCRIPTION

Presentación de la Primera Clase del Curso SQL Server 2008 Nivel 1 Dictado en la Localización Centro de la Universidad Abierta Interamericana (UAI) y Organizada por la Asociación de Graduados en SIstemas de Información (AGSI).

Citation preview

Page 1: Curso SQL Server 2008 Nivel 1

Web: http://www.agsi.org.arE-mail: [email protected]

Asóciat

e y

sum

a

Benef

icio

s!!!

Page 2: Curso SQL Server 2008 Nivel 1

MS SQL Server 2008 Nivel 1

Instructor:Lic. Diego KrauthamerSecretario AGSI

Autor de Contenidos:Lic. Mariano Quesada

2012

Page 3: Curso SQL Server 2008 Nivel 1

Agenda• Tablas y Tipos de Datos.• Integridad de Datos.• Conceptos Básicos de Consultas en SQL.o DDL: Create – Alter – Dropo DML: Select –Insert – Update - Delete

• Variableso Declaración.o Asignación de valores.o Utilización.

• Tipo y uso de Operadores

• Control de Flujo.o Begin / Endo If / Elseo Returno Whileo Case

• Vistaso Tipo de Vistas.o Creación y uso de las Vistas.

Page 4: Curso SQL Server 2008 Nivel 1

Tipos de Datos y Tablas• Tipos de Datos - Sql Server:o Enteros: tinyint (1b // 0::255), smallint (2b // -32.768::32.767)

int (4b // -2.147.483.648:: 2.147.483.647), bigint (8b)o Decimales: decimal (2b::17b), float y real (8b::15b)o Moneda: smallmoney (4b), money (8b)o Fecha: smalldatetime (4b), datetime (8b) o Caracteres: char, varchar, varchar(max)y text (0b::2GB)o Unicode: nchar, nvarchar, nvarchar(max), ntexto Binarios: binary, varbinary y varbinary(max) (0b::2GB)o Varios: Image (0b::2GB), uniqueidentifier, bit, xml, etc

•De Aliaso CREATE TYPE

Page 5: Curso SQL Server 2008 Nivel 1

Tipos de Datos y Tablas• Creación (ejemplo)

CREATE TABLE Ventas.Pedidos(Num_Pedido int identity NOT NULL,Fecha datetime NOT NULL,Cod_Cliente int NOT NULL,Notas nvarchar(200) NULL)

• Modificación o ALTER TABLE

• Borrado o TRUNCATE TABLE o DROP TABLE

Page 6: Curso SQL Server 2008 Nivel 1

Tipos de Datos y Tablas

Organización de los datos en un registro

Cabecera Datos Fijos NB VB Datos Variable

Page 7: Curso SQL Server 2008 Nivel 1

Tipos de Datos y Tablas

• Tablas con Particioneso Definición

o Ventajas

o Funciones de Partición

o Esquema de Particiones

o Operaciones

Page 8: Curso SQL Server 2008 Nivel 1

Tipos de Datos y Tablas• Funciones de Particióno Sintaxis

CREATE PARTITION FUNCTION partition_function_name ( input_parameter_type )

AS RANGE [ LEFT | RIGHT ] FOR VALUES ( [ boundary_value [ ,...n ] ] )

o EjemploCREATE PARTITION FUNCTION pf_FechaOrden (datetime)AS RANGE RIGHTFOR VALUES ('01/01/2003', '01/01/2004', '01/01/2005')

Page 9: Curso SQL Server 2008 Nivel 1

Tipos de Datos y Tablas• Esquemas de Particiones

o SintaxisCREATE PARTITION SCHEME ps_FechaOrden

AS PARTITION pf_FechaOrdenTO (fg1, fg2, fg3, fg4, fg5)

o EjemploCREATE PARTITION SCHEME ps_FechaOrden

AS PARTITION pf_FechaOrdenALL TO ([PRIMARY])

Page 10: Curso SQL Server 2008 Nivel 1

Tipos de Datos y Tablas• Operacioneso SWITCH

ALTER TABLE dbo.PartitionedTransactionsSWITCH PARTITION 1TO dbo.TransactionArchive

o MERGEALTER PARTITION FUNCTION pf_FechaOrden()MERGE RANGE ('01/01/2003')

o SPLITALTER PARTITION FUNCTION pf_FechaOrden()SPLIT RANGE ('01/01/2006')

Page 11: Curso SQL Server 2008 Nivel 1

Integridad de Datos• Tiposo Dominio (columna)o Entidad (tabla)o Referencial

• Opcioneso Tipo de Datoo Reglas y Defaultso Restricciones (Constraints)o Desencadenadores (Triggers)

Page 12: Curso SQL Server 2008 Nivel 1

Integridad de Datos• Restricciones (Constraints)

o PRIMARY KEY

o DEFAULT

o CHECK

o UNIQUE

o FOREIGN KEY

Page 13: Curso SQL Server 2008 Nivel 1

Integridad de Datos• PRIMARY KEYo Identifica en forma única a cada registro

o Una por tabla

o Puede aplicarse sobre una o varias columnas

o Las columnas no pueden aceptar nulos

o Genera índice único

o Esta recomendado aplicarlo sobre columnas Identity

Page 14: Curso SQL Server 2008 Nivel 1

Integridad de Datos• DEFAULTo Valor predeterminado para una columna

o Se aplica solo en la instrucción INSERT

o Cada columna puede tener su propio DEFAULT

o No se puede aplicar sobre columnas Identity

o Aceptar funciones y valores de sistema

Page 15: Curso SQL Server 2008 Nivel 1

Integridad de Datos• CHECKo Limitan los valores que puede aceptar una columna

o Se verifican en INSERT y UPDATE

o Varias por columna

o No sobre columnas text, ntext o image

o Los datos se verifican durante la creación. Cláusula NO CHECK permite no verificar

Page 16: Curso SQL Server 2008 Nivel 1

Integridad de Datos• UNIQUEo Datos únicos que no son clave principal

o Varias por tabla

o Admite nulos. Un solo nulo por columna

o Permite referenciar FOREIGN KEY

o Crea un índice único

Page 17: Curso SQL Server 2008 Nivel 1

Integridad de Datos• FOREIGN KEYo Relaciona datos entre dos tablas

o La relación puede estar dada por una o varias columnas

o No crea índices automáticamente

o Puede referirse a una columna de la misma tabla

o Puede contener nulos.

Page 18: Curso SQL Server 2008 Nivel 1

Integridad de Datos• Información sobre Restriccioneso Procedimientos Almacenados

Sp_HelpConstraint Sp_Help

oVista de Catálogo sys.check_constraints sys.foreign_keys sys.default_constraints

Page 19: Curso SQL Server 2008 Nivel 1

Integridad de Datos• Desencadenadores (Triggers)o Una sola transacción

o Cascada

o Check más complejos

o Evaluación del estado de una tabla

o Permite varios desencadenadores para cada INSERT DELETE UPDATE

Page 20: Curso SQL Server 2008 Nivel 1

Integridad de Datos• Desencadenadores (Triggers)o Puede acceder datos de otras bases de datos

o Puede definirse para más de una acción

o INSTEAD OF Delete/Update no sobre tablas con FK con cascada

o Pueden especificarse instrucciones SET

o Uso de SELECT

o No se ejecutan con TRUNCATE TABLE

Page 21: Curso SQL Server 2008 Nivel 1

Integridad de Datos• Creación

CREATE TRIGGER [ nombre_esquema . ]nombre_triggerON { tabla | vista }[ WITH <opciones_trigger_dml> [ ,...n ] ]{ FOR | AFTER | INSTEAD OF }{ [ INSERT ] [ , ] [ UPDATE ] [ , ] [ DELETE ] }[ WITH APPEND ][ NOT FOR REPLICATION ]AS { sentencias_sql [ ; ] [ ...n ] | EXTERNAL NAME

<method specifier [ ; ] > }

• Modificación: ALTER Trigger• Borrado: DROP Trigger

Page 22: Curso SQL Server 2008 Nivel 1

Integridad de Datos• Tipos

o FOR / AFTER: Se ejecutan después de la operación que los disparó

o INSTEAD OF: Se ejecutan en lugar de la operación que los disparó

Page 23: Curso SQL Server 2008 Nivel 1

Integridad de Datos• Desencadenador de INSERT

• Desencadenador de DELETE

• Desencadenador de UPDATEo Crea la tabla Deleted

(Datos anteriores a la modificación)o Crea la tabla Inserted

(Datos posteriores a la modificación)o IF UPDATE (Columna)

Page 24: Curso SQL Server 2008 Nivel 1
Page 25: Curso SQL Server 2008 Nivel 1