Kamis, 20 Desember 2012

Optimasi Query

 OPTIMASI QUERY

 
  • Data yang tersimpan dalam jumlah yang sangat besar, Terdapat aturan system informasi dalam organisasi, system basis data dilihat sebagai bagian system informasi dalam aplikasi berskala besar.
  • Untuk meningkatkan unjuk kerja tidak hanya desain logik saja yang diperhatikan tapi juga struktur fisik penyimpanan data.
  • Penggunaan Index pada database secara tepat, dapat digunakan untuk meningkatkan kecepatan akses data.
  • Informasi tentang jalur akses yang digunakan oleh database untuk melaksanakan query dalam database Oracle dapat dengan menggunakan perintah explain plan.
  • Selain optimasi perintah SQL, faktor lain yang berpengaruh terhadap kecepatan akses data adalah optimasi aplikasi dan penggunaan cluster dan index.
  • Pada sebuah database engine semisal pada database Oracle kecepatan akses data dipengaruhi oleh beberapa komponen arsitektur pembentuknya seperti shared pool, buffer cache, dan redo log buffer.
  • Optimasi aplikasi tergantung pada efisiensi penggunaan obyek yang mendukungkecepatan akses seperti index atau cluster, dan normalisasi data pada desain database.

Structured Query Language (SQL)


SQL merupakan kependekan dari kata “Structured Query Language”. SQL merupakan suatu bahasa permintaan yang terstruktur. Dikatakan terstruktur karena pada penggunaannya, SQL memiliki beberapa aturan yang telah distandarkaan oleh asosiasi yang bernama ANSI.
SQL (Structured Query Language) adalah sebuah bahasa yang dipergunakan untuk mengakses data dalam basis data relasional. Bahasa ini secara de facto merupakan bahasa standar yang digunakan dalam manajemen basis data relasional. Saat ini hampir semua server basis data yang ada mendukung bahasa ini untuk melakukan manajemen datanya.

SQL Juga dapat diartikan sebagai Antar muka standar untuk sistem manajemen basis data relasional, termasuk sistem yang beroperasi pada komputer pribadi. SQL memungkinkan seorang pengguna untuk mengakses informasi tanpa mengetahui dimana lokasinya atau bagaimana informasi tersebut disusun. SQL lebih muedah untuk digunakan dibandungkan dengan bahasa pemrograman tetapi lebih rumit dibanding software lembar kerja dan pengolah kata. Sebuah pernyataan SQL yang sederhana dapat menghasilkan set permintaan untuk informasi yang tersimpan pada komputer yang berbeda di berbagai lokasi yang tersebar, sehingga membutuhkan waktu dan sumber daya komputasi yang banyak. SQL dapat digunakan untuk investigasi interatif atau pembuatan lapiran ad hoc atau disisipkan dalam program aplikasi.
SQL juga merupakan Bahasa pemrograman yang dirancang khusus untuk mengirimkan suatu perintah query (pengaksesan data berdasarkan pengalamatan tertentu) terhadap sebuah database. Kebanyakan software database yang ada saat ini dapat diakses melalui SQL. Setiap aplikasi yang spesifik dapat mengimplementasikan SQL secara sedikit berbeda, tapi seluruh database SQL mendukung subset standar yang ada.
Jadi, SQL  adalah bahasa permintaan yang melekat pada satu database atau SMBD tertentu. Dengan kata lain, SQL adalah perintah atau bahasa yang melekat di dalam SMBD. Sebagai suatu bahasa permintaan, SQL didukung oleh SMBD seperti : MySQL Server, MsQL, PostgreSQL, Interbase, dan Oracle. Selain itu SQL juga didukung oleh database bukan server seperyi Ms. Access maupun Paradox.

Minggu, 25 November 2012

DEPENDENSY DAN NORMALISASI


Materi Kuliah Sistem Basis Data
Pendidikan Teknik Informatika dan Komputer
Jurusan Teknik Elektro
Universitas Negeri Semarang

23 November 2012

Fungtional dependency/ketergantungan fungsional
  • FD menggambarkan Relationship/hubungan, batasan, keterkaitan antara atribut-atribut dalam relasi.
  • Suatu Attribute dikatakan functionally dependent pada yang lain jika kita menggunakan harga attribut tersebut untuk menentukan harga atribut yang lain.
  • Symbol yang digunakan untuk mewakili FD adalah -> dibaca secara fungsional menentukan
Notasi  A ->  B

A&B adalah atribut dari sebuah table. Berarti secara fungsional A menentukan B/ B bergantung pada A, jika dan hanya jika ada dua baris data dengan nilai A yang sama,maka nilai B juga sama.
Contoh :


Macam-macam dependency
Functional Dependency
  •  Full Fungtional Depedency : menunjukkan jika  terdapat atribut A dan B dalam suatu relasi, dimana: B memiliki ketergantungan fungsional secara penuh pada A ,  B bukan memiliki dependensi terhadap subset A

  • Partially dependency: merupakan ketergantungan fungsional, dimana beberapa atribut dapat dihilangkan dari A dengan ketergantungan tetap diptahankan, B memiliki dependensi terhadap subset A

  • Transitive dependency : Merupakan tipe fungtional dependensy, yaitu kondisi dimana A,B,C adalah attribute sebuah relasi dimana A-> B dan B->C, maka C dikatakan sebagai transitive dependensy terhadap A melalui B
NORMALISASI

Normalisasi adalah suatu proses untuk mendapatkan struktur table atau relasi yang efisien dan bebas dari anomaly, dan mengacu pada cara data item dikelompokkan ke dalam struktur record.
Normalisasi adalah proses pembentukan struktur basis data sehingga sebagian besar ambiguity bisa dihilangkan.
Mengapa dilakukan normalisasi?
  • Optimalisasi struktur-struktur table
  • Meningkatkan kecepatan
  • Menghilangkan pemasukan data yang sama
  • Lebih efisien dalam penggunaan media penyimpanan
  • Mengurangi redudansi(ganda)
  • Menghindari anomaly(insertion anomalies, delecion anomalies, upadate anomalies)
  • Integritas data yang ditingkatkan
Bentuk normalisasi yang biasa digunakan:
  • first normal form (1NF)
         Suatu keadaaan yang membuat setiap perpotongan baris dan kolom dalam relasi hanya berisi satu nilai. Didalam 1NF tidak diperbolehkan adanya:
  1. attribute yang bernilai banyak (Multivalued attribute)
  2.  Atrribute komposit atau kombinasi keduanya
  • second normal form (2NF)
       Bentuk normal 2NF terpenuhi dalam sebuah tabel jika telah memenuhi bentuk 1NF, dan semua atrribute selain primary key, secara utuh memiliki fungtional dependensy pada primary key.
      Sebuah tabel tidak memenuhi 2NF, jika ada atribute yang ketergantungannya (fungtional dependensy) hanya bersifat parsial saja (hanya tergantung pada sebagian dari primary key)
      Jika terdapat atribute yang tidak memiliki ketergantungan terhadap primary key, maka atribute tersebut harus dipindah atau dihilangkan
  • third normal form (3NF)
        Bentuk normal 3NF terpenuhi jika : 
  1. telah memenuhi bentuk 2NF
  2.  tidak ada atribute non primary key yang memiliki ketergantungan terhadap atribute non primary key yang lainnya(ketergantungan trnsitif)
  • boyce-codd  normal form (BCNF)
  • four normal form (4NF)
  • five normal form (5NF)    

Langkah-Langkah Normalisasi



Kamis, 15 November 2012

Pemrosesan Query

Resume Mata Kuliah Sistem Basis Data 
Tanggal 9 November 2012
 
Oleh : Bp. Nuriksan, ST. , M.Kom
Pendidikan Teknik Informatika dan Komputer 
Jurusan Teknik Elektro
Universitas Negeri Semarang
 

Terdapat lima operasi dasar dalam aljabar relasional, yaitu:
1. Selection ( σ )
    Selection / Select (σ ), adalah operasi untuk menyeleksi tupel – tupel yang memenuhi suatu
predikat, kita dapat menggunakan operator perbandingan (<,>,>=,<=,=,#) pada predikat. Beberapa
predikat dapat dikombinasikan menjadi predikat manjemuk menggunakan penghubung AND ( ∧ ) dan OR ( ∨ ).

2. Projection ( π )
    Projection / Project ( π ), adalah operasi untuk memperoleh kolom – kolom tertentu. Operasi
project adalah operasi unary yang mengirim relasi argumen dengan kolom – kolom tertentu. Karena
relasi adalah himpunan, maka baris – baris duplikasi dihilangkan.

3. Cartesian – product ( X, juga disebut sebagai cross product )
    Cartesian-product ( X ), adalah operasi untuk menghasilkan table hasil perkalian kartesian.
Sintaks yang digunakan dalam operasi proyeksi ini adalah sebagai berikut :
R X S = {(x,y) | x∈R dan y∈S}
Operasi cartesian-product memungkinkan kita mengkombinasikan informasi beberapa relasi,
operasi ini adalah operasi biner. Sebagaimana telah dinyatakan bahwa relasi adalah subset hasil
cartesian-product dan himpunan domain relasi – relasi tersebut. Kita harus memilih atribut – atribut
untuk relasi yang dihasilkan dari cartesian-product.

4. Union ( ∪ )
   Union ( ∪ ), adalah operasi untuk menghasilkan gabungan table degan syarat kedua table
memiliki atribut yangsama, yaitu domain atribut ke-i masing – masing table harus sama. Sintaks yang
digunakan dalam operasi union ini adalah sebagai berikut :
R ∪ S = {x | x∈R atau X ∈S}
Operasi ini dapat dilaksanakan apabila R dan S mempunyai atribut yang sama sehingga
jumlah komponennya sama.

5. Set – difference ( - )
    Set-difference ( -- ), adalah operasi untuk mendapatkan table pada suatu relasi, tapi tidak
ada pada relasi yang lainnya. Sintaks yang digunakan dalam operasi union ini adalah sebagai berikut :
R – S = { x | x∈R dan X ∉ S}
Operasi ini dapat dilaksanakan apabila R dan S mempunyai atribut yang tidak sama yang
akan ditampilkan, artinya adalah atribut R yang tidak ada di S akan ditampilkan, sedangkan atribut
yang sama tidak ditampilkan.
6. Rename ( ρ )
   Rename ( ρ ), adalah operasi untuk menyalin table lama kedalam table yang baru. Sintaks
yang digunakan dalam operasi union ini adalah sebagai berikut :
ρ [nama_table] (table_lama)

Senin, 22 Oktober 2012

TRANSFORMASI MODEL DATA

TRANSFORMASI MODEL DATA

Sebelum ke materi model data relational saya akan melanjutkan materi yang kemarin  model data relational. Pada model data relational dikenal varian entitas dan agregasi. Berikut penjelasnnya:

Varian entitas

  • Entitas Kuat adalah himpunan entitas yang dilibatkan dalam ERD, entitas kuat tidak memiliki ketergantungan dengan himpunan entitas lainnya
  • Entitas lemah adalah  suatu entity yang manan keberadaannya tergantung dari keberadaan entity lain, pada entity lemah tidak memiliki atribut yang berfungsi sebagai key attribute
contoh entitas kuat dan entitas lemah:



hobi merupakan entitas kuat dan ditandai dengan kotak yang garisnya dobel
mahasiswa merupakan entitas lemah

Agregasi

  • Agregasi menggambarkan sebuah himpunan relasi yang secara langsung menghubungkan sebuah himpunan entitas dengan sebuah himpunan relasi dalam ERD. Secara kronologi mensyaratkan telah adanya relasi lain. Relasi terbentuk tidak hanya dari entitas tapi juga mengandung unsur relasi lain.
Contoh agregasi :

TRANSFORMASI MODEL DATA KE BASIS DATA FISIK

  • EDR atau Entity Relational Digaram direpresentasikan menjadi sebuah basis data secara fisik. Komponen pada ERD ditransformasikan menjadi tabel yang merupakan komponen utama pembentuk basis data. Atribut yang melekat pada masing-masing himpunan entitas dan relasi akan dinyatakan sebagai field dari tabel yang sesuai

Implementasi Himpunan Entitas Lemah dan Sub Entitas

  • Penggunaan himpunan entitas lemah dan sub entitas dalam diagram ER diimplementasikan dalam bentuk tabel sebagaimana himpunan entitas kuat.Bedanya jika himpunan entitas kuat sudah dapat langsung menjadi sebuah tabel utuh/sempurna walaupan tanpa melihat relasinya dengan himpunnan entitas lain. Maka himpunann entitas lemah hanya dapat ditransformasikan menjadi sebuah tabel dengan menyertakan pula attribute key dari hasil implementasi himpunan entitas lemah.

Rabu, 03 Oktober 2012

Latihan Soal Model Data Relational

LATIHAN 1
Jawaban dari latihan soal disamping adalah:

Relation Key

> Entitas Account
Candidate Key= Account_number, balance
Primary Key= account_number
Alternate Key= balance
Foreign Key=-

> Entitas Branch
Candidate Key = branch-name, branch-city,assets
Primary Key = branch-name
Alternate Key = branch-city, assets

> Entitas Customer
Candidate Key = customer-name,customer-street,customer-city
Primary Key = customer-name
Alternate Key = customer-street, customer-city

 > Entitas Loan
Candidate Key = loan-number,amount
Primary Key = loan-number
Alternate Key = amount

LATIHAN2
 gambar di samping adalah jawaban dari soal diatas untuk point pertama














jawaban untuk tabel keterhubungan



Primary key nya adalah NIS,Kode_mapel, dan NIS


ER Diagram