Está en la página 1de 7

CONSTRAINTS SQLSERVER 2008.

Los CONSTRAINTS sirven para lograr la integridad de datos, aseguramos que los datos ingresados a las columnas sean validos y que las relaciones entre las tablas no se perdern Los CONSTRAINTS pueden de!inirse al momento de crear la tabla, aunque tambi"n es posible #acerlo despu"s de que las tablas se #an creado

Glosario

NOT NULL$ %e!ine una columna de la tabla Si se especi!ica NOT N&LL, o si se la aplica una restricci'n &NI(&) o *RI+AR, -),, la columna no puede tener valores en N&LL

UNIQUE: Identi!ica una o ms columnas que identi!ican un.vocamente cada !ila de la tabla, dos !ilas en la misma tabla no pueden tener valores id"nticos en las columnas de!inidas como &NI(&), una tabla puede tener ms de una restricci'n &NI(&)

FOREIGN KEY: Restringe los valores para un con/unto de columnas que deben coincidir con los valores de clave principal a una restricci'n &NI(&) de otra tabla

PRIMARY KEY: )sta restricci'n a!ecta solo a esa columna y debe tener los valores 0nicos irrepetibles y no debe tener valores nulos, en otro caso la clave !ornea #ace re!erencia a la clave principal de la tabla padre

C ECK: Son condiciones o reglas que deben cumplir los valores de una columna *or e/emplo podr.a utili1arse una restricci'n de este tipo para asegurarse de que la columna 2se3o4 solo toma valores 254 o 2+4

Es!" "#"r$i$io solo s" a%li$a r"s!ri$$io&"s

CR)AT) TA6L) LI6RO 7 IS6N Titulo 8arc#ar7 99 :, ;; C'digo identi!icativo del libro 8arc#ar7 <= :, ;; T.tulo del libro

)ditorial 8arc#ar7 >= :, ;; Nombre de la editorial del libro Num*aginas int, ;; N0mero de pginas del libro

CONSTRAINT p?@libro *RI+AR, -), 7 IS6N : :A

CR)AT) TA6L) *R)STA+O 7 IS6N R&T 8arc#ar7 99 :, ;; C'digo del libro prestado 8arc#ar7 99 :, ;; R&T del socio que se lleva el libro ;; Bec#a del pr"stamo ;; Bec#a de devoluci'n

Bec#a*restamo %AT)TI+), Bec#a%evolucion %AT)TI+), %evuelto 8arc#ar7 9 :

;; Indica si est devuelto o no

CONSTRAINT c?@devuelto C5)C- 7 %evuelto IN 7 CSC, CNC : :, CONSTRAINT p?@prestamo *RI+AR, -), 7 IS6N, R&T, Bec#a*restamo : :A

CR)AT) TA6L) SOCIO 7 R&T 8arc#ar7 99 :, ;; %NI del socio

Nombre 8arc#ar7 >= :, ;; Nombre completo del socio CONSTRAINT p?@socio *RI+AR, -), 7 R&T :

:A

Visi'& Gra(i$a )"l r"s*l!a)o

E#"+%lo , $o& r"s!ri$$io&"s

create table departamentos7 codigo int identity, ciudad varc#ar7D=: not null, *ais varc#ar7D=: not null, primary ?ey7codigo: :A

create table traba/adores7 documento c#ar799: not null, nombre varc#ar7D=: not null, domicilio varc#ar7D=:, departamento varc#ar7E=:, sueldo decimal7D,E:, codsucursal int, primary ?ey7documento:, constraint B-@traba/adores@sucursal !oreign ?ey 7codsucursal: re!erences departamentos7codigo: on update cascade :A

E#"+%lo2 $o& r"s!ri$$io&"s

E#"+%lo- $o& r"s!ri$$io&"s

create table socios7 rut c#ar799: not null, nombre varc#ar7D=:, domicilio varc#ar7D=:, constraint *-@socios primary ?ey7rut: :A create table matriculados7 numero int identity, rut c#ar799: not null, deporte varc#ar7E=:, matricula c#ar79:, constraint B-@matriculados@rut !oreign ?ey 7rut: re!erences socios7rut:, constraint C-@inscriptos@matricula c#ec? 7matricula in 7CsC,CnC::, constraint *-@inscriptos primary ?ey7rut,deporte: :A

E#"+%lo . $o& r"s!ri$$io&"s

create table 5osteria 7 codigo c#ar799: not null, dueno varc#ar7D=: not null, direccion varc#ar7<=: not null, tele!ono varc#ar79>: not null, email varc#ar7>=: null, precio decimal7D,E: not null, !ec#a@construccion datetime not null, !ec#a@re#abilitacion datetime null, municipio c#ar79=: not null, descripcion varc#ar79==:, constraint primaria primary ?ey 7codigo: :A

create table #abitacion 7 codigo c#ar7E: not null, num@pla1as int not null,

bano c#ar79: not null, precio@noc#e decimal7D,E: not null, precio@dto@F decimal7D,E:, descripcion varc#ar79==:, cod@casa c#ar799: not null, primary ?ey 7codigo, cod@casa:, !oreign ?ey 7cod@casa: re!erences 5osteria7codigo:, constraint dom@bano c#ec? 7bano in 7CSC,CNC:::A

También podría gustarte