Biasanya setiap Kamis sore ba’da perkuliahan selesai saya sudah bergegas bertolak pulang menuju Lampung, nah khusus untuk minggu ini ada perubahan jadwal perkuliahan dengan adanya praktikum yang diadakan tiap jum’at mulai 14 Oktober (hari ini), jadwal pulang terpaksa dipending hingga jum’at sore. Praktikum jum’at ini diselenggarakan dalam rangka mensupport materi perkuliahan Teknologi System Basis Data (Oleh Pak Nizar/Bu Yova). Info dari System Perkuliahan Online asisten Praktikum Basis data adalah M.Budi Utama dan Irene Ully Havsa, entah beliau-beliau ini merupakan dosen tetap di Laboratorium ini , ataukah mahasiswa perpanjangan tangan dari dosen tetap pengampu mata kuliah, di Unila biasanya tim asisten praktikum untuk Mata Kuliah tertentu melibatkan mahasiswa denga reputasi baik terhadap Mata Kuliah yang pernah mereka ambil, sekilas tadi bertemu dengan Ibu Irene terlihat masih muda mungkin lebih tepat dipanggil mbak kali yah… (kemungkinan besar adalah murid dari Bu Yova/Pak Nizar). Its OK siapa pun asisten-nya tidak ada masalah yang penting bisa membantu rekan rekan selama praktikum berlangsung.
Kali pertama saya memasuki ruangan Lab Komputer MTI nuansanya nyaman dan sangat kondusif untuk kegiatan praktikum, disini disediakan komputer sebanyak 50 Unit dengan layar LCD Flat Screen merk FUJIT*U lengkap dengan furniture meja yang nyaman untuk digunakan. Ditambah lagi 4 unit AC On semakin memanjakan saya selama waktu menunggu praktikum Basis Data. Aplikasi utama yang digunakan untuk praktikum System Basis Data ini adalah Oracle database 10g Express Edition, sebenernya sudah ada release terbaru yakni versi 11g Express Edition, mungkin pertimbangan asisten butuh waktu lagi apabila dilakukan upgrade ke versi oracle terbaru, o iya kenapa ya mereka tidak menggunakan oracle full version yah ???? hmm mungkin karena biaya licence oracle yang selangit kali.

Selamat berpraktikum ria kawan-kawan..
Update untuk Materi SQL on Oracle
1. Buat tabel INVOICE dengan data berikut:
| KOLOM | TIPE | PANJANG |
| ID | NUMBER | |
| DATE | DATE | |
| BILL_TO | VARCHAR2 | 500 |
| TOTAL | NUMBER |
CREATE TABLE INVOICE ( ID NUMBER, "DATE" DATE, BILL_TO VARCHAR2(500), TOTAL NUMBER );
2. Buat tabel INVOICE_ITEM dengan data berikut:
| KOLOM | TIPE | PANJANG |
| ID | NUMBER | |
| INVOICE_ID | NUMBER | |
| PRODUCT_ID | VARCHAR2 | 500 |
| DESCRIPTION | VARCHAR2 | 1000 |
| QUANTITY | NUMBER | |
| UNIT_PRICE | NUMBER | |
| LINE_TOTAL | NUMBER |
CREATE TABLE INVOICE_ITEM ( ID NUMBER, INVOICE_ID NUMBER, PRODUCT_ID VARCHAR2(500), DESCRIPTION VARCHAR2(1000), QUANTITY NUMBER, UNIT_PRICE NUMBER, LINE_TOTAL NUMBER );
3. Pada tabel INVOICE set kolom ID menjadi Primary Key
ALTER TABLE INVOICE ADD CONSTRAINT INVOICE_PK PRIMARY KEY (ID);
4. Pada tabel INVOICE_ITEM set kolom ID menjadi Primary Key
ALTER TABLE INVOICE_ITEM ADD CONSTRAINT INVOICE_ITEM_PK PRIMARY KEY (ID);
5. Jadikan kolom INVOICE_ID pada tabel INVOICE_ITEM sebagai Foreign Key yang mengacu ke kolom ID pada tabel INVOICE (ketika invoice dihapus, maka tabel invoice_item juga dihapus)
ALTER TABLE INVOICE_ITEM ADD CONSTRAINT INVOICE_ITEM_FK FOREIGN KEY (INVOICE_ID) REFERENCES INVOICE(ID) ON DELETE CASCADE;
6. Masukkan data di bawah ini ke tabel INVOICE dan INVOICE_ITEM (data pada kedua tabel tersebut merupakan satu kesatuan)
| KOLOM | NILAI |
| ID | 1 |
| DATE | 22-APR-2010 |
| BILL_TO | PT Sekali Jalan |
| TOTAL | 1100000 |
| ID | PRODUCT_ID | DESCRIPTION | QUANTITY | UNIT_PRICE | LINE_TOTAL |
| 1 | T001 | Kursi Kayu | 6 | 100000 | 600000 |
| 2 | T002 | Meja Kayu | 2 | 250000 | 500000 |
INSERT INTO INVOICE VALUES(1,'22-APR-2010','PT Sekali Jalan',1100000);
ATAU
INSERT INTO INVOICE VALUES(1,TO_DATE('22-04-2010','DD-MM-YYYY'),'PT Sekali Jalan',1100000);
BEGIN
INSERT INTO INVOICE_ITEM VALUES(1,1,'T001','Kursi Kayu',6,100000,600000);
INSERT INTO INVOICE_ITEM VALUES(2,1, 'TOO2','Meja Kayu',2,250000,500000);
END;
7. Pada tabel INVOICE set kolom ID, DATE, BILL_TO menjadi tidak boleh NULL
ALTER TABLE INVOICE MODIFY ( ID NUMBER NOT NULL, "DATE" DATE NOT NULL, BILL_TO VARCHAR2(500) NOT NULL );
8. Coba masukkan data di bawah ini ke tabel INVOICE
| KOLOM | NILAI |
| ID | 2 |
| DATE | 23-APR-2010 |
| BILL_TO | <NULL> |
| TOTAL | 300000 |
INSERT INTO INVOICE VALUES(2,'23-APR-2010',NULL,300000);
9. Pada tabel INVOICE_ITEM set kolom ID, INVOICE_ID, PRODUCT _ID, QUANTITY menjadi tidak boleh NULL
ALTER TABLE INVOICE_ITEM MODIFY ( ID NUMBER NOT NULL, INVOICE_ID NUMBER NOT NULL, PRODUCT_ID VARCHAR2(500) NOT NULL, QUANTITY NUMBER NOT NULL );
10. Pada tabel INVOICE_ITEM set kolom PRODUCT_ID menjadi unik untuk setiap INVOICE
ALTER TABLE INVOICE_ITEM ADD CONSTRAINT INVOICE_ITEM_UNIQ UNIQUE (PRODUCT_ID,INVOICE_ID);
11. Coba tambahkan data di bawah ini ke tabel INVOICE_ITEM sesuai dengan data INVOICE pada soal No. 6
| ID | INVOICE_ID | PRODUCT_ID | DESCRIPTION | QUANTITY | UNIT_PRICE | LINE_TOTAL |
| 3 | 1 | T002 | Meja Kayu | 1 | 250000 | 250000 |
INSERT INTO INVOICE_ITEM VALUES(3,1, 'TOO2','Meja Kayu',1,250000,250000);
12. Set kolom TOTAL pada tabel INVOICE, UNIT_PRICE dan LINE_TOTAL pada tabel INVOICE_ITEM agar hanya dapat menerima nilai positif
ALTER TABLE INVOICE ADD CONSTRAINT INVOICE_CHK CHECK ( TOTAL > 0); ALTER TABLE INVOICE_ITEM ADD CONSTRAINT INVOICE_ITEM_CHK CHECK ( UNIT_PRICE > 0 AND LINE_TOTAL > 0);
13. Coba tambahkan data di bawah ini ke tabel INVOICE
| KOLOM | NILAI |
| ID | 23 |
| DATE | 20-APR-2010 |
| BILL_TO | PT Jalan Terus |
| TOTAL | -200000 |
INSERT INTO INVOICE VALUES(3,'20-APR-2010','PT Jalan Terus ',-200000);
14. Hapus data invoice dengan ID=1, kemudian Lihat (SELECT) INVOICE_ITEM yang terkait
DELETE INVOICE WHERE ID=1; SELECT * FROM INVOICE_ITEM WHERE INVOICE_ID=1;
15. Buat tabel EMPLOYEE dengan data berikut:
| KOLOM | TIPE | PANJANG |
| ID | NUMBER | |
| NAME | VARCHAR2 | 500 |
| POSITION | VARCHAR2 | 500 |
| SALARY | NUMBER |
CREATE TABLE EMPLOYEE ( ID NUMBER, NAME VARCHAR2(20), POSITION VARCHAR2(20), SALARY NUMBER );
16. Masukkan lima EMPLOYEE sesuai dengan data berikut:
| id | name | Position | Salary |
| 1 | Andi | Manager | 200000000 |
| 2 | Boni | Teller | 100000000 |
| 3 | Chairi | Teller | 100000000 |
| 4 | Dimas | Customer Service | 75000000 |
| 5 | Eki | Security | 60000000 |
BEGIN INSERT INTO EMPLOYEE VALUES(1,'Andi','Manager',200000000); INSERT INTO EMPLOYEE VALUES(2,'Boni','Teller',100000000); INSERT INTO EMPLOYEE VALUES(3,'Chairi','Teller', 100000000); INSERT INTO EMPLOYEE VALUES(4,'Dimas','Customer Service', 75000000); INSERT INTO EMPLOYEE VALUES(5,'Eki','Security',60000000); END;