Modul III. Manipulasi Tabel
Praktikum Basis Data 2018 18
MODUL III
MANIPULASI TABEL
TUJUAN
Mahasiswa dapat memasukkan data.
Mahasiswa dapat menghapus data.
Mahasiswa dapat meng-update data.
Mahasiswa dapat melakukan indeksing terhadap suatu tabel.
DASAR TEORI
Pengertian Manipulasi Tabel
Manipulasi tabel merupakan proses memodifikasi isi tabel baik menambahkan atau mengurangi isinya atau mengubah isi tabel yang sudah ada.
Berikut merupakan perintah memanipulasi tabel beserta penjelasannya:
SELECT
Perintah select digunakan untuk mengambil data dari tabel.
Sintaks:
SELECT [nama_kolom] FROM [nama_tabel] WHERE [kondisi] ORDER BY [nama_kolom]
Contoh:
SELECT * FROM data_kecamatan WHERE kota = 'Jakarta Utara' ORDER BY kecamatan
INSERT
Perintah INSERT INTO dapat dibuat dalam dua bentuk. Bentuk pertama tidak menentukan nama kolom di mana data akan dimasukkan, hanya nilai-nilai saja:
INSERT INTO table_name VALUES (value1,value2,value3,…);
Bentuk kedua harus menetapkan nama kolom dan nilai-nilai yang akan dimasukkan:
INSERT INTO table_name (column1,column2,column3,…) VALUES (value1,value2,value3,…);
Contoh INSERT INTO
Anggaplah kita ingin menyisipkan aktor/aktris baru dalam table actors.
Kita dapat menggunakan pernyataan SQL berikut:
INSERT INTO `actor`
VALUES (0, "Margot","Robie","2016-02-20")
UPDATE
Pernyataan UPDATE digunakan untuk memperbarui record yang ada dalam sebuah table.
SQL UPDATE Sintaks
UPDATE table_name
SET column1=value1,column2=value2,…
WHERE some_column=some_value;
Contoh SQL UPDATE
Berikut adalah contoh untuk memperbarui title pada table film. Query yang dipakai adalah:
UPDATE film SET title="ACE GOLDFINGER 2" WHERE film_id=2
DELETE
Pernyataan DELETE digunakan untuk menghapus baris dalam sebuah table.
SQL DELETE Syntax
DELETE FROM table_name
WHERE some_column=some_value;
Contoh SQL DELETE
Berikut adalah contoh untuk menghapus record dari table film dengan id=2
DELETE FROM film WHERE film_id=2;
Contoh Query Manipulasi Tabel Dan Penjelasannya
Primary Key
Key adalah satu gabungan dari beberapa atribut yang dapat membedakan semua basis data (row) dalam tabel secara unik. Primary key sendiri adalah suatu atribut atau satu set minimal atribut yang tidak hanya mendefinisikan secara unik suatu kejadian spesifik tetapi juga dapat mewakili setiap kejadian dari suatu kejadian.
Pengertian lainnya Primary key adalah suatu nilai dalam basis data yang digunakan untuk mengidentifikasi suatu baris dalam tabel atau Primary Key adalah asalah satu atribut dari candidat key dapat dipilih menjadi primary key dengan tiga kriteria sebagai berikut:
1) Key tersebut lebih natural untuk dijadikan acuan
2) Key tersebut lebih sederhana
3) Key tersebut cukup unique
Agar data tidak kembar, maka hendaknya filed tersebut di deklarasikan dengan primary key atau kunci primer, kunci primer tersebut hanya dapat dibuat sekali, jadi kunci primer tersebut sebenarnya diciptakan untuk menjadi kolom utama sebuah tabel. Jika user memasukkan data kembar maka proses tersebut akan ditolak database, kondisi akan adanya data kembar ini dikenal dengan istilah rududansi data.
Syarat utama untuk membuat kunci primer adalah kolom tersebut tidak boleh kosong atau diset dengan nilai NOT NULL.
Syntax penulisan perintah kunci primer adalah:
CREATE TABLE nama_table (
Kolom_primer type(length) NOT NULL primary key,
Kolom2 type(length));
Foreign Key
Foreign Key adalah Sebuah kumpulan field dalam satu relasi yang digunakan untuk me"refer" (menunjuk) ke suatu baris (tuple) pada relasi yang lain (harus berkorespondensi dengan primary key pada relasi yang kedua). Pengertian lain Foreign key adalah satu attribute yang melengkapi satu relationship yang menunjukan ke induknya, dengan kata lain keduanya saling berkaitan, atau dengan kata lain foreign key merupakan sembarang atribut yang menunjuk kepada primary key pada tabel lain. Contoh syntax penulisan perintah foreign key adalah:
CREATE TABLE mhs(
nim CHAR(8) NOT NULL PRIMARY KEY,
nama VARCHAR(50) NOT NULL,
alamat VARCHAR(60) NOT NULL,
id_matkul CHAR(5),
FOREIGN KEY(id_matkul) REFERENCES matkul(id_matkul));
Alternate Key (Unique Key)
Key ini sebenarnya hampir sama dengan fungsi primary key yaitu berjenis unique key. Maksudnya adalah mungkin saja primary key yang dibuat pada suatu tabel adalah merupakan autonumber (angka yang bertambah terus-menerus ketika proses insert data, sehingga tidak dimungkinkan terdapat nilai yang sama), dikarenakan tidak diperbolehkan ada dua primary key maka dapat dibantu oleh alternate key ini sebagai penanda unique-nya sebuah record dengan record lain. Dalam sebuah tabel diperbolehkan lebih dari satu alternate key.
Primary Key atau Unique Key merupakan kunci yang secara unik mengidentifikasi baris pada tabel. Primary Key atau Unique Key dapat diterapkan pada satu atau lebih field. Apabila primary key atau unique key diterapkan pada satu atau lebih field maka pada field tersebut tidak boleh bernilai sama untuk seluruh baris pada tabel. Kemudian yang membedakan primary key dan unique key adalah setiap kita memberikan constraint primary key pada field maka constraint NOT NULL akan diberikan pada field tersebut secara otomatis, sedangkan pada unique key tidak.
Syntax penulisan perintah kolom unique adalah:
Create table nama_table (
Kolom_unique type(length) not null unique,
Kolom_2 type (length));
Non Unique Key
Non Unique Key adalah Key yang bisa lebih dari satu dalam sebuah tabel dan tidak mendefinisikan unique antar record di dalam tabel tersabut. Key ini biasa digunakan untuk membantu proses pencarian (select) data pada sebuah kolom yang sering digunakan untuk proses tersebut.
Auto Increment
Metode auto increment merupakan sebuah kolom yang dapat merekam data dan melakukan penambahan data secara otomatis, penambahan disini dimaksud penambahan yang sifatnya berurutan dari kecil ke besar. Auto increment hanya dapat dibuat apabila data berupa angka atau integer (termasuk long int, tiny int) selain itu tidak dapat menggunakan auto increment. Metode penambahan otomatis ini biasanya digunakan untuk mendefinisikan sebuah kode berupa kunci utama seperti nomor record atau nomor urut pada baris tabel.
Penggunaan bentu Auto Increment ini memiliki syarat-syarat khusus yaitu data harus berupa data integer dan kunci primer, selain itu hanya diizinkan untuk membentuk sebuah kunci dengan kemampuan auto increment dalam satu tabel.
Syntax penulisan perintah kolom unique adalah:
Create table nama_table (
Kolom_primer type(length) not null auto_increment,
Kolom_2 type(length));
Unsigned Zerofill
Pada auto increment data yang masuk secara otomatis disesuaikan dengan urutan data yang masuk ke dalam tabel, seperti 1,2,3, dst. Data tersebut merupakan data tunggal , bagaimana jika seseorang ingin membuat sebuah angka seperti 001, 002, dst. Unsigned Zerofill dapat menyelesaikan masalah tersebut, bentuk penulisan angka akan disesuaikan dengan panjang record pada kolom kunci yang ada. Pemodelan kunci primer tersebut dapat diciptakan dengan menambahkan fungsi unsigned zerofill sebelum fungsi auto_increment, syntaxnya adalah:
Create table nama_table (
Kolom_primer type(length) unsigned zerofill not null auto_increment,
Kolom_2 type(length));
Menentukan Nilai Default
Situasi bisa saja berubah jika menginginkan sebuah kolom untuk menggunakan nilai default ketika memasukkan atau mengupdate suatu baris, jika tidak ada nilai apapun yang disediakan. Hal ini sangat berguna ketika sebuah nilai seringkali berulang-ulang dalam sebuah kolom atau merupakan nilai yang paling sering digunakan dalam kolom tersebut. MySQL mengijinkan user untuk memberikan nilai default melalui penggunaan klausa DEFAULT. Misal, definisi tabel berikut menyertakan sebuah kolom yang didefinisikan dengan nilai default 'Kosong':
CREATE TABLE Biografi
(
IDPenulis SMALLINT UNSIGNED NOT NULL,
TahunLahir YEAR NOT NULL,
KotaKelahiran VARCHAR(40) NOT NULL DEFAULT 'Kosong'
);
Indexing
Indexes adalah suatu bagian yang special dari system database yang digunakan untuk peningkatan kemampuan menyeluruh dari proses yang ada.
MySQL mengijinkan antara 16 sampai 64 indexes untuk setiap table, akan tetapi ini tergantung storage engine yang digunakan.
Setiap index dapat diletakan di field (kolom) mana saja, mulai dari field 1 sampai field 15. Walaupun penggunaan beberapa field (multicolumn) index tidak terlihat nyata, akan tetapi penggunaan ini akan memberikan kemudahan untuk kemampuan pencarian pada sebuah atau banyak field (column).
Pada lain hal, ada sebuah hal yang menjadikan kelemahan dari penggunaan index. Dimana dengan index kita dapat meningkatkan kecepatan dalam membaca data dari database, tetapi akan membuat lambat proses perubahan data dalam database, karena perubahan akan berpengaruh pada data yang di index. Anda akan mendapat hasil yang normal ketika hanya menampilkan data dari database jika dibandingkan anda melakukan proses tambah (insert) data atau ubah (update) data yang sudah ada.
Pengguna index, baik digunakan pada field (column) :
1. Ketika sering menggunakan WHERE pada bagian query.
2. Ketika sering menggunakan ORDER BY pada bagian query.
3. Ketika memiliki banyak perbedaan nilai.
4. Ketika sering menggunakan JOIN pada bagian query.
MySQL memiliki beberapa tipe dari Index yang berbeda, yaitu :
1. INDEX.
2. UNIQUE
3. PRIMARY KEY.
4. FULLTEXT index
PERMASALAHAN
Memanipulasi tabel dengan perintah-perintah berikut :
Membuat perintah SQL memasukkan data minimal 3 data setiap tabel
Membuat perintah SQL menghapus data minimal 1 data
Membuat perintah SQL mengubah data minimal 1 data
Indexing data
Gambar ERD
DATA HASIL
Perintah SQL Memasukkan Data
Perintah SQL Menghapus Data
Perintah SQL Mengubah Data
Indexing Data
ANALISA DATA
Membuat Perintah SQL Memasukkan Data
MariaDB [p1]> insert into dokter values(1,'andy','jakarta','082236145540','THT');
Query OK, 1 row affected (0.06 sec)
MariaDB [p1]> insert into dokter values(2,'ari','mataram','082673235578','Jantung');
Query OK, 1 row affected (0.00 sec)
MariaDB [p1]> insert into dokter values(3,'anas','ampenan','085735875526','Saraf');
Query OK, 1 row affected (0.01 sec)
MariaDB [p1]> insert into dokter values(4,'yusuf','kupang','087346632575','Kanker');
Query OK, 1 row affected (0.00 sec)
Query diatas merupakan perintah untuk memasukkan sebanyak 4 data kedalam tabel dokter pada databases, sehingga ketika isi table dokter di tampilkan akan menampilkan tabel berikut:
Membuat Perintah SQL Menghapus Data
MariaDB [p1]> delete from dokter where nama_dokter="yusuf";
Query OK, 1 row affected (0.04 sec)
Query diatas merupakan perintah untuk menghapus data pada tabel dokter dengan kondisi dimana nama_dokter = "yusuf", sehingga data pada baris dengan nama_dokter = "yusuf" akan dihapus. Maka tampilan tabel dokter akan menjadi sebagai berikut:
Membuat Perintah SQL Mengubah Data
MariaDB [p1]> update dokter set nama_dokter = 'Dr. Andy' where nama_dokter='andy'
-> ;
Query OK, 1 row affected (0.03 sec)
Rows matched: 1 Changed: 1 Warnings: 0
Query diatas merupakan perintah untuk mengubah data pada tabel dokter dengan kondisi dimana nama_dokter = "andy", sehingga data pada kolom dengan nama_dokter = "andy" akan diubah menjadi nama_dokter = 'Dr. Andy'. Maka tampilan tabel dokter akan menjadi sebagai berikut:
Indexing Data
MariaDB [p1]> create index praktikum on dokter (nama_dokter);
Query OK, 0 row affected (0.07 sec)
Record: 0 Duplicates: 0 Warnings: 0
Query diatas merupakan perintah untuk membuat index pada tabel dokter kolom nama_dokter dengan nama indeks praktikum. Maka Hasil Index yang telah dibuat akan menampilkan berikut :
Untuk melihat kolom yang di index pada tabel dokter dapat kita beri perintah berikut:
KESIMPULAN
Perintah INSERT INTO dapat dibuat dalam dua bentuk. Bentuk pertama tidak menentukan nama kolom di mana data akan dimasukkan, hanya nilai-nilai saja:
INSERT INTO table_name VALUES (value1,value2,value3,…);
Bentuk kedua harus menetapkan nama kolom dan nilai-nilai yang akan dimasukkan:
INSERT INTO table_name (column1,column2,column3,…) VALUES (value1,value2,value3,…);
Pernyataan UPDATE digunakan untuk memperbarui record yang ada dalam sebuah table.
SQL UPDATE Sintaks:
UPDATE table_name
SET column1=value1,column2=value2,…
WHERE some_column=some_value;
Pernyataan DELETE digunakan untuk menghapus baris dalam sebuah table.
SQL DELETE Sintaks :
DELETE FROM table_name
WHERE some_column=some_value;
DAFTAR PUSTAKA
Anonim. 2018. Laporan Praktikum Basis Data. Laboratorium Komputer. Jurusan Teknik Elektro. Fakultas Teknik. Universitas Mataram.
Belajar Mysql : Perintah Sql Insert, Update, Delete. 2016.
http://kursuswebmaster.com/belajar-mysql-perintah-sql-insert-update-delete/. Diakses pada tanggal 09 Oktober 2018.
Query Mysql Untuk Manipulasi Tabel. 2014.
http://oneszaccess.blogspot.com/2014/04/query-mysql-untuk-manipulasi-tabel.html. Diakses pada tanggal 09 Oktober 2018.
Tutorial Select, Insert, Update, Delete Pada Sql. 2013
http://www.checkitouts.info/2013/01/22/tutorial-select-insert-update-delete-pada-sql/. Diakses pada tanggal 09 Oktober 2018.
TUGAS
Nama : Andi Ardhian
NIM : F1B015009
Perintah ON DELETE CASCADE dan ON UPDATE CASCADE
ON DELETE CASCADE
ON UPDATE CASCADE
TUGAS
Nama : Ari Mulyo Prakoso
NIM : F1B015010
Perintah ON DELETE CASCADE dan ON UPDATE CASCADE
ON DELETE CASCADE
ON UPDATE CASCADE
TUGAS
Nama : Anas Segaf Mulachela
NIM : F1B015007
Perintah ON DELETE CASCADE dan ON UPDATE CASCADE
ON DELETE CASCADE
ON UPDATE CASCADE