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

Senin, 01 Oktober 2012

MODEL DATA RELATIONAL


Setelah kita mempelajari Diagram E-R selanjutnya kita mempelajari model data relation
Model data relation adalah kumpulan table berdimensi dua dengan masing relasi(relations) tersusun atas tuple atau baris dan attribute atau kolom pada suatu basis data.
Suatu model data yang meletakkan data dalam bentuk relasi(bisanya disebut table).
 
\     Masing-masing table memiliki struktur yang mirip dengan ER database

 Relational Data Model Terms
  1.  Relasi adalah sebuah table yang terdiri dari beberapa kolom dan beberapa baris
  2.  Attribute adlah kolom pada sebuah relasi 
  3.  Tuple adalah baris pada sebuah relasi, atau kumpulan elemen-elemen yang saling berkaitan  menginformasikan tentang suatu entitas secara lengkap
  4.  Domain adalah seluruh kemungkinan nilai yang dapat diberikan ke suatu attribute 
  5.  Degree  adalah jumlah attribute dalam sebuah relasi
  6.  Cardinality dalah jumlah tuple dalam sebuah relasi


Relasi
  •        Relasi menunjukkan adanya hubungan diantara sejumlah entitas yang berasal dari himpunan    entitas yang berbeda
  •        Struktur data dasar untuk menyimpan informasi. Strukturnya sebagai table(kumpulan table-table)
    Setiap relasi memiliki skema yang mendeskripsikan nama relasi dan attribute beserta tipenya
Contohnya:
Mahasiswa=(nim:string, nama_mhs:string)
Keterangan :
Mahasiswa adalah nama relasi.
Nim dan nama_mhs adalah nama attribute
String adalah tipe dari attribute

 
BASIS DATA RELATIONAL

Baris disebut tuple
Kolom disebut attribute
Table disebut  relation
Domain adalah kumpulan dari harga atomic yang dapat dimiliki oleh suatu kolom atau attribute
Istilah alternative

MENDEFINISIKAN DOMAIN

Meeber nama domain yang sesuai dengan nilai yang akan dimiliki domain tersebut
Menentukan tipe data dari nilai yang akan membentuk domain
Menentukan format dari domain

BATASAN-BATASAN  INTEGRITAS

Suatu batasan-batasan yang diberikan terhadap suatu relasi
Ditetapkan ketika skema didifinisikan
Dicetak ketika relasi-relasi dimodifikasi atau dimanipulasi(penambahan, pengubahan, pengubahan dan pencarian/menampilkan data)

RELATIONAL  INTEGRITY RULES

NULL
Nilai suatu attribute yang tidak diketahui dan tidak cocok untuk baris(tuple) tersebut.
Nilai (konstanta) Null digunakan untuk menyatakan/mengisi atribut-atribut yang lainnya memang belum siap/tidak ada.
ENTITY INTEGRITY
Tidak ada satu komponen primary key yang bernilai null
REFERENTIAL INTEGRITY
Garis yang menghubungkan antara satu table dengan table lain