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

dokumen-dokumen yang mirip
Tujuan : Praktikan mampu untuk memanipulasi data dan mampu mencari data (Retrieval)

MODUL PEMPROGRAMAN SQL TINGKAT DASAR 1 STANDAR KOMPETENSI: MENERAPKAN BAHASA PEMPROGRAMAN SQL TINGKAT DASAR SMK NEGERI 1 MAJALENGKA

Administrasi Basis Data. Index. Yoannita

Basis Data. DDL & Aturan Referential

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

Pada contoh dibawah ini adalah sebuah table Mahasiswa UNIROW tuban dengan bentuk sebagai berikut :

Basis Data Spasial Modul 2

MODUL V DATA MANIPULATION LANGUAGE (DML) 1

MODUL IV DATA DEFINITION LANGUAGE (DDL)

Praktikum TRANSACT SQL. Tujuan : Praktikan mampu untuk mengerti dan memahami Transact-SQL

MODUL PRAKTIKUM 04. Database Implementation dengan Perintah SQL

Kontrak Kuliah. View dan Index. Edi Sugiarto, S.Kom, M.Kom

Pertemuan 10. Bahasa Query Terapan

Praktikum Basis Data 2017 TE UM MODUL 8 TRIGGER A. TUJUAN

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

Agenda SQL. Pemakai SQL. Kemampuan SQL 02/12/2010 STRUCTURED QUERY LANGUAGE (SQL) Structured Query Language (SQL) (Pert. 9)

LAPORAN PRAKTIKUM MODUL 1 PENGENALAN MYSQL

Praktikum Basis Data 14 Structure Query Language 2

Contoh SQL Constraint

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

PRAKTIKUM 5 SISTEM BASIS DATA JOIN

MODUL 5 INTERNET PROGRAMMING : MySQL

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

Perangkat Lunak Pengembangan Web

Macam - Macam Perintah Pada SQL

MODUL 9 WEB PROGRAMMING : MySQL

SISTEM BASIS DATA Pertemuan 11 Structure Query Language DDL - DML

STRUCTURE QUERY LANGUAGE (SQL)

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

@Tessy Badriyah, SKom. MT. PERTEMUAN 12 VIEW

Data Manipulation Language (DML)

MODUL 1. Pembuatan tabel, pendefinisian constraint, export dan import PRAKTIKUM BASIS DATA LANJUT TEKNIK PERANGKAT LUNAK UNIVERSITAS PGRI RONGGOLAWE

SEKOLAH TINGGI TEKNOLOGI INDONESIA TANJUNG PINANG

Sistem Basis Data Danny Kriestanto, S.Kom., M.Eng

Administrasi Basis Data. Integritas Data. Yoannita

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

Contoh SQL Constraint

Tahap Instalasi PostgreSQL di Windows

Rencana Pelaksanaan Pembelajaran

STRUCTURE QUERY LANGUAGE

INTERNET PROGRAMMING DATABASE

PENGANTAR TEKNOLOGI SISTEM INFORMASI MANAGEMENT 2


SQL. Brigida Arie Minartiningtyas, M.Kom

SISTEM BASIS DATA. Oleh : Devie Rosa Anamisa

INTEGRITAS BASIS DATA. OLEH : Slamet Sn Wibowo Wicaksono

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

LAPORAN PRAKTIKUM IV BASIS DATA (SISTEM BERKAS - LAN)

DESAIN DATABASE. Pertemuan 06 3 SKS

Database Management System. Program yang memungkinkan item-item dalam suatu database disusun, diolah dan diperbaharui

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

LAPORAN PRAKTIKUM BASIS DATA

Praktikum TRIGGER. Tujuan :

BAB II PEMBUATAN DAN MANAJEMEN TABLE

Basis Data Terapan. Yoannita, S.Kom

Modul 2. Database Menggunakan Primary Key, Unique, Auto Increment, Alter-Add dan Alter-Drop. Disusun oleh. Sri Siska Wirdaniyati JURUSAN STATISTIKA

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

MODUL 4 INTERNET PROGRAMMING DATABASE

B a s i s D a t a C H A P T E R. SQL Operasi DML. Arif Basofi PENS 2015

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

PENGANTAR PRAKTIKUM BERKAS DAN BASIS DATA 2010/2011. Rizki Arif Firdaus

SISTEM BASIS DATA 1. WAHYU PRATAMA, S.Kom., MMSI.

BERMAIN DATA DENGAN SQL SERVER

Obyek pada Oracle. Manajemen Obyek Basis Data dan Dictionary View. Obyek pada Oracle adalah segala hal yang bisa dibuat di Oracle, seperti:

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

Oracle Academic Initiative

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

MODUL 2. Sequence, Index dan Synonym PRAKTIKUM BASIS DATA LANJUT TEKNIK PERANGKAT LUNAK UNIVERSITAS PGRI RONGGOLAWE

Pemrograman Web Lanjut 2017

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

SQL Data Definition Language (DDL)

MENGENAL SYNTAX DML PADA SQL

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

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

LAPORAN TUGAS BASIS DATA I

Konsep Dasar. Relatsional dan RDBMS User dan Schema Database Membuat Tabel dan Mendefinisikan Constraint Input Data ke dalam Tabel

Konsep Sistem Informasi B. BAB 2 - SQL Overview

OPTIMALISASI QUERY DALAM BASIS DATA MY SQL MENGGUNAKAN INDEX

STRUCTURE QUERY LANGUAGE DDL & DML

Pengenalan Structured Query Language

Introduction to SQL. Database Programming. 2 nd Chapter

MODUL 2 PENGENALAN DATA DEFINITION LANGUAGE (DDL) & DATA MANIPULATION LANGUAGE (DML)

MUKADDIMAH TEORI ASUMSI TABEL. CREATE TABLE contoh ( kode CHAR(5), nama VARCHAR(50) )

INTEGRITAS DAN KEAMANAN DATA. Gentisya Tri Mardiani, S.Kom., M.Kom

BAB VIII FUNGSI, PL/PGSQL dan TRIGER

MODUL III STRUCTURED QUERY ANGUAGE (SQL)

PERINTAH DASAR MySQL

PERTEMUAN 13 SEQUENCE, INDEX & SYNONYM

Tampilan pada Enterprise Manager

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

VIEW : Tabel Virtual VIEW 5/29/2017

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

Computer Science, University of Brawijaya. Putra Pandu Adikara, S.Kom VIEW & TABLE. Basis Data 2

Basis Data Relational

STRUCTURE QUERY LANGUAGE ( S Q L ) Jenis SQL 1. Interactive langsung dapat dioperasikan 2. Embedded disisipkan ke dalam sebuah program

SQL. Pemrograman Web II. Ganjil

BAHASA QUERY KOMERSIAL

Oracle Academic Initiative

By : Hanung Nindito Prasetyo. Program Studi Teknik Komputer Jurusan Teknologi Informasi Politeknik Telkom 2012

STRUCTURE QUERY LANGUAGE ( S Q L )

Transkripsi:

Praktikum 5 VIEW DAN INDEX Tujuan : Praktikan mampu memahami view dan index. Alat dan Bahan : 1. Buku literatur mengenai sistem database, terutama yang menggunakan DBMS SQL Server 2000, khususnya mengenai view dan index. 2. Modul praktikum. Landasan Teori : 1. View a. View dari satu tabel Sebuah VIEW adalah tabel yang dibangun dari satu atau beberapa tabel yang sudah ada. Secara fisik VIEW tidak membuat penyimpanan data seperti tabel, melainkan hanya menyimpan referansi/pointer ke record pada tabel-tabel yang berkaitan. VIEW disebut juga sebagai Virtual Table. Secara umum aturan membuat VIEW adalah: CREATE VIEW NamaView (Kolom1, Kolom2) AS SELECT Kolom1, Kolom2 FROM NamaTabel WHERE predikat Sebagai contoh adalah sebuah VIEW yang terbentuk dari satu tabel: CREATE VIEW v1 AS SELECT npm, Nama FROM mahasiswa_xxx Karena VIEW dibentuk tanpa mencantumkan nama kolom baru, maka v1 mewarisi kolom yang yang dipilih pada tabel mahasiswa_xxx. Menjalankan view diatas : SELECT * FROM v1 b. View Dari Beberapa Tabel VIEW dapat diciptakan dari beberapa tabel, misalnya sebuah join sederhana seperti berikut: VIEW V4 terdiri atas kolom yang dihasilkan melalui SELECT atas tabel mahasiswa_xxx dan asisten_xxx.

CREATE VIEW v4 AS SELECT A.npm, M.nama FROM asisten_xxx A,mahasiswa_XXX M WHERE A.npm=M.npm c. Menghapus View VIEW dapat dihapus dengan menggunakan DROP VIEW seperti berikut: DROP VIEW v1 d. Mengubah View Untuk dapat langsung mengubah VIEW, gunakan ALTER sama dengan syntax alter pada tabel. e. Updating dan insert data Melalui View Updating dapat dilakukan ke dalam VIEW dengan memberikan nilai seperti pada inserting dan updating tabel. Namun harus memperhatikan NOT NULL option dan CONSTRAINT lainnya, sebelum memasukkan nilai ke dalam VIEW. CREATE VIEW v6 (npm, nama, alamat, kota) AS SELECT npm, nama, alamat, kota FROM mahasiswa_xxx WHERE kota= JAKARTA INSERT INTO v6 VALUES ( 03113331, Maya Kusuma, Jl. Manunggal, Tuban ) Perhatikan bahwa walaupun dalam WHERE dibatasi kota= JAKARTA, namun SQL tidak dapat menolak nilai kota yang bukan JAKARTA Agar konsistensi dapat dijaga, maka pada saat VIEW dibuat, pada akhir instruksi harus ditambahkan WITH CHECK OPTION Contoh : ALTER VIEW v6(npm, nama, alamat, kota) AS SELECT npm, nama, alamat, kota FROM mahasiswa_xxx WHERE kota= JAKARTA WITH CHECK OPTION INSERT INTO v6 VALUES ( 02113316, Puspasari, Jl. Kalimosodo 9, Malang ) Akan muncul error : ERROR at line 2: ORA-01402: view WITH CHECK OPTION where-clause violation 2. Batasan Manipulasi Melalui VIEW Melalui VIEW dapat dilakukan INSERT, UPDATE, dan DELETE dengan beberapa limitasi yaitu: a. Tidak dapat memasukkan record baru jika mengabaikan nilai NOT NULL pada basis tabel dari VIEW tersebut.

b. Tidak dapat melakukan INSERT atau UPDATE jika salah satu kolom dalam VIEW merupakan hasil kalkulasi atau hasil dari nilai balik fungsi. c. Tidak dapat melakukan INSERT, UPDATE, atau DELETE jika dalam VIEW terdapat GROUP BY atau DISTINCT. 3. INDEX a. Penggunaan Index Dalam konteks SQL-Server, index adalah sebuah obyek database yang dibuat berdasarkan kolom dalam tabel. Index mempercepat pencarian data. Dengan menggunakan index,data tidak perlu dicari dari awal hingga akhir, melainkan menggunakan algoritma pencarian yang efisien, sehingga waktu proses menjadi semakin cepat. Tanpa index, proses pemanggilan table scan terjadi, yang berarti query processor harus melalui masing-masing record dalam tabel secara indvidual untuk menemukan record yang sesuai dengan kriteria yang dipilih. Proses ini sama dengan mengalokasikan informasi spesifik di dalam buku. Anda dapat menggunakan daftar isi atau index untuk menemukan topik tertentu secara mudah. Tanpa itu semua, Anda harus membuka dan mencari melalui semua halaman sampai Anda menemukan yang Anda cari. Index mempunyai Overhead selain tempat memory yang lebih besar, juga reorganisasi data karena operasi insert dan delete menjadi lebih kompleks. Dengan demikian index tidak boleh digunakan secara sembarang, melainkan dengan perencanaan dan performance tuning yang baik. b. Memilih kolom untuk index Index dipilih berdasarkan selektifitas dari query yaitu seberapa sering data-data pada suatu record diakses melalui select, update atau delete. Selektifitas dipengaruhi oleh kriteria pencarian, yaitu bagaimana memenuhi kriteria tersebut dengan mengakses atribut apa saja. Hal-hal yang dapat dijadikan landasan untuk membuat index adalah : Kolom yang sangat sering dicari Primary key dan Foreign key Kolom yang diakses secara abjad Kolom yang diakses dan sering digunakan dengan join Kolom yang sering dicari berdasarkan urutan (range) Kolom yang sering menjadi predikat pada kunci kata Where Hal-hal yang menyarankan untuk tidak menggunakan index adalah : Hasil query melebihi 20% jumlah record Kolom yang mempunyai nilai valid sedikit (misalnya jenis kelamin) Panjang kolom yang besar. Untuk melihat index yang sudah ada gunakan stored procedure sp_helpindex namatabel dan sp_spaceused untuk mengetahui pemakaian disk. c. Clustered Index Dengan Clustered index secara fisik record disusun sesuai dengan susunan index. Dengan demikian hanya ada satu clustered index yang boleh didefinisikan dalam satu tabel. Primary key adalah kandidat baik untuk menjadi clustered index (index secara implicit diciptakan melalui constraint primary key). Dalam menciptakan index, maka secara default otomatis yang dipilih adalah non clustered index.

Cara membuat index adalah: DROP INDEX CI_NoPeg CREATE CLUSTERED INDEX CI_NoPeg ON Pegawai (NoPeg) DROP dijalankan untuk memastikan bahwa index tersebut belum ada. d. Non Clustered Index Dalam non clustered index secara fisik susunan record tidak berpengaruh. Non clustered index menyimpan pointer yang menunjuk ke baris atau record dari tabel. Dalam sebuah tabel dapat dibuat banyak non clustered index, sejauh index tersebut dibutuhkan. Dalan syntax create index pilih NONCLUSTERED adalah default. Cara membuatnya adalah: DROP INDEX NI_Nama CREATE NONCLUSTERED INDEX NI_Nama ON Pegawai (Nama) Atau: CREATE INDEX NI_Nama ON Pegawai (Nama) e. Unique Index Secara otomatis unique index diciptakan melalui constraint primary key dan unique. Sistem akan memeriksa setiap saat record baru diciptakan atau di-update. Membuat unique index secara manual adalah: CREATE UNIQUE INDEX UI_KTP ON Pegawai (KTP) Tugas Pendahuluan Praktikum 1. Apa yang dimaksud dengan view? Sebutkan keuntungan dari view! 2. Apa yang dimaksud dengan index? Sebutkan keuntungan dari index! 3. Bagaimana hubungan sifat index dengan primary key? 4. Apa yang dimaksud dengan clustering? Sebutkan keuntungan dari clustering! 5. Sebutkan batasan manipulasi melalui view! Percobaan : Sebelum memulai, aktifkan Tools Query Analyzer Percobaan 1 : Buat sebuah VIEW yang terdiri dari nama asisten dan honor yang mempunyai honor diatas rata-rata (join tabel mahasiswa_xxx dan asisten_xxx) Percobaan 2 : Buat sebuah view yang akan menampilkan isi data npm, nama, alamat, dan nomor telpon dari mahasiswa_xxx untuk mahasiswa yang mempunyai nama Bambang dan nomor telfonnya mengandung 081803 saja.

Percobaan 3 : Isi data pada data mahasiswa_xxx melalui view yang dibuat dengan data : NPM : 02311815 Nama : Erich Irmanto Jenis Kelamin : Laki-Laki Alamat : Jl. KS. Tubun Banjarmasin Kalsel Telp : 08122553201 NPM : 03113406 Nama : Nyoman Sutrisna Jenis Kelamin : Laki-Laki Alamat : Poharin B20 Malang Jatim Telp : 0354333456 NPM : 02311832 Nama : Dyah Ayu Puspita Sarie Jenis Kelamin : Perempuan Alamat : Jl. Danau Tondano Dalam 42 Malang Jatim Telp : 0354232323 Percobaan 4 : Buat view dari tabel asisten_xxx dan lakukan update data honor dengan memberikan THR pada setiap asisten dengan jumlah 23 % dari honor yang diterima. Percobaan 5 : Buat view dari tabel asisten_xxx dan lakukan update data honor dengan memberikan bonus bagi yang mengajar lebih dari 7 jam sebasar 5 % dari total honor yang diterima. Percobaan 6 : Buat view dari tabel mahasiswa_xxx dan lakukan update data propinsi menjadi Jabar bila npm memiliki angka ganjil di setiap akhir npm. Gunakan fungsi IN