You are on page 1of 3

Restricciones PRIMARY KEY

Una tabla suele tener una columna o una combinacin de columnas cuyos valores identifican de forma nica cada fila de la tabla. Estas columnas se denominan claves principales de la tabla y exigen la integridad de entidad de la tabla. Puede crear una clave principal mediante la definicin de una restriccin PRIMARY KEY cuando cree o modifique una tabla. Una tabla slo 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. Cuando especifica una restriccin PRIMARY KEY en una tabla, SQL Server 2005 Database Engine (Motor de base de datos de SQL Server 2005) exige la unicidad de los datos mediante la creacin de un ndice nico para las columnas de clave principal. Este ndice tambin permite un acceso rpido a los datos cuando se utiliza la clave principal en las consultas. De esta forma, las claves principales que se eligen deben seguir las reglas para crear ndices nicos. Si se define una restriccin PRIMARY KEY para ms de una columna, puede haber valores duplicados dentro de la misma columna, pero cada combinacin de valores de todas las columnas de la definicin de la restriccin PRIMARY KEY debe ser nica. Como se muestra en la siguiente ilustracin, las columnas ProductID y VendorID de la tabla Purchasing.ProductVendor forman una restriccin PRIMARY KEY compuesta para esta tabla. As se garantiza que la combinacin de ProductID y VendorID es nica.

Cuando trabaja con combinaciones, las restricciones PRIMARY KEY relacionan una tabla con otra. Por ejemplo, para determinar los proveedores que suministran determinados productos, puede utilizar una combinacin de tres elementos entre las tablas Purchasing.Vendor,Production.Product y Purchasing.ProductVendor. Puesto que ProductVendor contiene las columnas de ProductID y VendorID, se puede obtener acceso a las tablas Product y Vendor mediante su relacin con ProductVendor.

Restricciones 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. En una referencia de clave externa, se crea un vnculo entre dos tablas cuando las columnas de una de ellas hacen referencia a las columnas de la otra que contienen el valor de clave principal. Esta columna se convierte en una clave externa para la segunda tabla. Por ejemplo, la tabla Sales.SalesOrderHeader de la base de datos AdventureWorks tiene un vnculo a la tabla Sales.SalesPerson porque existe una relacin lgica entre pedidos de ventas y personal de ventas. La columna SalesPersonID de la tablaSalesOrderHeader coincide con la columna de clave principal de la tabla SalesPerson. La columna SalesPersonID de la tabla SalesOrderHeader es la clave externa para la tabla SalesPerson.

No es necesario que una restriccin FOREIGN KEY est vinculada nicamente a una restriccin PRIMARY KEY de otra tabla; tambin puede definirse para que haga referencia a las columnas de una restriccin UNIQUE de otra tabla. Una restriccin FOREIGN KEY puede contener valores NULL, pero si alguna columna de una restriccin FOREIGN KEY compuesta contiene valores NULL, se omitir la comprobacin de los valores que componen la restriccin FOREIGN KEY. Para asegurarse de que todos los valores de la restriccin FOREIGN KEY compuesta se comprueben, especifique NOT NULL en todas las columnas que participan.

Llave o "Key" Es un campo que se usa para localizar, acceder o identificar un record en especfico. Hay cuatro tipos de key: a. "Primary key" es un campo u combinacin de campos que en forma nica y mnima identifica un miembro en particular de una entidad. Es nico porque no hay dos miembros con el mismo "key". Es mnimo porque contiene tan solo la informacin necesaria para identificar al miembro de la entidad. Si el "primary key" es una combinacin de varios campos se conoce como multivalue key". b. "Candidate key" cualquier campo que pueda servir como "primary key". Para seleccionar al "primary key", se escoge el campo que tenga menos datos y sea ms fcil de usar. Cualquier campo que no es un "primary key" o un "candidate key" se llama "nonkey field." c. "Foreign key" es un cambo en un archivo que debe parear con el valor del "primary key" de otro archivo para que se pueda establecer una relacin o link entre ambos archivos. d. "Secondary key" es un campo u combinacin de campos que se puede usa para acceder records. Los "secondary keys" no necesitan ser nicos. Ejemplo: nombre del cliente, cdigo postal (zipcode).

You might also like