SlideShare a Scribd company logo
KETERGANTUNGAN FUNGSIONAL


3.1      BENTUK NORMAL PERTAMA
      Dalam bab 2 , yang sudah menjadi ketetapan dari bentuk database rasional
yang meliputi proses pemecahan relasi - relasi yang memperlihatkan sifat-sifat yang
buruk ( dari kelainan pembentukan ) untuk relasi yang baru memperlihatkan
kebaikan dalam pembentukan. Beberapa pertanyaan yang dibutuhkan untuk proses
ini adalah :
1.   Dimana anda memperoleh relasi yang digunakan untuk memulai pemrosesan ?
2.   Bagaimana anda mengetahui relasi yang mana membutuhkan pemecahan ?
3.   Bagaimana anda mengusahakan pemecahan relasi ?
4.   Bagaimana anda mengetahui kapan anda dapat menyelesaikan relasi tersebut ?
       Jawaban dari ke empat pertanyaan di atas akan dikembangkan dalam bab ini
dan akan dijelaskan lebih lanjut dalam bab berikutnya.
       Untuk database dengan kira - kira terdiri dari 20 atribut, permulaan diproses
dari titik sampai dapat digambarkan dalam bentuk khayalan atas relasi umum. Relasi
yang berisikan semua atribut yang diperhatikan dan juga struktur dari setiap tupel
dalam relasi yang mempunyai satu nilai elemen. Semua pengertian ini dalam relasi
mempunyai bentuk yang diperlihatkan dalam gb. 2.5 daripada sesuatu yang seperti
yang ada dalam gambar 2.3.

                                                                                 23
Relasi sernbarang yang dalarn bentuk sepeni setiap elernen dan selalu akan
satu nilai dengan kata lain yang terdapat dalarn bentuk nOfI!lalpertarna atau INF.
Relasi hams dalam bentuk normal pertarna sebelurn benar - benar dapat dipertirn-
bangkan dengan tepat untuk reduksi yang terdiri dari 2 atau lebih relasinya.

3.2       KONSEP DARI KETERGANTUNGAN FUNGSIONAL
      Proses dari pernecahan relasi dapat dikurangi dengan probabilitas yang ber-
lainan akan teIjadi hubungan dekomposisi. Untuk rnengusahakan kunci dalarn
dekornposisilogikal, rnakajalan rnetodenyaadalahkonsep ketergantungan fungsional
di antara atribut dalarn relasi di bawah penirnbangan. Definisi ketergantungan
fungsional atau FD (Functional Dependencies) adalah :
    Diberikan 2 atribut , Adan B. B dikatakan ketergantunganfungsional dari Ajika
      setiap nilai A mempunyai   tepa! salU nilai terhadap B ( mempunyaifungsi   salU   -
     salU & onto ). A dan B dapat berbentuk gabungan, dapat juga keduanya
     merupakan kelompok dari 2 atau lebih atribut dari salUatribUl.
       Dari pandangan yang praktis ini, apa definisi yang dikatakan jika b adalah
ketergantungan fungsional dari A dan setiap tupel rnernpunyai nilai yang sarna
dengan A dan dalarn A harns rnernpunyai nilai yang sarna tepat terhadap B dalam
satu tupel yang sarna . Nilai dari A dan B dapat sewaktu - waktu b~rubah jika
diinginkan sepeni perjalanan nilai dari A ke B sangat unik dan hanya mempunyai satu
nilai terhadap B. Ketergantungan fungsional ( FD ) menggarnbarkan penggunaan
dari beberapa rnacarn notasi ketidaksamaan. Dua atau lebih atribut rnemperlihatkan
garnbaran dan keadaan biasa dalarn garnbar 3.1.
       Dalarn situasi areal ini ketergantungan fungsional dapat rnenentukandetail dari
pernbentukan semua atribut dalarn relasi dan dapat rnenarik kesimpulan bagairnana
rnenggabungkan atribut yang satu dengan yang lain. Ketergantungan fungsi tidak
dapat rnernbuktikan, hanya dengan rnelihat fakta. Dalarn hal ini relasi dan jika tidak
nilai sarna yang datang dari dua atribut atau lebih dari satu tupel. Ini dapat anda
berikan petunjuk mengenai di mana pemeriksaan ketergantungan fungsi, tetapi tidak
dapat dibuktikan.

            A                              . B                   ( bentuk matematika )




                                              G          ( bentuk graph a,au diagram)

     Garnbar . 3.1 Dua bentuk rnenyatakan atribut B adalah ketergantungan fungsi
                   atas A




24
Ketergantungan fungsi harus dapat menarik kesimpulan dari bentuk dasar dari
pembentukan atribut.
      Dari contoh, melihat atribut dalam relasi ADVISOR dalam gambar 2.5 dan
dalam keterangan fakta yang mendetail dan bagaimana menggantungkan atribut ini
sebagai bagian 2.2 yang mendetail. Setelah peninjauan gambaran atribut ketergan-
tungan diberikan dalam gambar 3.2 dapat ditarik kesimpulan. Alasan petunjuk dari
ketergantungan fungsi akan membicarakan yang mendetail dan lebih mendalam.
1. Nomor pelajar adalah unik. Setiap pelajar mempunyai Snum dan setiap pelajar
    mempunyai satu ketidak samaan, kemudian jika anda mengetahui pelajar
    mempunyai Snum, anda hanya tahu satu Sname dapat dikelompokkan dengan :
    Snum ~ Sname. Kebalikannya salah, Sname ~ Snum adalah tidak benardalam
    ketergantungan fungsional, sejak beberapa pelajardapat mempunyai nama yang
    sarna tepat.
2. Setiap pelajar diberikan satu ruangan asrama, tapi ruangan asrama hanya dapa(
    memuat lebih dari satu pelajar, maka Snum ~ Rnum adalah benar tapi Rnum ~
    Snum adalah salah.                                   .


3. Sejak tiap ruangan hanya mempunyai satu telephone dan setiap telephone hanya
   mempunyai keunikan nomor telephone, Rnum ~ Pnum dan Pnum ~ Rnum.
   Situasi ini biasanya tidak dapat Snum H Pnum dan Snum , Pnum dikatakan
   bergantung satu sarna lain.

     Snum                       .
                                . Sname
     Snum
     Rnum                       .
                                .
                                  Rnum
                                  Pnum
     Pnum
     Snum
     Snum , Class, Term
                                .
                                .
                                  Rnum
                                  Pnum
                                  Grade
                (a )

             Snum                           (     Sname    )


             Class



        (    Tenn
                                                  Grade

                                 Gambar 3. 2


                                                                             25
Ini ditentukan dengan penemuan minimum dari sifat nilai-nilainya yang telah
diketahui. Akan diketahui nilai-nilai semua sifat-sifat lainnya pada tupel, dengan
menggunakan FD's pada gambar 3.2. Itu akan dapat terlihat bahwa SNUM sendiri
ditentukan oleh SNAME,RNUM,class,tenn harus diketahui semua. Makajika sifat-
sifat nilai-nilainya untuk kunci kandidat telah diketahui, nilai-nilai untuk seluruh
sifat-sifat pada tuple. Containing ialah kunci kandidat akan menjadi satu kesatuan.
       Penentuan pada advisor adalah cara mudah untuk menidentifikasikan itu
adalah bagian kiri dari seluruh FD' s dalam suatu gabungan (hal yang ditentukan) pada
advisor adalah (SNUM,class,term), (SNUM), (RNUM) dan (PNUM), penentuan/
ketentuan yang selalu diletakkan pada temp at <>'s untuk menegaskan bahwa ada
empat buah perbedaan penentuan. Dengan catatan bahwa mutu tergantung pad a
kelainan dua buah penentuan.
       Pada suatu pennualaan dan salah satu yang terpenting, ditentukan pada daerah
relational database. Design E.F CODD yang telah dibuktikan sebagian besar dari
potensial anormalies. Pada database dapat dipindahkan/diganti pada setiap relation
dalam database yang telah dirubah kedalam BOYLE CODD NORMAL FORM
(BCNF) yang didefinisikan pada :
     Relation adalah bagian dari BCNF jika, dan hanya jika setiap penentuan pada
     relation adalah kunci candidat.
      Walaupun ada yang berbentuk tinggi dan yang sedang yang mana telah
digaransi pada relation yang telah dikembangkan dengan cara yang mudah. Keba-
nyakan pada perancang mencoba menemukan relation mereka kedalam BCNF. Dah
ternyata telah berhasil.
      Relasi Advisor sendiri bukan BCNF ini akan terlihat oleh daftar dari semua
determinan (penentuan) dan semua dari kunci kandidat, sebelah menyebelah dan
tidak ada jika setiap hal yang menentukan adalah kunci kandidat :

      KUNCI KANDIDA T DARI ADVISOR DETERMINAN DARI ADVISOR

      <Snum,Class,Term>                         <Snum,Class,Term>
                                                <Snum>
                                                <Pnum>
                                                <Rnum>

     Sejak setiap hal-hal yang menentukan pada advisor bukan kunci kandidat.
Advisor adalah bukan BCNF dan oleh sebab itu diabaikan.




26
3.3      PENDEKATAN UMUM UNTUK DEKOMPOSISI
      Pada pasal ini bagan sudah diset untuk presentasi dari pada keluaran dari satu
metoda yang menyatakan bagaimana relasi data base dibentuk melalui decomposisi
yang akan diproses. Dapat dilihat kemudian bahwa metoda ini akan dapat disempur-
nakan (menyempurnakan) untuk mengatasi kesulitan-kesulitan yang lebih jauh,
dengan :
1. Mengembangkan hubungan universal untuk database.
2. Menentukan keseluruh hubungan FD kepada tanda-tanda dalam hubungan.
3. Menentukan bila hubungan adalah di dalam BCNF, bila ia design habis, jika
    tidak hubungan pasti akan terpisah menjadi 2 bagian.
4. Ulangi langkah 2 dan 3, tiap hubungan baru diperoleh melalui pemisahan. Jika
    semua hubungan terdapat dalam BCNF, design menjadi komplit. Metoda yang
    diajukan di atas tidak mengatakan bagaimana suatu hubungan yang bukan
    BCNF (non-BCNF) menjai terpisah kedalam 2 bagian.
Di bawah ini penyelesaian menurut FD dalam cara berikut.
      Ambil suatu hubungan, R (A, B, C, D, E ), bukan dalam BCNF. Temukan
sebuah FD, C ~ D, yang mana diketahui menjadi suatu FD yang menyebabkan R
tidak terdapat dalam BCNF (C adalah suatu faktor yang menentukan, tapi bukan
merupakan calon candidat atau kunci). Bentuk hubungan baru: R1 (A, B, C, D,
E ) dan R2 (C, D), di mana bagian dari ketergantungan FD telah dipindahkan
dari R ke Rl dan FD yang penuh telah digunakan untuk bentuk R2. RI dan R2
sekarang harus dikontrol untuk melihat apakah mereka (FD) adadalam BCNF. R2 (C,
D) disebut sebagai proyeksi keluar dari R.
      Type dari pemisahan ini disebut sebagai bukan kerugian. Kerugian
pemisahan (non-cos decomposition) di bawah penyambungan natural (lihat appen-
dix b untuk / sebagai perundingan gambaran ini). Metode pemisahan ini dapat
digunakan dalam langkah nomor 3 dari design daftar algoritma di atas.
      Sebagai contoh dari bagaimana menggunakan metode ini, advisor hubungan
akan dimasukkan. Lihat kembali pada faktor yang menentukan (C), dan kunci
kandidat untuk advisor, akan dapat dilihat bahwa terdapat 3 faktor yang menentukan
yang bukan merupakan kunci kandidat. Yaitu : <SNUM>, <PNUM>, dan <RNUM>.
Untuk memulai proses ini, hubungan universal adalah diberi tanda (dibatasi)
sebagai : addvisor <SNUM, Class, Term, Sname, RNUM, PNUM, Grade>. FD yang
kandidat untuk proyeksi adalah :
SNUM ~ RNUM : SNUM -7 PNUM : RNUM -7 PNUM and PNUM~ RNUM.
      Pada point ini suatu keputusan harus dibuat seperti bagaimana FD harus
digunakan pada proyeksipertama. MungkinDatabaseyangberbeda ini akan dihasilkan
dari proyeksi intitial yang berbeda. JIka ini masalahnya, tiap penghasilan dari data-
base ini harus diperiksa untuk melihat yangmana benda-benda baik yang terbesardari
organisasi. Aturan yang sederhana dari (thumb) untuk digunakan dalam pilihan FD
untuk proyeksi adalah untuk mencari sebuah "rantai" dari FD dari bentuknya.

                                                                                  27
A                .B               .C
       Kemudian proyeksi keluar rightmost FD. Dalam hal ini bentuk SNUM >
RNUM ~ seperti sebuah rantai, lalu "akhir dari rantai", RNUM ~ PNUM,
pertama akan diproyeksikan keluar. Hasil dari hubungan-hubungan, R I dan R2,
diperlihatkan (diberikan) dalam gambar 3.3 sejajar (sepanjang) dengan tiap perkum-
pulan FDnya.
       Hubungan R2 (RNUM,PNUM) di dalam BCNF, selama di dalam hubungan
ini, semua faktor pencatat adalah kunci kandidat. R2 tidak membutuhkan reduksi
(potongan) lagi. Bagaimanapun RI (SNUM,Class,TERM,SNAME,RNUM,GRADE)
tidak terdapat dalam BCNF.

     RI (Snum, Class, Term, Sname,Rnum,Grade)
                                                             Candidate Keys
                                            (   Sname
                                                         )   1. <Snum, Class, Term>


                                            (   Rnum
                                                         )   Determinants
                                                             1. <Snum,Class,Term>
              Class           I                              2. <Snum>
         C                )
              Term                              Grade

                                                             Candidate Keys
                                                             1. <Rnum>
     R2 (Pnum, Rnum)                                         2. <Pnum>

             Rnum                      Pnum                  Determinants
     (                )           -(            )            I. <Rnum>
                                                             2. <Pnum>

     Gambar 3.3 Relasi Rl & R2 dari proyeksi Rnum H Pnum dari ADVISOR

      Selama faktorpenentu (SNUM)bukan kuncikandidat, R1harus direduksi lebih
lanjut. Faktor penentu yang disebabkan / menyebabkan masalah, (SNUM), mempu-
nyai 2 tanda yang bergantung pada :
      SNUM                 · SNAME
      SNUM                 · RNUM
yang harns dipikirkan sebagai single FD dengan susunan di sebelah kanan tangan.
SNUM ~ SNAME,RNUM.



28
R3 (Snum, Class, Term, Grade)
                                                                   Candidate Keys
    (    Snum
                     )                                             I. <Snum, Class, Term>


                                          I     Grade
    (    Class
                     )   I
                                                                   Determinants
                                                                   1. <Snum, Class, Term>

         Term
    (                )
  R4 (Snum, Sname, Rnum)                                               Candidate Keys
                                          Sname                        1. <Snum>
                 ,
                                    (              )
        Snum
                                                                       Determinants
                                          Rnum                         1. <Snum>
                                    (              )
  Gambar 3.4 Relasi R3 & R4 dari proyeksi Snum H Sname, Rnum dari Rl

                 R2 (Rnum, Pnum)
                 R3 (Snum, Class, Term, Grade)
                 R4(Snum,Sname,Rnum)
                            (a)

    R3                                                      R2
                                                            -
    Snum Class               Term       Grade               Rnum             Pnum
                                                                         I



    3215       MTH 122       F84        1.6                  I20DH           2136
    3215       SCI120        F84        2.4                  238VH           2344
    2315       PHY230        W85        2. 1                 345VH           3321
    3215       MTH 122       W85        2. 3
    3462       MTH 122       W84        2. 3                R4
    3462       MTH123        W85        3.5
    3462       PSY220        W85        3. 7            I   Snum Sname
                                                                   I                r   Rnum .
    3567       SCI239        W84        3.3                 3215        JonesG          120DH.
    3567       EGR17I        F84        3.5                 3262        SmithA          238VH
    3567       PHY141        F84        1.8                 3567        HowesJ          120DH
    4756       MUS389        F83        4.0                 4756        AlexK           345VH
                                        (b)
Gambar 3. 5      (a)     Basisdata Advisor
                 (b)     Contoh Penggunaan basisdata daTiGambar 2. 5

                                                                                                29
Catatan, yang penting, bahwa proses pemecahan telah / mempunyai pemecah
yang otomatis dari hubungan advisor asal kedalam 3logika unit: R2 yang mempunyai
ruangandan phoneinformasi,R3 yangmempunyaiclass dan gradeinformasi, dan
R4 yang berisi informasi siswa. Penghancuran logis ini adalah hasillangsung dari
kegunaannya, selama proses pemecahan, dari informasi di dalam FD yang terperinci
bagaimana bermacam-macam tanda dalam hubungan asal/pasti dihubungkan dengan
yang lain.

3.4     TINJAUAN DARI KEJANGGALAN YANG ASLI
      Pernyataan yang baik untuk masalah ini adalah "Apakah database Adv masih
menimbulkan kejanggalan disajikan oleh relasi ADVISOR atau dekomposisi yang
dilakukan secara otomatis menghilangkan kejanggalan ? ". Untuk memperlihatkan
kejanggalan yang sudah hilang, mula-mula kita lakukan insertion, deletion, dan
update masalah pada bagian 2.2 akan diulangi lagi dengan memakai database Adv
sesuai gambar 3.5

INSERTION:
       Pada relasi ADVISOR, seorang murid tidak dapat ditambahkan ke database
hingga murid tersebut sudah terdaftar di kelasnya. Pada databasee Adv hal ini
dilakukan oleh relasi R4 . Jika murid baru dapat diterima oleh sekolah, maka murid
dapat ditambahkan ke database (dengan relasi R4). Seorang murid tidak secara
langsung termasuk dalam kelas untuk menjadi anggota database. Kejanggalan dari
insertion awal ini dihilangkan dengan dekomposisi.

UPDATE:
      Relasi ADVISORjika kita gllnakan sebagai database, hasil dari masalah untllk
Ms. G. Jones memiliki penasehat mengganti nomor teleponnya menjadi 7777. Hasil
penggantian dalam 2 nomor telepon yang berbeda muncul dalam database untuk
telepon dalam ruang 120DH. Dalam database Adv, nomor telepon-nomor telepon
adalah dalam relasi R2, dan setiap ruangan dapat memiliki hanya satu nornor telepon
yang diasosiasikan dengan telepon dalam ruangan tersebut. (lngat Rnum adalah
kunci primer untuk R2, dan harga-harga kunci primermenurut definisi menjadi unik.)
Untuk modifikasi nomor telepon Ms. Jones, tupel dalam R2 untuk Rnllm = 120DH
akan dimodifikasimenjadiPnum = 7777. Catatan untuk perubahan nomor telepon
dalam ruangan, maka semua siswa yang tinggal di ruangan akan memiliki nomor
telepon berubah juga. Maka kejanggalan perubahan (update anomali) yang asli
dihilangkan dengan BCNF disain.
      Harus ditunjuk pula penghilangan dari kejanggalan rancangan perbaikan
adalah berdasarkan kenyataan DBMS, di atas akan diimplementasikan, tidak akan
diikuti kerangkapan harga-harga kunci primer. Sayang sekali, banyak DBMS ber-
dasarkan mikrokomputer diikuti kerangkapan harga-harga kunci yang terjadi, dan


30
tanggungjawab dari pemakai, sampai dengan metode pemrograman yang tepat, untuk
memastikan kerangkapan tidak terjadi. Ini suatu kasus di mana suatu rancangan
database ya;lg baik dapat menjadi rusak dengan batasan-batasan dari DBMS yang
digunakan suatu emplementasi sepenuhnya DBMS tidak akan diikuti kerangkapan
harga-harga kunci primer.

DELETION:
      Relasi ADVISOR digunakan sebagai database, penghilangan dari tuple yang
mengandung Snum =4756 dan Class = MUS389 dihilangkan nomor siswa 4756 dari
database. Ini tidak dapat terjadi dalam database Adv, karena tingkatan infonnasi dan
infonnasi siswa yang umum adalah di dalam dua relasi yang berbeda (R3 dan R4) .
Untuk menghilangkan fakta yaitu siswa dengan nomor 4756 yang tidak memiliki
Class MUS389 di dalam Term F83, tupel < 4756, MUS389, F83,4.0 > akan dihapus
dari R3. Ini tidak akan memberi dampak dari informasi umum siswa ini,' yang
disimpan dalam R4.
      Ketiga kejanggalan tersebut akan ditampilkan didalam database relasi tunggal
yang dihilangkan dengan rancangan baru. Biaya dari penghilangan kejangalan-
kejangalan adalah ketiga relasi tersebut, dari pada satu, sekarang dibutuhkan untuk
disimpan. Ini berarti pertanyaan-pertanyaan tersebut akan ditulis untuk men-
dapatkan informasi dari database yang mungkin diakhir lebih komplek, karena
mereka dapat mengabungkan dua atau tiga relasi untuk mendapatkan data yang
diinginkan.
           . USE ADVISOR
           . DISPLAY CLASS, GRADE FOR SNUM = 3462 OFF
           MTH122 2.3                               .
           MTH123       3.5
           PSY220       3. 7

                                         (a)

           . USE R3
           . DISPLAY CLASS, GRADE FOR SNUM = 3465 OFF
           MTH122 2.3
           MTH123       3.5
           PHY220       3. 7

                                         (b)

  Gambar 3. 6 Permintaan dalam dBase II untuk daftar peringkat dari semua
              kelas dengan nomor siswa 3462
              (a) Menggunakan relasi ADVISOR;
              (b) Menggunakan database Adv.



                                                                                 31
.   USE ADVISOR
                           . DISPLAY PNUM FOR SNUM
                          2136
                                                          = 3567 OFF
                          2136
                          2136

                                             (a)

          SELECT PRIMARY
          USE R4
          SELECT SECONDARY
          USE R2
       ·  JOINT TO TEMPI FIELDS S. PNUM FOR P. SNUM
          P. RNUM = S. RNUM
                                                            = 3567   . AND.;

          USE TEMP 1
          LIST OFF
          2136
          USE
          DELETE FILE TEMP 1
       FILE HAS BEEN DELETED

                                             (b)

     Garnbar 3.7      Pertanyaan dBASE II untuk rnenyusun nornor telepon dari
                      siswa nornor 3567 :
                      (a) rnenggunakan relasi ADVISOR;
                      (b) rnenggunkan database Adv.
      Garnbar 3.6 dan 3.7 adalah contoh-contoh dari tipe pertanyaan rnenggunakan
dBASE II pada kedua relasi ADVISOR tunggal, dan pada database Adv. Pada
garnbar 3.7 kasus pertanyaan menggunakan database Adv lebih kornplek dari pada
kasus relasi tunggal.

3. 5       SUATU DEKOMPOSISI                       YANG LAIN DARI RELASI
           ADVISOR
     Dalarn bagian 3.5 komposisi dari relasi ADVISOR ke dalam tiga relasi dirnulai
dengan suatu proyeksi FD
                 Rnum                 · Pnurn
       FD ini dlpilih karena FD terakhir dalam rangkaian FD diternukan dalarn
garnbar    3.2   :




                 Snurn.             . Rnum                . Pnurn
      Mernpelajari dengan teliti FD yang diberikan dalam gambar 3.2 memper-
lihatkan rangkain lain daTiFD, dengan nomor yang sarna dari FD yang dibutuhkan,
ditampilkan dalarn gambar 3.2.

32
.   ___0       0._ _   - -0-




Rangkaian ini adalah
           Snum                             .. Pnum        .. Rnum
    FD paling kanan disini adalah Pnum ~ Rnum. Jika FD ini diproyeksikan dari
ADVISOR pertama, hasil BCNF database akan menjadi :
                     R2(Pnum,Rnum)
                     R3(Snum,Class,Term,Grade)
                     R4(Snum,Sname,Pnum)

      Database ini adalah sah seperti yang diberikan dalam gambar 3.5. Perbedaan-
nya hanya Pnum memiliki asumsi suatu peranan utama untuk Rnum. Pnum adalah
kunci primer untuk R2 sekarang (dari pada Rnum), dan atribut yang menghubungkan
R4 dengan R2 adalah juga Pnum (dari pada Rnum). Penyelesaian dua database yang
berbeda untuk masalah yang sarna adalah suatu hasillangsung dari saling ketergan-
tungan (mutual dependency) yang ada di antara Pnum dan Rnum. Mana yang terbaik
dari dua penyelesaian yang secara nyata suatu pilihan perancang, akan tergantung
pada beberapa luas rencana penasehat untuk menggunakan database.

3.6     .   URAIAN-URAIAN PADA ALGORITMA RANCANGAN
            DEKOMPOSISI
      Dalam bagian 3.4, di antara rancangan proses melalui proyeksi, dekomposisi
harus dihasilkan dengan melihat suatu rangkaian dari FD, contoh,
                        A                    .B       B      .C
dan proyeksi keluar dari FD pada akhir dari rangkaian. Dalam kasus ini, B ~ C
menjadi proyeksi FD pertama. Cara lain untuk menerangkan proses pemilihan ini
adalah untuk menetapkan setiap usaha harus dibuat untuk menghindari proyeksi
keluar suatu FD, bilamana bagian ketergantungan dari FD itu sendiri, baik semua,
atau bagian dari, suatu determinan untuk FD yang lain.
      Dalam kasus di atas, jika relasi yang dibicarakan diambil sebagai R(A, B, C),
dan jika FD A ~ B yang dipilih untuk proyeksi pertama, hasil relasinya menjadi
RI(A, C) dan R2(A, B). Walaupun kedua relasi ini adalah dalam BCNF, maka
masalahnya diringkas :
    Bukan relasi RI(A, C), maupun R2(A, B), dengan dirinya sendiri, mengandung
    atribut-atributdalam FD, B ~ C, yang merupakan FDdalamrelasi yang asli. FD
    ini secara efektif hilang dalam proses perancangan. Dari suatu titik perhiltian, ini
    berarti jika R1 dan R2 diberikan di sini untuk digunakan untuk database, tidak
    ada kepastian hubungan antara B dan C tidak akan dimasukkan dalam database.
    Gambar 3.8 menggambarkan masalah tersebut. Dengan menggabungkan RI dan
    R2 dalam A, dua harga dari C (3 dan 4) dapat berhubungan dengan B, yang
    inelanggar ketentuan FD tersebut hilang dalam proses proyeksi.



                                                                                     33
Masalah di dalam contoh ini timbul karena proyeksi dari suatu FD, di mana
porsi ketergantungan dari FD itu sendiri, suatu determinan untuk FD yang lain.
Masalah ini tidak memiliki hasil jika aturan rantai digunakan.
       Kasus lain di mana FD mungkin hilang saat proses perancangan adalah situasi
di mana satu atribut tergantung pada dua determinan yang berbeda. Ambil kasus
R(A, B, C) dengan ketergantungan seperti terlihat pada gambar 3.9. Relasi R(A, B,
Q tidak dalam BCNF, karena hanya kunci kandidat adalah <A, C>',determinannya
adalah <A> dan <C>. Aturan rantai di sini tidak dapat diaplikasikan, karena tidak
ada rantai. Secara tambahan, baik FD yang menonjol dalam bentuk normal, FD
yang lain akan hilang. Sebagai contoh, jika A ~ B di proyeksikan dari R(A, B,.,C)
hasil relasinya akan menjadi RI (A,.Q dan R2(A, B), bukan relasi FD C ~ B. Di lain
pihak,jika C ~ B diproyeksikan pertama kali, maka FD A ~ B akan hilang. Dalam
kasus ini perancang harus memikirkan pemisahan R(A, B,J:) ke dalam RI(A, B) dan
R2(C, B) maka bukan FD yang hilang. Ini tidak mengikuti cara standard dari
dekomposisi, tetapi mungkin dihasilkan dalam rancangan yang terbaik. Satu hal
seorang perancang dapat mengerjakan, ketika berhadapan dengan situasi yang
diberikan di sini, adalah untuk memeriksa 3 relasi perancangan yang mungkin dan
melihat bagian yang terbaik yang dibutuhkan dari suatu organisasi. Dalam kenya-
laannya, relasi-relasi yang di hasilkan dalam alternatif terakhir harus diperiksa untuk
melihat apakah suatu kerjasama dari 2 hasil relasi akan mengakibatkan banyak
masalah dengan pemanggilan-pemanggilan pada waktu database terakhir digunakan.
       Cara lain dari pemecahan/pemisahan suatu relasi, didiskusikan bersama de-
ngan gambar 3.9, berdasarkan pada suatu pendekatan rancangan yang berbeda dari
dekomposisi, tetapi dapat menggunakan banyak perancang. Pendekatan ini, disebut
metoda sintesis, tempat-tempat (dalam bentuk yang sederhana) dimana FD secara
 tepat dengan determinan yang sarnahams dipisahkan kedalam kelompok-kelompok,
dan setiap kelompok menempati relasinya sendiri. Hasil relasi-relasi kemudian
 diperiksa untuk BCNF. Dalam contoh terakhir ada dua FD, dengan determinan
 yang berbeda. Dalam metoda sintesis, setiap FD akan menempati relasinya sendiri,
 berikan R1(A, B) dan R2(C, B).

                                 ORIGINAL DATA

                                Relation: R CA. B, C)

                               FD's :      A ~     B
                                           B ~     C

                              (A ~   C must also be true)




 34
ONE POSSIBLE DESIGN

            Rl   (A,   C)                                          R2 CA,   B)
            A    ~      C                                          A   ~    B


                                Valid Instances of R 1 and R2

           Rl                                              R2
           A                C                              A            B

           9                4                              9            2
           8                3                              8            2


                                  The JOIN of R1 and R2

                                      A       B        C

                                      9       2        4
                                      8       2        3

  Gambar 3.8         Contoh-contoh relasi FD dalam R 1 dan R2, tetapi melanggar
                     suatu FD dalam spesifikasi yang asli.




                                                                R (A, B, C)




     Gambar 3.9 Dua determinan dengan atribut ketergantungan yang sarna
      Metoda rancangan sintesis dapat digunakan baik oleh dirinya sendiri atau
dalam hubungannya dengan metoda dekomposisi. Text ini akan menggunakan
metodadekomposisi (jugadisebut sebagaimetodaproyeksi),dengan sintesisdigunakan
sebagai suatu alterrtatif yang mungkin untuk mendapatkan keadaan yang tidak
diinginkan seperti di atas. Seperti terlihat dalam Bab 5, keadaan Retergantungan,
mirip dengan yang diberikan dalam gambar 3.9, dapat timbul dalam keadaan dunia
yang nyata.
      Petunjuk di atas adalah beberapa metoda rancangan, yang mungkin digunakan
sendiri, atau campuran untuk beberapa perluasan, menunjuk fakta tersebut rancangan
database adalah bagian ilmu dan seni. Kenyataan beberapa rancangan yang logis


                                                                                  35
dapat disusun dari titik awal yang sarna adalah suatu kenyataan dari daur hidup
rancangan database. Bagian dari proses rancangan adalah penilaian dari beberapa
altematif rancangan, untuk melihat database terbaik yang dibutuhkan suatu organi-
sasi.




          R (A, B, C, D)                                    R (A, B, C)

                 (a)                                            (b)

                                          I



                                                @
                                          I0
               R (A, B)                                     R (K, X, Y, Z)
                    (c)                                           (d)

                  I                       I
                                                  A                     C
             '--/

             @                   I                B                     D




             R (A, B, C)                      R (A, B, C, D, E)
                  (e)                                 (f)


                          Gambar 3. 10 Data untuk masalah 1




36
3. 7    MASALAH-MASALAH UNTUK BAB 3

1. Gambar 3. 10 diberikan diagram-diagram ketergantungan fungsional untuk
   beberapa relasi. Untuk setiap relasi, memperkenalkan semua determinan dan
   semua kunci kandidat. Tentukan relasi mana yang berada dalam BCNF. Jika
   suaturelasi tidakdalamBCNF,reduksikankebentuknormaldengan menggunakan
   algoritma dekomposisi.

2. Tentukan ketergantungan fungsional antara atribut-atribut dari relasi PHONE
   di diskusikan dalam masalah 4 pada akhir Bab 2.

3. Many Mason Depanement Store ingin membuat suatu database untuk menyim-
   pan informasi pada laporan pembeli. Item-item yang akan disimpan dalam da-
   tabase untuk setiap pembeli mengandung : nomor laporan, nama, alamat, nomor
   telepon, penilaian kredit (baik sekali, baik, jelek, jelek sekali), dan Neraca.
   Gambarkan suatu diagram ketergantungan fungsional untuk atribut-atribut yang
   terlibat, daftar asumsi yang digunakan. Pengembangan relasi BCNF untuk
   database.

4. Sekretaris dari kantor pusat mengembangkan suatu database untuk menyimpan
   informasi pada semua registrasi yang mobil di daerah tersebut. Item-item yang
   akan disimpan dalam database termasuk nomor registrasi, no. stnk, pabrik
   pembuatan, pemilik kendaraan, alamat pemilik, nama perusahan asuransi untuk
   kendaraan tersebut, nomor polis asuransi, tempat mobil diregistrasi, dan tanggal
   terakhir mobil tersebut diregistrasikan. Kembangkan diagram ketergantungan
   fungsional untuk atribut-atribut yang ada.




                                                                                37

More Related Content

Viewers also liked

Compskills21.doc suikang.odt
Compskills21.doc suikang.odtCompskills21.doc suikang.odt
Compskills21.doc suikang.odtdavidlongw
 
Flow
FlowFlow
Embarazo 2
Embarazo 2Embarazo 2
Embarazo 2
lizzcarrera
 
Gats
GatsGats
Gats
Palmeres
 
показатели отрасли
показатели отраслипоказатели отрасли
показатели отраслиAlfiya-92
 
Minggu 4 teori perkembangan bahasa (kuliah)
Minggu 4 teori perkembangan bahasa (kuliah)Minggu 4 teori perkembangan bahasa (kuliah)
Minggu 4 teori perkembangan bahasa (kuliah)Shimah Hassan
 
Sampling6
Sampling6Sampling6
Sampling6
gojetis
 
10. muharia (06111404010)
10. muharia (06111404010)10. muharia (06111404010)
10. muharia (06111404010)Dewi_Sejarah
 
Di susun oleh
Di susun olehDi susun oleh
Di susun olehZareey Zk
 
Bunga
 Bunga Bunga
Greeting
GreetingGreeting
Greeting
Danu Wiyoto
 
Felicidades
FelicidadesFelicidades
Felicidades
4czaragoza
 
5a paradigma baru
5a paradigma baru5a paradigma baru
5a paradigma baru
Juni Effendi
 
Course Validation Stage Two
Course Validation Stage TwoCourse Validation Stage Two
Course Validation Stage Two
Brant Forseng
 
KOPDAR Seven Music Vol.3: Score a hit!! presented by Anton Wahyudi
KOPDAR Seven Music Vol.3: Score a hit!! presented by Anton Wahyudi KOPDAR Seven Music Vol.3: Score a hit!! presented by Anton Wahyudi
KOPDAR Seven Music Vol.3: Score a hit!! presented by Anton Wahyudi
Sevenesia
 
4. temperatur vs viscositas
4. temperatur vs viscositas4. temperatur vs viscositas
4. temperatur vs viscositas
Habibur Rohman
 
Aplikasi praktis regresi berganda
Aplikasi praktis regresi bergandaAplikasi praktis regresi berganda
Aplikasi praktis regresi berganda
BKPP kabupaten Bandung
 

Viewers also liked (19)

Compskills21.doc suikang.odt
Compskills21.doc suikang.odtCompskills21.doc suikang.odt
Compskills21.doc suikang.odt
 
Flow
FlowFlow
Flow
 
Embarazo 2
Embarazo 2Embarazo 2
Embarazo 2
 
Gats
GatsGats
Gats
 
показатели отрасли
показатели отраслипоказатели отрасли
показатели отрасли
 
Minggu 4 teori perkembangan bahasa (kuliah)
Minggu 4 teori perkembangan bahasa (kuliah)Minggu 4 teori perkembangan bahasa (kuliah)
Minggu 4 teori perkembangan bahasa (kuliah)
 
Sampling6
Sampling6Sampling6
Sampling6
 
10. muharia (06111404010)
10. muharia (06111404010)10. muharia (06111404010)
10. muharia (06111404010)
 
Di susun oleh
Di susun olehDi susun oleh
Di susun oleh
 
Bunga
 Bunga Bunga
Bunga
 
Bab21
Bab21Bab21
Bab21
 
Greeting
GreetingGreeting
Greeting
 
Felicidades
FelicidadesFelicidades
Felicidades
 
5a paradigma baru
5a paradigma baru5a paradigma baru
5a paradigma baru
 
Course Validation Stage Two
Course Validation Stage TwoCourse Validation Stage Two
Course Validation Stage Two
 
KOPDAR Seven Music Vol.3: Score a hit!! presented by Anton Wahyudi
KOPDAR Seven Music Vol.3: Score a hit!! presented by Anton Wahyudi KOPDAR Seven Music Vol.3: Score a hit!! presented by Anton Wahyudi
KOPDAR Seven Music Vol.3: Score a hit!! presented by Anton Wahyudi
 
4. temperatur vs viscositas
4. temperatur vs viscositas4. temperatur vs viscositas
4. temperatur vs viscositas
 
Aplikasi praktis regresi berganda
Aplikasi praktis regresi bergandaAplikasi praktis regresi berganda
Aplikasi praktis regresi berganda
 
Sejarah bab 2
Sejarah bab 2Sejarah bab 2
Sejarah bab 2
 

More from prominor

Cover pengantar basis_data
Cover pengantar basis_dataCover pengantar basis_data
Cover pengantar basis_data
prominor
 
Bab11 refleksi dan-pertimbangan_lebih_lanjut
Bab11 refleksi dan-pertimbangan_lebih_lanjutBab11 refleksi dan-pertimbangan_lebih_lanjut
Bab11 refleksi dan-pertimbangan_lebih_lanjut
prominor
 
Bab10 database sekretaris-bowling_dengan_rbase5000
Bab10 database sekretaris-bowling_dengan_rbase5000Bab10 database sekretaris-bowling_dengan_rbase5000
Bab10 database sekretaris-bowling_dengan_rbase5000
prominor
 
Bab9 pelaksanaan landas-data_sekretaris_bowling_menggunakan_dbase3
Bab9 pelaksanaan landas-data_sekretaris_bowling_menggunakan_dbase3Bab9 pelaksanaan landas-data_sekretaris_bowling_menggunakan_dbase3
Bab9 pelaksanaan landas-data_sekretaris_bowling_menggunakan_dbase3
prominor
 
Bab8 tambahan konstruksi-metode_er
Bab8 tambahan konstruksi-metode_erBab8 tambahan konstruksi-metode_er
Bab8 tambahan konstruksi-metode_er
prominor
 
Bab7 pengembangan relasi-relasi-dari_diagram_tipe_er
Bab7 pengembangan relasi-relasi-dari_diagram_tipe_erBab7 pengembangan relasi-relasi-dari_diagram_tipe_er
Bab7 pengembangan relasi-relasi-dari_diagram_tipe_er
prominor
 
Bab6 pola pendekatan-yang_berbeda
Bab6 pola pendekatan-yang_berbedaBab6 pola pendekatan-yang_berbeda
Bab6 pola pendekatan-yang_berbeda
prominor
 
Bab5 studi kasus-desain_database
Bab5 studi kasus-desain_databaseBab5 studi kasus-desain_database
Bab5 studi kasus-desain_database
prominor
 
Bab4 beberapa bentuk-modifikasi_algoritma
Bab4 beberapa bentuk-modifikasi_algoritmaBab4 beberapa bentuk-modifikasi_algoritma
Bab4 beberapa bentuk-modifikasi_algoritma
prominor
 
Bab2 kebutuhan perencanaan-database
Bab2 kebutuhan perencanaan-databaseBab2 kebutuhan perencanaan-database
Bab2 kebutuhan perencanaan-database
prominor
 
Bab1 database relasi-dan_database_relasional
Bab1 database relasi-dan_database_relasionalBab1 database relasi-dan_database_relasional
Bab1 database relasi-dan_database_relasional
prominor
 
Daftar isi
Daftar isiDaftar isi
Daftar isi
prominor
 

More from prominor (12)

Cover pengantar basis_data
Cover pengantar basis_dataCover pengantar basis_data
Cover pengantar basis_data
 
Bab11 refleksi dan-pertimbangan_lebih_lanjut
Bab11 refleksi dan-pertimbangan_lebih_lanjutBab11 refleksi dan-pertimbangan_lebih_lanjut
Bab11 refleksi dan-pertimbangan_lebih_lanjut
 
Bab10 database sekretaris-bowling_dengan_rbase5000
Bab10 database sekretaris-bowling_dengan_rbase5000Bab10 database sekretaris-bowling_dengan_rbase5000
Bab10 database sekretaris-bowling_dengan_rbase5000
 
Bab9 pelaksanaan landas-data_sekretaris_bowling_menggunakan_dbase3
Bab9 pelaksanaan landas-data_sekretaris_bowling_menggunakan_dbase3Bab9 pelaksanaan landas-data_sekretaris_bowling_menggunakan_dbase3
Bab9 pelaksanaan landas-data_sekretaris_bowling_menggunakan_dbase3
 
Bab8 tambahan konstruksi-metode_er
Bab8 tambahan konstruksi-metode_erBab8 tambahan konstruksi-metode_er
Bab8 tambahan konstruksi-metode_er
 
Bab7 pengembangan relasi-relasi-dari_diagram_tipe_er
Bab7 pengembangan relasi-relasi-dari_diagram_tipe_erBab7 pengembangan relasi-relasi-dari_diagram_tipe_er
Bab7 pengembangan relasi-relasi-dari_diagram_tipe_er
 
Bab6 pola pendekatan-yang_berbeda
Bab6 pola pendekatan-yang_berbedaBab6 pola pendekatan-yang_berbeda
Bab6 pola pendekatan-yang_berbeda
 
Bab5 studi kasus-desain_database
Bab5 studi kasus-desain_databaseBab5 studi kasus-desain_database
Bab5 studi kasus-desain_database
 
Bab4 beberapa bentuk-modifikasi_algoritma
Bab4 beberapa bentuk-modifikasi_algoritmaBab4 beberapa bentuk-modifikasi_algoritma
Bab4 beberapa bentuk-modifikasi_algoritma
 
Bab2 kebutuhan perencanaan-database
Bab2 kebutuhan perencanaan-databaseBab2 kebutuhan perencanaan-database
Bab2 kebutuhan perencanaan-database
 
Bab1 database relasi-dan_database_relasional
Bab1 database relasi-dan_database_relasionalBab1 database relasi-dan_database_relasional
Bab1 database relasi-dan_database_relasional
 
Daftar isi
Daftar isiDaftar isi
Daftar isi
 

Bab3 ketergantungan fungsional

  • 1. KETERGANTUNGAN FUNGSIONAL 3.1 BENTUK NORMAL PERTAMA Dalam bab 2 , yang sudah menjadi ketetapan dari bentuk database rasional yang meliputi proses pemecahan relasi - relasi yang memperlihatkan sifat-sifat yang buruk ( dari kelainan pembentukan ) untuk relasi yang baru memperlihatkan kebaikan dalam pembentukan. Beberapa pertanyaan yang dibutuhkan untuk proses ini adalah : 1. Dimana anda memperoleh relasi yang digunakan untuk memulai pemrosesan ? 2. Bagaimana anda mengetahui relasi yang mana membutuhkan pemecahan ? 3. Bagaimana anda mengusahakan pemecahan relasi ? 4. Bagaimana anda mengetahui kapan anda dapat menyelesaikan relasi tersebut ? Jawaban dari ke empat pertanyaan di atas akan dikembangkan dalam bab ini dan akan dijelaskan lebih lanjut dalam bab berikutnya. Untuk database dengan kira - kira terdiri dari 20 atribut, permulaan diproses dari titik sampai dapat digambarkan dalam bentuk khayalan atas relasi umum. Relasi yang berisikan semua atribut yang diperhatikan dan juga struktur dari setiap tupel dalam relasi yang mempunyai satu nilai elemen. Semua pengertian ini dalam relasi mempunyai bentuk yang diperlihatkan dalam gb. 2.5 daripada sesuatu yang seperti yang ada dalam gambar 2.3. 23
  • 2. Relasi sernbarang yang dalarn bentuk sepeni setiap elernen dan selalu akan satu nilai dengan kata lain yang terdapat dalarn bentuk nOfI!lalpertarna atau INF. Relasi hams dalam bentuk normal pertarna sebelurn benar - benar dapat dipertirn- bangkan dengan tepat untuk reduksi yang terdiri dari 2 atau lebih relasinya. 3.2 KONSEP DARI KETERGANTUNGAN FUNGSIONAL Proses dari pernecahan relasi dapat dikurangi dengan probabilitas yang ber- lainan akan teIjadi hubungan dekomposisi. Untuk rnengusahakan kunci dalarn dekornposisilogikal, rnakajalan rnetodenyaadalahkonsep ketergantungan fungsional di antara atribut dalarn relasi di bawah penirnbangan. Definisi ketergantungan fungsional atau FD (Functional Dependencies) adalah : Diberikan 2 atribut , Adan B. B dikatakan ketergantunganfungsional dari Ajika setiap nilai A mempunyai tepa! salU nilai terhadap B ( mempunyaifungsi salU - salU & onto ). A dan B dapat berbentuk gabungan, dapat juga keduanya merupakan kelompok dari 2 atau lebih atribut dari salUatribUl. Dari pandangan yang praktis ini, apa definisi yang dikatakan jika b adalah ketergantungan fungsional dari A dan setiap tupel rnernpunyai nilai yang sarna dengan A dan dalarn A harns rnernpunyai nilai yang sarna tepat terhadap B dalam satu tupel yang sarna . Nilai dari A dan B dapat sewaktu - waktu b~rubah jika diinginkan sepeni perjalanan nilai dari A ke B sangat unik dan hanya mempunyai satu nilai terhadap B. Ketergantungan fungsional ( FD ) menggarnbarkan penggunaan dari beberapa rnacarn notasi ketidaksamaan. Dua atau lebih atribut rnemperlihatkan garnbaran dan keadaan biasa dalarn garnbar 3.1. Dalarn situasi areal ini ketergantungan fungsional dapat rnenentukandetail dari pernbentukan semua atribut dalarn relasi dan dapat rnenarik kesimpulan bagairnana rnenggabungkan atribut yang satu dengan yang lain. Ketergantungan fungsi tidak dapat rnernbuktikan, hanya dengan rnelihat fakta. Dalarn hal ini relasi dan jika tidak nilai sarna yang datang dari dua atribut atau lebih dari satu tupel. Ini dapat anda berikan petunjuk mengenai di mana pemeriksaan ketergantungan fungsi, tetapi tidak dapat dibuktikan. A . B ( bentuk matematika ) G ( bentuk graph a,au diagram) Garnbar . 3.1 Dua bentuk rnenyatakan atribut B adalah ketergantungan fungsi atas A 24
  • 3. Ketergantungan fungsi harus dapat menarik kesimpulan dari bentuk dasar dari pembentukan atribut. Dari contoh, melihat atribut dalam relasi ADVISOR dalam gambar 2.5 dan dalam keterangan fakta yang mendetail dan bagaimana menggantungkan atribut ini sebagai bagian 2.2 yang mendetail. Setelah peninjauan gambaran atribut ketergan- tungan diberikan dalam gambar 3.2 dapat ditarik kesimpulan. Alasan petunjuk dari ketergantungan fungsi akan membicarakan yang mendetail dan lebih mendalam. 1. Nomor pelajar adalah unik. Setiap pelajar mempunyai Snum dan setiap pelajar mempunyai satu ketidak samaan, kemudian jika anda mengetahui pelajar mempunyai Snum, anda hanya tahu satu Sname dapat dikelompokkan dengan : Snum ~ Sname. Kebalikannya salah, Sname ~ Snum adalah tidak benardalam ketergantungan fungsional, sejak beberapa pelajardapat mempunyai nama yang sarna tepat. 2. Setiap pelajar diberikan satu ruangan asrama, tapi ruangan asrama hanya dapa( memuat lebih dari satu pelajar, maka Snum ~ Rnum adalah benar tapi Rnum ~ Snum adalah salah. . 3. Sejak tiap ruangan hanya mempunyai satu telephone dan setiap telephone hanya mempunyai keunikan nomor telephone, Rnum ~ Pnum dan Pnum ~ Rnum. Situasi ini biasanya tidak dapat Snum H Pnum dan Snum , Pnum dikatakan bergantung satu sarna lain. Snum . . Sname Snum Rnum . . Rnum Pnum Pnum Snum Snum , Class, Term . . Rnum Pnum Grade (a ) Snum ( Sname ) Class ( Tenn Grade Gambar 3. 2 25
  • 4. Ini ditentukan dengan penemuan minimum dari sifat nilai-nilainya yang telah diketahui. Akan diketahui nilai-nilai semua sifat-sifat lainnya pada tupel, dengan menggunakan FD's pada gambar 3.2. Itu akan dapat terlihat bahwa SNUM sendiri ditentukan oleh SNAME,RNUM,class,tenn harus diketahui semua. Makajika sifat- sifat nilai-nilainya untuk kunci kandidat telah diketahui, nilai-nilai untuk seluruh sifat-sifat pada tuple. Containing ialah kunci kandidat akan menjadi satu kesatuan. Penentuan pada advisor adalah cara mudah untuk menidentifikasikan itu adalah bagian kiri dari seluruh FD' s dalam suatu gabungan (hal yang ditentukan) pada advisor adalah (SNUM,class,term), (SNUM), (RNUM) dan (PNUM), penentuan/ ketentuan yang selalu diletakkan pada temp at <>'s untuk menegaskan bahwa ada empat buah perbedaan penentuan. Dengan catatan bahwa mutu tergantung pad a kelainan dua buah penentuan. Pada suatu pennualaan dan salah satu yang terpenting, ditentukan pada daerah relational database. Design E.F CODD yang telah dibuktikan sebagian besar dari potensial anormalies. Pada database dapat dipindahkan/diganti pada setiap relation dalam database yang telah dirubah kedalam BOYLE CODD NORMAL FORM (BCNF) yang didefinisikan pada : Relation adalah bagian dari BCNF jika, dan hanya jika setiap penentuan pada relation adalah kunci candidat. Walaupun ada yang berbentuk tinggi dan yang sedang yang mana telah digaransi pada relation yang telah dikembangkan dengan cara yang mudah. Keba- nyakan pada perancang mencoba menemukan relation mereka kedalam BCNF. Dah ternyata telah berhasil. Relasi Advisor sendiri bukan BCNF ini akan terlihat oleh daftar dari semua determinan (penentuan) dan semua dari kunci kandidat, sebelah menyebelah dan tidak ada jika setiap hal yang menentukan adalah kunci kandidat : KUNCI KANDIDA T DARI ADVISOR DETERMINAN DARI ADVISOR <Snum,Class,Term> <Snum,Class,Term> <Snum> <Pnum> <Rnum> Sejak setiap hal-hal yang menentukan pada advisor bukan kunci kandidat. Advisor adalah bukan BCNF dan oleh sebab itu diabaikan. 26
  • 5. 3.3 PENDEKATAN UMUM UNTUK DEKOMPOSISI Pada pasal ini bagan sudah diset untuk presentasi dari pada keluaran dari satu metoda yang menyatakan bagaimana relasi data base dibentuk melalui decomposisi yang akan diproses. Dapat dilihat kemudian bahwa metoda ini akan dapat disempur- nakan (menyempurnakan) untuk mengatasi kesulitan-kesulitan yang lebih jauh, dengan : 1. Mengembangkan hubungan universal untuk database. 2. Menentukan keseluruh hubungan FD kepada tanda-tanda dalam hubungan. 3. Menentukan bila hubungan adalah di dalam BCNF, bila ia design habis, jika tidak hubungan pasti akan terpisah menjadi 2 bagian. 4. Ulangi langkah 2 dan 3, tiap hubungan baru diperoleh melalui pemisahan. Jika semua hubungan terdapat dalam BCNF, design menjadi komplit. Metoda yang diajukan di atas tidak mengatakan bagaimana suatu hubungan yang bukan BCNF (non-BCNF) menjai terpisah kedalam 2 bagian. Di bawah ini penyelesaian menurut FD dalam cara berikut. Ambil suatu hubungan, R (A, B, C, D, E ), bukan dalam BCNF. Temukan sebuah FD, C ~ D, yang mana diketahui menjadi suatu FD yang menyebabkan R tidak terdapat dalam BCNF (C adalah suatu faktor yang menentukan, tapi bukan merupakan calon candidat atau kunci). Bentuk hubungan baru: R1 (A, B, C, D, E ) dan R2 (C, D), di mana bagian dari ketergantungan FD telah dipindahkan dari R ke Rl dan FD yang penuh telah digunakan untuk bentuk R2. RI dan R2 sekarang harus dikontrol untuk melihat apakah mereka (FD) adadalam BCNF. R2 (C, D) disebut sebagai proyeksi keluar dari R. Type dari pemisahan ini disebut sebagai bukan kerugian. Kerugian pemisahan (non-cos decomposition) di bawah penyambungan natural (lihat appen- dix b untuk / sebagai perundingan gambaran ini). Metode pemisahan ini dapat digunakan dalam langkah nomor 3 dari design daftar algoritma di atas. Sebagai contoh dari bagaimana menggunakan metode ini, advisor hubungan akan dimasukkan. Lihat kembali pada faktor yang menentukan (C), dan kunci kandidat untuk advisor, akan dapat dilihat bahwa terdapat 3 faktor yang menentukan yang bukan merupakan kunci kandidat. Yaitu : <SNUM>, <PNUM>, dan <RNUM>. Untuk memulai proses ini, hubungan universal adalah diberi tanda (dibatasi) sebagai : addvisor <SNUM, Class, Term, Sname, RNUM, PNUM, Grade>. FD yang kandidat untuk proyeksi adalah : SNUM ~ RNUM : SNUM -7 PNUM : RNUM -7 PNUM and PNUM~ RNUM. Pada point ini suatu keputusan harus dibuat seperti bagaimana FD harus digunakan pada proyeksipertama. MungkinDatabaseyangberbeda ini akan dihasilkan dari proyeksi intitial yang berbeda. JIka ini masalahnya, tiap penghasilan dari data- base ini harus diperiksa untuk melihat yangmana benda-benda baik yang terbesardari organisasi. Aturan yang sederhana dari (thumb) untuk digunakan dalam pilihan FD untuk proyeksi adalah untuk mencari sebuah "rantai" dari FD dari bentuknya. 27
  • 6. A .B .C Kemudian proyeksi keluar rightmost FD. Dalam hal ini bentuk SNUM > RNUM ~ seperti sebuah rantai, lalu "akhir dari rantai", RNUM ~ PNUM, pertama akan diproyeksikan keluar. Hasil dari hubungan-hubungan, R I dan R2, diperlihatkan (diberikan) dalam gambar 3.3 sejajar (sepanjang) dengan tiap perkum- pulan FDnya. Hubungan R2 (RNUM,PNUM) di dalam BCNF, selama di dalam hubungan ini, semua faktor pencatat adalah kunci kandidat. R2 tidak membutuhkan reduksi (potongan) lagi. Bagaimanapun RI (SNUM,Class,TERM,SNAME,RNUM,GRADE) tidak terdapat dalam BCNF. RI (Snum, Class, Term, Sname,Rnum,Grade) Candidate Keys ( Sname ) 1. <Snum, Class, Term> ( Rnum ) Determinants 1. <Snum,Class,Term> Class I 2. <Snum> C ) Term Grade Candidate Keys 1. <Rnum> R2 (Pnum, Rnum) 2. <Pnum> Rnum Pnum Determinants ( ) -( ) I. <Rnum> 2. <Pnum> Gambar 3.3 Relasi Rl & R2 dari proyeksi Rnum H Pnum dari ADVISOR Selama faktorpenentu (SNUM)bukan kuncikandidat, R1harus direduksi lebih lanjut. Faktor penentu yang disebabkan / menyebabkan masalah, (SNUM), mempu- nyai 2 tanda yang bergantung pada : SNUM · SNAME SNUM · RNUM yang harns dipikirkan sebagai single FD dengan susunan di sebelah kanan tangan. SNUM ~ SNAME,RNUM. 28
  • 7. R3 (Snum, Class, Term, Grade) Candidate Keys ( Snum ) I. <Snum, Class, Term> I Grade ( Class ) I Determinants 1. <Snum, Class, Term> Term ( ) R4 (Snum, Sname, Rnum) Candidate Keys Sname 1. <Snum> , ( ) Snum Determinants Rnum 1. <Snum> ( ) Gambar 3.4 Relasi R3 & R4 dari proyeksi Snum H Sname, Rnum dari Rl R2 (Rnum, Pnum) R3 (Snum, Class, Term, Grade) R4(Snum,Sname,Rnum) (a) R3 R2 - Snum Class Term Grade Rnum Pnum I 3215 MTH 122 F84 1.6 I20DH 2136 3215 SCI120 F84 2.4 238VH 2344 2315 PHY230 W85 2. 1 345VH 3321 3215 MTH 122 W85 2. 3 3462 MTH 122 W84 2. 3 R4 3462 MTH123 W85 3.5 3462 PSY220 W85 3. 7 I Snum Sname I r Rnum . 3567 SCI239 W84 3.3 3215 JonesG 120DH. 3567 EGR17I F84 3.5 3262 SmithA 238VH 3567 PHY141 F84 1.8 3567 HowesJ 120DH 4756 MUS389 F83 4.0 4756 AlexK 345VH (b) Gambar 3. 5 (a) Basisdata Advisor (b) Contoh Penggunaan basisdata daTiGambar 2. 5 29
  • 8. Catatan, yang penting, bahwa proses pemecahan telah / mempunyai pemecah yang otomatis dari hubungan advisor asal kedalam 3logika unit: R2 yang mempunyai ruangandan phoneinformasi,R3 yangmempunyaiclass dan gradeinformasi, dan R4 yang berisi informasi siswa. Penghancuran logis ini adalah hasillangsung dari kegunaannya, selama proses pemecahan, dari informasi di dalam FD yang terperinci bagaimana bermacam-macam tanda dalam hubungan asal/pasti dihubungkan dengan yang lain. 3.4 TINJAUAN DARI KEJANGGALAN YANG ASLI Pernyataan yang baik untuk masalah ini adalah "Apakah database Adv masih menimbulkan kejanggalan disajikan oleh relasi ADVISOR atau dekomposisi yang dilakukan secara otomatis menghilangkan kejanggalan ? ". Untuk memperlihatkan kejanggalan yang sudah hilang, mula-mula kita lakukan insertion, deletion, dan update masalah pada bagian 2.2 akan diulangi lagi dengan memakai database Adv sesuai gambar 3.5 INSERTION: Pada relasi ADVISOR, seorang murid tidak dapat ditambahkan ke database hingga murid tersebut sudah terdaftar di kelasnya. Pada databasee Adv hal ini dilakukan oleh relasi R4 . Jika murid baru dapat diterima oleh sekolah, maka murid dapat ditambahkan ke database (dengan relasi R4). Seorang murid tidak secara langsung termasuk dalam kelas untuk menjadi anggota database. Kejanggalan dari insertion awal ini dihilangkan dengan dekomposisi. UPDATE: Relasi ADVISORjika kita gllnakan sebagai database, hasil dari masalah untllk Ms. G. Jones memiliki penasehat mengganti nomor teleponnya menjadi 7777. Hasil penggantian dalam 2 nomor telepon yang berbeda muncul dalam database untuk telepon dalam ruang 120DH. Dalam database Adv, nomor telepon-nomor telepon adalah dalam relasi R2, dan setiap ruangan dapat memiliki hanya satu nornor telepon yang diasosiasikan dengan telepon dalam ruangan tersebut. (lngat Rnum adalah kunci primer untuk R2, dan harga-harga kunci primermenurut definisi menjadi unik.) Untuk modifikasi nomor telepon Ms. Jones, tupel dalam R2 untuk Rnllm = 120DH akan dimodifikasimenjadiPnum = 7777. Catatan untuk perubahan nomor telepon dalam ruangan, maka semua siswa yang tinggal di ruangan akan memiliki nomor telepon berubah juga. Maka kejanggalan perubahan (update anomali) yang asli dihilangkan dengan BCNF disain. Harus ditunjuk pula penghilangan dari kejanggalan rancangan perbaikan adalah berdasarkan kenyataan DBMS, di atas akan diimplementasikan, tidak akan diikuti kerangkapan harga-harga kunci primer. Sayang sekali, banyak DBMS ber- dasarkan mikrokomputer diikuti kerangkapan harga-harga kunci yang terjadi, dan 30
  • 9. tanggungjawab dari pemakai, sampai dengan metode pemrograman yang tepat, untuk memastikan kerangkapan tidak terjadi. Ini suatu kasus di mana suatu rancangan database ya;lg baik dapat menjadi rusak dengan batasan-batasan dari DBMS yang digunakan suatu emplementasi sepenuhnya DBMS tidak akan diikuti kerangkapan harga-harga kunci primer. DELETION: Relasi ADVISOR digunakan sebagai database, penghilangan dari tuple yang mengandung Snum =4756 dan Class = MUS389 dihilangkan nomor siswa 4756 dari database. Ini tidak dapat terjadi dalam database Adv, karena tingkatan infonnasi dan infonnasi siswa yang umum adalah di dalam dua relasi yang berbeda (R3 dan R4) . Untuk menghilangkan fakta yaitu siswa dengan nomor 4756 yang tidak memiliki Class MUS389 di dalam Term F83, tupel < 4756, MUS389, F83,4.0 > akan dihapus dari R3. Ini tidak akan memberi dampak dari informasi umum siswa ini,' yang disimpan dalam R4. Ketiga kejanggalan tersebut akan ditampilkan didalam database relasi tunggal yang dihilangkan dengan rancangan baru. Biaya dari penghilangan kejangalan- kejangalan adalah ketiga relasi tersebut, dari pada satu, sekarang dibutuhkan untuk disimpan. Ini berarti pertanyaan-pertanyaan tersebut akan ditulis untuk men- dapatkan informasi dari database yang mungkin diakhir lebih komplek, karena mereka dapat mengabungkan dua atau tiga relasi untuk mendapatkan data yang diinginkan. . USE ADVISOR . DISPLAY CLASS, GRADE FOR SNUM = 3462 OFF MTH122 2.3 . MTH123 3.5 PSY220 3. 7 (a) . USE R3 . DISPLAY CLASS, GRADE FOR SNUM = 3465 OFF MTH122 2.3 MTH123 3.5 PHY220 3. 7 (b) Gambar 3. 6 Permintaan dalam dBase II untuk daftar peringkat dari semua kelas dengan nomor siswa 3462 (a) Menggunakan relasi ADVISOR; (b) Menggunakan database Adv. 31
  • 10. . USE ADVISOR . DISPLAY PNUM FOR SNUM 2136 = 3567 OFF 2136 2136 (a) SELECT PRIMARY USE R4 SELECT SECONDARY USE R2 · JOINT TO TEMPI FIELDS S. PNUM FOR P. SNUM P. RNUM = S. RNUM = 3567 . AND.; USE TEMP 1 LIST OFF 2136 USE DELETE FILE TEMP 1 FILE HAS BEEN DELETED (b) Garnbar 3.7 Pertanyaan dBASE II untuk rnenyusun nornor telepon dari siswa nornor 3567 : (a) rnenggunakan relasi ADVISOR; (b) rnenggunkan database Adv. Garnbar 3.6 dan 3.7 adalah contoh-contoh dari tipe pertanyaan rnenggunakan dBASE II pada kedua relasi ADVISOR tunggal, dan pada database Adv. Pada garnbar 3.7 kasus pertanyaan menggunakan database Adv lebih kornplek dari pada kasus relasi tunggal. 3. 5 SUATU DEKOMPOSISI YANG LAIN DARI RELASI ADVISOR Dalarn bagian 3.5 komposisi dari relasi ADVISOR ke dalam tiga relasi dirnulai dengan suatu proyeksi FD Rnum · Pnurn FD ini dlpilih karena FD terakhir dalam rangkaian FD diternukan dalarn garnbar 3.2 : Snurn. . Rnum . Pnurn Mernpelajari dengan teliti FD yang diberikan dalam gambar 3.2 memper- lihatkan rangkain lain daTiFD, dengan nomor yang sarna dari FD yang dibutuhkan, ditampilkan dalarn gambar 3.2. 32
  • 11. . ___0 0._ _ - -0- Rangkaian ini adalah Snum .. Pnum .. Rnum FD paling kanan disini adalah Pnum ~ Rnum. Jika FD ini diproyeksikan dari ADVISOR pertama, hasil BCNF database akan menjadi : R2(Pnum,Rnum) R3(Snum,Class,Term,Grade) R4(Snum,Sname,Pnum) Database ini adalah sah seperti yang diberikan dalam gambar 3.5. Perbedaan- nya hanya Pnum memiliki asumsi suatu peranan utama untuk Rnum. Pnum adalah kunci primer untuk R2 sekarang (dari pada Rnum), dan atribut yang menghubungkan R4 dengan R2 adalah juga Pnum (dari pada Rnum). Penyelesaian dua database yang berbeda untuk masalah yang sarna adalah suatu hasillangsung dari saling ketergan- tungan (mutual dependency) yang ada di antara Pnum dan Rnum. Mana yang terbaik dari dua penyelesaian yang secara nyata suatu pilihan perancang, akan tergantung pada beberapa luas rencana penasehat untuk menggunakan database. 3.6 . URAIAN-URAIAN PADA ALGORITMA RANCANGAN DEKOMPOSISI Dalam bagian 3.4, di antara rancangan proses melalui proyeksi, dekomposisi harus dihasilkan dengan melihat suatu rangkaian dari FD, contoh, A .B B .C dan proyeksi keluar dari FD pada akhir dari rangkaian. Dalam kasus ini, B ~ C menjadi proyeksi FD pertama. Cara lain untuk menerangkan proses pemilihan ini adalah untuk menetapkan setiap usaha harus dibuat untuk menghindari proyeksi keluar suatu FD, bilamana bagian ketergantungan dari FD itu sendiri, baik semua, atau bagian dari, suatu determinan untuk FD yang lain. Dalam kasus di atas, jika relasi yang dibicarakan diambil sebagai R(A, B, C), dan jika FD A ~ B yang dipilih untuk proyeksi pertama, hasil relasinya menjadi RI(A, C) dan R2(A, B). Walaupun kedua relasi ini adalah dalam BCNF, maka masalahnya diringkas : Bukan relasi RI(A, C), maupun R2(A, B), dengan dirinya sendiri, mengandung atribut-atributdalam FD, B ~ C, yang merupakan FDdalamrelasi yang asli. FD ini secara efektif hilang dalam proses perancangan. Dari suatu titik perhiltian, ini berarti jika R1 dan R2 diberikan di sini untuk digunakan untuk database, tidak ada kepastian hubungan antara B dan C tidak akan dimasukkan dalam database. Gambar 3.8 menggambarkan masalah tersebut. Dengan menggabungkan RI dan R2 dalam A, dua harga dari C (3 dan 4) dapat berhubungan dengan B, yang inelanggar ketentuan FD tersebut hilang dalam proses proyeksi. 33
  • 12. Masalah di dalam contoh ini timbul karena proyeksi dari suatu FD, di mana porsi ketergantungan dari FD itu sendiri, suatu determinan untuk FD yang lain. Masalah ini tidak memiliki hasil jika aturan rantai digunakan. Kasus lain di mana FD mungkin hilang saat proses perancangan adalah situasi di mana satu atribut tergantung pada dua determinan yang berbeda. Ambil kasus R(A, B, C) dengan ketergantungan seperti terlihat pada gambar 3.9. Relasi R(A, B, Q tidak dalam BCNF, karena hanya kunci kandidat adalah <A, C>',determinannya adalah <A> dan <C>. Aturan rantai di sini tidak dapat diaplikasikan, karena tidak ada rantai. Secara tambahan, baik FD yang menonjol dalam bentuk normal, FD yang lain akan hilang. Sebagai contoh, jika A ~ B di proyeksikan dari R(A, B,.,C) hasil relasinya akan menjadi RI (A,.Q dan R2(A, B), bukan relasi FD C ~ B. Di lain pihak,jika C ~ B diproyeksikan pertama kali, maka FD A ~ B akan hilang. Dalam kasus ini perancang harus memikirkan pemisahan R(A, B,J:) ke dalam RI(A, B) dan R2(C, B) maka bukan FD yang hilang. Ini tidak mengikuti cara standard dari dekomposisi, tetapi mungkin dihasilkan dalam rancangan yang terbaik. Satu hal seorang perancang dapat mengerjakan, ketika berhadapan dengan situasi yang diberikan di sini, adalah untuk memeriksa 3 relasi perancangan yang mungkin dan melihat bagian yang terbaik yang dibutuhkan dari suatu organisasi. Dalam kenya- laannya, relasi-relasi yang di hasilkan dalam alternatif terakhir harus diperiksa untuk melihat apakah suatu kerjasama dari 2 hasil relasi akan mengakibatkan banyak masalah dengan pemanggilan-pemanggilan pada waktu database terakhir digunakan. Cara lain dari pemecahan/pemisahan suatu relasi, didiskusikan bersama de- ngan gambar 3.9, berdasarkan pada suatu pendekatan rancangan yang berbeda dari dekomposisi, tetapi dapat menggunakan banyak perancang. Pendekatan ini, disebut metoda sintesis, tempat-tempat (dalam bentuk yang sederhana) dimana FD secara tepat dengan determinan yang sarnahams dipisahkan kedalam kelompok-kelompok, dan setiap kelompok menempati relasinya sendiri. Hasil relasi-relasi kemudian diperiksa untuk BCNF. Dalam contoh terakhir ada dua FD, dengan determinan yang berbeda. Dalam metoda sintesis, setiap FD akan menempati relasinya sendiri, berikan R1(A, B) dan R2(C, B). ORIGINAL DATA Relation: R CA. B, C) FD's : A ~ B B ~ C (A ~ C must also be true) 34
  • 13. ONE POSSIBLE DESIGN Rl (A, C) R2 CA, B) A ~ C A ~ B Valid Instances of R 1 and R2 Rl R2 A C A B 9 4 9 2 8 3 8 2 The JOIN of R1 and R2 A B C 9 2 4 8 2 3 Gambar 3.8 Contoh-contoh relasi FD dalam R 1 dan R2, tetapi melanggar suatu FD dalam spesifikasi yang asli. R (A, B, C) Gambar 3.9 Dua determinan dengan atribut ketergantungan yang sarna Metoda rancangan sintesis dapat digunakan baik oleh dirinya sendiri atau dalam hubungannya dengan metoda dekomposisi. Text ini akan menggunakan metodadekomposisi (jugadisebut sebagaimetodaproyeksi),dengan sintesisdigunakan sebagai suatu alterrtatif yang mungkin untuk mendapatkan keadaan yang tidak diinginkan seperti di atas. Seperti terlihat dalam Bab 5, keadaan Retergantungan, mirip dengan yang diberikan dalam gambar 3.9, dapat timbul dalam keadaan dunia yang nyata. Petunjuk di atas adalah beberapa metoda rancangan, yang mungkin digunakan sendiri, atau campuran untuk beberapa perluasan, menunjuk fakta tersebut rancangan database adalah bagian ilmu dan seni. Kenyataan beberapa rancangan yang logis 35
  • 14. dapat disusun dari titik awal yang sarna adalah suatu kenyataan dari daur hidup rancangan database. Bagian dari proses rancangan adalah penilaian dari beberapa altematif rancangan, untuk melihat database terbaik yang dibutuhkan suatu organi- sasi. R (A, B, C, D) R (A, B, C) (a) (b) I @ I0 R (A, B) R (K, X, Y, Z) (c) (d) I I A C '--/ @ I B D R (A, B, C) R (A, B, C, D, E) (e) (f) Gambar 3. 10 Data untuk masalah 1 36
  • 15. 3. 7 MASALAH-MASALAH UNTUK BAB 3 1. Gambar 3. 10 diberikan diagram-diagram ketergantungan fungsional untuk beberapa relasi. Untuk setiap relasi, memperkenalkan semua determinan dan semua kunci kandidat. Tentukan relasi mana yang berada dalam BCNF. Jika suaturelasi tidakdalamBCNF,reduksikankebentuknormaldengan menggunakan algoritma dekomposisi. 2. Tentukan ketergantungan fungsional antara atribut-atribut dari relasi PHONE di diskusikan dalam masalah 4 pada akhir Bab 2. 3. Many Mason Depanement Store ingin membuat suatu database untuk menyim- pan informasi pada laporan pembeli. Item-item yang akan disimpan dalam da- tabase untuk setiap pembeli mengandung : nomor laporan, nama, alamat, nomor telepon, penilaian kredit (baik sekali, baik, jelek, jelek sekali), dan Neraca. Gambarkan suatu diagram ketergantungan fungsional untuk atribut-atribut yang terlibat, daftar asumsi yang digunakan. Pengembangan relasi BCNF untuk database. 4. Sekretaris dari kantor pusat mengembangkan suatu database untuk menyimpan informasi pada semua registrasi yang mobil di daerah tersebut. Item-item yang akan disimpan dalam database termasuk nomor registrasi, no. stnk, pabrik pembuatan, pemilik kendaraan, alamat pemilik, nama perusahan asuransi untuk kendaraan tersebut, nomor polis asuransi, tempat mobil diregistrasi, dan tanggal terakhir mobil tersebut diregistrasikan. Kembangkan diagram ketergantungan fungsional untuk atribut-atribut yang ada. 37