Sistem Manajemen Basis Data

Slides:



Advertisements
Presentasi serupa
SQL  SQL adalah bahasa query baku untuk DBMS  SQL diambil sebagai bakuan sejak tahun 1992  Awalnya diterapkan pada DBMS besar seperti Oracle dan Informix,
Advertisements

SQL – DML.
DESAIN & KONFIGURASI DATABASE
Sejarah (1) • Tahun 1974, Dr. Chamberlin dari Saan Jose Laboratorium IBM mendefinisikan sebuah bahasa untuk mengakses database yang disebut dengan SEQUEL.
MATA KULIAH : “LOGIKA DAN ALGORITMA”
Pertemuan 2 : Dasar-dasar SQL SBD C – Senin, Frank & Rudy
SISTEM BASIS DATA INTRO-5. •Setelah mengikuti perkuliahan ini diharapkan mahasiswa dapat mengerti : 1.Aplikasi perintah SQL ke MySql Server 2.Mengerti.
Database MySQL.
Error Handling (Exception) & INDEX
PERINTAH SQL.
MYSQL.
DDL & Aturan Referential
PEMROGRAMAN BASIS DATA
SQL.
Data Warehouse dan Decision Support
Manajemen Basis Data menggunakan SQL Server
Fungsi SQL lanjut dan pengambilan data dari multiple table.
Pertemuan : 8 Basis Data Terapan
5. MENAMPILKAN DATA DARI BEBERAPA TABEL
Internet Programming MySQL
Pemrogramn Berorientasi Obyek MySQL
JOINED TABLE Untuk menampilkan data dari dua atau lebih tabel, maka tabel – tabel tersebut harus dihubungkan terlebih dahulu  JOIN.
DDL & Aturan Referential
Pemrograman Visual II Database Management System (DBMS) Oleh: Erna Sri Hartatik, S.Kom
Microsoft SQL Server DDL dan DML dasar
Data Definition Language dan Data Manipulation Language
Praktikum Database Subquery Lanjutan dan View Abdul Kadir.

Antonius Wahyu Sudrajat, S. Kom., M.T.I. Perintah SQL: Data Definition.
Data Types Data Definition Language Referential Constraint SQL Query
SQL = Structure Query Language
BAHASA QUERY TERAPAN OLEH : HARSITI, ST.
© 2010 © Rizki Arif Firdaus © 2010 © 2010.
STRUCTURED QUERY LANGUAGE (SQL)
DATA DEFINITION LANGUAGE
SQL Pertemuan
Pengenalan Database MySQL
Pertemuan after UTS Structure Query Language (SQL)
Rekayasa Perangkat Lunak Materi 3 (Database)
PEMASARAN BERBASIS WEB
Bahasa Basis Data.
TABEL VIRTUAL (VIEW) SYAIFUL HUDA, S.Kom.
DDL, DML.
SQL.
Bahasa query terpan.
JOIN.
Review Database Materi 1
View dan Trigger Materi 5
JOIN.
Konsep Teknologi Informasi B
SQL (Structured Query Language)
PEMASARAN BERBASIS WEB
QUERY SQL Modul Query.
SQL OVERVIEW.
Sistem Manajemen Basis Data
Created By Amir Ali,S.Kom.,M.Kom
Structured Query Language (SQL)
Management Information System
Structured Query Language
Query dalam sql server Pertemuan 6.
BEKERJA DENGAN STRUCTURED QUERY LANGUAGE (SQL)
BEKERJA DENGAN STRUCTURED QUERY LANGUAGE (SQL)
Sistem Manajemen Basis Data
Biodata…… Nama : Muhammad Yunus Alamat : Getap Asal : Sakra Lotim
Aplikasi Database Dosen : Sarwo, Skom,.Mkom Url :
Pengenalan mySQL database
SQL.
Membuat Query ACCESS Query adalah fasilitas untuk mengakses data dengan cara  yang memungkin bagi kita untuk menampilkan data-data dari database dalam.
BAHASA BASIS DATA Retreiving Data dan Manipulation Function
Pengantar Teknologi SIM 2 (pertemuan 7)
Transcript presentasi:

Sistem Manajemen Basis Data Optimasi Query Materi 4 Sistem Manajemen Basis Data Eko Prasetyo Teknik Informatika Universitas Bhayangkara Surabaya 2012

Tabel-tabel yang digunakan lecturer students enrolled faculty grade_scale course

Optimasi Query Data yang tersimpan dalam database semakin lama akan semakin besar ukuran atau volumenya. Kalau tidak didukung dengan kecepatan akses yang memadai maka akan semakin menurun unjuk kerjanya. Ukuran unjuk kerja dalam hal ini kecepatan akses data dipengaruhi oleh banyak faktor, seperti: perintah SQL, index, denormalisasi, cluster.

Optimasi Pada Perintah SQL Desain aplikasi saja tidak cukup untuk meningkatkan unjuk kerja harus didukung dengan optimasi dari perintah SQL yang digunakan pada aplikasi tersebut. Dalam mendesain database, seringkali lokasi fisik data tidak menjadi perhatian penting. Karena hanya desain logik saja yang diperhatikan. Padahal untuk menampilkan hasil query dibutuhkan pencarian yang melibatkan struktur fisik penyimpanan data. Inti dari optimasi query adalah meminimalkan “jalur” pencarian untuk menemukan data yang disimpan dalam lokasi fisik. Index pada database digunakan untuk meningkatkan kecepatan akses data. Pada saat query dijalankan, index mencari data dan menentukan nilai ROWID yang membantu menemukan lokasi data secara fisik di disk. Akan tetapi penggunaan index yang tidak tepat, tidak akan meningkatkan unjuk kerja dalam hal ini kecepatan akses data. Indek bertindak seperti ‘daftar isi’ dalam sebuah buku.

Optimasi Pada Perintah SQL Operasi-operasi query: seleksi, proyeksi, join Seleksi: Operasi pemilahan baris-baris data yang memenuhi kriteria dalam klausa WHERE Jika tidak terdapat indek pada kolom yang digunakan sebagai operand seleksi, maka DBMS akan men-scan seluruh isi tabel tersebut Proyeksi: Operasi pemilihan kolom tertentu dari tabel yang akan ditampilkan Select sid, name from students  Memilih kolom sid dan name dari tabel students Operasi yang mahal adalah jika menggunakan operator DISTINCT Select DISTINCT age from students  Akan mendapatkan usia berapa saja pada mahasiswa dalam tabel students Join: Operasi penggabungan 2 atau lebih tabel, ini merupakan operasi yang umum dan mahal. Ada 3 jenis: left join, right join, dan inner join (kadang juga menggunakan operator WHERE untuk menggabungkan)

Index Misal: Pada tabel students akan dibuatkan index yang melibatkan 1 kolom yang mengurutkan data menurut nama. create index idx_students_name on students (name) Kemudian melakukan query sebagai berikut: Select a.sid, a.name from students as a where a.name like ‘R%’ Select a.sid, a.name from students as a where a.name in (‘Sandi’,’Wati’) Select a.sid, a.name from students as a where a.name not in (‘Sandi’,’Wati’) and a.age > 20 Kedua query akan menggunakan indek secara optimal. Query 1 dan 2: optimal Query 3: optimal untuk name, tidak untuk age (karena tidak ada indek untuk age) Untuk menghapus index, gunakan perintah alter dan drop Misal: alter table students drop index idx_students_name

Index Misal: Pada tabel students akan dibuatkan index yang melibatkan 2 kolom yang mengurutkan data menurut fid (kode fakultas) dan lid (kode dosen wali) create index idx_students_fid_lid on students (fid, lid) Kemudian melakukan query sebagai berikut: SELECT a.name, a.birthday from students as a where a.lid in (‘9001’,’9003’)  Indek tidak digunakan, karena seleksi tidak melibatkan kolom pertama indek SELECT a.name, a.birthday from students as a where a.fid = ‘1’  Indek tidak akan digunakan secara optimal karena pembuangan resource pelibatan kolom lid dalam indek SELECT a.name, a.birthday from students as a where a.fid = ‘1’ and a.lid in (‘9001’,’9003’)  Indek digunakan secara baik dan optimal.

Optimasi Aplikasi Dalam pembuatan aplikasi, yang perlu mendapat perhatian adalah apakah akses terhadap data sudah efisien. Efisien dalam hal penggunaan obyek yang mendukung kecepatan akses, seperti index atau cluster. Kemudian juga bagaimana cara database didesain. Apakah desain database sudah melakukan normalisasi data secara tepat. Kadangkala normalisasi sampai level yang kesekian, tidak menjamin suatu desain yang efisien. Untuk membuat desain yang lebih tepat, kadang setelah melakukan normalisasi perlu dilakukan denormalisasi. Misalnya tabel yang hubungannya one-to-one dan sering diakses bersama lebih baik disatukan dalam satu tabel.

Denormalisasi Misal, pada tabel students sering ada pengaksesan antara tabel students dan lecturer untuk menampikan nama dosen wali pada KRS/KHS mahasiswa, untuk kasus seperti ini sebaiknya dilakukan denormalisasi dengan menambahkan kolom ‘lecturer_name’ pada tabel student Manfaatkan korelasi sub-query update Lakukan denormalisasi tabel students dengan menambah kolom lecturer_name Isi kolom lecturer_name didapatkan dari tabel lecturer alter table students add column lecturer_name varchar(30) update students as a set lecturer_name = (select b.name from lecturer as b where b.lid=a.lid)

Cluster Cluster adalah suatu segment yang menyimpan data dari tabel yang berbeda dalam suatu struktur fisik disk yang berdekatan. Konfigurasi ini bermanfaat untuk akses data dari beberapa tabel yang sering di-query. Penggunaan cluster secara tepat dilaksanakan setelah menganalisa tabel-tabel mana saja yang sering di-query secara bersamaan menggunaan perintah SQL join. Jika aplikasi sering melakukan query dengan menggunakan suatu kolom yang berada pada klausa WHERE, maka harus digunakan index yang melibatkan kolom tersebut. Penggunaan index yang tepat bergantung pada jenis nilai yang terdapat dalam kolom yang akan diindex. Dalam RDBMS Oracle, index B-Tree digunakan untuk kolom yang mengandung nilai yang cukup bervariasi, sedangkan untuk nilai yang tidak memiliki variasi cukup banyak, lebih baik menggunakan index bitmap.

Any Question ? To Be Continued … Materi 5