Requisito previo: Modelo de base de datos relacional
Las claves son uno de los elementos más importantes en una base de datos relacional para mantener la relación entre las tablas y también ayudan a identificar de forma única los datos de una tabla. La clave principal es una clave que ayuda a identificar de forma única la tupla de la base de datos, mientras que la clave externa es una clave que se utiliza para identificar la relación entre las tablas a través de la clave principal de una tabla, que es la clave principal, una tabla actúa como clave externa a otra tabla. Ahora, analicemos ambos con cierto detalle.
pitón // operador
¿Qué es la clave principal?
Se utiliza una clave principal para garantizar que los datos de la columna específica sean únicos. Una columna no puede tener valores NULL. Es una columna de tabla existente o una columna generada específicamente por la base de datos de acuerdo con una secuencia definida.
Ejemplo: STUD_NO, así como STUD_PHONE, son claves candidatas para la relación ESTUDIANTE, pero STUD_NO se puede elegir como clave principal (solo una entre muchas claves candidatas).
Tabla ESTUDIANTE
actor zeenat aman
| STUD_NO | ESTUDIO_NOMBRE | ESTUDIO_TELÉFONO | STUD_STATE | STUD_COUNT | ESTUDIO_EDAD |
|---|---|---|---|---|---|
| 1 | RAM | 9865278251 | Haryana | India | 20 |
| 2 | RAM | 9655470231 | Punjab | India | 19 |
| 3 | SUJITO | 7514290359 | Rajastán | India | 18 |
| 4 | SEGURO | 8564103258 | Punjab | India | 21 |
Tabla ESTUDENT_CURSO
| STUD_NO | CURSO_NO | NOMBRE DEL CURSO |
|---|---|---|
| 1 | C1 | SGBD |
| 2 | C2 | Red de computadoras |
| 1 | C2 | Red de computadoras |
¿Qué es la clave externa?
Una clave externa es una columna o grupo de columnas en una tabla de base de datos relacional que proporciona un vínculo entre los datos de dos tablas. Es una columna (o columnas) que hace referencia a una columna (normalmente la clave principal) de otra tabla.
¿Puede una clase extender varias clases?
Ejemplo: STUD_NO en STUDENT_COURSE es una clave externa para STUD_NO en la relación ESTUDIANTE.
Diferencia entre clave primaria y clave externa
| CLAVE PRIMARIA | CLAVE EXTERNA |
|---|---|
| Se utiliza una clave principal para garantizar que los datos de la columna específica sean únicos. | Una clave externa es una columna o grupo de columnas en una tabla de base de datos relacional que proporciona un vínculo entre los datos de dos tablas. |
| Identifica de forma única un registro en la tabla de la base de datos relacional. | Se refiere al campo de una tabla que es la clave principal de otra tabla. |
| Sólo se permite una clave principal en una tabla. | Mientras que se permite más de una clave externa en una tabla. |
| Es una combinación de restricciones ÚNICAS y No Nulas. | Puede contener valores duplicados y una tabla en una base de datos relacional. |
| No permite valores NULL. | También puede contener valores NULL. |
| Su valor no se puede eliminar de la tabla principal. | Su valor se puede eliminar de la tabla secundaria. |
| Su restricción se puede definir implícitamente en las tablas temporales. | Su restricción no se puede definir en las tablas temporales locales o globales. |
Conclusión
En este artículo, básicamente mencionamos la clave primaria y la clave externa, y las diferencias entre ellas. Ambas claves, ya sea la clave primaria o la clave externa, juegan un papel importante en el sistema de gestión de bases de datos. La clave principal contiene valores únicos, mientras que la clave externa contiene valores que hacen referencia a las claves principales. La principal propiedad característica de la clave Primaria es que no se puede repetir, es única. Existen algunas diferencias entre sus funciones, ya que la clave primaria determina una fila en la tabla y la clave externa determina la relación entre tablas.
Preguntas más frecuentes
1. ¿Cuántos tipos de claves existen en el Modelo de Base de Datos Relacional?
- Llave candidata
- Clave primaria
- Súper clave
- Clave alternativa
- Clave externa
- Clave compuesta
Para obtener más información, puede consultar Tipos de claves en el modelo relacional.