Ngganti jeneng kolom
Kita uga kudu menehi hasil karo jeneng kolom. Yen ora, kita mbaleni jeneng jeneng lan id, nanging padha ngemot data beda. Ing sisih liya, ana kolom id pisanan lan kolom id_karyawan, sing ngemot data sing padha.
Ayo nulis pitakon, sing mung ana kolom sing dibutuhake, lan uga ganti jeneng kolom kanthi jeneng sing padha:
SELECT
task.id AS task_id,
task.name AS task_desc,
task.deadline AS deadline,
emploee.id AS emploee_id,
emploee.name AS emp_name,
emploee.occupation AS
emp_occupation
FROM employee, task
WHERE emploee.id = task.emploee_id
Lan asil saka pitakonan iki:
tugas_id | tugas_desc | deadline | id_karyawan | emp_name | emp_occupation |
---|---|---|---|---|---|
1 | Ndandani bug ing frontend | 2022-06-01 | 1 | Iwan Iwan | Programmer |
2 | Ndandani bug ing backend | 2022-06-15 | 2 | Petrov Petruk | Programmer |
7 | Seneng urip | (NULL) | 4 | Rabinovich Moisha | direktur |
3 | Tuku kopi | 2022-07-01 | 5 | Kirienko Anastasia | Kantor manager |
4 | Tuku kopi | 2022-08-01 | 5 | Kirienko Anastasia | Kantor manager |
5 | Tuku kopi | 2022-09-01 | 5 | Kirienko Anastasia | Kantor manager |
8 | Seneng urip | (NULL) | 6 | Vaska | kucing |
Apik banget, masalah karo jeneng kolom sing ora bisa dingerteni wis kasil ditanggulangi. Pitakonan wis rada suwe, nanging kabeh wis jelas ing tabel asil. Lan ora ana kolom ekstra.
Tabel alias
Kadhangkala jeneng tabel dawa banget lan njupuk akeh spasi ing query. Mulane, pangripta SQL, kanggo nambah readability, kaya ing kasus kolom, nawakake kemampuan kanggo nemtokake alias tabel.
Bentuk umum alias (alias tabel) kaya ing ngisor iki:
FROM table1 alias1, table2 alias2
Ayo nulis maneh pitakon sadurunge nganggo alias singkat:
SELECT
t.id AS task_id,
t.name AS task_desc,
t.deadline AS deadline,
e.id AS emploee_id,
e.name AS emp_name,
e.occupation AS emp_occupation
FROM employee e, task t
WHERE e.id = t.emploee_id
Readability wis rada suda, nanging iki amarga jeneng tabel wiwitane prasaja lan cetha. Bisa uga kaya iki:
SELECT
task.id AS task_id,
task.name AS task_desc,
task.deadline AS deadline,
emploee.id AS emploee_id,
emploee.name AS emp_name,
emploee.occupation AS
emp_occupation
FROM
Microsoft_it_department_employee employee,
Year2022_priority_task task
WHERE emploee.id = task.emploee_id
Lan ing kasus iki, alias wis migunani, ta? ;)
kunci utama
Lan siji informasi penting liyane babagan tabel. Elinga yen kita duwe kolom employee_id ing tabel tugas? Kanthi kasebut, kita ngrujuk ID karyawan saka tabel karyawan.
Yen kita pengin ngrujuk saka siji tabel menyang larik tabel liyane, banjur tabel sing dirujuk kudu duwe kolom kanthi ID, sing uga disebut kunci utama - KUNCI PRIMARY .
Paling asring, iki minangka kolom sing ditambahake khusus sing jinis nilai int . Nalika nambahake rekaman menyang tabel, SQL kanthi otomatis nyetel nilai kolom iki.
Banjur akeh perkara sing ana gandhengane karo kunci kasebut:
- ngubungake tabel beda kanggo saben liyane;
- telusuran cepet lan nyaring kanthi id;
- integritas data ing basis data (ora ana referensi kanggo id sing ora ana);
- mbusak data sing ora ana sing ngrujuk;
- lan akeh liyane.
Ngomong-ngomong, ana kahanan nalika meja duwe kunci alami sing disebut . Iki nalika ana kolom sing isine nggambarake keunikan. Contone, kita mutusake kanggo nambah menyang meja karyawan:
- Urutan rawuh ing perusahaan;
- Nomer pajak;
- Nomer lan seri paspor.
Kadhangkala desainer basis data nggunakake kunci alami minangka kunci utama, nanging paling asring digunakake kanthi kapisah. Sawise kabeh, cathetan bisa dibusak, diganti, lan liya-liyane.
Aku Upaminipun sampeyan maca crita ing Internet nalika bailiffs nyumerepi utang saka namesake lengkap ing wong? Iki mung ana hubungane karo konsep kunci unik. Iku trep banget kanggo bank-bank lan bailiffs kanggo nggoleki wong kanthi jeneng lengkap lan taun lair. Lan ing 99% kasus iki cukup kanggo ngenali wong.
Nanging sisa <1% minangka jeneng lengkap, kanthi taun lair sing padha. Ing urip saben kita, paling ora ana wong kaya ngono, nanging ing skala nasional, ana. Umumé, yen sampeyan nulis piranti lunak utawa ngrancang database, mula migunani kanggo ngerti manawa iki uga bisa kedadeyan.