¿QUE ES UNA LLAVE PRIMARIA Y UNA FORÁNEA?

LLAVE PRIMARIA 

La clave o llave primaria es un campo, o grupo de campos que identifica en forma única un registro. Ningún otro registro puede tener la misma llave primaria. La llave primaria se utiliza para distinguir un registro con el fin de que se pueda  tener acceso a ellos, organizarlos y manipularlos. En el caso de un registro de un empleado, él numero de este representa  un ejemplo de una llave primaria.


EJEMPLO:

Ejemplo: (una llave primaria)
Nombre Tabla : tb_producto
Campos : producto_id, nombre_producto, categoria_id,....
Llave primaria: producto_id (identificador único para diferenciar los productos)
Ejm:

producto_id...nombre_producto..categor…
1....................ceras............…
2....................shampoo..........…
3....................jaboncillos......…

Ejemplo: (dos llaves primarias)
Nombre Tabla : tb_comprobante
Campos : cbte_id,asiento_id,debe,haber,glosa,....
Llaves primarias: cbte_id,asiento_id(identificadores únicos para diferenciar un registro de otro)
Ejm:

cbte_id | asiento | debe | haber | glosa
1...........1.............40.......0..…
1...........2.............0.........40… de la compra
2...........1.............80.......0..… almuerzo
2...........2.............25.......0..… caja chica
2...........3.............0.........25… caja chica
2...........4.............0.........80… almuerzos

Por ejemplo, tenemos un catálogo de marcas de computadoras, la tabla sería:
idmarca marca
1 Lenovo
2 Toshiba
3 DELL
En esta caso la llave primaria sería idmarca.


LLAVE FORÁNEA 

Una clave o llave foránea (o Foreing key FK) es una limitación referencial entre dos tablas. La clave foránea identifica una columna o grupo de columnas en una tabla (tabla hija o referendo) que se refiere a una columna o grupo de columnas en otra tabla (tabla padre o referenciada). Las columnas en la tabla referendo deben ser la clave primaria u otra clave candidata en la tabla referenciada. 


EJEMPLO:
Como se puede observar en el siguiente ejemplo , es necesario definir primero la tabla hacia la cual se va a referenciar la clave Foránea. Ese es el único requisito.
























8 comentarios:

  1. que bueno esto tener filosofia de sistemas

    ResponderBorrar
  2. hola perdona la imagen de la clave FK no se puede visualizar :S, te agredeceria mucho si pudieras volver a ponerla ^^

    ResponderBorrar
  3. buenos días tengo una pregunta ojala me puedan ayudar.
    en una tabla se puede colocar varias llaves.

    ResponderBorrar
    Respuestas
    1. Si esas 2.. Una clave primaria solamente y una clave foranea

      Borrar
  4. Hola, tengo una duda, ojala me puedan ayudar.
    Supongamos que tuviera 3 tablas (tab1, tab2 y tab3); la tab2 tiene su llave primaria y una llave foránea que viene de la tab1. Y ahora la tab3 también tiene su llave primaria y una lave foránea que viene de la tab2.Mi duda es, que si puedo acceder a la información de la tab1 DESDE la tab3 (no se la verdad, pero mi lógica dice que si tengo una FK de la tab2 en mi tab3 por hecho, tengo acceso a la tab1 gracias a la FK de la tab1 en mi tab2). De antemano, gracias.

    ResponderBorrar
  5. Hola, como estan espero que bien, tengo una incognita

    Tengo tres tablas en phpmyadmin

    transicion_1(id,matricula,nombre,periodo,biologia,sociales,artistica,etica,edufisica,religion,castellano,matematicas,tecnologia,ccpv,fisica,quimica,observaciones)

    transicion_2(id,matricula,nombre,periodo,biologia,sociales,artistica,etica,edufisica,religion,castellano,matematicas,tecnologia,ccpv,fisica,quimica,observaciones)

    transicion_3(id,matricula,nombre,periodo,biologia,sociales,artistica,etica,edufisica,religion,castellano,matematicas,tecnologia,ccpv,fisica,quimica,observaciones)

    quiero relacionar las tres tablas el id es PK "autoincremenet"

    y que me haga una consulta de los estudiantes que tienen sus notas en bajo(10-59) basico(60-75)
    alto(76-85) superior(86-100)

    En el colegio el promedio de nota es 1 a 100.

    ejemplo de tabla donde quiero que se muestren los datos de la consulta

    tabla: tabla_general((matematicas:(bajo(), basio(), alto(), superior()),sociales:(bajo(), basio(), alto(), superior()))

    Nota: Lo anterior no es ningún lenguaje de programación solo lo puse así para que me puedan entender.

    ResponderBorrar
  6. excelente tema el de la llaves primarias y llaves foraneas me parece interesante el enfoque que le dieron a como contruirla

    saludos Cerrajeros Barcelona 24 horas

    ResponderBorrar