Praktikum Database/Sistem Basis Data 2 Labsheet 7

View adalah tabel virtual dalam SQL yang menampilkan data hasil query tanpa menyimpan fisik, ideal untuk menyederhanakan dan mengamankan tampilan data



Pada kali ini kita akan memahami dan mampu mengimplementasikan penggunaan View dari satu tabel atau gabungan beberapa tabel. View merupakan tabel virtual yang menyimpan perintah SELECT, bukan data asli. View sangat berguna untuk menyederhanakan query, meningkatkan keamanan data, dan menghasilkan laporan yang lebih rapi.

Apa itu View?

View adalah tabel virtual dalam sistem basis data yang dibentuk dari hasil query terhadap satu atau lebih tabel. Berbeda dengan tabel biasa, view tidak menyimpan data secara fisik-melainkan hanya menyimpan definisi query yang digunakan untuk menampilkan data.

Dengan menggunakan view, kita bisa:

  • Menyederhanakan tampilan data yang kompleks.
  • Menyajikan data dengan nama kolom yang lebih ramah pengguna.
  • Membatasi akses ke data sensitif dengan hanya menampilkan kolom tertentu.
  • Menggabungkan data dari beberapa tabel tanpa membuat salinan.

Langkah kerja

Create Database

CREATE DATABASE roaster_rs;
USE roaster_rs;

Create Table spesialis

CREATE TABLE spesialis (
  kode_spesialis VARCHAR(10) PRIMARY KEY,
  jns_spesialis VARCHAR(100)
);

Create Table dokter

CREATE TABLE dokter (
  kode_dokter VARCHAR(10) PRIMARY KEY,
  nm_dokter VARCHAR(100),
  kode_spesialis VARCHAR(10),
  jk CHAR(1),
  alamat VARCHAR(100),
  telp VARCHAR(20),
  FOREIGN KEY (kode_spesialis) REFERENCES spesialis(kode_spesialis)
);

Create Table roaster

CREATE TABLE roaster (
  kode_dokter VARCHAR(10),
  hari VARCHAR(10),
  jam_awal TIME,
  jam_akhir TIME,
  FOREIGN KEY (kode_dokter) REFERENCES dokter(kode_dokter)
);

Insert Into spesialis

INSERT INTO spesialis VALUES
('du', 'Dokter Umum'),
('jtg', 'Spesialis Jantung'),
('paru', 'Spesialis Paru'),
('ank', 'Spesialis Anak'),
('tht', 'Spesialis Telinga Hidung Tenggorokan');

Insert Into dokter

INSERT INTO dokter VALUES
('D001', 'dr. Nuriana', 'du', 'P', 'Jl. M.Yamin No.12', '08725667575'),
('D002', 'dr. Sapto Mulyadi, Sp.J', 'jtg', 'L', 'Jl. Wahid Hasyim RT.8', '08872657656'),
('D003', 'dr. Deni Rianto', 'du', 'L', 'Jl. DR. Sutomo Gg.1', '08276476565'),
('D004', 'dr. Henry Cahyadi, Sp.P', 'paru', 'L', 'Jl.A.Yani N0.98', '08117675656'),
('D005', 'dr. Nanan Wijaya, Sp.A', 'ank', 'L', 'Jl. Kusuma Bangsa No.7', '08116756545'),
('D006', 'dr. Sarah Yasmina, Sp.A', 'ank', 'P', 'Jl.M.Yamin No.34', '08128766544'),
('D007', 'dr. Erick Jaya, Sp.THT', 'tht', 'L', 'Jl. DR.Sutomo Gg.5', '08138767665'),
('D008', 'dr. Wayan Bhakti', 'du', 'L', 'Jl.Suryanata Gg.2', '08259878767'),
('D009', 'dr. Ahmad H, Sp.P', 'paru', 'L', 'Jl. Kadrie Oening No76', '08123665467'),
('D010', 'dr. Andini Anastasia', 'du', 'P', 'Jl.Wahid Hasyim No.145', '08652454373');

Insert Into roaster

INSERT INTO roaster VALUES
('D001', 'Senin', '07:00', '15:00'),
('D002', 'Senin', '07:00', '15:00'),
('D003', 'Senin', '14:00', '22:00'),
('D004', 'Selasa', '07:00', '15:00'),
('D005', 'Selasa', '14:00', '22:00'),
('D006', 'Selasa', '07:00', '15:00'),
('D007', 'Selasa', '14:00', '22:00'),
('D008', 'Rabu', '07:00', '15:00'),
('D009', 'Rabu', '14:00', '22:00'),
('D010', 'Kamis', '07:00', '15:00'),
('D001', 'Kamis', '14:00', '22:00'),
('D010', 'Kamis', '07:00', '15:00'),
('D004', 'Jum\'at', '07:00', '15:00'),
('D005', 'Jum\'at', '14:00', '22:00'),
('D003', 'Jum\'at', '07:00', '15:00'),
('D002', 'Jum\'at', '14:00', '22:00');

View Dasar

a. View vw_dokter

CREATE VIEW vw_dokter AS
SELECT kode_dokter, nm_dokter FROM dokter;

b. Tampilkan isi view

SELECT * FROM vw_dokter;

c. View dengan nama field berbeda

DROP VIEW vw_dokter;

CREATE VIEW vw_dokter(kd_dok, nm_dok) AS
SELECT kode_dokter, nm_dokter FROM dokter;

d. View dari dua tabel

CREATE VIEW vw_dokter_spesialis AS
SELECT d.kode_dokter, d.nm_dokter, s.jns_spesialis
FROM dokter d
JOIN spesialis s ON d.kode_spesialis = s.kode_spesialis;

Latihan

Konten Ini Di Lindungi

Silakan masuk atau daftar untuk melihat konten ini

Penutup

Melalui kegiatan ini, pemahaman tentang konsep View dalam sistem basis data semakin diperkuat. View memberikan fleksibilitas dalam menampilkan data dari satu atau lebih tabel tanpa mengubah struktur asli, serta memudahkan pengelolaan informasi yang kompleks.

Dengan latihan yang telah dilakukan, diperoleh keterampilan dalam:

  • Membuat view sederhana dan gabungan.
  • Menyajikan data terstruktur sesuai kebutuhan analisis.
  • Mengoptimalkan penggunaan View untuk efisiensi dan keamanan data.

Pemahaman ini menjadi fondasi penting dalam pengembangan sistem informasi yang terintegrasi dan dinamis.


Halo! Saya Aruf, suka ngulik coding dan belajar mandiri. Lewat blog ini, saya berbagi ilmu seputar C++, Java, dan Python. Semoga bermanfaat buat yang sama-sama belajar!