Professional Documents
Culture Documents
1.
El campo GuideID est definido como IDENTIDAD (Identity Specification : Yes). Identity Seed es el nmero en que se inicia la numeracin (4). Identity increment (3) es el aumento automtico de la numeracin : inicia en 4 y el siguiente es 7 (avanza de 3 3en 3)
Se inicia en 4 y aumenta de 3 en 3
El campo FirstName est definido para que no permita nulos (Allow Nulls desmarcado). Es OBLIGATORIO En cambio el campo Qualifications si permite valores nulos (est marcado con un check)
Implicancia del uso de ndices e influencia en el mantenimiento de los datos (eliminacin de registros dependientes). Creacin de ndices secundarios
Existe una relacin entre las tablas a travs del campo CustomerID. En la especificacin de Agregar O Actualizar (INSERT or UPDATE Specific) para el caso de Delete Rule seala No Action
Se ha querido eliminar el registro que tiene la clave ALFKI de la tabla Customers y la Base de Datos no lo permite pues existe la restriccin : FK_Orders_Customers (relacin entre las tablas Orders y Customers). Hay otras acciones que se pueden realizar : o Cascade : Elimina el registro de Customers y tambin los registros de Orders. o Set Null : Remplaza en el campo con el valor Null o Set Default : coloca en el campo el valor por omisin (Default) Creacin de campos calculados
Las reglas se refieren solamente a una sola columna, a la cual se est vinculando la regla correspondiente. Se asume que no se puede relacionar con el resto de campos de la tabla. Supongamos que quisiera crear la regla que solamente permite que el valor ingresado en la columna sea mayor que cero : create rule SalaryRule as @Salary > 0 La variable @Salary se refiere al valor que se est ingresando en esa columna. Ese es el valor que se va a verificar con la regla. Una vez creada la regla se tiene que vincular al campo de la tabla correspondiente : Por ejemplo quiero vincular la regla creada ( SalaryRule) el campo Numera de la tabla Guide, escribiramos la siguiente instruccin : sp_bindrule 'SalaryRule', 'Guide.Numera' Esta misma regla podemos asociarla a otro campo de otra tabla y va a estar verificando que el valor ingresado en esa columna es mayor que cero. Si quisieramos desvincular la regla al campo de la tabla escribimos : EXEC sp_unbindrule Guide.Numera Y si quisieramos eliminar la regla de manera total escribimos : DROP Rule 'SalaryRule'
Estamos usando las funciones avg (promedio), sum(suma), max(mximo), min(mnimo) de los registros visualizados en la imagen anterior (comprubelo).
2. Fecha y hora. DateAdd (sumar das), Datediff(restar dias), Datepart(mximo), Day(dia), Getdate(), Month(Mes), Year(Ao) etc. Abrev. en func. de fecha Year Quarter Month DayofYear Day Week Weekday Tour Minute Second yy, yyyy qq, q mm, m dy, d dd, d wk, ww dw hh mi, n ss, s
3. Matemticas. Ceiling (Entero superior), Floor (Entero inferior), Power(Potencia), Round(redondeo), Rand(azahar), Sqrt( raiz cuadrada), Square(cuadrado) etc.
4. Cadenas (Strings). Charindex (encontrar valor), concat(), Left (caracteres a la izquierda), Len(Longitud), Lower(minusculas), LTrim(espacios a la izquierda), Replace(remplazar), RTrim(espacios a la derecha), str(), substring(), upper, etc.
Funciones del Usuario 1. Funciones escalares. CREATE FUNCTION FunctionName (InputParameters) RETURNS DataType AS BEGIN Code RETURN Expression END Ejemplo : CREATE FUNCTION ufn_Volumen -- Input dimensiones en centimetros. (@largo decimal(4,1), @ancho decimal(4,1), @altura decimal(4,1) ) RETURNS decimal(12,3) -- Centimetros Cubicos. AS Begin Return ( @largo * @ancho * @altura ) End; GO 2. Funciones de resultados de conjuntos. CREATE FUNCTION NombreFuncion (InputParameters) RETURNS Table AS RETURN (Select Statement) CREATE FUNCTION ClientesPais (@pais varchar(50) = Null) RETURNS Table AS RETURN( SELECT * FROM Customers WHERE Country LIKE '%' + @pais + '%' ) Luego, se ejecuta la function de la siguiente manera :
Sub Consultas
Consultas de eliminacin.
Usando los conocimientos anteriores (funciones del sistema y del usuario) se pueden crear procedimientos almacenados con contenidos ms variados.