Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Y FORÁNEA
Base de Datos
20/12/2020
Universidad Central del Ecuador
LLAVE PRIMARIA
Una llave principal es una columna de tabla de base de datos relacional especial (o combinación de
columnas) designada para identificar de forma única cada registro de tabla.
Se utiliza una llave principal como identificador único para analizar rápidamente los datos dentro
de la tabla.
Una llave principal puede usar uno o más campos que ya están presentes en el modelo de datos
subyacente, o se puede crear un campo adicional específico para que sea la llave principal.
El concepto de llave principal es fundamental para una base de datos relacional eficiente. Sin la
llave principal y los conceptos de llave externa estrechamente relacionados, las bases de datos
relacionales no funcionarían.
De hecho, dado que una tabla puede contener fácilmente miles de registros (incluidos los
duplicados), es necesaria una llave principal para garantizar que un registro de tabla siempre se
pueda identificar de forma única.
Todas las llaves que provienen de atributos y observables del mundo real se denominan llaves
primarias naturales, a diferencia de las llaves primarias sustitutas que, en cambio, se asignan
arbitrariamente a cada registro.
Casi todas las personas tratan con llaves primarias naturales con frecuencia, pero sin saberlo, en la
vida cotidiana.
Por ejemplo, a los estudiantes se les asignan rutinariamente números de identificación (ID) únicos,
y todos los ciudadanos estadounidenses tienen números de Seguro Social asignados por el
gobierno y de identificación única. Las direcciones postales o los números de licencia de conducir
son ejemplos de llaves primarias que se utilizan para identificar (respectivamente) ubicaciones o
automóviles de manera única.
Como otro ejemplo, una base de datos debe contener todos los datos almacenados por un banco
comercial. Dos de las tablas de la base de datos incluyen CUSTOMER_MASTER, que almacena
datos básicos y estáticos del cliente (nombre, fecha de nacimiento, dirección, número de seguro
social, etc.) y ACCOUNTS_MASTER, que almacena varios datos de la cuenta bancaria (fecha de
creación de la cuenta, tipo de cuenta, límites de retiro o información de cuenta correspondiente,
etc.).
Un buen candidato a llave primaria es la columna designada para contener números de Seguro
Social. Sin embargo, es posible que algunos titulares de cuentas no tengan números de seguro
social, por lo que se elimina la candidatura de esta columna.
La siguiente opción lógica es usar una combinación de columnas, como agregar el apellido a la
fecha de nacimiento a la dirección de correo electrónico, lo que da como resultado una clave
primaria larga y engorrosa.
La mejor opción es crear una llave primaria separada en una nueva columna llamada
CUSTOMER_ID. Luego, la base de datos genera automáticamente un número único cada vez que
se agrega un cliente, lo que garantiza una identificación única.
A medida que se crea esta clave, la columna se designa como la llave principal dentro del script
SQL que crea la tabla, y todos los valores nulos se rechazan automáticamente.
El número de cuenta asociado con cada CUSTOMER_ID permite el manejo seguro de las consultas
de los clientes y tiempos de búsqueda rápidos (como con cualquier tabla indexada).
Por ejemplo, se le puede pedir a un cliente que proporcione su apellido al realizar una consulta
bancaria. Es probable que una consulta de apellido común (como Smith) arroje varios resultados.
Cuando determinas que dos tablas guardan una relación entre sí, generalmente estableces la
relación tomando una copia de la clave primaria de la primer tabla y la incorporas dentro de la
estructura de la segunda tabla, donde se convierte en una clave secundaria. El nombre “clave
secundaria” se deriva del hecho de que la segunda tabla ya tiene una clave primaria propia, y la
clave primaria que estás introduciendo desde la primer tabla es “secundaria” a la segunda tabla
(Hernandez, 2013).
La clave secundaria se utiliza para identificar todos aquellos registros que tienen una cierta
propiedad. Es un atributo o combinación de atributos que no necesariamente sean una clave
concatenada, pero que clasifican el conjunto entidad en una característica particular (Singh, 2011).
Una clave foránea en una base de datos relacional es una clave que se usa en una tabla secundaria
y que coincide con la clave primaria en una tabla primaria relacionada. Las claves foráneas pueden
tener valores duplicados (multiplicidad) en la tabla secundaria, mientras que para las claves
primarias eso no es posible. El uso apropiado de claves foráneas permite exigir la integridad
referencial.
Un ejemplo simple de una clave foránea en una base de datos es una tabla primaria "Student"
(Estudiante) con Student_ID como su clave primaria. En la tabla secundaria relacionada
"Course_Enrollment" (Curso_Matriculación) con Course_ID como clave primaria, para cada curso
en el que un estudiante se haya matriculado aparece la clave foránea Student_ID de la tabla
"Student".
La regla de la integridad referencial establece que cualquier valor de clave foránea no nulo en una
tabla secundaria debe hacer referencia a un valor de clave primaria de su tabla primaria en la base
de datos. En el ejemplo del Paso 1 no tendría sentido en la base de datos tener un estudiante
matriculado en un curso cuando no haya información acerca del estudiante en la tabla "Student".
Esta regla hace cumplir la consistencia en una base de datos.
Eliminaciones en cascada
Cada registro secundario en una relación de clave foránea debe tener un registro primario
correspondiente de acuerdo a la regla de integridad referencial. Una eliminación en cascada debe
ocurrir toda vez que un registro de una tabla primaria sea eliminado, lo que también remueve
todos los registros correspondientes de la base de datos. En el ejemplo del Paso 1, eliminar un
estudiante de la tabla Student de la base de datos también eliminará todas las ocurrencias de los
registros de matriculación de ese estudiante en la tabla Course_Enrollment.
Database Basics - Foreign Keys (Fundamentos de las bases de datos - Claves foráneas)
Es uno o mas campos de un tabla que hacen referencia al campo o campos de llave principal de
otra tabla, una llave foránea indica como esta relacionadas las tablas. Los datos en los campos
de ambas deben coincidir, aunque los nombres de los campos no sean los mismos. Una clave
foránea es simplemente un campo en una tabla que se corresponde con la clave primaria de otra
tabla.
Diferencias:
La clave primaria identifica un registro único de una tabla. La clave foránea relaciona los datos
de un registro de una tabla con los de otra, o con un registro distinto de la misma tabla.