MySQL FOREIGN KEY Tutorial

Secate se kada smo obradjivali primere o JOIN-ima, pa kada smo pravili dve tabele: prodavnice i poslato:

Sadrzaj tabele prodavnice:

mysql> SELECT * FROM prodavnice;
+------+-----------+------------+-----------+-------------+------+
| p_id | gradovi   | prodavnice | proizvod  | raspolozivo | cena |
+------+-----------+------------+-----------+-------------+------+
|    1 | Beograd   | prbg1      | Kafa      |         121 |  150 |
|    2 | Beograd   | prbg2      | Cigare    |          50 |  300 |
|    3 | Subotica  | prsub1     | Hleb      |          43 |   45 |
|    4 | Nis       | prnis1     | Hleb      |          23 |   55 |
|    5 | Kraljevo  | prkrl1     | Pavlaka   |         155 |   50 |
|    6 | Uzice     | pruzi1     | Mleko     |          68 |   90 |
|    7 | Majdanpek | prmaj1     | Mleko     |          91 |   87 |
|    8 | Bor       | prbor1     | Pavlaka   |         155 |   50 |
|    9 | Kikinda   | prkik1     | Ajzaklija |          38 |  650 |
|   10 | Obrenovac | prob1      | Jabuke    |          35 |  120 |
|   11 | Smederevo | prsm1      | Ajvar     |          28 |  270 |
|   12 | Zrenjanin | przr1      | Somun     |          10 |   59 |
|   13 | Jagodina  | prjg1      | Bakalar   |          29 |  400 |
+------+-----------+------------+-----------+-------------+------+
13 rows in set (0.11 sec)

mysql>

Sadrzaj tabele poslato:

mysql> SELECT * FROM poslato;
+------+----------+------+
| s_id | dokument | p_id |
+------+----------+------+
|    1 |    55210 |    1 |
|    2 |    32618 |    1 |
|    3 |    50687 |    9 |
|    4 |    49321 |    4 |
|    5 |    39658 |    3 |
|    6 |    41200 |   11 |
|    7 |    25527 | NULL |
|    8 |    42931 | NULL |
+------+----------+------+
8 rows in set (0.05 sec)

mysql>

Ako pogledate prvu tabelu "prodavnice" videcete da imamo primarni kljuc "p_id". Isti taj kljuc imamo u tabeli "poslato", ali se on sada pojavljuje kao "FOREIGN KEY".

Tabela "poslato" ima primarni kljuc "s_id".

Zakljucak ? Ono sto je u jednoj tabeli PRIMARY u drugoj je FOREIGN KEY.