SISTEM BASIS DATA X

Written By Blogger Cantik on Sabtu, 05 Januari 2013 | 01.04

 QUERY LANJUTAN

A.     SubQuery
Subquery adalah statement SELECT yang dilampirkan sebagai klausa dalam SQL statement lain.
B.      Penggunaan Subquery
Subquery mengembalikan nilai ke main query. Subquery digunakan untuk menyelesaikan persoalan dimana terdapat suatu niai yang tidak diketahui (unknow values).
C.      Subquery Banyak Kolom
Pada subquery dengan banyak kolom, tiap baris dari main query dibandingkan
dengan nilai dari subquery multiple-row dan multiple-column.
D.     Pembandingan Kolom
Pembandingan kolom dalam subquery banyak kolom dapat berupa :
· Pembandingan berpasangan (Pairwise Comparison SubQuery)
· Pembandingan tidak berpasangan (NonPairwise Comparison SubQuery)
E.      Penggunaan Query dalam klausa from
Query bisa diletakkan di dalam klausa FROM untuk membentuk tabel temporer. Query semacam ini dikenal juga dengan istilah inline view, karena tidak membentuk
object database.
F.      Ekspresi Scalar Subquery
Ekspresi scalar subquery adalah subquery yang mengembalikan hanya satu nilai kolom dari satu baris. Scalar subquery pada standart SQL-92 hanya terbatas pada :
· SELECT Statement (klausa FROM dan WHERE saja)
· Daftar VALUE dari statement INSERT
Pada standart SQL-99, scalar subqueries dapat diguanakan dalam :
· Kondisi dan ekspresi sebagai bagian dari perintah DECODE dan CASE.
· Semua klausa dari SELECT Statement kecuali GROUP BY.
G.     Korelasi Subquery
Korelasi SubQuery digunakan untuk pemrosesan baris per baris. Tiap-tiap subquery dijalankan sekali untuk setiap baris dari outer query.
H.     Penggunaan Operator Exist dan Not Exist
Operator EXISTS dan NOT EXIST digunakan untuk menguji keberadaan dari baris dalam himpunan hasil dari subquery.
Jika ditemukan, maka :
· pencarian tidak dilanjutkan dalam inner query dan kondisi ditandai TRUE.
Jika tidak ditemukan, maka :
· Kondisi ditandai FALSE dan kondisi pencarian dilanjutkan dalam inner query.
01.04 | 0 komentar | Read More

SISTEM BASIS DATA IX

OPTIMASI QUERY

A.       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.
Misal digunakan index yang melibatkan tiga buah kolom yang mengurutkan
kolom menurut kota, propinsi dan kode pos dari tabel karyawan, sebagai berikut :
CREATE INDEX idx_kota_prop_kodepos
ON karyawan(kota, propinsi, kode_pos)
TABLESPACE INDX;
Kemudian user melakukan query sebagai berikut :
SELECT * FROM karyawan WHERE propinsi=’Jawa Barat’;
Pada saat melakukan query ini, index tidak akan digunakan karena kolom pertama (kota) tidak digunakan dalam klausa WHERE. Jika user sering melakukan query ini, maka kolom index harus diurutkan menurut propinsi. Selain itu, proses pencarian data akan lebih cepat jika data terletak pada block tabel yang berdekatan daripada harus mencari di beberapa datafile yang terletak pada block yang berbeda.
Misal pada perintah SQL berikut ini :
SELECT * FROM karyawan
WHERE id BETWEEN 1010 AND 2010;
       B. Faktor Lain yang Berpengaruh Terhadap Kecepatan Akses Data
  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-toone dan sering diakses bersama lebih baik disatukan dalam satu tabel
    C. Cluster dan Index
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.
01.00 | 0 komentar | Read More

SISTEM BASIS DATA VIII

STRUCTURED QUERY LANGUAGES (SQL)

Materi kali ini kita membahas tentang Structured Query Languages (SQL). Structured Query Languages (SQL) pertama kali diterapkan pada sistem R (sebuah proyek riset pada laboratorium riset San Jose, IBM). Kini SQL juga dijumpai pada berbagai platform, dari mikrokomputer hingga mainframe. SQL dapat digunakan baik secara berdiri sendiri maupun dilekatkan pada bahasa-bahasa lain seperti C dan Delphi. SQL juga telah menjadi bagian dari sejumlah DBMS, seperti Oracle, Sybase, MySQL dan Informix.

Elemen dasar SQL:
  1. Pernyataan:  perintah SQL yang meminta sesuatu tindakan kepada DBMS. SQL memiliki kira-kira 30 pernyataan diantaranya:
    DELETE
    Menghapus baris pada tabel
    DROP
    Menghapus tabel, indeks atau pandangan
    SELECT
    Memilih baris dan kolom pada tabel
    UPDATE
    Mengubah nilai pada sebuah baris
  2. Nama digunakan sebagai identitas bagi objek-objek pada DBMS. Contoh objek pada DBMS adalah tabel, kolom dan pengguna.
  3. Tipe Data
    Setiap data memiliki tipe data. Berikut ini adalah tipe data dalam MySQL :
    Tipe data untuk numerik : TINYINT, SMALLINT, MEDIUMINT, INT, BIGINT, FLOAT, DOUBLE, DECIMAL(M,D).
    Tipe data string : CHAR(n), VARCHAR(n), TINYBLOB, BLOB, MEDIUMBLOB, LONGBLOB, TINYTEXT, TEXT, MEDIUMTEXT, LONGTEXT, ENUM, SET SET.
    Tipe data tanggal dan jam : DATE, TIME, DATETIME.
  4. Konstanta menyatakan nilai yang tetap.
  5. Ekspresi: segala sesuatu yang menghasilkan nilai. Ekspresi digunakan untuk menghitung nilai.
  6. Aggregate Functions (Fungsi Agregat)
    Fungsi adalah sebuah subprogram yang menghasilkan suatu nilai jika dipanggil. Fungsi agregat adalah fungsi standar di dalam SQL, suatu fungsi yang digunakan untuk melakukan summary, fungsi statistik standar yang dikenakan pada suatu tabel atau query.
    a. AVG(ekspresi)
    Fungsi ini digunakan untuk mencari rata-rata nilai dalam suatu kolom dari suatu tabel atau ekspresi. Ekspresi dalam fungsi AVG umumnya adalah nama kolom. Kolom yang dicari nilai rata-ratanya adalah kolom dengan tipe data numerik.
    b. COUNT(x)
    Fungsi ini digunakan untuk menghitung jumlah record (baris) dari suatu kolom dari suatu tabel. X adalah nama kolom yang ingin dicari jumlah barisnya.
    c. MAX(ekspresi)
    Fungsi ini digunakan untuk mencari nilai terbesar dari suatu kolom dari suatu tabel. Kolom yang dicari nilai terbesarnya memiliki tipe data numerik.
    d. MIN(ekspresi)
    Fungsi ini digunakan untuk mencari nilai terkecil dari suatu kolom dari suatu tabel. Kolom yang dicari nilai terkecilnya memiliki tipe data numerik.
    e. SUM(ekspresi)
    Fungsi ini digunakan untuk mendapatkan nilai total dari suatu kolom pada suatu tabel
Pernyataan SQL
  1. DDL (Data Definition Language): kelompok perintah yang berfungsi untuk mendefinisikan atribut-atribut basis data, tabel, atribut(kolom), batasan-batasan terhadap suatu atribut, serta hubungan antar tabel. Yang termasuk dalam kelompok DDL ini adalah CREATE, ALTER, dan DROP.
  2. DML (Data Manipulation Language): kelompok perintah yang berfungsi untuk memanipulasi data dalam basis data, misalnya untuk pengambilan, penyisipan, pengubahan dan penghapusan data. Perintah yang termasuk dalah kategori DML adalah : INSERT, DELETE, UPDATE dan SELECT.
00.56 | 0 komentar | Read More

SISTEM BASIS DATA VII

Written By Blogger Cantik on Selasa, 04 Desember 2012 | 05.42

DEPENDENCY DAN NORMALISASI

Functional Dependency (Ketergantungan Fungisional) : menggambarkan hubungan, batasan, keterkaitan, antara atribut-atribut dalam relasi. Suatu atribut dikatakan functional dependency pada yang lain jika kita menggunakan harga tersebut untuk menentukan harga atribut lain. Functional dependency dapat digambarkan dengan tanda panah.
Contoh :
A -> B
contoh diatas : dibaca A menentukan B,atau B tergantung A.

Macam- macam dependency:
Function Dependency
  • Full Dependency (Ketergantungan Penuh) : ini artinya B memiliki ketergantungan fungisional secara penuh pada A. B bukan memiliki dependency terhadap subset A.
  • Partially Dependency (Ketergantungan Parsial) : B memiliki ketergantungan terhadap subset A.
  • Transitive Dependency : A menentukan B, B menentukan C. Jika bisa dikatakan A menentukan C melalui B.
Normalisasi
Normalisasi adalah proses untuk mendapatkan struktur tabel atau relasi yang efisien dan bebas dari anomali. Sehingga sebagian ambiguitas dalam struktur data bisa dihilangkan.

Berikut ini ada beberapa alasan mengapa kita melakukan normalisasi:
  1. Optimalisasai struktur-struktur tabel
  2. Meningkatkan kecepatan
  3. Menghilangkan pemasukan data yang sama
  4. Lebih efisien dalam penggunaan media penyimpanan
  5. Mengurangi redudansi (penggandaan data)
  6. Menghindari anomali
  7. Integritas data yang ditingkatkan
Terdapat beberapa bentuk normalisasi yang biasa digunakan yaitu:
  1. First normal form (1NF)
  2. Second normal form (2NF)
  3. Third normal form (3NF)
  4. Boyce-codd normal form (BCNF)
  5. Four normal form (4NF)
  6. Five normal form (5NF)
05.42 | 0 komentar | Read More

SISTEM BASIS DATA VI

Written By Blogger Cantik on Senin, 19 November 2012 | 22.36

QUERY LANGUAGE


Query language atau bagasa query adalah bahasa khusus yang digunakan untuk melakukan query (perintah-perintah untuk mengakses data) pada sistem basis data.
Bahasa Query dapat dikategorikan menjadi 2,yaitu:
  1. Bahasa prosedurial : identik dengan aljabar relarional. Bahasa prosedural merupakan suatu bahasa yang membuat suatu urutan instruksi.
  2. Bahasa non prosedural : identik dengan kalkulus relational dan kalkulus relational tupel. Bahasa non prosedural mendeskripsikan informasi tanpa memberikan urutan instruksi.

Bahasa DBMS :

  • Data Definition Language (DDL) : Mendefinisikan skema dan penyimpangan disimpan dalam Data Dictionary
  • Data Manipulasi Bahasa (DML) : Manipulatif mengisi skema, update database, retrieval query isi database
  • Data Control Language (DCL) : Perizinan, akses kontrol dll

Query Operators

  • Relational aljabar
          - tuple (unary) seleksi, proyeksi
          - set (biner) union, intersection, perbedaan
          - tuple (biner) join, divisi
  • Additional aljabar
          - outer join, uni outer

Aljabar Relational

Aljabar relasional merupakan suatu bahasa query procedural yang memiliki satu atau dua masukkan dan menghasilkan sebuah keluaran dari operasi tersebut. Ada dua operasi pada aljabar relasional yaitu operasi dasar dan operasi tambahan.
  • operasi dasar : terdiri atas select, project, cross, union, intersection, subdifference, rename, cartesian product
  • operasi tambahan : terdiri atas set intersection, tetha join, natural join, division

Jenis - jenis Operasi

  • Unary : suatu operasi yang hanya digunakan pada suatu relasi
  • Binary : suatu operasi yang memerlukan sepasang relasi

Selection

Selection merupakan suatu operasi untuk menyeleksi tupel-tupel yang memenuhi suatu predikat

Projection

Projection merupakan sebuah operasi unary yang digunakan untuk memperoleh kolom-kolom tertentu.
22.36 | 0 komentar | Read More

SISTEM BASIS DATA V

Written By Blogger Cantik on Rabu, 31 Oktober 2012 | 01.45

MODEL DATA RELATIONAL Lanjut

VARIANS ENTITAS

Entitas Kuat

Himpunan entitas yang dilibatkan dalam RED merupakan entitas kuat.
Tidak memiliki ketergantungan dengan himpunan entitas lainnya.

Entitas Lemah

Entitas lemah adalah suatu entity yang mana keberadaan tergantung dari keberadaan entity lainnya.
Tidak memiliki atribut yang dapat berfungsi sebagai key attribute.

contoh entitas kuat dan lemah:
pada gambar diatas,hobi merupakan entitas lemah,karena entitas hobi tergantung pada entitas mahasiswa.

AGREGASI

menggambarkan sebuah himpunan relasi secara langsung menghubungkan sebuah entitas dengan sebuah relasi dalam ERD. contoh agregasi:

Transformasi Model Data ke Basis Data Fisik

Komponen ERD ditransformasikan menjadi tabel yang merupakan komponen utama pembentuk basis data. Kemudian atribut yang melekat pada masingpmasing himpunan entitas dan relasi dinyatakan sebagai field dari tabel yang sesuai. Terdapat beberapa transformasi model data ke basis data fisik,yaitu:
  1. Transformasi dasar : setiap himpunan entitas akan diimplementasikan sebagai sebuah tabel
  2. Relasi 1-1 menghubungkan dua buah entitas yang diwujudkan dalam bentuk penambahan atribut-atribut relasi ke tabel yang mewakili salah satu dari kedua himpunan entitas.
  3. Relasi 1-N menghubungkan dua buah himpunan entitas,direpresentasikan dalam bentuk pemberian atribut key dari himpunan entitas yang berderajat 1 ke tabel yang mewakili himpunan entits berderajat N
  4. Relasi N-N menghubungkan dua buah himpunan entitas, diwujudkan dalam bentuk tabel khusus yang memiliki field/foreign key yang berasal dari key-key dari himpunan entitas yang dihubungkan

 

01.45 | 0 komentar | Read More

SISTEM BASIS DATA IV

Written By Blogger Cantik on Rabu, 03 Oktober 2012 | 00.01

MODEL DATA RELATIONAL

Model data relational adalah kumpulan tabel berdimensi dua dengan masing-masing relasi tersusun atas tuple (baris) dan atribut (kolom) pada suatu basis data.
Suatu model data yang meletakkan data dalam bentuk relasi biasa disebut tabel. Masing-masing tabel memiliki struktur yang sama dengan ER database.
Ruang lingkup Model Data Relation,yaitu:
1. Relasi : sebuah tabel yang terdiri dari beberapa kolom dan beberapa baris.
2. Atrribute : kolom pada sebuah relasi.
3. Tuple : baris pada sebuah relasi atau kumpulan elemen-elemen yang saling berkaitan menginformasikan tentang suatu entitas secara lengkap.
4. Domain : seluruh kemungkinan nilai yang dapat diberikan ke suatu attribute.
5. Degree : jumlah atribut dalam sebuah relasi.
6. Cardinality : jumlah tuple dalam sebuah relasi.

Relasi
  • Relasi menunjukan adanya hubungan dintara sejumlah entitas yang berasal dari himpunan entitas yang berbeda
  • Setiap relasi mempunyai skema yang mendeskripsikan nama relasi dan atribut beserta tipenya
Istilah - istilah penting dalam model data relational
  • Baris biasa disebut juga tuple
  • Kolom biasa disebut juga attribute
  • Tabel biasa disebut juga relational
  • Domain merupakan kumpulan atomik yang dapat dimiliki oleh suatu kolom/atribut
Mendefinisikan/mengartikan domain
untuk mendefinisikan domain langkah-langkah adalah sebagai berikut:
  • memberi nama domain yang sesuai dengan nilai yang akan dimiliki domain tersebut
  • menentukan tipe data dari nilai yang akan membentuk domain
  • menentukan format domain
Relational key
  • Candidate key : atribut yang digunakan untuk membedakan antara satu baris dan dengan baris yang lain.
  • Primary key : candidate key yang digunakan untuk mendefinisikan tuple yang unik pada suatu relasi.
  • Alternate key : candidate key yang tidak menjadi primary key.
  • Foreign key : sebuah atribut dalam suatu relasi yang merujuk ke primary key relasi lain.
 Batasan - batasan integritas :
  • Merupakan suatu batasan yang diberikan terhadap suatu relasi
  • Ditetapkan ketika schema didefinisikan
  • Dicek ketika relasi-relasi dimodifikasi atau dimanipulasi (penambahan, pengubahan, penghapusan dan pencarian / menampilkan data)
Relation integrity rules
  • Null adalah harga suatu atribut yang tidak diketahui dan tidak cocok untuk baris tersebut. nilai null digunakan untuk menyatakan / mengisi atribut - atribut yang nilainya memang belum siap / tidak ada.
  • Entity integrity adalah tidak ada satu komponen primary key yang bernilai null
  • Referential integrity adalah garis yang menghubungkan antara satu tabel dengan tabel lain.
LATIHAN 1




Entitas Account
candidate key : account_number, balance
primary key : account_number
altenate 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-strees, customer-city

Entitas Loan
candidate key : laon-number, amount
primary key : loan-number
alternate key : amount
00.01 | 0 komentar | Read More