sql >> Base de Datos >  >> RDS >> Sqlserver

¿Cuál es la diferencia entre una clave principal y una clave sustituta?

La clave principal es una clave única en su tabla que usted elige que identifica mejor de manera única un registro en la tabla. Todas las tablas deben tener una clave principal, porque si alguna vez necesita actualizar o eliminar un registro, debe saber cómo identificarlo de forma única.

Una clave sustituta es una clave generada artificialmente. Son útiles cuando sus registros esencialmente no tienen una clave natural (como una Person tabla, ya que es posible que dos personas nacidas en la misma fecha tengan el mismo nombre, o registros en un registro, ya que es posible que sucedan dos eventos que lleven la misma marca de tiempo). En la mayoría de los casos, los verá implementados como números enteros en un campo que se incrementa automáticamente, o como GUID que se generan automáticamente para cada registro. Los números de identificación son casi siempre claves sustitutas.

Sin embargo, a diferencia de las claves primarias, no todas las tablas necesitan claves sustitutas. Si tiene una tabla que enumera los estados de Estados Unidos, realmente no necesita un número de identificación para ellos. Puede utilizar la abreviatura del estado como código de clave principal.

La principal ventaja de la clave sustituta es que son fáciles de garantizar como únicas. La principal desventaja es que no tienen ningún significado. No significa que "28" sea Wisconsin, por ejemplo, pero cuando ve "WI" en la columna Estado de su tabla de direcciones, sabe de qué estado está hablando sin necesidad de buscar qué estado es cuál en su estado. mesa.