2.2. Definición de claves

Aunque algunas claves ya se intuyen a partir de los atributos de las relaciones, vamos a determinarlas para completar el caso.

En todos los casos sólo tenemos
una clave candidata y, por lo tanto, no caben dudas a la hora de escoger la clave primaria. Esto no tiene por que ser así: en la relación EMPLEADO, podríamos haber incluido más atributos (número de la seguridad social, un número de empleado interno, etc.) que serían claves candidatas susceptibles de ser clave primaria.


PETICION: Claves candidatas: {referencia} Clave primaria: {referencia} NOTA_PETICION: Claves candidatas: {peticion,fecha,empleado} Clave primaria: {peticion,fecha,empleado} MATERIAL_PETICION: Claves candidatas: {nombrematerial,peticion} Clave primaria: {nombrematerial,peticion} CLIENTE: Claves candidatas: {nif} Clave primaria: {nif} EMPLEADO: Claves candidatas: {nif} Clave primaria: {nif}

 

Ahora podemos reescribir las relaciones:

 

PETICION(referencia, cliente, resumen, estado, fecharecepcion, fechainicio, fechafin, tiempoempleado) NOTA_PETICION(peticion, nota, fecha, empleado) MATERIAL_PETICION(nombrematerial, peticion, cantidad, precio) CLIENTE(nombre, nif, telefono, email) EMPLEADO(nombre, nif)

 

Las claves foráneas ya se intuyen a partir de las relaciones, aunque vamos a comentarlas para completar el caso:

 

NOTA_PETICION:

 

Tiene de clave foránea el atributo {peticion}, que establece la relación (y pertenece al mismo dominio) con el atributo {referencia} de la relación PETICION.


También tiene la clave foránea {empleado}, que establece la relación con EMPLEADO a partir de su clave primaria {nif}.

 

MATERIAL_PETICION:

 

Tiene de clave foránea el atributo {peticion}, que establece la relación (y pertenece al mismo dominio) con el atributo {referencia} de la relación PETICION.