WorksheetsUAS-02
Total questions: 128
Worksheet time: 1hrs 4mins
Tabel transaksi (transaction-safe) pada MySQL memberi keuntungan utama apa saat terjadi crash sistem?
Data pulih otomatis melalui recovery otomatis
Indeks diperbesar untuk pencarian lebih cepat
Semua query otomatis dioptimasi oleh server
Tabel dipindah ke memori untuk sementara
Manakah yang BUKAN keuntungan tabel non-transaksi seperti MyISAM?
Penggunaan memori lebih sedikit
Dukungan rollback untuk membatalkan perubahan
Eksekusi lebih cepat karena tanpa transaksi
Pemakaian ruang disk lebih sedikit
MyISAM mendukung tiga format penyimpanan baris. Pasangan yang benar adalah:
Static, Dynamic, Compressed
Inline, External, Archive
Row, Column, Hybrid
Paged, Slotted, Clustered
Karakteristik InnoDB yang membedakannya dari MyISAM adalah apa?
Mendukung foreign key dan menggunakan tablespace
Hanya menyimpan data di RAM sementara
Menyimpan beberapa file indeks terpisah
Tidak memerlukan primary key sama sekali
Untuk kebutuhan tabel sementara yang hilang saat koneksi putus, tipe yang paling tepat adalah:
BDB dengan hidden primary key
InnoDB dengan tablespace tunggal
MyISAM dengan format dynamic
HEAP yang menyimpan di memori (RAM)
Dalam konteks integritas referensial, apa arti aksi Restrict?
Record anak otomatis dibuat saat induk dibuat
Record induk tak dapat dihapus sebelum anak dihapus
Record induk otomatis diganti dengan nilai null
Record anak selalu dilindungi dari perubahan
Apa yang terjadi pada aksi Cascade ketika record pada tabel induk dihapus?
Record terkait pada tabel anak ikut dihapus
Record pada tabel anak berubah menjadi null
Record pada tabel anak tetap ada tanpa perubahan
Record pada tabel anak dikunci permanen
BDB dalam MySQL memiliki sifat apa terkait transaksi dan primary key?
Dukungan transaksi dan dapat membuat hidden primary key
Tidak mendukung transaksi dan index nonclustered
Hanya untuk read-only dan kompresi kuat
Membutuhkan tablespace seperti InnoDB
Perintah MySQL apa yang digunakan untuk melihat tipe storage engine yang didukung server?
show status\G
show create\G
show tables\G
show engines\G
Manakah sintaks yang tepat untuk membuat database bernama mti?
create database mti;
create schema mti();
make database mti;
new database mti;
Saat membuat tabel mbarang dengan engine MyISAM, pernyataan mana yang benar?
Gunakan engine=myisam di akhir definisi
Tipe decimal wajib memiliki skala 2
Set primary key wajib bertipe int
MyISAM selalu mendukung foreign key
Untuk mendefinisikan primary key pada kolom kode di tabel pelanggan, mana yang sesuai?
primary key(kode) not null varchar
kode char(3) unique foreign key
primary key varchar(3) on kode
kode varchar(3) not null primary key
Engine mana yang diperlukan agar foreign key berfungsi pada tabel pelanggan?
InnoDB
MyISAM
Memory
CSV
Manakah definisi foreign key yang merujuk ke pelanggan(kode) dengan aksi RESTRICT pada DELETE dan UPDATE?
foreign key(ko_plgn) references pelanggan(kode) on delete restrict on update restrict
foreign key(ko_plgn) ref pelanggan(kode) on cascade delete update
constraint fk foreign(ko_plgn) ref pelanggan kode restrict
foreign key ko_plgn references pelanggan on restrict delete update
Mengapa index pada kolom yang menjadi foreign key (mis. ko_plgn) sering dibuat?
Mengubah tipe data kolom otomatis
Mengaktifkan trigger bawaan engine
Mewajibkan nilai kolom menjadi unik
Mempercepat pencarian relasi dan integritas
Perintah mana yang menampilkan definisi pembuatan tabel transaksi secara lengkap?
show create table transaksi \G
show table status transaksi \G
describe transaksi \G
explain select * from transaksi
Skenario: Tabel transaksi memiliki foreign key ko_plgn RESTRICT ke pelanggan(kode). Anda menghapus pelanggan dengan kode '102' setelah ada transaksi ko_plgn='102'. Apa yang terjadi?
Pelanggan terhapus dan transaksi tetap ada
Kolom ko_plgn pada transaksi menjadi NULL
Semua transaksi terkait terhapus otomatis
Penghapusan ditolak karena referensi ada
Di tabel detrans, foreign key ke barang(kode) dan transaksi(no_fak) diberi ON UPDATE CASCADE ON DELETE CASCADE. Konsekuensi yang benar adalah?
Perubahan atau hapus parent akan otomatis propagasi
Hapus parent selalu gagal karena child ada
Perubahan parent tak memengaruhi baris child
Hanya perubahan parent yang ditolak selalu
Perintah mana yang mengubah nilai kolom kode menjadi 'A13' hanya untuk baris dengan kode 'A11' pada tabel barang?
alter table barang change kode 'A11' to 'A13';
replace into barang(kode) values('A13') where kode='A11';
update barang where kode='A11' set kode='A13';
update barang set kode='A13' where kode='A11';
Tujuan menjalankan perintah: delete from detrans where ko_brg='B21'; adalah…
menghapus kolom ko_brg 'B21' dari tabel detrans
menghapus baris detil transaksi dengan barang 'B21'
menghapus constraint yang merujuk ke barang 'B21'
menghapus semua barang dengan kode 'B21' dari barang
Setelah menjalankan: alter table transaksi drop foreign key koplgfk; apa efeknya pada tabel transaksi?
relasi ke pelanggan tidak lagi dipaksa oleh database
semua baris transaksi terkait pelanggan langsung terhapus
kolom ko_plgn otomatis dihapus dari tabel
primary key pelanggan berpindah ke tabel transaksi
Perintah mana yang MENAMBAHKAN kembali foreign key pada tabel transaksi yang merujuk ke pelanggan(kode) dengan perilaku ON DELETE RESTRICT?
create index koplgfk on transaksi(ko_plgn) references pelanggan(kode) restrict;
alter table transaksi add constraint koplgfk foreign key (ko_plgn) references pelanggan(kode) on delete restrict;
alter table transaksi modify koplgfk references pelanggan(kode) delete restrict;
alter table transaksi add foreign key koplgfk (ko_plgn) on delete restrict pelanggan(kode);
Manakah urutan tindakan yang aman sebelum menghapus baris barang berkode 'A13' jika sudah direferensikan oleh detrans?
hapus barang 'A13' dulu, lalu hapus baris di detrans
hapus baris terkait di detrans, lalu hapus barang 'A13'
ubah primary key barang, lalu hapus baris detrans
drop tabel detrans sementara, lalu hapus barang
Perintah mana yang menampilkan definisi pembuatan tabel termasuk constraint untuk memeriksa nama foreign key?
explain transaksi structure;
show constraints from transaksi;
describe transaksi extended;
show create table transaksi \G
Perintah mana yang digunakan untuk memulai blok transaksi sehingga perubahan tidak langsung disimpan permanen?
savepoint
begin
commit
rollback
Apa efek dari set autocommit=0 pada sesi MySQL?
Perubahan menunggu commit eksplisit
Perubahan langsung tersimpan otomatis
Semua query dibatalkan otomatis
Hak akses ditingkatkan sementara
Dalam contoh: set autocommit=0; begin; insert ke tabel; commit; Apa tujuan commit pada akhir rangkaian perintah?
Mengunci tabel untuk pembacaan
Membatalkan semua perubahan sementara
Menyimpan semua perubahan permanen
Mengaktifkan autocommit kembali
Jika setelah begin Anda melakukan beberapa insert lalu mengetik rollback, apa yang terjadi pada perubahan tersebut?
Perubahan tetap karena autocommit
Tabel terhapus sementara
Hanya query terakhir dibatalkan
Semua dibatalkan ke kondisi awal
Pada skenario memasukkan header transaksi ke tabel transaksi dan detail ke tabel detrans, mengapa diletakkan dalam satu transaksi?
Menjamin konsistensi antar tabel
Meningkatkan ukuran log file
Mempercepat perintah select saja
Mengurangi kebutuhan indeks unik
Perintah mana yang tepat untuk memeriksa data sementara dalam satu transaksi sebelum diputuskan commit atau rollback?
show create table nama_tabel
analyze table nama_tabel
flush tables with read lock
select * from nama_tabel
Anda menjalankan: set autocommit=0; begin; insert into transaksi values('008','2006-12-15','101'); select * from transaksi; Tanpa commit lalu keluar klien MySQL. Apa kemungkinan hasil saat login ulang?
Baris '008' tidak ada di tabel
Baris '008' tersimpan permanen
Tabel transaksi menjadi kosong
Semua indeks menjadi tidak valid
Perintah mana yang digunakan untuk mengakhiri sesi klien MySQL pada contoh yang diberikan?
stop client
exit now
close;
\q
Perintah yang tepat untuk login ke klien MySQL sebagai pengguna root dengan meminta kata sandi adalah…
mysql connect root secure
mysql -u root -p
mysql login root password
mysql --user=root --askpass now
Setelah berhasil login, perintah untuk memilih database sistem yang menyimpan tabel pengguna adalah…
use users;
use information;
use system;
use mysql;
Tujuan menjalankan perintah show tables; pada database mysql adalah…
Mengubah struktur tabel user
Menghapus tabel yang tidak dipakai
Membuat tabel pengguna baru
Menampilkan daftar semua tabel
Anda perlu meninjau struktur tabel yang menyimpan akun dan hak akses pengguna. Perintah yang paling sesuai untuk melihat kolom-kolomnya adalah…
SCAN FIELDS user;
INFO COLUMNS user;
SHOW USERS COLUMNS;
DESCRIBE user;
Seorang admin telah login sebagai root, memilih database mysql, lalu mengeksekusi DESCRIBE user;. Langkah tambahan mana yang paling efektif untuk memverifikasi keberadaan akun tertentu tanpa mengubah data?
DROP TABLE user;
GRANT ALL ON *.* TO user;
FLUSH PRIVILEGES NOW;
SELECT host, user FROM user;
Perintah MySQL mana yang digunakan untuk membuat akun pengguna baru dengan kredensial tertentu?
GRANT ALL ON *.* TO ...
ALTER USER ... IDENTIFIED BY ...
SET PASSWORD FOR ... = PASSWORD(...)
CREATE USER ... IDENTIFIED BY ...
Setelah menambahkan user baru, tindakan yang tepat untuk memastikan hak akses dibaca ulang server adalah menggunakan perintah:
COMMIT PRIVS
RESTART SERVER
FLUSH PRIVILEGES
RELOAD USERS
Anda ingin mengganti password user ti...cb1@localhost menjadi ti...cb2. Perintah yang paling tepat adalah:
UPDATE mysql.user SET Password='ti...cb2'
GRANT USAGE TO ti...cb1@localhost WITH 'ti...cb2'
CREATE USER ti...cb1@localhost IDENTIFIED BY 'ti...cb2'
ALTER USER ti...cb1@localhost IDENTIFIED BY 'ti...cb2'
Dua cara valid untuk mengubah password pengguna pada MySQL versi klasik yang ditunjukkan materi adalah:
GRANT ... WITH PASSWORD ... dan REVOKE PASSWORD ...
CREATE USER ... IDENTIFIED BY ... dan DROP USER ...
UPDATE USER ... SET PASSWORD ... dan RESET PASSWORD ...
ALTER USER ... IDENTIFIED BY ... dan SET PASSWORD FOR ... = PASSWORD(...)
Perintah mana yang digunakan untuk menampilkan kolom user, host, dan password dari tabel user pada database sistem?
SELECT user, host, password FROM user;
SELECT * FROM mysql;
DESCRIBE user, host, password;
SHOW USERS HOST PASSWORD;
Seorang admin ingin login sebagai user baru ti...cb1 menggunakan klien baris perintah. Sintaks yang benar adalah:
mysql -u root -p ti...cb1
mysql --user=ti...cb1 --pass
mysql -p ti...cb1
mysql -u ti...cb1 -p
Perintah MySQL mana yang menghapus user secara langsung dari sistem otentikasi?
revoke all privileges from ti…cb2@localhost;
drop user ti…cb2@localhost;
delete from user where user='ti…cb2';
delete from db where user='ti…cb2';
Untuk menghapus seluruh entri user dari tabel hak akses secara manual, urutan tabel yang perlu dibersihkan paling lengkap adalah apa?
user, db, tables_priv, columns_priv
db, user, columns_priv, tables_priv
columns_priv, tables_priv, db, user
tables_priv, db, user, columns_priv
Sintaks yang benar untuk membuat user baru dengan password adalah mana?
insert user u@localhost with password 'pwd';
create user u@localhost identified by 'pwd';
grant user u@localhost identified 'pwd';
add user u identified by password;
Hak global SELECT dan INSERT untuk semua database diberikan dengan perintah apa?
grant select, insert to *.* for u@localhost;
grant select, insert on * to u@localhost;
grant select, insert on *.* to u@localhost;
grant select, insert on *.db to u@localhost;
Bagaimana cara menambahkan hak UPDATE dan DELETE global pada user yang sudah ada?
grant update, delete on *.* to u@localhost;
grant update delete *.* for u@localhost;
alter user add update, delete for u@localhost;
insert update, delete into mysql.db for u;
Perintah yang tepat untuk mencabut hak INSERT dan UPDATE global adalah apa?
revoke insert, update on *.* from u@localhost;
revoke insert update from *.* to u@localhost;
delete insert, update from *.* for u@localhost;
revoke all insert update *.* of u@localhost;
Memberi user hak SELECT dan DELETE hanya pada semua tabel database pjual dilakukan dengan perintah?
grant select, delete on pjual.* to u@localhost;
grant select, delete on *.* to pjual@localhost;
grant select delete pjual.* for u@localhost;
grant select, delete pjual to u@localhost;
Menambah hak INSERT dan UPDATE khusus database pjual untuk user yang sama dilakukan dengan?
grant insert, update on *.* to pjual@localhost;
grant insert, update on pjual.* to u@localhost;
alter grant insert update on pjual.* to u;
grant insert update pjual to u@localhost;
Mencabut hak UPDATE dan DELETE pada database pjual dari user tersebut menggunakan perintah apa?
delete update, delete from pjual.* for u;
revoke select on pjual.* from u@localhost;
revoke update delete *.* from u@localhost;
revoke update, delete on pjual.* from u@localhost;
Memberikan hak SELECT dan INSERT hanya pada tabel pjual.barang menggunakan perintah?
grant select, insert pjual.barang to u@localhost;
grant select insert pjual.barang for u@localhost;
grant select, insert on pjual.* to u@localhost;
grant select, insert on pjual.barang to u@localhost;
Untuk menambah hak UPDATE dan DELETE pada tabel pjual.barang, perintah yang benar adalah?
alter table grant update delete to u;
grant update delete pjual.barang for u@localhost;
grant update, delete on pjual.* to u@localhost;
grant update, delete on pjual.barang to u@localhost;
Bagaimana cara memberikan hak kolom spesifik (kode, nama) untuk SELECT dan UPDATE pada tabel pjual.barang?
grant select(kode,nama), update(kode,nama) on pjual.barang to u@localhost;
grant select, update(kode,nama) on pjual.barang to u@localhost;
grant select columns kode,nama on pjual.barang to u;
grant select, update columns(kode,nama) for pjual.barang;
Perintah mana yang memberikan semua hak pada seluruh database untuk user tertentu beserta kemampuan meneruskan hak tersebut?
grant all on *.* to user with grant option
grant usage on *.* to user with grant option
grant all on db.* to user without grant option
grant select on *.* to user without grant option
Apa efek dari perintah revoke all privileges, grant option from user@localhost;
Menghapus user beserta semua database
Menghapus hanya hak select pada user
Menonaktifkan hanya hak insert dan update
Menghapus semua hak dan opsi grant dari user
Perintah apa yang digunakan untuk menghapus user secara langsung?
remove user nama identified
revoke user nama@localhost
delete from mysql.user where nama
drop user nama@localhost
Manakah yang memberikan hak select dan insert ke semua tabel pada database tertentu pjual untuk user?
grant update, delete on pjual.* to user
grant all on pjual.barang to user
grant select, insert on *.* to user
grant select, insert on pjual.* to user
Jika user diberi grant update, delete on pjual.barang, maka hak apa yang dimiliki?
Dapat mengubah dan menghapus baris pada tabel barang
Dapat memilih dan menambah baris pada tabel barang
Dapat membuat dan menjatuhkan tabel di pjual
Dapat mengubah semua database tanpa batasan
Kolom-level grant mana yang tepat untuk mengizinkan hanya select(kode,nama) dan insert(kode,nama) pada tabel barang?
grant select(kode,nama), insert(kode,nama) on pjual.barang to user
grant select, insert on pjual.barang to user
grant insert on pjual.* to user
grant select(harga), insert(harga) on pjual.barang to user
Dengan hak select(kode,nama) saja, pernyataan mana yang akan gagal?
select * from barang
select kode,nama from barang
insert into barang(kode,nama) values('C22','CELANA')
update barang set nama='T SHIRT' where kode='C22'
User memiliki insert(kode,nama) pada barang. Pernyataan mana yang valid tanpa error?
select * from barang
update barang set nama='T SHIRT' where kode='C22'
insert into barang(kode,nama,harga) values('C22','CELANA',150000)
insert into barang(kode,nama) values('C22','CELANA')
Setelah grant update(kode,nama) on pjual.barang, pengujian yang paling sesuai adalah?
select * from barang
update barang set nama='T SHIRT' where kode='C22'
drop table pjual.barang
insert into barang(kode,nama) values('C22','CELANA')
Apa efek dari revoke insert(kode,nama) on pjual.barang from user?
Menghapus hak insert pada kolom kode,nama saja
Menghapus semua hak pada seluruh tabel barang
Menambahkan hak insert pada semua kolom
Menghapus hak update pada kolom harga
Perintah SQL mana yang tepat untuk mengekspor seluruh baris tabel barang ke file teks pada Windows?
select * from barang into outfile 'c:\ti...\rbarang1.dat'
copy table barang to 'c:\ti...\rbarang1.dat'
dump barang to 'c:\ti...\rbarang1.dat'
export table barang to file 'c:\ti...\rbarang1.dat'
Perintah mana yang digunakan untuk memuat kembali data dari file teks rbarang1.dat ke tabel baru rbarang1?
import 'c:\ti...\rbarang1.dat' as table rbarang1
insert file 'c:\ti...\rbarang1.dat' into rbarang1
load data infile 'c:\ti...\rbarang1.dat' into table rbarang1
restore file 'c:\ti...\rbarang1.dat' to rbarang1
Agar rbarang1 memiliki struktur yang sama sebelum memuat data, perintah mana yang paling sesuai?
create table rbarang1 like barang with no data
create table rbarang1 select * from barang where kode=''
clone table rbarang1 from barang empty
create table rbarang1 from barang without rows
Utilitas baris perintah yang digunakan untuk mengimpor file teks menjadi tabel dengan nama sama dengan file adalah
mysqlimport
mysqldump
mysqladmin
mysqld
Saat menggunakan mysqlimport untuk memuat c:\ti...\rbarang2.dat ke database pjual, nama tabel yang benar adalah
barang2
barang
rbarang
rbarang2
rbrg2
Perintah yang mengekspor struktur dan data seluruh database pjual ke skrip SQL adalah
mysqldump --no-data -u root -p pjual > c:\ti...\bpjuals
mysqldump -u root -p pjual > c:\ti...\bpjual
mysqldump -t -u root -p pjual > c:\ti...\bpjuald
mysqladmin -u root -p dump pjual > c:\ti...\bpjual
Opsi mysqldump untuk menyalin hanya struktur tabel tanpa data adalah
--no-data
-t
-c
--schema-only
Untuk mengekspor hanya data tanpa definisi tabel dari database pjual, gunakan
mysqldump -d -u root -p pjual > c:\ti...\bpjuald
mysqldump -c -u root -p pjual > c:\ti...\bpjuald
mysqldump --no-data -u root -p pjual > c:\ti...\bpjuald
mysqldump -t -u root -p pjual > c:\ti...\bpjuald
Perintah mysqldump untuk hanya tabel barang (struktur dan data) ke file rbarang3 adalah
mysqldump -u root -p pjual barang > c:\ti...\rbarang3
mysqldump --table barang pjual > c:\ti...\rbarang3
mysqldump pjual -t barang > c:\ti...\rbarang3
mysqldump -d pjual barang > c:\ti...\rbarang3
Menggunakan opsi -c pada mysqldump akan
mengompres file hasil dump
mengimpor kembali data otomatis
menghapus komentar dari hasil dump
menghasilkan perintah INSERT lengkap
Langkah yang benar untuk mengembalikan database dari file skrip SQL bpjual adalah
mysqladmin -u root -p create rpjual, lalu mysql -u root -p rpjual < c:\ti...\bpjual
mysql -u root -p create rpjual < c:\ti...\bpjual
mysqldump -u root -p rpjual < c:\ti...\bpjual
mysqlimport -u root -p rpjual "c:\ti...\bpjual"
Ketika menggunakan SELECT INTO OUTFILE pada Windows, hal yang perlu diperhatikan agar perintah berhasil adalah
Path dan izin folder tujuan benar
Nama file harus sama dengan tabel
Server harus berhenti sementara
File harus memiliki ekstensi .sql
Perintah mana yang digunakan untuk membuat database baru bernama rspjual di server lokal?
mysql -u root -p create rspjual
mysqladmin -u root -p create rspjual
mysqldump -u root -p create rspjual
mysql --host=localhost create rspjual
Untuk mengimpor struktur tabel dari file bpjuals ke database rspjual, perintah yang tepat adalah:
mysql --import rspjual c:\ti...\bpjuals
mysql -u root -p rspjual < c:\ti...\bpjuals
mysqldump -u root -p rspjual < c:\ti...\bpjuals
mysqladmin -u root -p rspjual < c:\ti...\bpjuals
Manakah contoh benar menyalin database pjual dari localhost ke database spjual pada host yang sama dengan pipa?
mysqldump --host=localhost spjual | mysql --user=root pjual
mysqldump -u root -p pjual | mysql --host=localhost --user=root --password=pisang spjual
mysql --host=localhost --user=root --password=pisang pjual | mysqldump spjual
mysqldump -u root -p spjual | mysql -u root -p pjual
Apa tujuan opsi --host=192.168.1.6 pada perintah mysql saat memigrasikan database?
Mengaktifkan kompresi data transfer
Menentukan port koneksi server tujuan
Menentukan alamat server tujuan remote
Mengatur mode aman saat restore
Skenario: Anda harus menyalin database pjual dari server lokal ke server 192.168.1.6 sebagai user jupiter. Password jupiter. Perintah pipa yang benar adalah:
mysqldump --user=jupiter --password=jupiter slpjual | mysql --host=192.168.1.6 -u root -p pjual
mysqldump -u root -p pjual | mysql --host=192.168.1.6 --user=jupiter --password=jupiter slpjual
mysqldump -u root -p pjual | mysql --host=192.168.1.6 -u jupiter -p slpjual
mysqldump --host=192.168.1.6 -u jupiter -p pjual | mysql -u root -p slpjual
Langkah yang tepat sebelum mengirim hasil dump ke server lain untuk database baru slpjual adalah:
Menjalankan ANALYZE TABLE pada semua tabel
Mengaktifkan binlog pada server sumber
Membuat user baru bernama slpjual
Membuat database slpjual pada server tujuan
Dalam MySQL, kapan trigger dieksekusi jika didefinisikan dengan BEFORE INSERT pada sebuah tabel?
Sebelum tabel dibuat di skema
Sesudah baris baru dimasukkan
Sesudah seluruh transaksi dikomit
Sebelum baris baru dimasukkan
Kata kunci mana yang digunakan untuk merujuk nilai kolom setelah operasi UPDATE pada trigger MySQL?
OLD.kolom
THIS.kolom
NEW.kolom
AFTER.kolom
Perintah mana yang menampilkan daftar trigger beserta detailnya di database aktif MySQL?
SHOW TRIGGERS
DESCRIBE TRIGGERS
LIST TRIGGERS
EXPLAIN TRIGGERS
Baris trigger berikut: create trigger update_barang before insert on detrans for each row ... menunjukkan apa?
Event dijalankan sekali per transaksi
Constraint yang memblokir penambahan
Prosedur tersimpan tanpa target tabel
Trigger baris dieksekusi setiap baris
Dalam contoh, ekspresi set stok = stok - new.jlh_brg where kode = new.ko_brg; melakukan apa terhadap tabel barang saat terjadi INSERT pada detrans?
Mengurangi stok sesuai jumlah barang
Menyalin stok ke tabel transaksi
Menghapus baris barang terkait
Menambahkan stok sesuai jumlah barang
Jika guru meminta mengubah waktu eksekusi trigger dari BEFORE menjadi AFTER tanpa menghapusnya, perintah yang tepat adalah?
RENAME TRIGGER ... TO AFTER MODE
CREATE OR REPLACE TRIGGER ... AFTER INSERT ...
ALTER TRIGGER ... SET TIME AFTER
UPDATE TRIGGER ... TO AFTER INSERT
Apa perbedaan utama penggunaan OLD dan NEW dalam trigger MySQL?
OLD merujuk nilai lama, NEW nilai baru
OLD nilai baru, NEW nilai lama
Keduanya selalu nilai baru
Keduanya hanya untuk DELETE
Manakah perintah yang benar untuk menghapus trigger bernama update_barang?
DROP TRIGGER update_barang;
TRUNCATE TRIGGER update_barang;
DELETE TRIGGER update_barang;
REMOVE TRIGGER update_barang;
Perintah mana yang benar untuk membuat view bernama vpjual dari hasil seleksi kolom dan join beberapa tabel?
CREATE TABLE vpjual FROM SELECT kolom_dipilih;
MAKE VIEW vpjual WITH SELECT kolom_dipilih;
INSERT VIEW vpjual USING SELECT kolom_dipilih;
CREATE VIEW vpjual AS SELECT kolom_dipilih;
Apa fungsi utama view (tabel virtual) dalam MySQL?
Menjalankan trigger otomatis pada setiap transaksi
Menyederhanakan query kompleks menjadi tampilan siap pakai
Menyimpan data secara permanen seperti backup harian
Menggandakan tabel fisik untuk mempercepat indeks
Perintah yang tepat untuk menampilkan semua baris dari view vpjual adalah?
SELECT * FROM vpjual;
SHOW * FROM vpjual;
DISPLAY ALL FROM vpjual;
READ * VIEW vpjual;
Anda ingin melihat definisi SQL yang membentuk view vpjual. Perintah mana yang digunakan?
SHOW VIEW DEFINITION vpjual\G
EXPLAIN VIEW vpjual\G
DESCRIBE VIEW vpjual\G
SHOW CREATE VIEW vpjual\G
Skenario: Diskon pada view perlu diubah dari 10% menjadi 15% berdasarkan kondisi tertentu. Pendekatan yang benar adalah?
Gunakan ALTER VIEW vpjual AS SELECT dengan logika diskon baru
Update baris pada vpjual menggunakan UPDATE langsung ke view
Tambah indeks pada view agar rumus diskon berubah otomatis
Drop tabel transaksi lalu buat ulang view yang sama
Manakah pernyataan yang benar tentang data dalam view?
View menghapus data sumber ketika di-drop
View mengubah struktur tabel fisik ketika dibuat
View menyimpan salinan data pada ruang disk terpisah
View tidak menyimpan data, hanya menyimpan definisi SELECT
Perintah yang sesuai untuk menghapus view vpjual adalah?
DROP VIEW vpjual;
DELETE VIEW vpjual;
DROP TABLE vpjual;
REMOVE VIEW vpjual;
Pernyataan mana yang paling tepat tentang perbedaan prosedur dan fungsi di MySQL?
Prosedur tidak mengembalikan nilai, fungsi mengembalikan nilai
Prosedur selalu mengembalikan nilai, fungsi tidak pernah
Keduanya selalu mengembalikan nilai numerik tunggal
Keduanya tidak dapat menerima parameter input
Apa tujuan perintah delimiter // sebelum membuat prosedur?
Mengubah hak akses pengguna menjadi definers
Mengkompilasi kode prosedur menjadi bytecode server
Mengaktifkan mode transaksi otomatis untuk prosedur
Mengganti pemisah pernyataan sementara dari ; menjadi //
Sintaks mana yang benar untuk membuat prosedur bernama lpjual dengan dua parameter tanggal masukan?
create procedure lpjual(in tglawal date, in tglakhir date) begin ... end
create function lpjual(out tglawal date, out tglakhir date) begin ... end
create procedure lpjual(tglawal date in, tglakhir date out) ...
create or replace function lpjual(date tglawal, date tglakhir) ...
Pernyataan CALL yang benar untuk menjalankan prosedur lpjual dengan rentang 2006-01-02 sampai 2006-01-10 adalah:
select lpjual('2006-01-02','2006-01-10');
run procedure lpjual 2006-01-02, 2006-01-10;
exec lpjual('2006-01-02','2006-01-10');
call lpjual('2006-01-02','2006-01-10');
Perintah apa yang menampilkan daftar prosedur pada database bernama pjual?
select * from information_schema.routines only
describe procedures in database pjual
show functions from pjual like '%proc%'
show procedure status where db = 'pjual'
Perintah yang digunakan untuk menampilkan definisi pembuatan prosedur tertentu adalah:
explain procedure nama_prosedur create
select definition from mysql.proc where name
show code of procedure nama_prosedur
show create procedure nama_prosedur
Kapan menggunakan create or replace procedure lebih tepat daripada create procedure?
Saat ingin memperbarui prosedur yang sudah ada tanpa drop
Saat ingin membuat prosedur pertama kali di skema baru
Saat ingin mengubah tipe data kolom tabel terkait
Saat ingin menjalankan prosedur secara paralel di server
Dalam contoh lpjual yang diedit, ekspresi if(b.harga * d.jlh_brg > 500000, 0.1 * b.harga * d.jlh_brg, 0) menghasilkan kolom:
pajak tetap berdasarkan kuantitas barang saja
subtotal sebelum diskon untuk setiap pelanggan
diskon berdasarkan ambang total nilai transaksi
biaya kirim flat tanpa melihat nilai belanja
Untuk menghapus prosedur lpjual dari database, perintah yang benar adalah:
drop procedure lpjual;
delete procedure lpjual;
remove procedure lpjual();
truncate procedure lpjual;
Karakteristik deterministik pada prosedur atau fungsi berarti:
Selalu menggunakan transaksi eksplisit
Dengan input sama hasil selalu sama
Dijalankan hanya sekali per sesi koneksi
Tidak boleh memiliki parameter input apa pun
Manakah pernyataan yang benar tentang fungsi di MySQL dibanding prosedur?
Fungsi hanya dapat dipanggil dengan CALL statement
Fungsi selalu memodifikasi beberapa tabel saat jalan
Fungsi tidak boleh memiliki parameter input sama sekali
Fungsi dipanggil dalam SELECT dan mengembalikan nilai
Sintaks mana yang benar untuk membuat fungsi bernama discont yang menerima harga dan jumlah lalu mengembalikan real deterministik?
create function discont() returns real deterministic declare ...
create or replace procedure discont(harga int, jumlah int) returns real begin ... end
create function discont(harga real, jumlah real) deterministic return ...
create function discont(harga int, jumlah int(3)) returns real deterministic begin ... end
Dalam UDF MySQL, pernyataan mana yang digunakan untuk mendefinisikan tipe nilai yang dikembalikan oleh fungsi?
OUT real deterministic
RETURN real deterministic
DECLARE real deterministic
RETURNS real deterministic
Di dalam tubuh fungsi, apa tujuan utama perintah DECLARE pada contoh fungsi discont?
Mendaftarkan parameter fungsi
Mengatur hak akses schema
Membuat variabel lokal fungsi
Menentukan tipe pengembalian fungsi
Sintaks mana yang benar untuk memberi nilai awal pada variabel lokal di MySQL UDF?
SET var_nama = ekspresi;
ASSIGN var_nama <- ekspresi;
INIT var_nama := ekspresi;
LET var_nama := ekspresi;
Pada contoh, fungsi discont menerima parameter harga dan jumlah. Baris mana yang menghitung total harga jual?
set hargajual = harga * jumlah;
set jlhdiskon = harga * jumlah;
declare hargajual = harga * jumlah;
return harga * jumlah;
Kondisi apa yang menyebabkan variabel jlhdiskon diisi dengan persentase dari hargajual pada fungsi discont versi awal?
Jika hargajual lebih besar dari 500000
Jika harga lebih besar dari jumlah
Jika hargajual sama dengan 500000
Jika jumlah lebih kecil dari 500000
Perubahan apa pada logika diskon saat fungsi discont diedit di halaman berikutnya?
Batas hargajual diturunkan menjadi 300000
RETURN dihapus dari fungsi
Persentase diskon menjadi 0.15 dari hargajual
Diskon hanya berlaku saat jumlah = 0
Bagaimana cara memanggil fungsi discont dalam query untuk menghitung kolom diskon?
discont(b.harga, d.jlh_brg) as diskon
EXEC discont INTO diskon
RUN discont SELECT diskon
CALL discont(b.harga, d.jlh_brg) as diskon
Perintah apa yang digunakan untuk menampilkan detail definisi fungsi discont secara lengkap, termasuk tubuhnya?
show create function discont\G
describe function discont;
explain function discont;
show procedure code discont;
Apa tujuan delimiter // sebelum pernyataan create function pada contoh?
Mendeklarasikan komentar multi-baris
Mengubah pemisah pernyataan sementara
Menandai awal blok transaksi
Memaksa kompilasi ulang schema
Perintah mana yang benar untuk menghapus fungsi UDF bernama discont dari database?
delete function discont();
remove udf discont;
drop function discont;
drop procedure discont;
Dalam fungsi MySQL faktorial(n int) dengan WHILE, nilai awal variabel fak seharusnya di-set ke berapa sebelum perulangan dimulai?
0 untuk penjumlahan berulang
n agar langsung dikalikan n
1 untuk identitas perkalian
2 agar iterasi dimulai dari i=2
Pada kode: label1: while i <= n do ... end while label1;, apa tujuan pemberian label pada WHILE tersebut?
Mengubah kondisi evaluasi loop
Meningkatkan performa eksekusi
Menentukan variabel i secara otomatis
Memungkinkan referensi atau kontrol yang jelas
Jika fungsi faktorial menggunakan i mulai dari 2 hingga n, operasi kunci yang dilakukan di dalam loop adalah apa?
Mengalikan fak dengan i setiap iterasi
Mengurangkan i dari fak setiap iterasi
Menjumlahkan i ke fak setiap iterasi
Membagi fak dengan i setiap iterasi
Perhatikan potongan berikut: create function kombinasi(n int, r int) returns real deterministic ... set cbs = nfaK /(rfak * nrfak); return (cbs); Apa yang dihitung fungsi ini?
Faktorial ganda n dan r
Permutasi tanpa pengulangan
Jumlah pasangan berurutan
Kombinasi n pilih r
Dalam fungsi kombinasi, pemanggilan faktorial(n-r) di-assign ke variabel mana untuk menghitung C(n,r)?
nrfak sebagai faktorial selisih
cbs sebagai faktorial selisih
rfak sebagai faktorial selisih
nfak sebagai faktorial selisih
Mengapa kedua fungsi diberi sifat returns real deterministic dalam MySQL?
Agar untuk input sama hasil selalu sama
Agar hasil tidak bergantung pada input
Agar bisa memodifikasi tabel secara langsung
Agar selalu menghasilkan bilangan bulat
Jika menjalankan select faktorial(5); dari fungsi yang diberikan, hasil yang benar adalah berapa?
25 karena 5 dikali 5
120 karena 5×4×3×2×1
20 karena 5×4
60 karena 5+4+3+2+1
Anda ingin menghitung C(4,2) menggunakan fungsi kombinasi yang memanggil faktorial. Langkah perhitungan yang benar adalah apa?
4! dibagi 2! saja
4! dibagi (2! × 2!)
(4−2)! dibagi (4! × 2!)
2! dibagi (4! × 2!)
