Saturday, December 22, 2012

optimasi Query

1 comments
pada postingan kali ini akan membahas tentang optimasi query. untuk lebih lanjut baca ringkasan dibawah ini
Teknik optimasi umumnya dapat dilakukan dengan beberapa cara. Terdapat dua cara  pendekatan optimasi yang umum digunakan saat ini sebagaimana diungkapkan oleh Chanowich (2001), yakni:

a.    Heuristik atau rule-based
Teknik ini mengaplikasikan aturan heuristik agar terjadi keefektifan dalam  proses query. Optimasi jenis ini mentransformasikan query dengan sejumlah aturan yang akan meningkatkan kinerja eksekusi, yakni:
⦁    melakukan operasi selection di awal untuk mereduksi jumlah baris
⦁    melakukan operasi projection di awal untuk mereduksi jumlah atribut
⦁    mengkonversikan query dengan banyak join menjadi query dengan banyak subquery
⦁    melakukan operasi selection dan join yang paling kecil keluarannya sebelum operasi lain
a.    Cost-based
Teknik ini mengoptimasikan cost yang dipergunakan dari beberapa alternatif untuk kemudian dipilih salah satu yang menjadi cost terendah. Teknik ini dapat mengoptimalkan urutan join terbalik yang dimungkinkan pada relasi-relasi r1 ke r2 ke ... rn. Teknik ini dipergunakan untuk mendapatkan pohon left-deep join yang akan menghasilkan sebuah relasi  pada node sebelah kanan yang bukan hasil dari sebuah intermediate join.

selain teknik diatas terdapat juga teknik optimasi lainnya seperti
  • Join ordering merupakan aspek yang penting dalam suatu optimasi query, terlebih pada query terdistribusi. Join ordering menjadi lebih penting ketika query merupakan query terdistribusi karena akan mempengaruhi communication time.Join ordering dapat dilakukan secara langsung, maupun dengan mengombinasikan dengan semijoins di mana akan meminimalisasi communication cost.
  •  Fungsi objektif dari algoritma ini adalah untuk meminimalisasi kombinasi baik communication time maupun response time. Algoritma ini juga mendapat keuntungan pada fragmentasi, tetapi hanya fragmentasi horizontal.Input untuk algoritma pemrosesan query ini dinyatakan dalam calculus relational-tupel dan skema informasi (tipe network, lokasi dan ukuran masing-masing site). 
  • Algoritma Sistem R
     Sistem R merupakan optimasi query statis yang didasarkan pada exhaustive search dari ruang solusi yang ada. Input untuk optimizer dengan sistem R adalah pohon relasi aljabar yang dihasilkan dari dekomposisi dari sebuah query SQL. Kemudian output dari sistem merupakan rencana eksekusi yang mengimplementasikan pohon relasi aljabar yang optimal.  Optimizer menetapkan biaya (dalam hal waktu) dari masing-masing pohon kandidat dan mempertahankan pohon dengan biaya yang terkecil.
  • Algoritma INGRES
     Algoritma INGRES menggunakan algoritma optimasi dinamis yang memecah query kalkulus ke dalam bagian yang lebih kecil secara rekursif. Mengombinasikan dua tahapan yaitu dekomposisi dan optimasi  kalkulus-aljabar.
Read more ►

Monday, December 17, 2012

SQL lanjutan (Subquery)

0 comments
Subquery adalah salah satu metode pada SQL yang digunakan untuk mendapatkan sebuah data maupun beberapa data dari sebuah table yang tergabung dalam sebuah relasi, jadi subquery digunakan untuk mencari informasi dari beberapa table yang terhubung dengan value yang sama.
contohnya : select * from nama_tabel_a where kolom_a (select nama_kolom_b from nama_tabel_b)
select yang pertama  merupakan query biasa sedangkan select yang kedua merupakan subquery.
Read more ►

Structur Query Language

0 comments
pada postingan kali ini akan membahas tentang SQL. SQL merupakan  (Structured Query Language) yang biasanya digunakan dalam database.  penjelasan lebih lanjut adalah sebagai berikut

Kumpulan tabel yang saling berhubungan satu sama  akan membentuk sebuah database (basis data) dan disimpan dalam komputer. Data-data tersebut tidak akan ada artinya tanpa adanya bahasa SQL untuk mengatur, mengelola, dan menyajikan kembali data-data tersebut.data-data penting disimpan dalam bentuk tabel yang terdiri dari field (kolom) dan record (baris). untuk mengambil data dari database, menambahkan data ke database.

Structured Query Language (SQL) merupakan bahasa yang banyak digunakan dalam berbagai produk database. Peranti lunak yang akan mencerna dan menterjemahkan permintaan bahasa SQL tersebut, serta melakukan pencarian datanya adalah DBMS (Data Base Management System).
 

 5 Bagian utama dari SQL
DDL : bahasa yg digunakan untuk mendefinisikan data.ex : create, drop
DML : bahasa yg digunakan untu memanipulasi data. ex : insert, update, delete
Retrieving Data : perintah untuk menampilkan data dari database.ex : select
DCL: bahasa untuk kontrol pengendalian akses data ke database.ex : grant, revoke
DTL :  bahasa untuk mengelola transaksi di database.ex : commit transaction, rollback transaction


 

Read more ►

Friday, November 30, 2012

Normalisasi dan dependency

1 comments
pertemeuan ketuju ini membahas tentang normalisasi dan dependency pada sistem basis data. pertama akan membahas tentang normalisasi yang kemudian dilanjutkan dengan mambahas dependency.

NORMALISASI


  • Normalisasi adalah proses pembentukan struktur basis data sehingga sebagian besar ambiguity bisa dihilangkan. 
  • Proses normalisasi merupakan proses pengelompokan data elemen menjadi tabel yang menunjukkan entity dan relasinya (Kristanto, H., 1994).
  • Normalisasi data merupakan suatu proses untuk mendapatkan struktur tabel atau relasi yang efisien dan bebas dari anomali, dan mengacu pada cara data item dikelompokkan ke dalam struktur record.
  • Normalisasi adalah suatu teknik untuk mengorganisasi data ke dalam tabel-tabel untuk memenuhi kebutuhan pemakai didalam suatu organisasi.
Read more ►

Tuesday, November 13, 2012

Bahasa Query

3 comments
Bahasa Query
Bahasa Query merupakan bahasa Tingkat tinggi (high level) yang digunakan pengguna dalam mendapatkan informasi/data di basis data. Bahasa Query dibagi menjadi 2 kelompok yaitu bahasa Query Prosedural dan Non Prosedural. penjelasannya adalah sebagai berikut:
  • Bahasa Query Prosedural adalah masih termasuk bahasa Query dimana user meinginstruksikan ke sistem agar sistem melakukan serangkaian operasi pada basis data untuk mendapatkan infoemasi yang diinginkan. contoh nya adalah aljabar relasional
  • Bahasa Query Non-Prosedural adalah user mendiskripsikan informasi yang diinginkan a\tanpa memberikan menyatakan suatu cara/prosedur unutk memperoleh data /informasi tersebut. contoh : kalkulus relasional tuple
perbedaan antara prosedural dan Non-prosedural terletak pada cara mendapatkan data. prosedural menggunakan cara/prosedur sedangkan non-prosedural mendiskripsikan data yang diinginkan.

Aljabar Relasional
Bahasa Query yang didasarkan pada operasi aljabar relasional termasuk pada bahasa Prosedural. secara garis besar aljabar relasional adalah kumpulan operasi terhadap relasi dimana setiap operasi relasi menggunakan satu atau lebih relasi unutk menghasilkan relasi baru

aljabar relasional memanfaatkan satu atau beberapa tabel sebagai masukan kemudian menghasilkan relasi/tabel baru sebagai keluarannya.
aljabar relasonal dapat dikelompokkan mejadi 2 bagian yaitu:
operasi tunggal (unary operation), operasi yang hanya pada satu tabel saja
  • select
  • project
  • cartesian product
  • union
  • set differense
Operasi Biner (binary Operation) , operasi pada sejumlah / beberapa tabel
  • natural join
  • theta join
  • intersection
  • division




Read more ►

Friday, October 26, 2012

SISTEM BASIS DATA PERTEMUAN 5

0 comments
Saya akan menshare ilmu yang saya dapat ketika Mengikuti Perkuliahan Sistem basis Data pembelajaran ke-5 yang  membahas tentang Model Data Relational Lanjut yang terdiri dari Varian Entitas, Agregasi dan Tranformasi Model Data ke Basis Data Fisik. Kita akan membahas satu persatu apa itu varian entitas, agresasi dan Transformasi Model Dat Ke Basis Data Fisik. 

Pertama kita akan membahas tentang  Varian Entitas.  Varian entitas berarti macam-macam entitas, jika pembahasan yang pertama membahas tentang pengertian entitas. Varian entitas terbagi menjadi 2 yaitu entitas kuat dan entitas lemah. Pengertian dari entitas kuat dan entitas lemah adalah sebagai berikut:

Read more ►

Saturday, October 13, 2012

RANGKUMAN SISTEM BASIS DATA PERTEMUAN 4

0 comments
pertemuan ke-4 ini membahas tentang model data relational. pada pertemuan sebelumnya sudah dijelaskan tentang ER-Diagram. model data relational di bagi menjadi 2 yaitu ER-model dan Relational Model. Er-model mempunyai model High level sehingga sulit untuk dipahami sedangkan Relational model merupakan Lower model Sehingga dengan mudah dipahamai dan dipelajari.
  • Model Data Relasional adalah suatu model basis data yang menggunakan tabel dua dimensi, yang terdiri atas baris dan kolom untuk menggambarkan sebuah berkas data.
  • Model ini menunjukkan cara mengelola/mengorganisasikan data secara fisik dalam memory sekunder, yang akan berdampak pula pada bagaimana kita mengelompokkan data dan membentuk keseluruhan data yang terkait dalam sistem yang kita buat.
  • Keuntungan Model Data Relasional
    Bentuknya sederhana
    Mudah melakukan berbagai operasi data (query, update/edit, delete).
  • Contoh-contoh model basis data:
    Model basis data hirarki
    Model basis data network/jaringan
    Model basis data relational (paling banyak digunakan
  • Istilah dalam Model Data Relasional :

    Relasi:  Sebuah tabel yang terdiri dari beberapa kolom dan beberapa baris.

    Atribut: : Kolom pada sebuah relasi (field).

    Tupel :Baris pada sebuah relasi (record).

    Domain: Kumpulan nilai yang valid untuk satu atau lebih atribut

    Derajat (degree): Jumlah atribut dalam sebuah relasi (jumlah field)

    Cardinality: Jumlah tupel dalam sebuah relasi (jumlah record)
Relational Key

Super key  : Satu atribut/kumpulan atribut yang secara unik mengidentifikasi sebuah tupel di dalam relasi (satu atau lebih field yang dapat dipilih untuk membedakan antara 1 record dengan record lainnya).
Contoh: Untuk tabel MHS di atas, super key-nya:
- NPM
- NAMA (dengan syarat tidak ada nama yang sama)
- ALAMAT (dengan syarat tidak ada alamat yang sama)
- NPM + NAMA
- NPM + ALAMAT
- NAMA + ALAMAT
- NPM + NAMA + ALAMAT

Candidate key :Atribut di dalam relasi yang biasanya mempunyai nilai unik (super key dengan jumlah field yang paling sedikit) Maka, candidate key-nya adalah NPM, NAMA dan ALAMAT (karena hanya terdiri dari 1 field saja)

Primary key : Candidate key yang dipilih untuk mengidentifikasikan tupel secara unik dalam relasi Maka, primary key yang dipilih adalah NPM (unik, tidak ada NPM yang sama).

Alternate key : Candidate key yang tidak dipilih sebagai primary key Maka, candidate key-nya NAMA dan ALAMAT

Foreign key : Atribut dengan domain yang sama yang menjadi kunci utama pada sebuah relasi tetapi pada relasi lain atribut tersebut hanya sebagai atribut biasa



Relational Integrity Rules

1. Null
Nilai suatu atribut yang tidak diketahui dan tidak cocok untuk baris (tuple) tersebut

2. Entity Integrity
Tidak ada satu komponen primary key yang bernilai null.

3. Referential Integrity
Suatu domain dapat dipakai sebagai kunci primer bila merupakan atribut tunggal pada domain yang bersangkutan.


contoh tentang Model relatinoal dapat dilihat di alamat: contoh model relational

Read more ►
 

Copyright © SISTEM BASIS DATA Design by O Pregador | Blogger Theme by Blogger Template de luxo | Powered by Blogger