A. Functional Dependency (Ketergantungan Fungsional)
FD menggambarkan relasional atau hubungan batasan, keterikatan antara atribut-atribut dalam relasi. SUatu atribut dikatakan functionally dependent pada yang lain jika kita menggunakan harga atribut tersebut untuk menentukan harga atribut yang lain. Simbol yang digunakan untuk mewakili FD adalah tanda panah (->) dibaca secara fungsional "menentukan".
Contoh :
A->B berarti secara fungsionalnya A menentukan B atau B tergnatung pada A, jika dan hanya jika ada 2 baris data dengan nilai A yang sama, maka nilai B juga sama.
B. Macam-Macam Dependency
Functional Dependency terbagi menjadi 3 jenis yaitu Full Functional Dependency, Partially Dependency, dan Transitive Dependency.
1. Full Dependency
Menunjukkan jika terdapat atribut A dan B dalam suatu relasi dimana B memiliki ketergantungan fungsional secara penuh pada A dan B bukan memiliki dependency terhadap subset A.
2. Partially Dependency
MErupakan ketergantungan fungsional, dimana beberapa atribut dapat dihilangkan dari A dengan ketergantungan tetap dipertahankan. (B memiliki dependency terhadap subset A)
3. Transitive Dependency
Merupakan tipe functional dependency dimana A,B,C adalah atribut sebuah relasi dimana A->B dan B->C. Maka C dikatakan sebagai transitive dependency terhadap A melalui B.
C. Normalisasi
Pengertian :
Normalisasi 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. Atau dapat dikatakan bahwa normalisasi adalah proses pembentukan struktur basis data sehingga sebagian besar ambiguity bisa dihilangkan.
Alasan Mengapa Menggunakan Normalisasi :
- optimalisasi struktur-struktur tabel
- meningkatkan kecepatan
- menghilangkan pemasukan data yang sama
- lebih efisien dalam penggunaan media penyimpanan
- mengurangi redudansi
- menghindari anomali (insertion anomalies, deletion anomalies, update anomalies)
- integritas data yang ditingkatkan
Bentuk-Bentuk Normalisasi :
- First Normal Form (1NF)
- Second Normal Form (2NF)
- Third Normal Form (3NF)
- Boyce-Codd Normal Form (BCNF)
- Four Normal Form (4NF)
- Five Normal Form (5NF)
Langkah-Langkah Normalisasi :
Dapat dilihat dalam gambar berikut :
1NF = Suatu keadaan yang membuat setiap perpotongan baris dan kolom dalam relasi hanya berisi satu nilai. Tidak diperbolehkan adanya atribut yang bernilai banyak (multivalued) dan atribut komposit atau kombinasi keduanya.
2NF = Bentuk normal ini dapat terpenuhi apabila sebuah tabel jika telah memenuhi 1NF, dan semua atribut selain primary key, secara utuh memiliki Functional Dependency pada primary key. Sebuah tabel tidak memenuhi 2NF jika ada atribut yang ketergantungan (functional dependency) hanya bersifat parsial saja (hanya tergantung pada sebagian dari primary key). Jika terdapat atribut yang tidak memiliki ketergantungan terhadap primary key, maka atribut tersebut harus dipindah atau dihilangkan.
3NF = BEntuk ini terpenuhi jika telah memenuhi bentuk 2NF dan tidak ada non primary key yang memiliki ketergantungan terhadap atribut non primary key yang lainnya (ketrgantungan transitif).
Selasa, 27 November 2012
Query Language
Query Language
A. Pengertian
Bahasa Query formal basis data relasional adalah bahasa untuk meminta informasi dari basis data. Sebelum basis data relational, query terhadap basis data merupakan tugas yang sangat sukar. Pemograman harus berurusan dengan skema fisik internal dari basis data. Contoh bahasa query relasional adalah SQL (Structured Query Language).
B. Jenis-Jenis Bahasa Query Relasional
Terdapat dua jenis bahasa query relasional yang utama, yaitu :
1. Aljabar Relasional
Aljabar Relasional merupakan kumpulan operasi terhadap relasi dimana operasi menggunakan satu atau lebih relasi untuk menghasilkan satu relasi yang baru dan termasuk kategori prosedural dan juga menyediakan seperangkat operator untuk memanipulasi data.
Terdapat beberapa operasi dasar dalam aljabar relasional, yaitu :
a. Operasi Selection (s)
Selection / Select (σ ), adalah operasi untuk menyeleksi tupel – tupel yang memenuhi suatupredikat, kita dapat menggunakan operator perbandingan (<,>,>=,<=,=,#) pada predikat. Beberapa predikat dapat dikombinasikan menjadi predikat manjemuk menggunakan penghubung AND ( ∧ ) dan
OR ( ∨ ).
Contoh :
Query : Tampilkan daftar dosen yang tempat lahirnya di ‘Bekasi’
Aljabar relasional : stempat_lhr=’Bekasi’(Dosen)
b. Operasi Preojection (p)
Projection / Project ( p ), adalah operasi untuk memperoleh kolom – kolom tertentu. Operasiproject adalah operasi unary yang mengirim relasi argumen dengan kolom – kolom tertentu. Karenarelasi adalah himpunan, maka baris – baris duplikasi dihilangkan. Sintaks yang digunakan dalam operasi proyeksi ini adalah sebagai berikut :
pcolum1,…,column ( tabel)
Contoh :
Query : Tampilkan nid,nama_d,alamat,kota dari relasi Dosen
Aljabar relasional : pnid,nama_d,alamat,kota(Dosen)
c. Operasi Cartesian-product (X)
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.
Contoh :
Query : Tampilkan nid, nama_d (dari relasi Dosen), nama_mk (dari relasi Matakuliah), thn_akademik, smt, hari, jam_ke, waktu, kelas (dari relasiMengajar) dimana semester mengajar adalah pada semester ‘1’.
Aljabar relasional :
pnid,nama_d,nama_mk,thn_akademik,smt,hari,jam_ke,waktu,kelas (ssmt=1 ^ Dosen.nid=Mengajar.nid ^ Mengajar.kdmk=Matakuliah.kdmk(DosenxMatakuliahxMengajar)
d. Operasi 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.
· Operasi-operasi turunan dari operasi-operasi dasar tersebut adalah :
- Set intersection
- Theta join
- Natural_join
- Outer-join
- Division
A. Pengertian
Bahasa Query formal basis data relasional adalah bahasa untuk meminta informasi dari basis data. Sebelum basis data relational, query terhadap basis data merupakan tugas yang sangat sukar. Pemograman harus berurusan dengan skema fisik internal dari basis data. Contoh bahasa query relasional adalah SQL (Structured Query Language).
B. Jenis-Jenis Bahasa Query Relasional
Terdapat dua jenis bahasa query relasional yang utama, yaitu :
1. Aljabar Relasional
Aljabar Relasional merupakan kumpulan operasi terhadap relasi dimana operasi menggunakan satu atau lebih relasi untuk menghasilkan satu relasi yang baru dan termasuk kategori prosedural dan juga menyediakan seperangkat operator untuk memanipulasi data.
Terdapat beberapa operasi dasar dalam aljabar relasional, yaitu :
a. Operasi Selection (s)
Selection / Select (σ ), adalah operasi untuk menyeleksi tupel – tupel yang memenuhi suatupredikat, kita dapat menggunakan operator perbandingan (<,>,>=,<=,=,#) pada predikat. Beberapa predikat dapat dikombinasikan menjadi predikat manjemuk menggunakan penghubung AND ( ∧ ) dan
OR ( ∨ ).
Contoh :
Query : Tampilkan daftar dosen yang tempat lahirnya di ‘Bekasi’
Aljabar relasional : stempat_lhr=’Bekasi’(Dosen)
b. Operasi Preojection (p)
Projection / Project ( p ), adalah operasi untuk memperoleh kolom – kolom tertentu. Operasiproject adalah operasi unary yang mengirim relasi argumen dengan kolom – kolom tertentu. Karenarelasi adalah himpunan, maka baris – baris duplikasi dihilangkan. Sintaks yang digunakan dalam operasi proyeksi ini adalah sebagai berikut :
pcolum1,…,column ( tabel)
Contoh :
Query : Tampilkan nid,nama_d,alamat,kota dari relasi Dosen
Aljabar relasional : pnid,nama_d,alamat,kota(Dosen)
c. Operasi Cartesian-product (X)
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.
Contoh :
Query : Tampilkan nid, nama_d (dari relasi Dosen), nama_mk (dari relasi Matakuliah), thn_akademik, smt, hari, jam_ke, waktu, kelas (dari relasiMengajar) dimana semester mengajar adalah pada semester ‘1’.
Aljabar relasional :
pnid,nama_d,nama_mk,thn_akademik,smt,hari,jam_ke,waktu,kelas (ssmt=1 ^ Dosen.nid=Mengajar.nid ^ Mengajar.kdmk=Matakuliah.kdmk(DosenxMatakuliahxMengajar)
d. Operasi 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.
· Operasi-operasi turunan dari operasi-operasi dasar tersebut adalah :
- Set intersection
- Theta join
- Natural_join
- Outer-join
- Division
Langganan:
Komentar (Atom)

