2. Sub Kompetensi Dapat menggunakan dan mengimplementasikan View.

dokumen-dokumen yang mirip
1. Kompetensi Memahami perintah-perintah SQL untuk mengambil atau menampilkan data dalam suatu basis data dengan kondisi tertentu.

1. Kompetensi Memahami Store Procedure dan Function yang tidak lain merupakan perintahperintah SQL yang diletakkan di dalam server database.

1. Kompetensi Memahami berbagai cara (perintah SQL) yang digunakan untuk mengakses data dari banyak tabel.

Basis Data. Bagian IV SQL (3) Fak. Teknik Jurusan Teknik Informatika Universitas Pasundan

1. Kompetensi Dapat melakukan pemetaan dari model data konseptual ke model data DBMS dan mengambil data.

MODUL 3. View PRAKTIKUM BASIS DATA LANJUT TEKNIK PERANGKAT LUNAK UNIVERSITAS PGRI RONGGOLAWE

Jobsheet SQL Dasar : Hari Zulianto, ST [Year]

LAPORAN PRAKTIKUM MODUL 1 PENGENALAN MYSQL

VIEW : Tabel Virtual VIEW 5/29/2017

MySQL Databases. Dasar-dasar MySQL dan Implementasi MySQL kedalam pemrograman PHP. Jakarta, 16 April 2011 Oleh: M. Awaludin, S.Kom

STRUCTURE QUERY LANGUAGE (SQL)

MODUL PRAKTIKUM BASIS DATA TEKNIK INFORMATIKA UIN SUNAN KALIJAGA YOGYAKARTA 2011 PENGENALAN DATABASE MYSQL

Mahasiswa mengetahui & memahami mengenai DML, DCL di SQL. (Isi_Field_1, Isi_Field_2,, Isi_Field_N) ;

STRUCTURE QUERY LANGUAGE DDL & DML

1. Kompetensi Memahami berbagai teknologi pemrograman basis data, khususnya MySQL, pada Visual Basic 6.0.

@Tessy Badriyah, SKom. MT. PERTEMUAN 12 VIEW

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET PEMROGRAMAN WEB Semester: 2 MYSQL 200 menit No.: Job: 12 Tgl: Hal.

Oracle Academic Initiative

Membuat Function, Stored Procedur dan View pada MySQL

Perangkat Lunak Pengembangan Web

TUGAS I PRAKTIKUM SISTEM BASIS DATA. Nama: Krisna Pandu Wibowo( )

Kunci komposit adalah kunci yang melibatkan lebih dari satu field Contoh tabel Tanggungan: Apa yang terjadi kalau kunci primer hanya berupa NIP?

Eksekusi file setup.exe yang ada dalam CD atau folder instalasi oracle.

MODUL 4 INTERNET PROGRAMMING DATABASE

STRUCTURE QUERY LANGUAGE

Pertemuan 10. Bahasa Query Terapan

Modul 6 Function dan Trigger

Pertemuan VI F U N C T I O N

Database Systems: Lab. Actvity 1: Database Design. Merancang Database. Merancang Database. Tipe Tabel MySQL.

Basis Data II. Pertemuan Ke-8 (Views & Users Authorisation) Noor Ifada S1 Teknik Informatika - Unijoyo 1

PERINTAH DASAR MySQL

SISTEM BASIS DATA STMIK - AUB SURAKARTA

Praktikum 2 Mata Kuliah : Sistem Pengolahan Basis Data Dosen : Nandang Hermanto

S Q L STRUCTURED QUERY LANGUAGE DEFINITION MANIPULATION C O N T R O L D M L SELECT INSERT UPDATE DELETE

PENGANTAR TEKNOLOGI SISTEM INFORMASI MANAGEMENT 2

Statement DDL Create database drop database Create table drop table alter table

Praktikum Basis Data. By. Rita Wiryasaputra, ST., M. Cs.

Contoh : Buat tabel hitungan dengan data berupa angka seperti tabel berikut :

Rencana Pelaksanaan Pembelajaran

Sistem Manajamen Basis Data

SQL. Brigida Arie Minartiningtyas, M.Kom

P - 7 Pembahasan UTS PSIK V

Basis Data Spasial Modul 2

Pemrograman Web Lanjut 2017

Untuk menjalankan Mysql secara konpensional jalankan Mysql.exe pada direktori Mysql\Bin. Akan tampak tampilan sebagai berikut:

SEKOLAH TINGGI TEKNOLOGI INDONESIA TANJUNG PINANG

Kontrak Kuliah. Dasar-dasar MySQL. Edi Sugiarto, S.Kom, M.Kom

IMPLEMENTASI TRIGGER, STORED PROCEDURE, FUNCTION DAN VIEW PADA MYSQL DALAM PERANCANGAN SYSTEM INVENTORY CAFFE BOULEVARD JAYAPURA

STUPID LOGIC PROGRAMMING II

Oracle Academic Initiative

Bab 3. Query Lanjutan POKOK BAHASAN: TUJUAN BELAJAR:

Macam - Macam Perintah Pada SQL

CONSTRAINT clients_client_num_pk PRIMARY KEY (client_number));

Pengenalan Structured Query Language

Pengenalan Database Management System MySQL. Pokok Bahasan: Pengenalan DataBase Pembangunan database berbasis Client-Server Dasar-Dasar MySQL

Modul 3. Oleh : Mohammad Sholikin. 1

DATABASE - MySQL. Muhammad Zen S. Hadi, ST. MSc.


Komponen-Komponen SQL a. Data Definition Language (DDL) : Digunakan untuk mendefinisikan data dengan menggunakan perintah : create, drop, alter.

SQL (Structure Query Language) Gentisya Tri Mardiani, S.Kom

STMIK SUMEDANG DATA DEFINITION LANGUAGE (DDL) TUGAS PRAKTEK PEMROGRAMAN BASIS DATA. Nama : NIKKI BAGUS N A NIM : A Kelas : TI 4A

Pertemuan 12 Pengenalan Structured Query Language

15-Jan DATABASE - MySQL. Database. Constraints. Tujuan: Memahami perintah-perintah dasar DDL dan DML

Arsitektur Basis Data Oracle

SISTEM BASIS DATA AUB SURAKARTA

Modul 3 : Query Penggabungan Tabel

MODUL PRAKTIKUM. MODUL I - VII Modul penuntun dan bahan praktikum matakuliah Basis Data

Apakah SQL? Membuat basis data dan struktur tabel Input, update, dan delete data dari tabel Membuat query sederhana dan kompleks SQL

Syntax Syntax SQL. Untuk lebih jelasnya dapat dilihat sebagai berikut : 1. DDL (Definition Data Language) a. CREATE

1. Memulai pengelolaan database Menampilkan daftar database Sintaks : show databases;

RENCANA PEMBELAJARAN SEMESTER (RPS) DAN RENCANA PELAKSANAAN PEMBELAJARAN (RPP)

Bab 5. Database Trigger POKOK BAHASAN: TUJUAN BELAJAR: 5.1. PENDAHULUAN

Pertemuan Ke-13 (PHP & MYSQL) Adi Widodo,S.Kom.,MMSI 1

PRAKTIKUM PL/SQL (Trigger) OLEH : WIRATMOKO YUWONO, ST

By Mrs Imana Malia Kondou, S.T. missimanakondou.wordpress.com

Konsep Sistem Informasi B. BAB 2 - SQL Overview

1. Kompetensi Memahami berbagai teknologi pemrograman basis data, khususnya MySQL, pada Visual Basic 6.0.

BAB 4 : Interaksi PL/SQL dengan Oracle Server

MySQL AL AZHAR COMPUTER CLUB

Contoh SQL Constraint

STRUCTURE QUERY LANGUAGE ( S Q L ) Pengelompokan Statement SQL 1. Data Definition Language ( DDL )

MySQL J A M K E T I G A

Perkenalan SQL. Ada empat macam tipe database yaitu hirarki, jaringan, relasional, dan objek.

SEKOLAH TINGGI MANAJEMEN INFORMATIKA & KOMPUTER JAKARTA STI&K SATUAN ACARA PERKULIAHAN

BAHASA QUERY KOMERSIAL

Constraint dan Manajemen Data dalam Timezone Berbeda

TABLE JOIN SQL SERVER 2005

Schema Objects. MI2154 SQL LANJUT Dedy Rahman Wijaya, S.T., M.T., OCA

BAB III STRUCTURED QUERY LANGUAGE (SQL)

Pertemuan IV CONDITION & HANDLER CURSOR

Stored Procedure. M. Saefudin SKom, MMSI

MODUL II. Instalasi OracleXE Dan SQL

SISTEM BASIS DATA STMIK-AUB SURAKARTA

Sejarah(1) Sejarah(2) STRUCTURE QUERY LANGUANGE (1) Definisi SQL

MySQL. Setelah Anda melakukan tahapan-tahapan di atas Anda akan dapatkan screen seperti ini

Kegiatan Praktikum Sistem Basis Data Kelompok B

Data Manipulation Language (DML) & Data Control Language (DCL) pada Database

Basis Data II. Pertemuan Ke-6 (Function) Noor Ifada

Karena VIEW dibentuk tanpa mencantumkan nama kolom baru, maka v1 mewarisi kolom yang yang dipilih pada tabel mahasiswa_xxx.

Untuk mencoba contoh-contoh perintah join, silahkan eksekusi query create+insert dibawah ini:

Transkripsi:

No. : LST/PTI/PTI 222/09 Revisi : 00 Tgl. : 21-12-2008 Hal. 1 dari 7 hal. 1. Kompetensi Memahami View yang tidak lain merupakan perintah SELECT yang diletakkan di dalam server database dan kemudian menjalankannya melalui perintah dari luar. 2. Sub Kompetensi Dapat menggunakan dan mengimplementasikan View. 3. Dasar Teori Tujuan dari View adalah untuk : Menurunkan Network Traffic (beban Network). Menyimpan suatu perintah SQL (terutama yang komplek) dimana perintah tersebut sering digunakan dan diakses. Keamanan: mencegah user untuk dapat mengakses suatu tabel sepenuhnya. Misal user dapat mengakses nama dan nomor telepon tetapi tidak bisa mengakses tanggal lahir dan gaji. Sintak dari View adalah : CREATE [OR REPLACE] [<algorithm attributes>] VIEW [database.]< name> [(<columns>)] AS <SELECT statement> [<check options>]; a) Membuat View : CREATE VIEW pelanggan_simpati AS FROM pelanggan WHERE telepon REGEXP ^081[23] b) Cara mengaksesnya : SELECT * FROM pelanggan_simpati; SELECT nama,alamat FROM pelanggan_simpati; 1) Algorithm Attributes Terdiri dari tiga atribut, yaitu MERGE, TEMPTABLE, dan UNDEFINED dimana default-nya adalah UNDEFINED. Amati dan diskusikan dengan teman anda perintah SQL berikut ini: Contoh MERGE a) CREATE ALGORITHM = MERGE VIEW email_suplier AS SELECT nama,alamat,telepon,email FROM suplier WHERE email IS NOT NULL; b) SELECT * FROM email_suplier; c) UPDATE email_suplier SET email='puma@puma.com WHERE nama LIKE 'pungkas%'; d) SELECT nama,email FROM suplier; e) INSERT INTO email_suplier VALUES ('Paman','Jl. Mahameru 10', '0812229999','paman@uny.ac.id'); f) SELECT * FROM suplier;

No. : LST/PTI/PTI 222/09 Revisi : 00 Tgl. : 21-12-2008 Hal. 2 dari 7 hal. Contoh TEMPTABLE a) CREATE ALGORITHM = TEMPTABLE VIEW email_suplier1 AS SELECT nama,alamat,telepon,email FROM suplier WHERE email IS NOT NULL; b) UPDATE email_suplier1 SET email='indomandiri@gomandiri.org' WHERE nama LIKE '%mandiri'; Contoh UNDEFINED a) CREATE ALGORITHM = UNDEFINED VIEW email_suplier2 AS SELECT nama,alamat,telepon,email FROM suplier WHERE email IS NOT NULL; b) UPDATE email_suplier2 SET alamat='jl. Muria No. 25 WHERE nama='indo Mandiri'; c) SELECT * FROM email_suplier2; 2) Columns Digunakan untuk mengganti tampilan nama kolom pada view (nama kolom berbeda dengan nama kolom pada tabel asal). a) CREATE VIEW pelanggan_simpati1 (name,address,birth,phone) AS FROM pelanggan WHERE telepon REGEXP '^081[23]' b) SELECT * FROM pelanggan_simpati1; c) CREATE VIEW pelanggan_simpati4 AS SELECT nama 'name', alamat 'address', tgl_lahir 'birth', telepon 'phone' FROM pelanggan WHERE telepon REGEXP '^081[23]' d) SELECT * FROM pelanggan_simpati4; 3) Check Option Check Option hanya dapat digunakan untuk Updating View. Tujuan dari Check View adalah untuk mengecek apakah perintah SQL yang memanggil View merupakan bagian dari View atau tidak (sesuai dengan klausa WHERE pada View), jika tidak maka perintah ditolak. Ada dua pilihan yang dapat digunakan dalam Check Option, yaitu LOCAL dan CASCNG. a. Local WITH LOCAL CHECK OPTION untuk menyakinkan bahwa data yang sedang di-update (INSERT, DELETE, UPDATE) merupakan bagian dari View itu sendiri, bukan bagian dari View lainnya. b. Cascading WITH CASCADED CHECK OPTION merupakan kebalikan dari LOCAL, yaitu memeriksa juga apakah merupakan bagian dari View lainnya. Jika dalam pembuatan View hanya ditulis WITH CHECK OPTION, maka artinya View menggunakan CASCNG karena DEFAULT dari Check Option adalah CASCNG. Tetapi jika dalam pembuatan View tidak menggunakan Check Option, maka View tersebut menggunakan LOCAL.

No. : LST/PTI/PTI 222/09 Revisi : 00 Tgl. : 21-12-2008 Hal. 3 dari 7 hal. 1) View tanpa Check Option a) CREATE VIEW pelanggan_simpati2 AS FROM pelanggan WHERE telepon REGEXP '^081[23] b) UPDATE pelanggan_simpati2 SET telepon='08175469672 WHERE nama='merry'; c) SELECT * FROM pelanggan_simpati2; 2) View dengan Check Option a) CREATE VIEW pelanggan_simpati3 AS FROM pelanggan WHERE telepon REGEXP '^081[23] ORDER BY nama WITH CHECK OPTION; b) UPDATE pelanggan_simpati3 SET telepon='08175469718' WHERE nama='bobby'; 3) View dengan Local Check Option a) CREATE ALGORITHM = MERGE VIEW pelanggan_silver AS SELECT nama,jenis_kelamin,jenis_pelanggan FROM pelanggan WHERE jenis_pelanggan='s'; b) SELECT * FROM pelanggan_silver; c) CREATE ALGORITHM = MERGE VIEW pelanggan_silver_edit AS SELECT nama,jenis_kelamin,jenis_pelanggan FROM pelanggan_silver WHERE jenis_kelamin='l' WITH LOCAL CHECK OPTION; d) SELECT * FROM pelanggan_silver_edit; e) UPDATE pelanggan_silver_edit SET jenis_pelanggan='g' WHERE nama='andi'; f) SELECT * FROM pelanggan_silver_edit; g) SELECT * FROM pelanggan_silver; 4) Vew dengan Cascading Check Option a) CREATE ALGORITHM = MERGE VIEW pelanggan_silver_edit1 AS SELECT nama,jenis_kelamin,jenis_pelanggan FROM pelanggan_silver WHERE jenis_kelamin='l' WITH CASCADED CHECK OPTION; b) SELECT * FROM pelanggan_silver_edit1; c) UPDATE pelanggan_silver_edit1 SET jenis_pelanggan='g WHERE nama='anton'; 4) Joining Table CREATE VIEW pel_jumlah_beli AS SELECT p.nama,t.id_pelanggan,count(t.id_pelanggan) 'banyak_pembelian' FROM pelanggan p NATURAL JOIN transaksi t GROUP BY p.nama;

No. : LST/PTI/PTI 222/09 Revisi : 00 Tgl. : 21-12-2008 Hal. 4 dari 7 hal. 5) Union Table Digunakan untuk menggabungkan dua atau lebih View dengan syarat mempunyai field (kolom) yang sama. a) CREATE VIEW pelanggan_xl AS FROM pelanggan WHERE telepon REGEXP '^081[7-9]' b) CREATE VIEW simpati_xl AS SELECT * FROM pelanggan_simpati UNION SELECT * FROM pelanggan_xl; 6) Managing View a) Melihat sintak View SHOW CREATE VIEW pelanggan_xl; b) Melihat kolom dan tipe data dari View DESCRIBE pelanggan_xl; DESC pelanggan_xl; 7) Changing View a) ALTER VIEW pelanggan_xl (name,address,birth,phone) AS FROM pelanggan WHERE telepon REGEXP '^081[7-9]' b) ALTER VIEW pelanggan_xl AS SELECT nama,alamat,telepon FROM pelanggan WHERE telepon REGEXP '^081[7-9]' 8) Removing View Sintaknya adalah : DROP VIEW [IF EXISTS] [<database>.]<name> DROP VIEW email_suplier; CONTROL FLOW FUNCTION Merupakan fungsi untuk perbandingan, yaitu membandingkan kondisi suatu data. Ada tiga macam fungsi, yaitu if(), ifnull(), nullif(), dan case(). 1) if() function IF(<expression1>, <expression2>, <expression3>) <expression1> : untuk ekspresi perbandingan data (data yang ingin dicek) <expression2> : bila perbandingan bernilai true <expression3> : bila perbandingan bernilai false SELECT nama,if(jenis_kelamin='l','laki-laki','perempuan') 'jenis kelamin' FROM pelanggan;

No. : LST/PTI/PTI 222/09 Revisi : 00 Tgl. : 21-12-2008 Hal. 5 dari 7 hal. 2) ifnull() Fungsi ifnull() digunakan untuk mengetahui atau mengevaluasi nilai data yang NULL. IFNULL(<expression1>, <expression2>) <expression1> : untuk ekspresi perbandingan data (data yang ingin dicek) <expression2> : bila perbandingan bernilai true SELECT nama,ifnull(telepon, 'belum punya telepon') 'telepon' FROM pelanggan; SELECT nama,ifnull(email, ' belum punya email') 'email' FROM suplier; 3) nullif() Fungsi nullif() akan menghasilkan nilai NULL jika ekspresi1 sama dengan ekspresi2. Jika tidak maka akan menghasilkan ekspresi1. NULLIF(<expression1>, <expression2>) SELECT NULLIF(10*20, 20*10); SELECT NULLIF(10*20, 20*5); 4) case() CASE WHEN <expression> THEN <result> [{WHEN <expression> THEN <result>}...] [ELSE <result>] END SELECT nama,telepon, CASE WHEN telepon REGEXP '081[23]' THEN 'Simpati' WHEN telepon REGEXP '081[56]' THEN 'Mentari' WHEN telepon REGEXP '081[7-9]' THEN 'XL' WHEN telepon REGEXP '085' THEN 'IM3' END 'provider' FROM pelanggan; 4. Alat / Instrument / Aparatus / Bahan 1. Komputer dengan sistem operasi Windows. 2. Perangkat lunak MySQL Browser. 5. Keselamatan Kerja

No. : LST/PTI/PTI 222/09 Revisi : 00 Tgl. : 21-12-2008 Hal. 6 dari 7 hal. 6. Langkah Kerja 1. Pastikan MySQL Server sudah terinstall di komputer. 2. Jalankan MySQL Browser untuk mengakses MySQL Server. 7. Bahan Diskusi Buatlah View untuk : 1. Mengetahui stok barang. 2. Menghitung total pembayaran tiap transaksi yang dilakukan oleh pelanggan. 3. Menggunakan View yang anda buat dari nomor 1, buat perintah SQL untuk mengetahui jumlah kupon undian yang diperoleh setiap pelanggan jika setiap kelipatan 10 ribu akan memperoleh kupon satu buah. Urutkan mulai dari yang memperoleh kupon paling banyak. 4. Menggunakan View yang anda buat dari nomor 1, buat perintah SQL untuk mengetahui hadiah apa yang diterima oleh pelanggan dimana jika mempunyai kupon dengan : Tidak punya kupon maka dia tidak memperoleh hadiah. 2 : Buku 5 : Weker 10 : Jam Dinding 50 : Radio 100 : Radio Tape 8. Lampiran Contoh tampilan atau hasil dari bahan diskusi yang diberikan. Hasilnya kemungkinan berbeda karena ada beberapa data yang dirubah, oleh karena itu lakukan pengecekan secara manual sesuai dengan data anda. 1. SELECT nama,total_pembayaran FROM total_bayar WHERE nama='andi'; SELECT nama,tgl_transaksi,total_pembayaran FROM total_bayar WHERE nama='charles' AND YEAR(tgl_transaksi)=2006 AND MONTHNAME(tgl_transaksi)='June'; 2. SELECT nama,stok FROM stok_barang WHERE id_barang='b004';

No. : LST/PTI/PTI 222/09 Revisi : 00 Tgl. : 21-12-2008 Hal. 7 dari 7 hal. 3. 4.