SlideShare a Scribd company logo
PRAKTIKUM SISTEM BASIS DATA
(Primary Key, Auto Increment & Foreign Key)
Fakhrian Fadlia Adiwijaya, S.Kom
Primary Key (Kunci Utama)
- Suatu kolom dalam tabel yang secara unik mengidentifikasi setiap baris dalam tabel tersebut.
- Hampir untuk setiap tabel, lebih baik menentukan kunci primer dari tabel tersebut.
CREATE TABLE pembelian (
IDPembelian SMALLINT UNSIGNED NOT NULL PRIMARY KEY,
IDModel SMALLINT UNSIGNED NOT NULL,
DeskripsiModel VARCHAR(40)
);
CREATE TABLE pembelian (
IDPembelian SMALLINT UNSIGNED NOT NULL,
IDModel SMALLINT UNSIGNED NOT NULL,
DeskripsiModel VARCHAR(40),
PRIMARY KEY (IDPembelian)
);
Primary Key (Kunci Utama)
CREATE TABLE pembelian (
IDPembelian SMALLINT UNSIGNED NOT NULL,
IDModel SMALLINT UNSIGNED NOT NULL,
DeskripsiModel VARCHAR(40),
PRIMARY KEY (IDPembelian, IDModel)
);
INSERT INTO pembelian values (‘1’,’1’,’Mobil’);
INSERT INTO pembelian values (‘1’,’2,’Motor’);
INSERT INTO pembelian values (‘1’,’3’,’Truck’);
pada tabel pembelian didefinisikan kolom IDPembelian dan IDModel sebagai PRIMARY KEY, sehingga untuk tabel pembelian
tidak boleh ada 2 pasang nilai yang sama.
Unique Key (Kunci Unik)
CREATE TABLE pembelian (
IDPembelian SMALLINT UNSIGNED NOT NULL,
IDModel SMALLINT UNSIGNED,
DeskripsiModel VARCHAR(40),
PRIMARY KEY (IDPembelian),
UNIQUE KEY (IDModel)
);
Perbedaan Antara Primary Key dan Unique Key adalah kolom yang didefinisikan dengan Uique Key dapat bernilai Null
sementara Primary Key Tidak
Auto Increment
- Mengizinkan anda untuk menspesifikasikan angka-angka secara otomatis untuk kolom kunci.
CREATE TABLE katalog(
IDProduk SMALLINT UNSIGNED NOT NULL AUTO_INCREMENT,
Nama VARCHAR(40) NOT NULL,
PRIMARY KEY (IDProduk)
);
Kolom IDProduk dikonfigurasi dengan tipe data SMALLINT dan dikonfigurasi sebagai kunci primer. definisi kolom juga
menyertakan opsi NOT NULL dan AUTO_INCREMENT. Sehingga, kapanpun menambahkan sebuah baris baru ke tabel
katalog, nomor baru secara otomatis ditambahkan ke kolom IDProduk, nomor dinaikkan sebanyak 1, berdasarkan nilai
tertinggi yang terdapat dalam kolom tersebut.
INSERT INTO katalog (nama) values (’Buku’);
INSERT INTO katalog (nama) values (‘Mobil’);
INSERT INTO katalog (nama) values (’Motor’);
Foreign Key (Kunci Tamu)
- Untuk mengimplementasikan relasi dalam MYSQL, diharuskan menentukan kunci tamu pada tabel yang berkaitan.
- Tentukan kunci tamu pada satu kolom atau kolom-kolom dalam tabel mengkait dengan kolom atau kolom-kolom pada
tabel yang terkait.
- Tabel yang mengkait, yaitu tabel yang berisi kunci tamu, seringkali ditunjuk sebagai child table dan tabel terkait
seringkali ditunjuk sebagai parent table.
<definisi referensi>::=
FOREIGN KEY <nama kolom> REFERENCES <nama tabel> [(<nama kolom>[{,<nama kolom>}..])]
[ON DELETE {RESTRICT | CASCADE | SET NULL | NO ACTION | SET DEFAULT}]
[ON UPDATE {RESTRICT | CASCADE | SET NULL | NO ACTION | SET DEFAULT}]
Foreign Key (Kunci Tamu)
Jika tabel anak berisi nilai dalam kolom yang mengkait yang nilainya sama dengan di kolom terkait pada tabel induk, baris
dalam tabel induk tidak bisa dihapus, dan nilai di kolom terkait tidak dapat diupdate. ini adalah opsi default jika klausa ON
DELETE / ON UPDATE tidak dispesifikasikan.
Opsi RESTRICT / NO ACTION
CREATE TABLE model(
IDModel SMALLINT UNSIGNED NOT NULL,
Nama_Model VARCHAR(15) NOT NULL,
Jenis_Model VARCHAR(15) NOT NULL,
PRIMARY KEY (IDModel)
);
CREATE TABLE pembelian (
IDPembelian SMALLINT UNSIGNED NOT NULL,
IDModel SMALLINT UNSIGNED NOT NULL,
DeskripsiModel VARCHAR(40),
PRIMARY KEY (IDPembelian),
FOREIGN KEY (IDModel) REFERENCES model(IDModel)
ON DELETE RESTRICT / NO ACTION ON UPDATE RESTRICT / NO ACTION
);
NB :
Data pada parent table tidak dapat diubah
ataupun di hapus sebelum child table dihapus
Foreign Key (Kunci Tamu)
Baris-baris dala tabel anak yang berisi nilai-nilai yang juga terdapat dalam kolom terkait dari tabel induk dihapus ketika
baris-baris yang berkaitan dihapus dari tabel induk. baris-baris dalam tabel ana yang berisi nilai-nilai yang juga terdapat
dalam kolom terkait dari tabel induk diupdate ketika nilai-nilai yang berkaitan diupdate dalam tabel induk
Opsi CASCADE
CREATE TABLE model(
IDModel SMALLINT UNSIGNED NOT NULL,
Nama_Model VARCHAR(15) NOT NULL,
Jenis_Model VARCHAR(15) NOT NULL,
PRIMARY KEY (IDModel)
);
CREATE TABLE pembelian (
IDPembelian SMALLINT UNSIGNED NOT NULL,
IDModel SMALLINT UNSIGNED NOT NULL,
DeskripsiModel VARCHAR(40),
PRIMARY KEY (IDPembelian),
FOREIGN KEY (IDModel) REFERENCES model(IDModel)
ON DELETE CASCADE ON UPDATE CASCADE
);
NB :
Perubahan pada parent table akan merubah
data pada child table
Foreign Key (Kunci Tamu)
Nilai-nilai dalam kolom yang mengkait dari tabel anak diset ke NULL saat baris-baris dengan data terkait dalam tabel induk
dihapus dari tabel induk atau ketik data terkait dalam tabel induk diupdate. untuk menggunakan opsi ini, semua kolom-
kolom yang mengkait dalam tabel anak harus mengijinkan nilai NULL
Opsi SET NULL
CREATE TABLE model(
IDModel SMALLINT UNSIGNED NOT NULL,
Nama_Model VARCHAR(15) NOT NULL,
Jenis_Model VARCHAR(15) NOT NULL,
PRIMARY KEY (IDModel)
);
CREATE TABLE pembelian (
IDPembelian SMALLINT UNSIGNED NOT NULL,
IDModel SMALLINT UNSIGNED,
DeskripsiModel VARCHAR(40),
PRIMARY KEY (IDPembelian),
FOREIGN KEY (IDModel) REFERENCES model(IDModel)
ON DELETE SET NULL ON UPDATE SET NULL
);
NB :
Perubahan pada parent table mengakibatkan
kolom foreign key pada child table bernilai
NULL
Mahasiswa = {nim, nama, alamat, tgl_lahir}
Orang_Tua = {nama_ortu, alamat_ortu)
Hobbi = {nama_hobbi}
Mahasiswa
nim int
nama varchar(15)
alamat varchar(30)
tgl_lahir date
Orang_Tua
nama_ortu varchar(15)
alamat_ortu varchar(30)
Hobbi
nama_hobbi varchar(10)
Dosen = {kd_dosen, nama_dos, alamat_dos}
Dosen_Tetap = {kd_dosen, nik, pangkat, tgl_masuk)
Dosen_LB = {kd_dosen, nama_kantor, alamat_kantor}
Generalisasi Dosen
02. primary key, foreign key
02. primary key, foreign key
TERIMA KASIH

More Related Content

PDF
Model simulasi(2)
ODP
Mata Kuliah Basis Data
DOCX
Diagram Konteks dan DFD Sistem Informasi Penjualan
PDF
Praktik dengan matlab
PPTX
Analisis tabel silang
PPTX
Barang publik dan klasifikasi barang
PDF
LAPORAN TUGAS AKHIR PERANCANGAN APLIKASI KNOWLEDGE BASE SYSTEM UNTUK INSTRUKS...
PDF
Model antrian
Model simulasi(2)
Mata Kuliah Basis Data
Diagram Konteks dan DFD Sistem Informasi Penjualan
Praktik dengan matlab
Analisis tabel silang
Barang publik dan klasifikasi barang
LAPORAN TUGAS AKHIR PERANCANGAN APLIKASI KNOWLEDGE BASE SYSTEM UNTUK INSTRUKS...
Model antrian

What's hot (20)

DOCX
PPTX
peran pemerintah dalam penyediaan barang publik
PDF
3 . analisis regresi linier berganda dua peubah
PPTX
CPM (Network Planning CPM) - Manajemen proyek
PPTX
5 proses penyesuaian
PPTX
Network planning 1
PPTX
Ekonometrika Variabel Dummy
PPT
Statistika dan-probabilitas
DOCX
Proposal pembuatan aplikasi
PPT
Penyederhanaan Karnaugh Map
DOCX
Penerapan distribusi normal
PDF
Shadow Price
PPTX
Deret berkala dan peramalan
PPT
Pasar persaingan sempurna, ekonomi mikro,uas
PPT
Biaya marginal
PPTX
Faktor dan nilai uang
PDF
Istilah dalam-akuntansi-dalam-bahasa-inggris
PPTX
Statistik_ Angka Indeks
PPTX
Perancangan basis data perkreditan mobil
DOCX
Modul 1 promodel
peran pemerintah dalam penyediaan barang publik
3 . analisis regresi linier berganda dua peubah
CPM (Network Planning CPM) - Manajemen proyek
5 proses penyesuaian
Network planning 1
Ekonometrika Variabel Dummy
Statistika dan-probabilitas
Proposal pembuatan aplikasi
Penyederhanaan Karnaugh Map
Penerapan distribusi normal
Shadow Price
Deret berkala dan peramalan
Pasar persaingan sempurna, ekonomi mikro,uas
Biaya marginal
Faktor dan nilai uang
Istilah dalam-akuntansi-dalam-bahasa-inggris
Statistik_ Angka Indeks
Perancangan basis data perkreditan mobil
Modul 1 promodel
Ad

Similar to 02. primary key, foreign key (20)

DOCX
Materi my sql part 2
DOCX
Mengenal operasi dasar sql
PPT
Data definition language
DOCX
Database relasi
PDF
05. manipulasi data update,delete &amp; seleksi
PDF
Modul 3 9 jan 2013
PDF
Djoni (key)
DOCX
Apa itu database??
DOCX
Laporan Praktikum Basis Data Modul II-Primary Key
PPTX
Introduction to Relational Model and SQL- SCD.pptx
PDF
How to install mariadb
PPTX
01. pengelolaan database, tabel upload
PDF
Masuun ajarmysql5-2
PPTX
Basis Data pada database pertemuan .pptx
DOCX
Apa itu microsoft access
PPTX
Ppt 2
PPTX
02. relasi tabel
DOCX
Tutorial lanjutan java netbeans 8 : Create Read Update Delete
PPTX
Pertemuan-4.pptx
Materi my sql part 2
Mengenal operasi dasar sql
Data definition language
Database relasi
05. manipulasi data update,delete &amp; seleksi
Modul 3 9 jan 2013
Djoni (key)
Apa itu database??
Laporan Praktikum Basis Data Modul II-Primary Key
Introduction to Relational Model and SQL- SCD.pptx
How to install mariadb
01. pengelolaan database, tabel upload
Masuun ajarmysql5-2
Basis Data pada database pertemuan .pptx
Apa itu microsoft access
Ppt 2
02. relasi tabel
Tutorial lanjutan java netbeans 8 : Create Read Update Delete
Pertemuan-4.pptx
Ad

More from Fakhrian Fadlia Adiwijaya (8)

PDF
Algoritma & Pemograman - 02. Variabel dan Tipe Data
PDF
Basis Data I - 01. Pendahuluan Basis Data
PDF
Algoritma & Pemograman - 01.Pendahuluan
PDF
08. mengakses multiple tabel
PDF
07. menggunakan fungsi
PDF
04. manipulasi data perintah insert
PDF
00. instalasi dan penggunaan mysql
PDF
02. relational model dan query languages
Algoritma & Pemograman - 02. Variabel dan Tipe Data
Basis Data I - 01. Pendahuluan Basis Data
Algoritma & Pemograman - 01.Pendahuluan
08. mengakses multiple tabel
07. menggunakan fungsi
04. manipulasi data perintah insert
00. instalasi dan penggunaan mysql
02. relational model dan query languages

Recently uploaded (20)

PDF
Digital Statecraft Menuju Indonesia Emas 2045: Diplomasi Digital, Ketahanan N...
PPTX
Rancangan Aktualisasi Latsar CPNS Kementerian Agama 2025.pptx
PPTX
KEBIJAKAN BIAS JATENG 2025.Boyolali.pptx
PDF
2021 KREATIFITAS DNA INOVASI DALAM BERWIRAUSAHA.pdf
PDF
PPT Yudisium Ceremony Agusus 2025 - new. pdf
DOCX
Modul Ajar Deep Learning PAI & BP Kelas 12 SMA Terbaru 2025
DOCX
Modul Ajar Deep Learning Prakarya Budidaya Kelas 12 SMA Terbaru 2025
PDF
Tren dan Isu Kebutuhan Soft Skill dan Hard Skill Tenaga Kesehatan di RS - dr....
DOCX
Modul Ajar Deep Learning PKN Kelas 10 SMA Terbaru 2025
PPTX
Presentasi Al-Quran Hadits Kelompok XI.1
PPSX
Teknik Trading Selang Seling Yang Dapat Digunakan Untuk Trading Manual Maupun...
PPTX
Paparan Penyesuaian Juknis BOSP Tahun 2025
DOCX
Modul Ajar Deep Learning Bahasa Inggris Lanjutan Kelas 11 SMA Terbaru 2025
DOCX
Modul Ajar Deep Learning Prakarya Kerajinan Kelas 12 SMA Terbaru 2025
PPTX
Materi Besaran, Satuan, Pengukuran.pptx
PPTX
MATERI NARKOBA RTS badan anti narkoba.pptx
PPTX
1. Bahan Bacaan Pola Pikir Bertumbuh.pptx
PPTX
oioioooooooooooooo Penanganan P3K.pptx
DOCX
Modul Ajar Deep Learning PKWU Rekayasa Kelas 12 SMA Terbaru 2025
PPTX
PROGRAM KOKURIKULER KELAS 9 TEMA 1_20250811_075823_0000.pptx
Digital Statecraft Menuju Indonesia Emas 2045: Diplomasi Digital, Ketahanan N...
Rancangan Aktualisasi Latsar CPNS Kementerian Agama 2025.pptx
KEBIJAKAN BIAS JATENG 2025.Boyolali.pptx
2021 KREATIFITAS DNA INOVASI DALAM BERWIRAUSAHA.pdf
PPT Yudisium Ceremony Agusus 2025 - new. pdf
Modul Ajar Deep Learning PAI & BP Kelas 12 SMA Terbaru 2025
Modul Ajar Deep Learning Prakarya Budidaya Kelas 12 SMA Terbaru 2025
Tren dan Isu Kebutuhan Soft Skill dan Hard Skill Tenaga Kesehatan di RS - dr....
Modul Ajar Deep Learning PKN Kelas 10 SMA Terbaru 2025
Presentasi Al-Quran Hadits Kelompok XI.1
Teknik Trading Selang Seling Yang Dapat Digunakan Untuk Trading Manual Maupun...
Paparan Penyesuaian Juknis BOSP Tahun 2025
Modul Ajar Deep Learning Bahasa Inggris Lanjutan Kelas 11 SMA Terbaru 2025
Modul Ajar Deep Learning Prakarya Kerajinan Kelas 12 SMA Terbaru 2025
Materi Besaran, Satuan, Pengukuran.pptx
MATERI NARKOBA RTS badan anti narkoba.pptx
1. Bahan Bacaan Pola Pikir Bertumbuh.pptx
oioioooooooooooooo Penanganan P3K.pptx
Modul Ajar Deep Learning PKWU Rekayasa Kelas 12 SMA Terbaru 2025
PROGRAM KOKURIKULER KELAS 9 TEMA 1_20250811_075823_0000.pptx

02. primary key, foreign key

  • 1. PRAKTIKUM SISTEM BASIS DATA (Primary Key, Auto Increment & Foreign Key) Fakhrian Fadlia Adiwijaya, S.Kom
  • 2. Primary Key (Kunci Utama) - Suatu kolom dalam tabel yang secara unik mengidentifikasi setiap baris dalam tabel tersebut. - Hampir untuk setiap tabel, lebih baik menentukan kunci primer dari tabel tersebut. CREATE TABLE pembelian ( IDPembelian SMALLINT UNSIGNED NOT NULL PRIMARY KEY, IDModel SMALLINT UNSIGNED NOT NULL, DeskripsiModel VARCHAR(40) ); CREATE TABLE pembelian ( IDPembelian SMALLINT UNSIGNED NOT NULL, IDModel SMALLINT UNSIGNED NOT NULL, DeskripsiModel VARCHAR(40), PRIMARY KEY (IDPembelian) );
  • 3. Primary Key (Kunci Utama) CREATE TABLE pembelian ( IDPembelian SMALLINT UNSIGNED NOT NULL, IDModel SMALLINT UNSIGNED NOT NULL, DeskripsiModel VARCHAR(40), PRIMARY KEY (IDPembelian, IDModel) ); INSERT INTO pembelian values (‘1’,’1’,’Mobil’); INSERT INTO pembelian values (‘1’,’2,’Motor’); INSERT INTO pembelian values (‘1’,’3’,’Truck’); pada tabel pembelian didefinisikan kolom IDPembelian dan IDModel sebagai PRIMARY KEY, sehingga untuk tabel pembelian tidak boleh ada 2 pasang nilai yang sama.
  • 4. Unique Key (Kunci Unik) CREATE TABLE pembelian ( IDPembelian SMALLINT UNSIGNED NOT NULL, IDModel SMALLINT UNSIGNED, DeskripsiModel VARCHAR(40), PRIMARY KEY (IDPembelian), UNIQUE KEY (IDModel) ); Perbedaan Antara Primary Key dan Unique Key adalah kolom yang didefinisikan dengan Uique Key dapat bernilai Null sementara Primary Key Tidak
  • 5. Auto Increment - Mengizinkan anda untuk menspesifikasikan angka-angka secara otomatis untuk kolom kunci. CREATE TABLE katalog( IDProduk SMALLINT UNSIGNED NOT NULL AUTO_INCREMENT, Nama VARCHAR(40) NOT NULL, PRIMARY KEY (IDProduk) ); Kolom IDProduk dikonfigurasi dengan tipe data SMALLINT dan dikonfigurasi sebagai kunci primer. definisi kolom juga menyertakan opsi NOT NULL dan AUTO_INCREMENT. Sehingga, kapanpun menambahkan sebuah baris baru ke tabel katalog, nomor baru secara otomatis ditambahkan ke kolom IDProduk, nomor dinaikkan sebanyak 1, berdasarkan nilai tertinggi yang terdapat dalam kolom tersebut. INSERT INTO katalog (nama) values (’Buku’); INSERT INTO katalog (nama) values (‘Mobil’); INSERT INTO katalog (nama) values (’Motor’);
  • 6. Foreign Key (Kunci Tamu) - Untuk mengimplementasikan relasi dalam MYSQL, diharuskan menentukan kunci tamu pada tabel yang berkaitan. - Tentukan kunci tamu pada satu kolom atau kolom-kolom dalam tabel mengkait dengan kolom atau kolom-kolom pada tabel yang terkait. - Tabel yang mengkait, yaitu tabel yang berisi kunci tamu, seringkali ditunjuk sebagai child table dan tabel terkait seringkali ditunjuk sebagai parent table. <definisi referensi>::= FOREIGN KEY <nama kolom> REFERENCES <nama tabel> [(<nama kolom>[{,<nama kolom>}..])] [ON DELETE {RESTRICT | CASCADE | SET NULL | NO ACTION | SET DEFAULT}] [ON UPDATE {RESTRICT | CASCADE | SET NULL | NO ACTION | SET DEFAULT}]
  • 7. Foreign Key (Kunci Tamu) Jika tabel anak berisi nilai dalam kolom yang mengkait yang nilainya sama dengan di kolom terkait pada tabel induk, baris dalam tabel induk tidak bisa dihapus, dan nilai di kolom terkait tidak dapat diupdate. ini adalah opsi default jika klausa ON DELETE / ON UPDATE tidak dispesifikasikan. Opsi RESTRICT / NO ACTION CREATE TABLE model( IDModel SMALLINT UNSIGNED NOT NULL, Nama_Model VARCHAR(15) NOT NULL, Jenis_Model VARCHAR(15) NOT NULL, PRIMARY KEY (IDModel) ); CREATE TABLE pembelian ( IDPembelian SMALLINT UNSIGNED NOT NULL, IDModel SMALLINT UNSIGNED NOT NULL, DeskripsiModel VARCHAR(40), PRIMARY KEY (IDPembelian), FOREIGN KEY (IDModel) REFERENCES model(IDModel) ON DELETE RESTRICT / NO ACTION ON UPDATE RESTRICT / NO ACTION ); NB : Data pada parent table tidak dapat diubah ataupun di hapus sebelum child table dihapus
  • 8. Foreign Key (Kunci Tamu) Baris-baris dala tabel anak yang berisi nilai-nilai yang juga terdapat dalam kolom terkait dari tabel induk dihapus ketika baris-baris yang berkaitan dihapus dari tabel induk. baris-baris dalam tabel ana yang berisi nilai-nilai yang juga terdapat dalam kolom terkait dari tabel induk diupdate ketika nilai-nilai yang berkaitan diupdate dalam tabel induk Opsi CASCADE CREATE TABLE model( IDModel SMALLINT UNSIGNED NOT NULL, Nama_Model VARCHAR(15) NOT NULL, Jenis_Model VARCHAR(15) NOT NULL, PRIMARY KEY (IDModel) ); CREATE TABLE pembelian ( IDPembelian SMALLINT UNSIGNED NOT NULL, IDModel SMALLINT UNSIGNED NOT NULL, DeskripsiModel VARCHAR(40), PRIMARY KEY (IDPembelian), FOREIGN KEY (IDModel) REFERENCES model(IDModel) ON DELETE CASCADE ON UPDATE CASCADE ); NB : Perubahan pada parent table akan merubah data pada child table
  • 9. Foreign Key (Kunci Tamu) Nilai-nilai dalam kolom yang mengkait dari tabel anak diset ke NULL saat baris-baris dengan data terkait dalam tabel induk dihapus dari tabel induk atau ketik data terkait dalam tabel induk diupdate. untuk menggunakan opsi ini, semua kolom- kolom yang mengkait dalam tabel anak harus mengijinkan nilai NULL Opsi SET NULL CREATE TABLE model( IDModel SMALLINT UNSIGNED NOT NULL, Nama_Model VARCHAR(15) NOT NULL, Jenis_Model VARCHAR(15) NOT NULL, PRIMARY KEY (IDModel) ); CREATE TABLE pembelian ( IDPembelian SMALLINT UNSIGNED NOT NULL, IDModel SMALLINT UNSIGNED, DeskripsiModel VARCHAR(40), PRIMARY KEY (IDPembelian), FOREIGN KEY (IDModel) REFERENCES model(IDModel) ON DELETE SET NULL ON UPDATE SET NULL ); NB : Perubahan pada parent table mengakibatkan kolom foreign key pada child table bernilai NULL
  • 10. Mahasiswa = {nim, nama, alamat, tgl_lahir} Orang_Tua = {nama_ortu, alamat_ortu) Hobbi = {nama_hobbi} Mahasiswa nim int nama varchar(15) alamat varchar(30) tgl_lahir date Orang_Tua nama_ortu varchar(15) alamat_ortu varchar(30) Hobbi nama_hobbi varchar(10)
  • 11. Dosen = {kd_dosen, nama_dos, alamat_dos} Dosen_Tetap = {kd_dosen, nik, pangkat, tgl_masuk) Dosen_LB = {kd_dosen, nama_kantor, alamat_kantor} Generalisasi Dosen