Вы находитесь на странице: 1из 12

Restricciones de Integridad

TEMAS
Restricciones PRIMARY KEY Restricciones FOREIGN KEY Restricciones UNIQUE Restricciones CHECK Definiciones DEFAULT Permitir valores NULL

Restricciones PRIMARY KEY


Una tabla puede tener una restriccin PRIMARY KEY y ninguna columna a la que se aplique una restriccin PRIMARY KEY puede aceptar valores NULL. Debido a que las restricciones PRIMARY KEY garantizan datos nicos, con frecuencia se definen en una columna de identidad.

Ejemplo: Primary key


create table profesores ( Id_profesor int NOT NULL PRIMARY KEY, Nombre varchar(50), las claves primarias no ApellidoP varchar(50), aceptan valores null ApellidoM varchar(50), Direccion varchar(100), Despus de crear la tabla se puede Sueldo money, crear la clave primaria H_entrada time, HSalida time)
alter table profesores add primary key (Id_profesor)

FOREIGN KEY
Una clave externa (FK) es una columna o combinacin de columnas que se utiliza para establecer y exigir un vnculo entre los datos de dos tablas. Puede crear una clave externa mediante la definicin de una restriccin FOREIGN KEY cuando cree o modifique una tabla.

Ejemplo: Foreign Key


create table profesor_materia( Id_Mat_Prof int not null identity (1,1) primary key, de las tablas Nombre del campo en Id_mate int not null, Nombre de la clave Nombre referenciadas la tabla referenciada forneas Id_Prof int , foreign key (Id_mate) references materias(Id_mateiria), foreign key (Id_Prof) references profesores(Id_profesor) on delete no action on update no action )

UNIQUE
Puede utilizar restricciones UNIQUE para garantizar que no se escriben valores duplicados en columnas especficas que no forman parte de una clave principal. Tanto la restriccin UNIQUE como la restriccin PRIMARY KEY exigen la unicidad; sin embargo, debe utilizar la restriccin UNIQUE y no PRIMARY KEY si desea exigir la unicidad de una columna o una combinacin de columnas que no forman la clave principal.

Ejemplo: Unique
Create table carrera( id_carrera int not null primary key, Nombre_carrera varchar(50) unique )
No permitir valores duplicados en el campo nombre_carrera

CHECK
Las restricciones CHECK exigen la integridad del dominio mediante la limitacin de los valores que puede aceptar una columna. Son similares a las restricciones FOREIGN KEY porque controlan los valores que se colocan en una columna. La diferencia reside en la forma en que determinan qu valores son vlidos: las restricciones FOREIGN KEY obtienen la lista de valores vlidos de otra tabla, mientras que las restricciones CHECK determinan los valores vlidos a partir de una expresin lgica que no se basa en datos de otra columna.

Ejemplo: Check
Create table trabajador( id_trabajador int not null primary key, edad int, constraint Ck_Edad check (edad >= 18 and edad<=40) )
Condicin que se debe cumplir

No permitir capturar edades menores a 18 ni mayores a 40

DEFAULT
Cada columna de un registro debe contener un valor, aunque sea un valor NULL. Puede haber situaciones en las que deba cargar una fila de datos en una tabla, pero no conozca el valor de una columna o el valor ya no exista. Si la columna acepta valores NULL, puede cargar la fila con un valor NULL. Pero, dado que puede no resultar conveniente utilizar columnas que acepten valores NULL, una mejor solucin podra ser establecer una definicin DEFAULT para la columna siempre que sea necesario. Por ejemplo, es habitual especificar el valor cero como valor predeterminado para las columnas numricas, o N/D (no disponible) como valor predeterminado para las columnas de cadenas cuando no se especifica ningn valor

NULL
La nulabilidad de una columna determina si las filas de una tabla pueden contener un valor NULL en esa columna. Un valor NULL no es lo mismo que cero (0), en blanco o que una cadena de caracteres de longitud cero, como "". NULL significa que no hay ninguna entrada.

Вам также может понравиться