logo informatico sin limites

¿Quieres apoyarnos? Con nuestro Código: "VIVESINLIMITES" tendrás 2 MESES GRATIS en el plan mensual del Hosting SERED QUIERO APOYARTE!

De todos los tipos de atributos, uno de los mas importante que debes conocer son los atributos de clave primaria y foránea.

Como ya hemos hablado en capítulos anteriores las entidades tienen atributos que definen que valores se almacenaran en estas.

Las claves primarias son los atributos que permiten identificar a una fila de otra.

Gracias a eso otorgan un valor único a cada fila.

ID Nombres Apellidos Clientes

Características

  • No deben repetirse. (aunque podemos tener claves candidatas compuestas)
  • No deben tener null (valores vacíos).
  • Siempre debe tener el mismo valor.
  • Solo puede existir una sola clave primaria simple o compuesta por tablas.
  • Todas las tablas deben tener claves primaria.

¿Como Identificar una Clave Primaria en Base de Datos?

Primero tenemos que entender de donde vienen las claves primarias.

Las claves primarias vienen de las claves candidatas, Aquí explico que son.

Pero para resumir son todas las posibles opciones que tenemos de clave primaria.

Son campos que pueden determinar el valor de una fila de forma exclusiva.

El objetivo de una clave primaria o candidata es que uno o varios atributos, pueda obtener el valor de las demás columnas. Te lo muestro en este ejemplo:

IDNombresApellidosEmail
1TonyMontanaelvira4ever@fakemail.com
2JhonyBravogalan@fakemail.com
3FrankLopezbasebal@fakemail.com
Tabla: Empleados

En este caso, mis claves candidatas son estas.

  • ID
  • Email
  • Nombre y apellido (la combinación de ambas columnas)

¿Porque esos valores son claves candidatas?

Porque con el ID yo puedo obtener nombres, apellidos y el email de una persona.

Con el email también puedo obtener esa información, porque cada email es único por persona.

Y con la combinación de nombre y apellido en cierta manera puedo obtener el ID y el email.

Ojo estoy simplificando muchoo la explicación de claves candidatas, en casos mas complejos se obtienen de manera mas teórica y menos intuición.

Pero como aun estamos empezando lo importante es que te lleves la idea…

Tener todas esas claves candidatas no quiere decir que todas sean claves primarias viables. Todavía debemos filtrarlas para ver cual es la clave primaria que me conviene.

Siempre se elijen los valores mas pequeños por lo cual nombres y apellidos quedan descartados.

  • ID
  • Email
  • Nombre y apellido (la combinacion de ambas columnas)

Tanto ID como email son claves candidatas, porque puedo obtener la información de las demás columnas con cualquiera de estos dos, como mencione anteriormente.

Sin embargo email no cumple con una de las característica, y es que no siempre va a tener el mismo valor…

Porque una persona puede cambiar de email. Entonces no nos sirve como clave primaria.

Por lo cual por descarte ID es la única que cumple con todas las condiciones.

  • No deben repetirse. (aunque podemos tener claves candidatas compuestas) – SI
  • No deben tener null. – SI
  • Siempre debe tener el mismo valor. – SI
  • Solo puede existir una sola clave primaria simple o compuesta por tablas. – SI
  • Todas las tablas deben tener claves primaria. – SI

Repito esto fue una manera simple de encontrar claves candidatas / claves primarias para que entiendas las idea, mas adelante con casos mas complejos es muy distinto.

En pocas palabras es preguntarte… ¿Cual columna/atributo me permite identificar los valores de las demás columnas? y luego ver si cumple todas las características.

Por si te gusta el formato vídeo:

Tipos de clave primarias

Clave primaria simple

Es similar como la que mostré en el ejemplo, es cuando la clave primaria esta conformada por una sola columna (un solo atributo).

Ejemplo de clave primaria simple.

IDNombresApellidosEmail
1TonyMontanaelvira4ever@fakemail.com
2JhonyBravogalan@fakemail.com
3FrankLopezbasebal@fakemail.com
Tabla: Empleados

Como ya explique arriba el ID es una clave primaria simple, porque es la única columna con la que puedo identificar todos los valores cumpliendo todas las características de la clave.

Dejo este código por si alguien entro para obtener la sentencia en SQL para crear una clave primaria simple.

Clave primaria simple en SQL

CREATE TABLE empleados (ID INT PRIMARY KEY, NOMBRES CHAR(40), APELLIDOS CHAR(40));

Clave primaria compuesta

Es cuando esta tiene dos o mas columnas (atributos) como clave primaria.

ID_doctorFechaPaciente
1TonyMark
2JhonyMary
3FrankJenny
Tabla: Citas medicas

En este caso la clave cuenta de dos atributos (ID_DOCTOR – FECHA) porque solo con el doctor no puedo conocer cuando el paciente tiene la cita.

Y solo con la fecha no puedo conocer que doctor lo atenderá.

En casos como esto es necesario componer la clave de dos atributos (o mas si es necesario) para obtener una identificación única de cada cita.

NOTA: es una composición donde solo busco ejemplificar de manera sencilla, la estructura de la clave compuesta. A esta tabla le falta mas información ademas en la vida real no solicitaría el nombre el paciente sino el ID.

Nuevamente aquí el código de la sentencia en SQL para crear una clave primaria compuesta.

Clave compuesta en SQL

CREATE TABLE empleados (ID_DOC INT , FECHA DATE, ID_PAC INT, PRIMARY KEY(ID_DOC, FECHA));

Clave Foránea

El concepto de clave foránea esta muy ligada a clave primaria.

Porque las claves foráneas son las claves primarias de otras entidades que nos permiten relacionarlas. Con un ejemplo se entenderá mejor…

En este ejemplo tenemos a los empleados pertenecen a un departamento.

ID_departamentosNombres
123Administración
412Informática
Tabla: Departamentos
IDNombresApellidosEmail
1TonyMontanaelvira4ever@fakemail.com
2JhonyBravogalan@fakemail.com
3FrankLopezbasebal@fakemail.com
Tabla: Empleados

La tabla de empleados y departamentos posee la información básica.

Sin embargo, esto es insuficiente porque desconozco donde trabaja cada empleado.

En este momentos es cuando nace una relación y nace con ello una clave foránea.

IDNombresApellidosEmailID_departamentos
1TonyMontanaelvira4ever@fakemail.com123
2JhonyBravogalan@fakemail.com412
3FrankLopezbasebal@fakemail.com412
Tabla: Empleados

La clave foránea es cuando asignamos el valor de una clave primaria de una entidad a otra entidad.

En este caso la clave primaria de departamentos se asigna a un nuevo campo que creamos (que es la clave foránea) en la tabla empleados.

Esto genera una relación, porque gracias a ese valor puedo identificar que gerente tienen los empleados.

Las ubicación de la clave foránea puede varias dependiendo del tipo de relación. Pero eso lo explico en este capítulos.

Si estas siguiendo el curso desde cero te recomiendo que esperes, que dentro de algunos capítulos ya llegaremos a ese episodio.

Anterior capítulo.

Atributos

Siguiente capítulo.

Modelo entidad relación

Esta web utiliza cookies. Puedes ver nuestra política de cookies, si continuas navegando estás aceptándola.