Implementasi Nested Query
Implementasi
Union, Intersect dan Except
Implementasi View, Trigger, Store procedured dan Function
Implementasi Backup, Recovery, Replika dan User control access
LAPORAN
SISTEM MANAJEMEN BASIS
DATA
Disusun
oleh :
Apri
Liga P (L200140125)
Topan
Ramadhan (L200140138)
|
PRODI
INFORMATIKA
FAKULTAS
KOMUNIKASI & INFORMATIKA
UNIVERSITAS
MUHAMMADIYAH SURAKARTA
2016
1 1. Implementasi Nested Query
a. In
Tampilkan nama
pasien yang memakai no ruang 3
>> SELECT Nama_pasien
FROM pasien
WHERE Kode_Register IN
(SELECT pasien_use_ruang.Kode_Register
FROM
pasien_use_ruang
WHERE
No_Ruang=3)
b. Exists
Tampilkan nama dokter dan jam prakteknya yang
memeriksa pasien dengan kode register P11
>> SELECT Nama_Dokter,
Jam_Praktek
FROM dokter p
WHERE EXISTS(SELECT * FROM pasien r WHERE p.Kode_Dokter
= r.Kode_Dokter
AND Kode_Register='P11')
1 2. Implementasi Union,
Intersect dan Except
a. Union
>> SELECT Nama_Dokter FROM
dokter
UNION
SELECT Nama_Pasien FROM pasien
b. Intersect
>> SELECT Nama_Dokter FROM
dokter
WHERE Kode_Dokter IN(
SELECT Kode_Dokter
FROM pasien)
c. Except
>> SELECT Nama_Pasien FROM
Pasien
WHERE Kode_Dokter NOT IN(
SELECT Kode_Dokter
FROM Dokter)
1 3. Implementasi View,
Trigger, Store procedured dan Function
a. View
Membuat
view baru:
>> CREATE VIEW vDetailrmhskt
AS
SELECT p.Kode_Register, p.Nama_Pasien,
d.Nama_Dokter, d.Jam_Praktek
FROM pasien p, dokter d
WHERE (p.kode_Dokter=d.kode_Dokter)
Menampilkannya:
>> SELECT * FROM
vDetailrmhskt
b. Trigger
Membuat tabel log_dokter terlebih dahulu:
>> CREATE TABLE log_dokter(
Kejadian VARCHAR(25) PRIMARY KEY,
Waktu DATETIME);
Membuat
trigger untuk insert:
>> CREATE TRIGGER ins_dok
AFTER INSERT ON dokter
FOR EACH ROW INSERT INTO log_dokter VALUES('Tambah
data',NOW());
>> INSERT INTO dokter
VALUES('D007','Ronald','Dokter Umum','12:00 - 15:00');
Membuat
trigger untuk update:
>> CREATE TRIGGER updt_dok
AFTER UPDATE ON dokter
FOR EACH ROW INSERT INTO log_dokter VALUES('Ubah
data',NOW());
>> UPDATE dokter SET
Nama_Dokter='Ronald oo' WHERE Kode_Dokter='D007';
>> SELECT Kode_Dokter,
Nama_Dokter FROM dokter;
Membuat
trigger untuk delete:
>> CREATE TRIGGER del_dok
AFTER DELETE ON dokter
FOR EACH ROW INSERT INTO log_dokter VALUES('Hapus
data',NOW());
>> DELETE FROM dokter WHERE
Kode_Dokter='D007';
Menampilkan
hasil trigger:
>> SELECT * FROM log_dokter
c. Store procedured
>> DELIMITER //
CREATE PROCEDURE pRuangrs(OUT X VARCHAR(45))
BEGIN
SELECT Nama_Ruang X FROM ruang WHERE No_Ruang='1';
END
//
>> CALL pRuangrs(@Nama_Ruang)
d. Function
>> DELIMITER //
CREATE FUNCTION fcNamaDokter(X VARCHAR(45)) RETURNS
VARCHAR(50)
RETURN CONCAT ('Nama_Dokter : ',X);
//
>> SELECT fcNamaDokter('Eko
Waluyo');
1 4. Implementasi Backup,
Recovery, Replika dan User control access
a. Backup
Dengan
menggunakan SQLyog Enterprise
b. Recovey
Sebelum proses recovery
Proses recovey
>> source E:\backuprs.sql
Sesudah proses recovery
c. Replika
Replikasi
database adalah seperangkat teknologi yang digunakan untuk menyalin dan
mendistribusikan data dari satu database ke database yang lain. Dan
selanjutnya, mensinkronisasikan antar database untuk menjaga konsistensi.
Dengan replikasi, data dapat didistribusikan ke lokasi yang berbeda dan
pengguna yang jauh melalui LAN, WAN, Dial-up Connection, wireless connections, dan internet.
Cara melakukan replikasi:
Pertama buat 2 server
Server A
ip 10.100.1.34
Server B
ip 10.100.1.35
Pada
masing-masing server install terlebih dahulu mysql server, bisa dengan cara Install
Mysql di Freebsd
atau juga dengan cara yang lain terserah anda. Install webserver bisa
apache/nginx atau yang lain berikut install phpmyadminnya.
Langkah konfigurasinya:
Server A
1.
Pada server A akan kita konfigurasi
menjadi master terlebih dahulu. sebelumnya
tambahkan di konfigurasi my.cnf nya dibawah section [mysqld]
baris berikut:
2.
Jangan
lupa restart service mysqlnya, kemudian login sebagai root pada server A dengan
phpmyadmin.
3.
Masuk ke menu -> Replication, klik
->Add Slave User Replication.
4.
Isikan
user “replika” , password “replika”, host ” 10.100.1.34″ (sesuaikan dengan ip
master server A).
5. Kemudian start slavenya pada menu Replication
-> Control Slave -> Full start. Jika berhasil bisa dilihat
status slave seperti berikut.
d. Kemudian start slavenya pada menu Replication
-> Control Slave -> Full start. Jika berhasil bisa dilihat
status slave seperti berikut.
Semoga bermanfaat . . .