1. Query yang tepat untuk memasukkan data pada tabel EMP yang memiliki 2 kolom (ID_NUMBER,NAME) adalah
a. INSERT INTO EPM (ID_NUMBER,ENAME) VALUES (1,‟Alqodri‟); b. INSERTINTO EMP (ID_NUMBER,NAME) VALUES (1,‟Alqodri‟); c. INSERT INTO EMP (ID_NUMBER,NAME) VALUE (1,‟Alqodri‟); d. INSERT INTO EMP (ID_NUMBER,NAME) VALUES (1,‟Alqodri‟);
2. Query yang tepat untuk mengubah data tabel EMP yang memiliki gaji 1000 menjadi 15000, dimana tabel tersebut hanya memiliki 2 kolom yaitu ID_NUMBER dan SALadalah
a. UPDATE SET sal=15000 where SAL=1000 from EMP;
b. UPDATE SET sal=15000 where ID_NUMBER=1000 from EMP; c. UPDATE SET sal=15000 where ID_NUMBER=1 from EMP; d. UPDATE SET sal=1000 where ID_NUMBER=15000 from EMP;
3. User SCOUT ingin mengubah salah satu data pada tabel EMP yang memiliki 3 kolom (ID_NUMBER, NAME dan SAL). User tersebut ingin mengubah nama karyawan yang memiliki ID_NUMBER 15. Query yang tepat adalah
a. UPDATE SET NAME=‟ALQODRI‟ where ID_NUMBER =15 from EMP;
b. UPDATE SET ENAME=ALQODRI‟ where ID_NUMBER =15 from EMP;
c. UPDATE SET NAME=‟ALQODRI‟ where ID_NUMBER =15 from SCOUT;
d. UPDATE SET ID_NUMBER =15 where NAME=‟ALQODRI‟ from EMP;
4. Hal yang terjadi jika dalam pembuatan query delete user lupa menggunakan klausa FROM adalah
a. Data dalam tabel terhapus semua b. Query error
c. Tidak terdapat data yang terhapus d. Semua tabel terhapus
105
F. Rangkuman
Data Manipulation Language (DML) membahas cara memanipulasi data pada suatu tabel yang pernah dibuat sebelumnya. Kegiatan manipulasi data meliputi,
1. Memasukan data ke dalam tabel (insert), Sintak dasar untuk memasukkan data adalah:
insert into <tabel>[(<kolom i, ... , kolom j>)] values (<value i , ... , value j>);
2. Memperbaharui data (update),
Sintak dasar untuk memperbarui data adalah: Update <tabel>set
<kolom i> = <ekspresi i> , ... , <kolom j> = <ekspresi j>
[where <kondisi>];
3. Menghapus data (delete),
Sintak dasar untuk memperbarui data adalah:
Delete from <tabel> [where<kondisi>];
4. Memilih atau menyeleksi data (select)
G. Umpan Balik dan Tindak Lanjut
1. Apakah anda sudah mampu menulis query dengan mengimplementasi-kan syntax Data Manipulation Language pada SQL, dan berapa prosen tingkat kompetensinya?
Setelah menyelesaiakan lembar kerja dan menjawab latihan, isilah tabel berikut ini:
IPK Hasil Yang
Diperoleh
Rencana Tindak Lanjut
Menjelaskan syntax DML dalam memasukkan data (insert data).
106
Menjelaskan syntax DML dalam mengubah data (update data)
Menjelaskan syntax DML dalam menghapus data (delete data)
Menjelaskan syntax DML dalam menampilkan data (select data)
H. Kunci Jawaban
1. d 2. a 3. a 4. a110
Kegiatan Pembelajaran 6:
Data Definition Language Pada SQL
A. Tujuan
Setelah mengikuti kegiatan pembelajaran 6 ini, peserta diklat diharapkan dapat:
Menulis query dengan mengimplementasikan syntax Data Definiton Language pada SQL
B. Indikator Pencapaian Kompetensi
Indikator pencapaian pada kegiatan pembelajaran ini adalah:
1. Menjelaskan syntax DDL dalam membuat tabel baru (create table) 2. Menjelaskan syntax DDL dalam mengubah struktur tabel (alter table) 3. Menjelaskan syntax DDL dalam menghapus tabel (drop table).
C. Uraian Materi
Data Difinitions Language (DDL) mambahas tentang hal-hal yang berhubungan dengan struktur tabel yang meliputi,
1. Cara membuat tabel baru (create table) , 2. Mengubah struktur tabel (alter table) dan 3. Menghapus tabel (drop table).
1. Membuat Tabel ( Create Table )
Sintak untuk membuat sebuah tabel kosong baru adalah seperti dibawah ini,
create table <table>(
<kolom 1><tipe data> [not null] [unique] [<kolom constraint>],
...
<kolom n><tipe data> [not null] [unique] [<kolom constraint>],
[<table constraint>] );
Setiap kolom, harus ditetapkan nama dan type data, sedangkan nama kolom harus unique atau tidak boleh ada dua nama atribut yang sama di
111 dalam sebuah tabel. Difinisi antara kolom satu dengan kolom yang lain dipisah dengan menggunakan koma. Penulisan nama tidak membedakan penggunaan huruf besar maupun huruf kecil.
Contoh :
Stetemen create table untuk tabel EMP2 adalah create table EMP2 (
EMPNO number(4) not null ,
ENAME varchar2(30) not null,
JOB varchar2(10) , MGR number(4) , HIREDATE date SAL number (7,2), DEPTNO number(2) , );
Catatan :selain kolom EMPNO dan ENAME berlaku nilai null.
Penamaan Constraints
Definisi suatu tabel dapat mencakup beberapa rincian termasuk didalamnya adalah constraints. Constraints atau batasan nilai merupakan suatu usaha untuk mengelompokkan nilai dalam himpunan yang berlaku. Pada dasarnya ada dua tipe constraints yang disediakan yaitu : column
constraints yang berhubungan dengan satu kolom, sedangkan yang
lainnya adalah table constraints yang dapat berhubungan dengan lebih dari satu kolom atau beberapa kolom. Dalam sesi ini kita hanya konsentrasi pada constraints yang sangat sederhana.
Spesifikasi constraints (yang sederhana) adalah seperti dibawah ini, [constraints <nama>] primary key | unique | not null
Suatu constraints dapat berupa nama yang sangat disarankan agar nama yang digunakan berupa informasi yang berarti. Jika di dalam constraint tidak disertakan nama, maka ORACLE secara otomatis akan memberikan nama SYS_C<number> pada constraint. Constraint yang sangat penting di dalam database adalah constraint primary key. Constraint primary
key memungkinkan identifikasi pada setiap baris didalam tabel secara
112
dapat menjamin tidak akan terjadi duplikasi di dalam sebuah tabel. Sebagai contoh pada tabel EMP yang kita miliki,
create table EMP (
EMPNO number(4) constraint pk _emp primary key ... );
Mendefinisikan bahwa atribut EMPNO sebagai primary key, sehingga setiap nilai untuk atribut EMPNO hanya terdapat satu kali (tidak ada duplikasi nilai) pada tabel EMP.
Contoh :
Kita akan membuat tabel yang diberi nama PROJECT untuk menyimpan informasi tentang keproyekan. Setiap proyek, kita ingin menyimpan nomor dan nama proyeknya, nama pegawai manager proyek, budget dan jumlah personil yang yang ikut bekerja pada proyek tersebut serta tanggal proyek dimulai dan tanggal proyek selesai. Kondisi-kondisi lain yang harus diperhatikan antara lain,
1. Proyek diidentifikasi oleh nomor proyek, 2. Nama proyek harus unique,
3. Manager dan budget proyek harus didefinisikan. Definisi tabel yang dimaksud adalah,
create table PROJECT (
PNO number(3) constraint prj_pk primary key,
PNAME varchar2(60) unique, PMGR number(4) not null, PERSONS number(5),
BUDGET number(8,2) not null, PSTART date,
113 Gambar 6. 1 Hasil Eksekusi Query Membuat Tabel
Constraint unique dapat memiliki lebih dari satu atribut, tetapi tata tulisnya harus dirubah menjadi unique (<kolom i, ... , <kolom j>) sebagai contoh bahwa tidak ada dua proyek yang mempunyai tanggal selesainya sama,
constraint tgl_tdk_sama unique (PEND.PSTART)
Di bawah ini adalah checklist sederhana yang harus diperhatikan sebelum membuat tabel,
a. Atribut-atribut apa saja yang akan disimpan?, tipe data apa yang dipergunakan pada atribut-atribut?, apakah harus menggunakan
varchar2 atau malah menggunakan char .
b. Kolom yang mana yang akan dijadikan primary key?
c. Kolom yang mana menggunakan nilai null?, dan kolom yang mana yang tidak boleh duplikasi?
d. Apakah ada nilai default untuk kolom tertentu?
2. Mengubah Tabel ( Alter Tabel )
Mengubah tabel dapat disamakan dengan kegiatan memodifikasi suatu tabel yang sudah ada sebelumnya dengan menggunakan statemen ALTER TABLE. Kegiatan memodifikasi dapat berarti juga merubah struktur tabel dalam artian menghapus atau bahkan menambah satu atau beberapa kolom. Sintak dari stetemen ALTER TABLE adalah sebagai berikut,
Alter table <tabel>
Add (<kolom><tipe data>[default<value>]<kolom constraint>]);
114
Untuk sintak yang lain akan didiskusikan pada sesi berikutnya. Contoh:
Jika ingin menambah kolom pada tabel PROJECT yang telah dibuat, maka query yang digunakan adalah
ALTER TABLE PROJECT
ADD customer_name varchar2(45);
Gambar 6. 2 Struktur Awal Tabel
Gambar 6. 3 Struktur Setelah Terjadi Penambahan Kolom
3. Menghapus Tabel (Drop Table)
Terkadang kita harus menghapus tabel yang pernah dibuat karena sudah tidak dibutuhkan lagi atau karena salah, untuk keperluan ini kita dapat menggunakan perintah atau sintak SQL drop table yang secara lengkap dapat dituliskan sbb,
115 Contoh:
Jika ingin menghapus tabel PROJECT yang telah dibuat, maka query yang digunakan adalah
DROP TABLE PROJECT;
Gambar 6.3 Hasil Query Menghapus Tabel
Perintah drop table <tabel> akan sukses dilakukan jika tabel yang dihapus adalah tabel yang berdiri sendiri (tidak mempunyai relasi dengan tabel yang lain) atau jika menghapus tabel relasi (tabel yang mengacu pada tabel yang lain) harus dilakukan dengan aturan yang benar.
D. Aktivitas Pembelajaran
Aktivitas pada kegiatan pembelajaran 6, mencakup topik-topik berikut: 1. Membuat query untuk membuat tabel
2. Membuat query untuk mengubah struktur tabel 3. Membuat query untuk menghapus tabel
No Aktivitas Pembelajaran Keterlaksanaan 1 Apersepsi tentang Data
Definition Language pada SQL
Ya Tidak
2 Penyampaian materi Ya Tidak 3 Membaca uraian materi
pembelajaran
Ya Tidak
4 Memahami uraian materi pembelajaran
Ya Tidak
5 Melaksanakan kegiatan-kegiatan pada kegiatan
116
pembelajaran 1
6 Bertanya tentang materi pembelajaran 1
Ya Tidak
7 Berdiskusi dengan teman tentang materi pembelajaran
Ya Tidak 8 Mengembangkan materi pembelajaran Ya Tidak 9 Mengerjakan latihan/tugas yang diberikan Ya Tidak
E. Latihan / Kasus / Tugas
1. Query yang digunakan untuk menghapus tabel EMP2 adalah a. Delete table EMP2
b. Drop table EMP2 c. Backspace table EMP2 d. Clear table EMP2
2. Query yang digunakan untuk menambahkan kolomnama dengan tipe varchar2 dengan panjang karakter 20 pada tabel tabel EMP2 adalah
a. ALTER TABLE EMP2 ADD nama varchar2(20); b. ALTER TABLE EMP2 ADD nama varchar2(2); c. ALTER TABLE nama ADD EMP2 varchar2(20); d. ALTER TABLE EMP2(20) ADD nama varchar2;
3. Query yang digunakan untuk membuat tabel EMP2 dengan 2 kolom adalah
a. create table EMP2 (PNO number(3) constraint prj_pk primary key, PNAME varchar2(60) unique);
b. create table EMP2 unique (PNO number(3) constraint prj_pk primary key, PNAME varchar2(60));
c. create table EMP2 (PNO number(3) constraint unique prj_pk primary key, PNAME varchar2(60));
117 d. create table EMP2 unique (PNO number(3) unique
constraint prj_pk primary key, PNAME varchar2(60));
4. Hal yang terjadi jika dalam query drop tabel, user lupa menambahkan nama tabel yang dihapus adalah
a. Data dalam tabel terhapus semua b. Query error
c. Tidak terdapat data yang terhapus d. Semua tabel terhapus
F. Rangkuman
Data Defiinition Language (DDL) mambahas tentang hal-hal yang berhubungan dengan struktur tabel yang meliputi,
1. Cara membuat tabel baru (create table) , Struktur query yang digunakan adalah
create table <table>(
<kolom 1><tipe data> [not null] [unique] [<kolom constraint>],
...
<kolom n><tipe data> [not null] [unique] [<kolom constraint>],
[<table constraint>] );
2. Mengubah struktur tabel (alter table) Struktur query yang digunakan adalah
Alter table <tabel>
Add (<kolom><tipe data>[default<value>]<kolom constraint>]);
3. Menghapus tabel (drop table). Struktur query yang digunakan adalah
118
G. Umpan Balik dan Tindak Lanjut
1. Apakah Anda sudah mampu menulis query dengan mengimplementasikan syntax Data Definiton Language pada SQL, dan berapa prosen tingkat kompetensinya?
Setelah menyelesaiakan lembar kerja dan menjawab latihan, isilah tabel berikut ini:
IPK Hasil Yang
Diperoleh
Rencana Tindak Lanjut
Menjelaskan syntax DDL dalam membuat tabel baru (create table) Menjelaskan syntax DDL dalam mengubah struktur tabel (alter table)
Menjelaskan syntax DDL dalam menghapus tabel (drop table).
H. Kunci Jawaban
1. b 2. a 3. a 4. b122
Kegiatan Pembelajaran 7:
Data Control Language Pada SQL
A. Tujuan
Setelah mengikuti kegiatan pembelajaran 7 ini diharapkan pesertad iklat dapat:
Menulis query dengan mengimplementasikan syntax Data Control Language pada SQL
B. Indikator Pencapaian Kompetensi
Indikator pencapaian pada kegiatan pembelajaran ini adalah:
1. Menjelaskan syntax DCL dalam menyimpan transaksi yang telah dilakukan (commit)
2. Menjelaskan syntax DCL dalam membatalkan transaksi yang pernah dilakukan (rollback)
3. Menjelaskan syntax DCL dalam memberikan hak akses user (grant) 4. Menjelaskan syntax DCL dalam mencabut hak akses user (revoke)
C. Uraian Materi
Kegiatan memodifikasi database yang memanfaatkan stetemen insert, update, dan delete adalah suatu kegiatan yang biasanya disebut tansaksi (transaction). Kegiatan transaksi ini disimpan secara sementara dalam database system. Ada beberapa kegiatan yang tergolong dalam Data Control Language (DCL) ini diantaranya adalah,
1. Menyimpan transaksi yang telah dilakukan (commit) 2. Membatalkan transaksi yang telah terjadi (rollback) 3. Memberi hak akses (grant)
4. Mencabut hak akses (revoke)
Selama kegiatan transaksi yang kita lakukan belum diakhiri dengan stetemen commit, maka masih dimungkinkan untuk menganulir (undo) semua modifikasi yang telah kita lakukan dengan menggunakan stetemen
123 1. Commit dan Rollback
Secara teoritis, commit adalah syntax untuk menjadikan transaksi menjadi permanen, sedangkan rollback adalah pembatalan transaksi.
Contoh penggunaan commit:
Gambar 7 1 . Penggunaan commit
Contoh penggunaan rollback:
124
2. Grant dan Revoke
Untuk memberikan hak/izin akses oleh administrator (pemilik utama) server kepada user. Hak akses tersebut berupa hak membuat (CREATE), mengambil (SELECT), menghapus (DELETE), mengubah (UPDATE), dan hak khusus berkenaan dengan sistem databasenya.Perintah GRANT digunakan untuk memberikan hak akses menampilkan, menambah, memodifikasi dan menghapus data pada pada suatu table.Secara umum, syntax Grant adalah sebagai berikut:
GRANT [akses / privileges] ON [table]
FROM [user];
Contoh:
Perintah berikut digunakan untuk memberikan hak akses pada tabel departmens user anakwadung.
GRANT select, insert, update, delete ON departmens TO anakwadung;
REVOKE, merupakan perintah yang digunakan untuk mencabut suatu hak aksesseorang user pada tabel dalamdatabase tertentu. Secara umum, syntax Grant adalah sebagai berikut:
REVOKE [akses / privileges] ON [table]
FROM [User];
Contoh:
Perintah berikut digunakan untuk mencabut hak akses pada tabel departmens user anakwadung.
REVOKE select, insert, update, delete ON departmens TO anakwadung;
D. Aktivitas Pembelajaran
Aktivitas pada kegiatan pembelajaran 7, mencakup topik-topik berikut: 1. Menyimpan transaksi yang telah dilakukan (commit ),
2. Membatalkan transaksi yang telah terjadi (rollback ), 3. Memberi hak akses (grant) dan
125 4. Mencabut hak akses (revoke)
No Aktivitas Pembelajaran Keterlaksanaan 1 Apersepsi tentang Data Control
Language (DCL)
Ya Tidak
2 Penyampaian materi Ya Tidak 3 Membaca uraian materi
pembelajaran
Ya Tidak
4 Memahami uraian materi pembelajaran
Ya Tidak
5 Melaksanakan kegiatan-kegiatan pada kegiatan pembelajaran 1
Ya Tidak
6 Bertanya tentang materi pembelajaran 1
Ya Tidak
7 Berdiskusi dengan teman tentang materi pembelajaran
Ya Tidak 8 Mengembangkan materi pembelajaran Ya Tidak 9 Mengerjakan latihan/tugas yang diberikan Ya Tidak
E. Latihan / Kasus / Tugas
1. Berikut ini mana yang bukan merupakan kondisi setelah COMMIT? a. Semua SAVEPOINT dihapus
b. Semua ROLLBACK dihapus
c. Perubahan data disimpan permanen di dalam database d. Semua user bisa melihat peribahan data yang sudah dilakukan
2. ROLLBACK dapat diartikan dengan; a. Menganulir perintah
b. Memulai dari awal konfigurasi c. Membuat seperti sedia kala
126
d. Membatalkan insert data
3. Perintah berikut digunakan untuk memberikan hak akses CREATE, READ, UPDATE dan DELETE pada tabel dep user anakwadung adalah
a. GRANT select, insert, update, drop ON dep TO anakwadung;
b. GRANT select, create, update, delete ON dep TO anakwadung;
c. GRANT select, insert, update, delete ON dep TO anakwadung;
d. GRANT read, insert, update, delete ON dep TO anakwadung;
4. Perintah berikut digunakan untuk melepas hak akses CREATE, READ, UPDATE dan DELETE pada tabel dep user anakwadung adalah
a. REVOKE select, insert, update, drop ON dep TO anakwadung;
b. REVOKE select, create, update, delete ON dep TO anakwadung;
c. REVOKE select, insert, update, delete ON dep TO anakwadung;
d. REVOKE read, insert, update, delete ON dep TO anakwadung;
F. Rangkuman
Kegiatan memodifikasi database yang memanfaatkan stetemen insert, update, dan delete adalah suatu kegiatan yang biasanya disebut tansaksi (transaction). Kegiatan transaksi ini disimpan secara sementara di dalam database system. Ada beberapa kegiatan yang tergolong dalam Data Control Language (DCL) ini diantaranya adalah,
a. Menyimpan transaksi yang telah dilakukan ( commit ), b. Membatalkan transaksi yang telah terjadi ( rollback ), c. Memberi hak akses ( grant ) dan
d. Mencabut hak akses (revoke).
Selama kegiatan transaksi yang kita lakukan belum diakhiri dengan statemen commit, maka masih dimungkinkan untuk menganulir (undo)
127 semua modifikasi yang telah kita lakukan dengan menggunakan stetemen rollback.
G. Umpan Balik dan Tindak Lanjut
1. Apakah anda sudah mampu menulisquerydengan mengimplementasikan syntax Data Control Language pada SQL, dan berapa persen tingkat kompetensinya?
Setelah menyelesaiakan lembar kerja dan menjawab latihan, isilah tabel berikut ini:
IPK Hasil Yang
Diperoleh
Rencana Tindak Lanjut
Menjelaskan syntax DCL dalam menyimpan transaksi yang telah dilakukan (commit) Menjelaskan syntax DCL dalam membatalkan transaksi yang pernah dilakukan (rollback) Menjelaskan syntax DCL dalam memberikan hak akses user (grant) Menjelaskan syntax DCL dalam mencabut hak akses user (revoke)
H. Kunci Jawaban
1. b2. a 3. c 4. c
129
EVALUASI
1. Setelah mendeskripsikan table PEGAWAI, Anda menemukan bahwa kolom GAJI memiliki tipe data NUMBER (8,2). Nilai GAJI manakah yang tidak diperbolehkan dikolom ini?
A. GAJI=12345678
B. GAJI=123456.78 C. GAJI=123456 D. GAJI=12.34
2. Bila SYSDATE = 07-JUN-1996 12:05 pm, nilai manakah yang dikembalikan setelah mengeksekusi pernyataan berikut?
SELECT ADD_MONTHS (SYSDATE,-1) FROM DUAL;
A. 07-MAY-1996 12:05 pm
B. 06-JUN-1996 12:05 pm C. 07-JUL-1996 12:05 pm D. 06-MAY-1996 12:05 pm
3. Nilai manakah yang dikembalikan setelah mengeksekusi pernyataan berikut? Ingatlah bila 01-JAN-2009 terjadi padaThursday.
SELECT NEXT_DAY ('01-JAN-2009','wed') FROM DUAL;
A. 07-JAN-2009
B. 31-JAN-2009 C. Wednesday D. Thursday
4. Jika perintah DELETE memiliki klausal WHERE yang memberikan lingkup beberapa baris, apa yang akan terjadi jika terdapat bagian error ketika dieksekusi?
A. Perintah akan melewatkan baris yang menyebabkan kesalahan dan terus mengeksekusi perintah berikutnya.
B. Perintah akan berhenti dikesalahan, dan baris yang telah dihapus akan terhapus secara permanen.
130
C. Perintah yang telah dilakukan sebelum baris yang menyebabkan kesalahan akan di batalkan.
D. Seluruh transaksi akan dibatalkan.
5. Anda memiliki beberapa indek pada tabel yang ingin dihapus. Namun Anda ingin menghindari penghapusan indek yang terkait dengan constraint. Pilih pernyataan berikut yang tidak akan menghapus indek yang terkait dengan constraint?
A. DROP INDEX
B. ALTER TABLE DROP PRIMARY KEY CASCADE C. ALTER TABLE DROP CONSTRAINT
D. DROP TABLE
6. User NOVITA dapat mengelola hak istimewa CREATESESSION. NOVITA memberikan hak istimewa CREATE SESSION yang sama kepada YONO. YONO kemudian memberikan hak istimewa kepada SUPRI. NOVITA menemukan YONO memberikan hak istimewa kepada SUPRI, sehingga hak istimewa YONO dicabut oleh NOVITA. Siapa yang tidak dapat terhubung ke database?
A. Hanya YONO
B. Hanya SUPRI dan YONO C. NOVITA, YONO dan SUPRI D. Hanya NOVITA dan SUPRI
7. Grup function banyak digunakan untuk melakukan kalkulasi data numerik. Tetapi ada beberapa grup function yang bisa digunakan pada data karakter dan tanggal. Di bawah ini, pilih grup function yang bisa digunakan untuk data numerik, karakter, dan tanggal.
A. MAX()
B. SUM() C. AVG() D. DECODE()
131 8. Pilih pernyataan WHERE yang dapat mengekstrak nilai DEPARTMENT_NAME yang terdapat karakter literal "er" dari tabel DEPARTMENTS. Pernyataan SELECT dan FROM adalah :
SELECT DEPARTMENT_NAME FROM DEPARTMENTS: A. WHERE DEPARTMENT_NAME IN ('%e%r');
B. WHERE DEPARTMENT_NAME LIKE '%er%';
C. WHERE DEPARTMENT_NAME BETWEEN 'e' AND 'r'; D. WHERE DEPARTMENT_NAME CONTAINS 'e%r';
9. Di bawah ini, mana yang bukan fungsi untuk tipe data numerik? A. ROUND()
B. MOD()
C. TO_NUMBER()
D. CEIL()
10. Perhatikan statment di bawah ini : create table tab1 (c1 number(1), c2 date); alter session set nls_date_format='dd-mm-yy'; insert into tab1 values (1.1,‟28-09-15‟); Apakah insert akan berhasil ?
A. insertakan gagal, sebab nilai 1.1 terlalu panjang
B. insertakan gagal, sebab ‟28-09-15‟ adalah STRING bukan DATE C. insertakan gagal karena nilai 1.1 dan ‟28-09-15‟
D. insertakan berhasil
11. Perhatikan struktur tabel siswa dan tabel copy_siswa --Tabel siswa
Kolom Tipe_data --- ---
ID NUMBER (6) Primary Key
NAMA VARCHAR2 (30) TGL_LHR DATE KLS VARCHAR2 (5) -- Tabel copy_siswa Kolom Tipe_data --- ---
ID NUMBER (6) Primary Key
132
TGL_LHR DATE
KLS VARCHAR2 (5)
Anda inigin melakukan penggabungan data dari tabel copy_siswa ke tabel siswa
Perintah yang benar adalah :
A. MERGE siswa s ON copy_siswa c USING (s.id = c.id)
WHEN MATCHED THEN UPDATE set s.id=c.id,
s.nama=c.nama, s.tgl_lhr = c.tgl_lhr s.kls=c.kls WHEN NOT MATCHED THEN
INSERT values (c.id, c.nama, c.tgl_lhr, c.kls);
B. MERGE siswa s USING copy_siswa c ON (s.id = c.id)
WHEN MATCHED THEN UPDATE set s.id=c.id,
s.nama=c.nama, s.tgl_lhr = c.tgl_lhr s.kls=c.kls
WHEN NOT MATCHED THEN
INSERT values (c.id, c.nama, c.tgl_lhr, c.kls);
C. MERGE siswa s USING copy_siswa c ON (s.id = c.id)
WHEN MATCHED THEN UPDATE siswa set s.id=c.id,
s.nama=c.nama, s.tgl_lhr = c.tgl_lhr s.kls=c.kls WHEN NOT MATCHED THEN
INSERT values (c.id, c.nama, c.tgl_lhr, c.kls); D. MERGE siswa s USING copy_siswa c
ON (s.id = c.id)
WHEN MATCHED THEN UPDATE siswa set s.id=c.id,
s.nama=c.nama, s.tgl_lhr = c.tgl_lhr s.kls=c.kls WHEN NOT MATCHED THEN
133 12. Perhatikan pernyataan berikut,
create table t1 as select * from regions where 1=2; Akan menghasilkan :
A. Akan adakesalahankarena kondisitidak mungkin.
B. Tidak ada tabel yangdibuatkarena nilai balikannya FALSE.
C. Tabel t1 akan dibuat tetapi tidak ada baris yang dimasukkan karena nilai balikannya FALSE.
D. Tabel t1 akan dibuat dan setiap baris dalam REGIONS dimasukkan karena nilai balikannya NULL sebagai filter baris.
13. Anda diminta untuk melakukan modifikasi tabel siswa dengan menjadikan kolom ID_SISWA sebagai primary key. Pilih pernyataan yang benar.
A. ALTER TABLE siswa ADD PRIMARY KEY id_siswa;
B. ALTER TABLE siswa ADD CONSTRAINT PRIMARY KEY (id_siswa); C. ALTER TABLE siswa ADD CONSTRAINT stud_id_pk PRIMARY KEY
id_siswa;
D. ALTER TABLE siswa ADD CONSTRAINT stud_id_pk PRIMARY KEY (id_siswa);
14. Anda telah menghapus 870 baris dari sebuah tabel. Untuk menyimpan perubahan database yang telah Anda lakukan, perintah manakah yang digunakan?
A. SAVEPOINT
B. COMMIT
C. ROLLBACK
D. SET TRANSACTION
15. Anda ingin memberikan user DIMAS kemampuan untuk memperbarui data dalam table PEGAWAI serta kemampuan untuk mengelola akses bagi orang lain. Perintah manakah yang digunakan ?
A. GRANT update TO DIMAS;
B. GRANT update ON pegawai TO DIMAS;
C. GRANT update ON pegawai TO DIMAS WITH GRANT OPTION;
134
KUNCI JAWABAN
1. A 2. A 3. A 4. C 5. A 6. A 7. A 8. B 9. C 10. D 11. B 12. C 13. D 14. B 15. C135
PENUTUP
Desain sistem basis data merupakan salah satu modul diklat PKB level dasar yang harus dikuasai oleh guru produktif Rekayasa perangkat Lunak.