PRAKTIKUM
SEPTEMBER 26
1
MODUL 2 PRAKTIK BASIS DATA
Komponen SQL
A. Kompetensi
Mengenal dan memahami fungsi dari komponen-komponen SQL
B. Dasar Teori
SQL adlah suatu bahasa yang digunakan untuk mengakses data pad basis data relational.
Komponen SQL terdiri dari tiga bagian , yaitu DDL (Data Definition Language).
A. DDL
a. Creating Table
CREATE TABLE <nama_tabel>
(<nama_kolom_1> <tipe_data>(<panjang_data>)
[UNIQUE] [NOT NULL] [PRIMARY KEY] [DEFAULT <nilai_default>]
[referential_constraint_definition] [INDEX],
<nama_kolom_2> <tipe_data> (<panjang_data>)
[UNIQUE] [NOT NULL] [PRIMARY KEY] [DEFAULT <nilai_default>]
[referential_constraint_definition] [INDEX], …);
Contoh:
1. CREATE TABLE Suplier (KodeSpulier Integer Primary Key, NamaSuplier
Char(20) NOT NULL, Alamat Char(30) NOT NULL DEFAULT ‘Jl. Gejayan
No.1’ , Telpon Char(15));
2. CREATE TABLE Suplier (KodeSuplier Integer< NamaSuplier Char(20)
NOT NULL, Alamat Char(30) NOT NULL DEFAULT ‘JL.GEjayan No.1’ ,
Telpon Char(15) , Primary Key (KodeSuplier);
b. Creting Index
CREATE INDEX <nama_index> ON <nama_tabel>(<nama_kolom>);
contoh:
CREATE INDEX Suplier_my ON SUplier(NamaSuplier);
c. Altering
ALTER TABLE <nama_tabel>
[ADD <nama_kolom_1> <tipe_data> (<panjang_data>),
<nama_kolom_2> <tipe_data> (<panjang_data>), …..;]
[ADD CONSTRAINT <nama_constraint> UNIQUE (<nama_kolom>;]
[DROP <nama_kolom_1>,….;]
Merubah nama kolom
Alter Table <nama_tabel> CHANGE
<nama_kolom_lama> <nama_kolom_baru> <tipe_data>(<panjang_data>)
[FIRST | AFTER <nama_kolom>];
2
Menambah dan menghapus kolom
ALTER TABLE <nama_tabel>
ADD <anma_kolom_baru> <tipe_data>(<panjang_data>)
[FIRST | AFTER <nama_kolom>];
d. Dropping
Drop TABLE <nama_table>;
B. DML
a. Inserting
INSERT INTO <nama_tabel> [(<nama_kolom_1> , <nama_kolom_2>,…)]
VALUES (<nilai_kolom_1> , <nilai_kolom_2>,….);
b. Updating
UPDATE <nama_tabel>
SET <nama_kolom_1 = nilai_kolom_1>
[WHERE <kondisi>]
c. Deletion
DELETE FROM <nama_tabel>
WHERE <kondisi>
d. Selection
SLECT <nama_kolom_1, nama_kolom_2,….
FROM <anam_tabel>
WHERE <kondisi>
e. Creating View
CREATE VIEW <name> AS<SELECT statement>;
C. DCL
Untuk Administrator Database. Printah-perintahnya antara lain :
- CREATE DATABASE
3
- CREAATE USER
- DROP USER
- GRANT PRIVILEGE
- REVOKE PRIVILEGE
D. Alat/Bahan
1. Komputer sistem operasi Windows
2. Perangkat lunak RDBMS MySQL Server
E. Langkah Kerja
1. Pastikan MySQL Server sudah teinstall
2. Klik Start -> Run dan ketik cmd lalu tekan OK untuk masuk ke MS DOS Prompt
3. Masuk ke direktori MySQL Server diindtall , misal C://mysql/bin
F. Bahan Diskusi
Dengan Menggunakan perintah SQL:
1. Tambah kolom baru pada tabel Suplier untuk data tgl_lahir , kota , dan email
Jawab
MariaDB [suplier]> ALTER TABLE Suplier ADD tgl_lahir Char(30);
Query OK, 0 rows affected (0.176 sec)
Records: 0 Duplicates: 0 Warnings: 0
3. Pastikan Primary Key pada tabel Supier adalah kolom kode Suplier dan untuk Nama Suplier
mempunyai batasan UNIQUE kemudian masukkan data supplier berikut ini :
Kode Suplier : 222
Nama Suplier : Sejahtera Terus
Alamat : Jl . Soekarno-Hatta No.31
Kota : Bandung
Telepon : 022-44573
Email :
4
Jawab
MariaDB [suplier]> INSERT INTO Suplier(KodeSuplier,NamaSuplier,Alamat,Kota,Telpon)
VALUES(222,'Sejahtera Terus','Jl. Soekarno-Hatta No.31','Bandung','022-445573');
Query OK, 1 row affected (0.085 sec)
5. Tambah data Suplier dengan beberapa data Suplier (data bebas) , minimal 5 suplier
5
+-------------+-------------+------------------+---------------+------------+------------------+
| KodeSuplier | NamaSuplier | Alamat | Telpon | kota | email |
+-------------+-------------+------------------+---------------+------------+------------------+
| 223 | Sejah1 | Jl.Wonosari km 4 | 0812328005522 | Bantul | sejah1@gmail.com |
| 224 | Sejah2 | Jl.Wonosari km 5 | 0812328005523 | Yogyakarta | sejah2@gmail.com |
| 225 | Sejah3 | Jl.Wonosari km 6 | 0812328005524 | Bantul | sejah3@gmail.com |
| 226 | Sejah4 | Jl.Wonosari km 7 | 0812328005525 | Yogyakarta | sejah4@gmail.com |
| 227 | Sejah5 | Jl.Wonosari km 8 | 0812328005526 | Bantul | sejah5@gmail.com |
+-------------+-------------+------------------+---------------+------------+------------------+
5 rows in set (0.000 sec)
8. Tampilkan semua data Suplier yang beralamat di kota Bandung.(saya ganti dengan Yogyakarta)
MariaDB [suplier]> SELECT * FROM Suplier WHERE Kota ='Yogyakarta';
+-------------+-------------+------------------+---------------+------------+------------------+
| KodeSuplier | NamaSuplier | Alamat | Telpon | kota | email |
+-------------+-------------+------------------+---------------+------------+------------------+
| 224 | Sejah2 | Jl.Wonosari km 5 | 0812328005523 | Yogyakarta | sejah2@gmail.com |
| 226 | Sejah4 | Jl.Wonosari km 7 | 0812328005525 | Yogyakarta | sejah4@gmail.com |
+-------------+-------------+------------------+---------------+------------+------------------+
2 rows in set (0.000 sec)
9. Periksalah data email pada tabel SUplier. Bisakah Suplier mempunyai data email yang sama dengan
Suplier lain?
MariaDB [suplier]> INSERT INTO Suplier(KodeSuplier,NamaSuplier,Alamat,Kota,Telpon,Email)
VALUES(228,'Sejah6','Jl.Wonosari km 9','Bantul','0812328005527','sejah5@gmail.com');
Query OK, 1 row affected (0.076 sec)
Maka pada saat ini , Suplier bisa punya email yang sama dengan supplier lain
10. Jika data supplier ternyata dapat mempunyai data email yang sama, bagaimana jika data email
untuk seriap Suplier tidak boleh sama?
MariaDB [suplier]> UPDATE Suplier SET Email='sejah6@gmail.com' WHERE
6
NamaSuplier='Sejah6';
Query OK, 1 row affected (0.083 sec)
Rows matched: 1 Changed: 1 Warnings: 0
MariaDB [suplier]> ALTER TABLE Suplier ADD CONSTRAINT almtemail UNIQUE (email);
Query OK, 0 rows affected (0.367 sec)
Records: 0 Duplicates: 0 Warnings: 0