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

dokumen-dokumen yang mirip
PERTEMUAN 13 SEQUENCE, INDEX & SYNONYM

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

Oracle Academic Initiative

Operator Himpunan. Operator Himpunan, DML, DDL, DCL, TCL, Sequence, Index dan Synonym

User Access MI2154 SQL LANJUT.

PERTEMUAN 10 PEMBUATAN TABEL

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

Oracle Academic Initiative

Pertemuan DDL INDIKATOR. Modul Teori Database Aknela

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

@Tessy Badriyah, SKom. MT. PERTEMUAN 12 VIEW

STRUCTURE QUERY LANGUAGE DDL & DML

STRUCTURE QUERY LANGUAGE (SQL)

PERTEMUAN 14 MENGONTROL AKSES USER

Perangkat Lunak Pengembangan Web

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

SUBQUERY-2. MI2154 SQL LANJUT Dedy Rahman Wijaya, S.T., M.T., OCA

PENGANTAR TEKNOLOGI SISTEM INFORMASI MANAGEMENT 2

Oracle Academic Initiative

Arsitektur Basis Data Oracle

GARIS-GARIS BESAR PROGRAM PENGAJARAN (GBPP) PROGRAM STUDI : DIII MANAJEMEN INFORMATIKA Semester : 4

STRUCTURE QUERY LANGUAGE

Oracle Academic Initiative

OPTIMALISASI QUERY DALAM BASIS DATA MY SQL MENGGUNAKAN INDEX

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

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

Contoh SQL Constraint

Tutorial Database Oracle Chapter2 Pembuatan User dan Kontrol Hak Akses

MODUL II. Instalasi OracleXE Dan SQL

Pemrograman Basis Data dan SQL Modul ke: Pemrograman PL/SQL

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

B a s i s D a t a - 1. SQL Operasi DDL. Data Definition Laguange. Copyright 2005 PENS-ITS

Macam - Macam Perintah Pada SQL

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

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

CONSTRAINT clients_client_num_pk PRIMARY KEY (client_number));

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

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

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

Apa yang akan dibahas? Pengertian SQL Penggolongan Statement SQL Aturan Gramatika SQL Struktur Dasar SQL Query Satu (1) Tabel

Praktikum Basis Data 14 Structure Query Language 2

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

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

PERTEMUAN 11 CONSTRAINT. Tujuan Pembelajaran : Memahami definisi Constraint Dapat Membuat Constraint Dapat Melakukan pemeliharaan Constraint

SEKOLAH TINGGI TEKNOLOGI INDONESIA TANJUNG PINANG

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

Pengertian Query. Query adalah perintah-perintah untuk mengakses data pada sistem basis data

DESAIN DATABASE. Pertemuan 06 3 SKS

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

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


SEQUENCE DAN INDEX. Contoh: CREATE SEQUENCE dept_deptid_seq INCREMENT BY 10 START WITH 120 MAXVALUE 9999 NOCACHE NOCYCLE;

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

Administrasi Basis Data. Integritas Data. Yoannita

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

Pertemuan 9 Struktur Query Language(SQL)

B a s i s D a t a - 1 C H A P T E R. SQL Operasi DDL. Copyright 2005 PENS-ITS

PRAKTIKUM 5 SISTEM BASIS DATA JOIN

Tahap Instalasi PostgreSQL di Windows

SQL (Structured Query Language)

Structured Query Language

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

INTERNET PROGRAMMING DATABASE

Rencana Pelaksanaan Pembelajaran

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

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

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

B a s i s D a t a - 1 C H A P T E R. SQL Operasi DML. Copyright 2005 PENS-ITS

RENCANA PROGRAM KEGIATAN PERKULIAHAN SEMESTER (RPKPS)

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

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

DATA DEFINITION LANGUAGE : CREATE, DROP, ALTER

BAHASA QUERY KOMERSIAL

Oracle Academic Initiative

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

TUGAS PRAKTIKUM SISTEM BASIS DATA

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

MODUL 4. Query SELECT dan DML (INSERT, UPDATE, DELETE) PRAKTIKUM BASIS DATA LANJUT TEKNIK PERANGKAT LUNAK UNIVERSITAS PGRI RONGGOLAWE

MODUL 7 STRUCTURED QUERY LANGUAGE

Tampilan pada Enterprise Manager

Bab 3. Query Lanjutan POKOK BAHASAN: TUJUAN BELAJAR:

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

LAPORAN PRAKTIKUM MODUL 1 PENGENALAN MYSQL

Basis Data. DDL & Aturan Referential

Oracle Academic Initiative

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

Pertemuan 10. Bahasa Query Terapan

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

TUGAS PRAKTIKUM SISTEM BASIS DATA

MODUL 5 INTERNET PROGRAMMING : MySQL

Mahasiswa memahami fungsi-fungsi lain di dalam SQL Mahasiswa memahami tentang operasi agregasi Mahasiswa mampu mengaplikasikan operasi agregasi

INTEGRITAS BASIS DATA. OLEH : Slamet Sn Wibowo Wicaksono

Mengelola Data. Oleh: Arif Basofi

Sistem Basis Data 1. Pertemuan 5 dan 6 Aljabar Relasional dan SQL Rogayah, ST.,MMSI Untuk 3DB01 dan 3DB04

STRUCTURED QUERY LANGUAGE (SQL) (Implementasi menggunakan MySQL)

Oracle Academic Initiative

Oracle Academic Initiative

MODUL 9 WEB PROGRAMMING : MySQL

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

Transkripsi:

Schema Objects MI2154 SQL LANJUT Dedy Rahman Wijaya, S.T., M.T., OCA dedyrw@tass.telkomuniversity.ac.id

Sasaran Memahami tujuan penciptaan index Mampu menciptakan index Mampu membedakan private & public synonyms Mampu membuat private & public synonyms Mampu menciptakan, mengelola & menggunakan sequence

INDEX Salah satu jenis objek pada schema yang berfungsi untuk mempercepat pencarian data Menghindari membaca isi dari seluruh tabel, tapi langsung pada inti pencariannya Digunakan dan dikelola secara otomatis

Jenis Index Bitmap Index Function-based Index B-Tree Index Index Default

Penciptaan INDEX Otomatis (Unique Index) Pada saat mendefinisikan constraint PRIMARY KEY Pada saat membuat constraint UNIQUE Manual (Non-Unique Index) Didefinisikan sendiri oleh pembuat, misalkan membuat index pada kolom yg menjadi foreign key untuk mempercepat operasi join

Cara Kerja Index

B-Tree Index Index default Gunakan jenis index ini untuk kolom yang memiliki range sangat luas (kemungkinan nilainya sangat banyak) Ex: nim, nomor transaksi, nomor keanggotaan Jangan gunakan jenis index ini untuk kolom yang memiliki range sempit. Ex: jenis kelamin (L,P), ukuran baju (S, M, L, XL, XXL), dll

B-Tree Index Untuk membuat index pada satu atau lebih kolom, sintak penulisannya : CREATE [UNIQUE] INDEX index_name ON table_name(column_name[, column_name...]) [TABLESPACE tab_space]; Contoh: Tips: Untuk alasan performansi, tablespace untuk menyimpan data pada tabel seharusnya Dibedakan dengan tablespace untuk menyimpan indeks

Function-based index Index B-Tree tidak akan bekerja jika query pada klausa WHERE yang kita jalankan mengandung function SELECT first_name, last_name FROM customers WHERE last_name = UPPER('BROWN'); Supaya query di atas dapat berjalan lebih cepat maka kita harus mendefinisikan function-based index CREATE INDEX i_func_customers_last_name ON customers(upper(last_name)); Tips: supaya function-based index bekerja maka parameter QUERY_REWRITE_ENABLED harus Diset TRUE ALTER SYSTEM SET QUERY_REWRITE_ENABLED=TRUE;

Bitmap Index Biasa digunakan untuk sistem datawarehouse Jumlah data sangat besar Data tidak/ jarang mengalami operasi DML Sering dilakukan Operasi SELECT Gunakan jenis index ini untuk kolom yang memiliki nilai dengan range kecil Ex: jenis kelamin (L,P), ukuran baju Contoh: CREATE BITMAP INDEX i_order_status ON order_status(status);

Melihat INDEX Gunakan Data Dictionary: USER_INDEXES dan USER_IND_COLUMNS. Contoh: SELECT * FROM USER_INDEXES Atau SELECT * FROM USER_IND_COLUMNS

Kapan INDEX diperlukan? Index perlu dibuat pada saat : Kolom sering digunakan dalam klausa WHERE atau kondisi join Kolom berisi jangkauan nilai yang sangat luas Kolom berisi banyak sekali nilai NULL Dua atau lebih kolom sering digunakan bersama-sama dalam klausa WHERE atau kondisi join Table berukuran besar dan baris yang didapatkan pada saat query paling banyak diperkirakan kurang dari 2-4% dari baris yang ada.

Do not overindex!!!

Kapan INDEX tidak diperlukan? Index tidak perlu dibuat jika : Tabel berukuran kecil Kolom tidak terlalu sering digunakan sebagai kondisi dalam query Baris yang didapatkan pada saat query lebih dari 2-4% dari baris yang ada. Tabel sering di-update

Menghapus INDEX Untuk menghapus index dari data dictionary digunakan perintah DROP INDEX. Contoh:

SEQUENCES Object yang dapat membuat deret bilangan integer Objek yang dapat digunakan bersama (sharable) Biasanya digunakan untuk mengisi kolom primary key secara otomatis (autoincrement) Dapat mengantikan kode pada aplikasi untuk membuat nilai-nilai secara unik

Membuat Sequence Klausa CYCLE NOCYCLE dalam SEQUENCE, menspesifikasikan apakah sequence akan melanjutkan untuk men-generate value setelah mencapai nilai maks or min value (default adalah NOCYCLE) Klausa CACHE n NOCACHE, menspesifikasikan berapa banyak nilai yang dialokasikan oleh Oracle Server dalam memori (default 20 values)

Keberadaan SEQUENCE Untuk memeriksa keberadaan dari sequence, informasi bisa diambil dari data dictionary : USER_SEQUENCES

Buatlah Sequence Sbb

NEXTVAL, CURRVAL dan Penggunaan Sequence Next sequence ditempatkan pada NEXTVAL, sedangkan CURRVAL menyimpan current sequence Contoh:

Mengubah dan Menghapus Sequence Mengubah Sequence: Menghapus Sequence:

SYNONYM Pernahkah anda menemukan nama tabel sbb: tabel_mahasiswa_terancam_drop_out tabel_daftar_mahasiswa_belum_bayar_bpp hr.employees User_baru.tabel_barang Kita bisa memanfaatkan synonym untuk membuat alias nama atau menyingkat nama tabel.

SYNONYM Salah satu jenis objek dalam schema Berfungsi untuk: menyamarkan nama objek dengan memberikan nama alias Mempermudah penyebutan nama tabel milik user lain Mempermudah penyebutan nama objek yg panjang atau susah dihafal

Pembuatan SYNONYM User scott memiliki hak akses ke tabel departments di schema HR. user scott membuat synonym dep sebagai nama lain dari hr.departments untuk menyingkat nama tabel. CREATE SYNONYM dep FOR hr.deparments; Untuk menghapus synonym digunakan perintah DROP SYNONYM. DROP SYNONYM dep; Hanya DBA yang bisa menghapus public synonym Untuk melihat detail dari SYNONYM dapat menggunakan view USER_SYNONYMS

View Salah satu objek dalam schema Merepresentasikan isi data dari suatu tabel Dapat digunakan untuk membatasi data apa saja yang dapat diakses oleh user. Disimpan sebagai perintah SELECT dalam schema

VIEW

Keuntungan Menggunakan VIEW

TIPE VIEW Ada 2 (dua) tipe view, yaitu: Simple View dan Complex View Berikut ini perbandingan antara Simple View dan Complex View :

Membuat VIEW

Membuat VIEW dengan kolom alias

Pertanyaan Bagaimana cara melihat isi dari view? Bagaimana cara merubah view?

Complex VIEW

Operasi DML pada VIEW Operasi DML dapat dilakukan pada Simple View Baris data pada View tidak dapat dihapus, jika berisi : Group Function (COUNT, SUM, AVG, dll) Klausa GROUP BY Keyword DISTINCT Terdapat kolom ROWNUM Data pada View tidak bisa diupdate jika berisi : Group Function (COUNT, SUM, AVG, dll) Klausa GROUP BY Keyword DISTINCT Terdapat kolom ROWNUM Kolom yang berisi ekspresi (ex: salary+salary*0.1) Pada View tidak bisa ditambahkan data, jika : Group Function (COUNT, SUM, AVG, dll) Klausa GROUP BY Keyword DISTINCT Terdapat kolom ROWNUM Kolom yang berisi ekspresi (ex: salary+salary*0.1) Terdapat kolom yang memiliki constraint NOT NULL yang tidak terdapat pada VIEW

WITH CHECK OPTION Mencegah perubahan data yang menyebabkan view tidak dapat mengambil data (karena tidak sesuai dengan kriteria pada klausa WHERE).

WITH READ ONLY Mencegah semua operasi DML pada view

Menghapus VIEW Menghapus view tidak akan berpengaruh pada data di based table

Referensi Greenberg, N. Oracle Database 10g: SQL Fundamentals I Greenberg, N. (Edition 1.1 August 2004). Oracle Database 10g: SQL Fundamental II. Jobi Varghese BAB 10 Gavin Powell, C.M,D.(2005). Oracle SQL Jumpstart With Examples. USA: Elsevier Inc BAB 21 Jason Price. Oracle Database 11g SQL. McGrawHill (2008) Chapter 10