Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Sqlserver Clase 090801183722 Phpapp01
Sqlserver Clase 090801183722 Phpapp01
Introduccin a:
VISTAS
PROCEDIMIENTOS FUNCIONES DE USUARIO TRIGGERS CURSORES
Ing. BARJ - 2008
Transact-SQL
Lenguaje de Definicin De Datos
Integridad referencial
(entre tablas)
Ing. BARJ IST UPOLI - 2008
Integridad de datos
Entidad
Referencial
Tipos de restricciones
Restricciones DEFAULT Restricciones CHECK Restricciones PRIMARY KEY Restricciones UNIQUE Restricciones FOREIGN KEY Integridad referencial en cascada
Qu es un Indice
Tipos de Indice
CLUSTERED INDEX
Por Defecto se crean indices con las Llaves Primarias Son como capitulos en el Libro Indice como la guia telefonica Mantiene juntas los numeros de Lineas
NON-CLUSTERED INDEX
Son como guiones para acceder a los datos Utilizado en llaves de varios campos Es el Indice o Glosario Son Atajos para acceder a los Datos
Qu es una Vista?
EmployeeView
Lastname Davolio Fuller Leverling Firstname Nancy Andrew Janet
Ing. BARJ IST UPOLI - 2008
Simplificar la administracin de los permisos de usuario Mejorar el rendimiento Organizar los datos para exportarse a otras aplicaciones
Customers
CustomerID CompanyName
BONAP PICCO QUICK
ContactName
Bon app' Laurence Lebihan Piccolo und mehr Georg Pipps QUICK-Stop Horst Kloss
USE Northwind GO CREATE VIEW dbo.ShipStatusView AS SELECT OrderID, ShippedDate, ContactName FROM Customers c INNER JOIN Orders o ON c.CustomerID = O.CustomerID WHERE RequiredDate < ShippedDate
ShipStatusView
OrderID ShippedDate ContactName
10264 10271 10280 1996-08-23 Laurence Lebihan 1996-08-21 1996-08-30 Georg Pipps 1996-08-29 1996-09-12 Horst Kloss 1996-09-11
Qu es un procedimiento almacenado?
USE Northwind GO CREATE PROC dbo.OverdueOrders AS SELECT * FROM dbo.Orders WHERE RequiredDate niveles Puede anidar hasta 32 < GETDATE() AND ShippedDate IS Null GO Use sp_help para mostrar informacin
Ejecucin de procedimientos
Paso de valores por el nombre del parmetro
EXEC AddCustomer @CustomerID = 'ALFKI', @ContactName = 'Maria Anders', @CompanyName = 'Alfreds Futterkiste', @ContactTitle = 'Sales Representative', @Address = 'Obere Str. 57', @City = 'Berlin', @PostalCode = '12209', @Country = 'Germany', @Phone = '030-0074321'
30
Ejemplos
Ejemplos
Funciones Escalares
Veamos en el Enteprise Manager, la funcion creada, consultamos el apartado Funciones definidas por el usuario
Ejercicios
Ver Solucin
Ejercicios
Solucin
Ejercicios
Ejercicios
Qu es un desencadenador?
Un desencadenador es una clase especial de procedimiento almacenado que se ejecuta siempre que se intenta modificar los datos de una tabla que el desencadenador protege. Asociacin a una tabla Invocacin automtica Imposibilidad de llamada directa Identificacin con una transaccin
Order_Details 10 41 7 2
7 9 24 5
0.2 0.15 0.0 0.2 La realizacin de un pedido provoca la ejecucin del desencadenador OrDe_Update
Se ejecuta la instruccin UPDATE en la tabla Products
InStock_Update
Products
ProductID UnitsInStock
1 2 3 4
15 15 15 65 20
Se ejecuta el desencadenador
InStock_Update UnitsInStock + UnitsOnOrder es < ReorderLevelIng. BARJProductID- 2 para IST UPOLI 2008
Enva un mensaje
Desencadenadores recursivos
Activacin recursiva de un desencadenador Tipos de desencadenadores recursivos
Recursividad directa, que se da cuando un desencadenador se ejecuta y realiza una accin que lo activa de nuevo Recursividad indirecta, que se da cuando un desencadenador se activa y realiza una accin que activa un desencadenador de otra tabla
Se deshace la transaccin
1 2 3 4
15 10 0 65 20
10 2 41 7
7 9 24
TRIGGERS
TRIGGERS
TRIGGERS
TRIGGERS
TRIGGERS
CONCLUSIONES GENERALES
MUCHAS GRACIAS!
Ing. Bernardo Robelo
Bernardo.Robelo@gmail.com http://bernardorobelo.blogspot.com