Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
La integridad de los datos es la consistencia, coherencia y correctitud de los datos almacenados en la base de datos. SQL Server soporta la declarativa referencial. integridad de datos
La integridad declarativa referencial refuerza la integridad de datos automticamente cuando se insertan, actualizan o borran datos.
Integridad de entidad (de llave) Cada entidad posee exactamente una llave primaria. Cada valor de una llave primaria identifica la tupla de manera nica. No se permiten valores nulos para los atributos que conforman la llave primaria
Integridad de dominio (de datos) Control de la sintaxis y la semntica de un dato. Permite verificar que los valores, introducidos para un atributo, sean vlidos. Ejemplos:
Cdula : Texto(11)
Formato: (n-nnnn-nnnn)
Provincia: Texto(15)
Enumerado: (San Jos, Alajuela, Cartago, )
Sobre estos 3 tipos de integridad referencial se definen las conocidas operaciones en cascada.
Ejemplos:
Si se inserta un estudiante y se le vincula a una carrera, el cdigo de dicha carrera debe estar previamente registrada Si se actualiza la cdula de una persona en la entidad PERSONA debe hacerse la misma actualizacin en las entidades dbiles con las que se relaciona (HIJO,...) Si se elimina una factura se debe eliminar las lneas de detalle correspondientes a dicha factura
Integridad del negocio (definidas por el usuario) Reglas del negocio Ejemplo: En el ITCR un estudiante no podr estar matriculado en ms de dos carreras Por lo general se implementan en la capa de negocios, como triggers o como procedimientos almacenados en la base de datos.
Restriccin: Definicin Las restricciones definen reglas sobre los valores permitidos para cada campo en una tabla. Permiten adems, administrar los tipos de integridad vistos con anterioridad
Restricciones
Definicin de valores vlidos para un columna: check constraints y default constraint. Forzar unicidad de datos en una tabla: unique / primary key constraints. Forzar la integridad referencial: primary key y foreign keys constraints.
No nulos (NOT NULL) Llave primaria (PRIMARY KEY) Valores nicos (UNIQUE) Llave fornea (FOREIGN KEY) Chequeo de valores (CHECK)
NOT NULL Constraints: Evita que se inserten valores nulos (en blanco) en un campo de una tabla Refuerza la integridad de dominio En SQL Server la restriccin NOT NULL generalmente es usada a nivel de la columna como parte de ella.
Check constraints Mecanismo para restringir los valores a ser definidos en una columna. Refuerza la integridad de dominio y de negocio. En un constraint se puede usar cualquier clusula Where, operadores lgicos, aritmticos, de comparacin, LIKE, IN y BETWEEN. Pero no acceder otra tabla. Partes: Nombre y Predicado o condicin
Default constraints Se puede definir una restriccin DEFAULT a una columna para suministrar un valor cuando el usuario no ingresa valor alguno. Excepciones: Timestamp Identity
Default constraints Sintaxis Permitida [CONSTRAINT nombre_restriccin] DEFAULT (expresion_constante| funcion_niladic| NULL) [FOR nombre_columna]
Default constraints:
Create table empleado ( Codigo int not null, Nombre varchar (50) not null, Salario numeric(12,2) not null, Estado char(1) Constraint empleado_def1 Default 'A');
Defaults Un default puede ser definido de manera global y asociado a diferentes columnas Sintaxis
Create Default [dueo].nombre_por_omision As expresion_constante
Uso de Defaults
EXEC sp_bindefault nombre_valorPorOmision, nombre_objeto [, futureonly]
Unique / primary key constraints Permite asegurar que todas las filas de una tabla sean nicas a partir de las columnas que son afectadas por el constraint. Este tipo de restricciones pueden ser definidas de dos maneras: como llave primaria (Primary key constraints) o como restriccin de unicidad (Unique constraint).
Unique / primary key constraints Primary Key Las columnas no permiten nulos. Refuerza la integridad de entidad. Unique constraint Las columnas pueden permitir nulos. Refuerza la integridad del negocio. La restriccin Primary crea un ndice en forma automtica.
Foreign key constraints Permite definir la relacin entre dos tablas. Esta restriccin valida los datos con respecto a la llave primaria a la que se hizo referencia en el momento de insertar o actualizar los datos en la columna o columnas afectadas. Esta restriccin no crea un ndice en forma automtica y refuerza la integridad referencial.
Rules Las reglas hacen posible el verificar que los datos estn entre un rango especfico de valores En una rule se puede usar cualquier clusula Where, operadores logicos, aritmticos, de comparacin, LIKE, IN y BETWEEN. Pero no acceder otra tabla
Rules Sintaxis CREATE RULE [dueo.]nombre_por_omission AS @expression_condicional. Uso de Rules EXEC sp_bindrule nombre_regla, nombre_objeto [, futureonly]
Rules
Create rule state_rule as @state in ('IL', 'WI', 'IN', 'IA') Create rule grade_rule as @grade like '[A-F] [ +-]'