Pangkalan Data [English]

                                                                                                           

Kemungkinan-kemungkinan rujukan:

 

Objektif topik: Pelajar harus memahami fungsi dan penggunaan pangkalan data, termasuk pangkalan data hubungan, dan operasi-operasi hubungan yang berkaitan. 

 

  Pangkalan data – kumpulan data yang teratur, dan perisian yang memeliharanya. 

 

Dalam pangkalan data, data yang dikandungi itu bebas daripada aturcara yang memeliharanya.

 

 

Jenis data:

 

olahan data:

            data statistikan –

      perbandingan

      operasi matematik

nominal, ordinal – hanya perbandingan (persamaan – nominal & ordinal; kedudukan (lebih tinggi/rendah) – ordinal)

data kompleks – operasi khas bergantung kepada data mis. utk DNA: panjang, peratusan pirimidina, dsb

 

domain data – set nilai-nilai yang dibolehkan

 

 

pemeliharaan kumpulan data

 

        sediakan bin utk setiap kategori data

        adakan slot dlm setiap bin utk setiap data

        label setiap slot dan bin

        katalog bin dan slotnya

        tambah bin dan slot baru bila perlu, dan kemaskini katalog pemerihalan

 

 

Model data Hubungan Entiti (ER) – boleh digunakan untuk mengurangkan lewahan data

                        Hubungan data dikurangkan kpd tiga komponen

-         entiti (unsur-unsur data)

-         atribut (yg ada pada entiti)

-         hubungan (di antara entiti)

 

 

Pernormalan

Sesetengah hubungan boleh dipecahkan kepada hubungan-hubungan lebih kecil tanpa kehilangan maklumat

bentuk normal

 

                                                                       

 

Model-Model Pangkalan Data

 

Pangkalan data hubungan (model Codd, 1969)

 

-         benar dan lengkap

-         berdasarkan hubungan

 

 hubungan – set domain-domain yang bersama-sama memerihalkan sesuatu entiti/peristiwa

 

terbahagi kpd   – kepala – nama domain (, atribut)

                        – badan – data-data

bdk. jadual (tapi jadual – lajur mengikut aturan tertentu; hubungan – bukan dlm aturan tertentu)

 

mis. hubungan bernama PERLAWANAN

kepalanya

<PTR : PLBS>  <PPL : PLBS>  <GOLTR : INT>  <GOLPL : INT>  <TP : TARIKH>

(domain PTR dgn atribut PLBS, domain PPL dgn atribut PLBS, …)

badan:

   Terengganu    Kelantan    5    0    01/01/01

   Kelantan        Johor         3    4    05/01/01

   Kelantan        Melaka      2    1    07/01/01

- baris tupel-tupel yang diindekskan oleh kunci (atribut atau atribut-atribut tertentu)

 

boleh rujuk kpd [nama hubungan].[atribut] misalnya PERLAWANAN.PTR

 

Algebra hubungan:

            kesatuanH1 H2 – hubungan-hubungan yg berstruktur sama (set atribut yg sama) – gabungkan badan [contoh]

persilanganH1 H2 – hubungan-hubungan yg berstruktur sama – kekalkan tupel terkongsi sahaja [contoh]

            perbezaanH1 H2 – hubungan-hubungan yg berstruktur sama – tupel dlm yg satu yg bukan dlm yg satu lagi [contoh]

            operasi hasildarab KartesanH1 × H2 – tak perlu sama struktur – memberikan segala kemungkinan [contoh]

            operasi hadkan / pilihσatrib=‘…’ (H) – berikan hubungan baru dgn badan yg mengandungi tupel-tupel terpilih drp hubungan asal [contoh]

            operasi unjurkanπl1,l2,…(H) – berikan hubungan baru dgn atribut-atribut pilihan drp hubungan asal [contoh]

            operasi gabung  / cantum – (hasildarab Kartesan + unjurkan + hadkan) berikan hubungan baru dgn menggabungkan dua hubungan – atribut berulang dibuang, tupel dipilih mengikut kunci [contoh] –

                        gabungan/cantuman sama H1 atrib1=atrib1' H2 – cantuman dibuat menurut satu lajur sepunya (juga cantuman lebih besar H1 atrib1>atrib1' H2 dsb)

                                    contoh:            

 

hubungan A

 

hubungan B

 

 <V>

<W>

 

<X>

 <Y>

<Z>

 

r

t

p

2

4

6

 

5

4

4

2

g

d

t

m

p

e

f

q

                                                jika C JOIN A and B where A.W=B.X       [C= A A.W=B.X B]

                                                maka C ialah:               

 

hubungan C

 

<A.V>

<A.W>=<B.X>

<B.Y>

<B.Z>

 

r

t

t

2

4

4

m

d

t

q

e

f

                                                untuk C JOIN A and B where A.W<B.X    [C= A  A.W<B.X B]

                                                C ialah:                        

 

hubungan C

 

<A.V>

<A.W>

<B.X>

<B.Y>

<B.Z>

 

r

r

r

t

2

2

2

4

5

4

4

5

g

d

t

g

p

e

f

p

gabungan/cantuman asli H1  H2 cantuman semua lajur sepunya tapi simpan satu daripada setiap lajur sahaja.

gabungan/cantuman luar:

H1  H2          kiri       Cantuman asli dengan lengkap dlm H1 walaupun tak padan dgn lajur sepunya

                                                misalnya C= A  B, dengan A.W dan B.X sebagai lajur sepunya; C ialah:                                

 

hubungan C

 

<A.V>

<A.W>=<B.X>

<B.Y>

<B.Z>

 

r

t

t

p

2

4

4

6

m

d

t

nol

q

e

f

nol

nol diletakkan di lajur yg tiada kesepadanan

H1  H2          kanan Cantuman asli dengan lengkap dlm H2 walaupun tak padan dgn lajur sepunya

H1  H2        penuh Cantuman asli dengan lengkap dlm H1 dan H2 walaupun tak padan dgn lajur sepunya

gabungan/cantuman separa H1 P H2 = πA(H1 P H2)           di mana P adalah predikat tertentu dan A mewakili semua atribut dalam H1

            operasi bahagi H1 ÷ H2 (hadkan + unjurkan) cari semua nilai dlm atribut bukan kunci hubungan pertama yg berkongsi tupel dgn setiap nilai dlm hubungan kedua [contoh]

            operasi-operasi bandingan – (bandingan hubungan!)

                        =          bersamaan

                        !=         tak sama

                        <=        subset

                        <          subset wajar

                        >=        superset

                        >          superset wajar

            operasi-operasi tambahan (tambahan kpd Codd)

                        - perpanjangkan – tambah atribut (bertentangan dgn unjurkan)

                        - masukkan – salin semua tupel-tupel drp satu hubungan kpd badan hubungan yg lain (berstruktur sama)

                        - perbaharui – modifikasi nilai sesuatu atribut

                        - padamkan – padamkan tupel bergantung kpd nilai atribut tertentu

                        - namakan semula atribut – ρH'(atrib1',atrib2',…)(H)

                        dll.

 

 

Kalkulus hubungan – kepemerihalan bukan operasi ke atas hubungan – (mempunyai kemampuan sama spt algebra hubungan)

            mis. PERLAWANAN.PTR WHERE (PERLAWANAN.TP=05/01/01 AND PERLAWANAN.GOLTR > PERLAWANAN.GOLPL)

                        WHERE – di mana

                        AND – dan

                        OR – atau

                        EXISTS – wujud (benar kalau satu benar)

                        FORALL – untuk semua (benar kalau semua benar)

                        IF … THEN – jika … maka

                        IFF – jika dan hanya jika

 

Kewibawaan

 

-         penambahan – perlu tentukan kunci ke luar merujuk kpd tupel yg wujud

mis. tambah tupel Melaka Johor … kepada PERLAWANAN perlu ada Melaka Stadium Kubu dlm STADIUM

 

-         pemadaman – perlu elakkan tupel ‘yatim’

mis. padam tupel Terengganu … daripada PERLAWANAN akibatkan tupel yatim Terengganu… dlm STADIUM

 

-         perbaharuan – spt pemadaman dan penambahan

 

kewibawaan domain: ada kes misalnya –

            jika A berlaku, B tak boleh berlaku

                        mis. seorang bermata coklat tak boleh ada ibu & bapa kedua-dua bermata biru

            jika A berlaku, B mesti berlaku

                        mis. jika seseorang menjaringkan gol, pasukannya sekurang-kurangnya mempunyai 1 gol

            nilai A mengekang nilai B

                        mis. tarikh mati seseorang lebih besar drp tarikh lahirnya

 

 

Protokol sanggup/gulung balik: Sesuatu ‘urusniaga’ data mungkin melibatkan beberapa langkah pemprosesan. Sbg pertahanan terhadap kerosakan, salinan (log) urusniaga dibuat, dan apabila salinan sempurna – titik sanggup – jika ada kerosakan urusniaga boleh dibina semula. Jika masalah berlaku sebelum titik sanggup, log boleh digunakan utk gulung balik langkah yg telah dibuat. Masalah: urusniaga lain mungkin telah menggunakan data yg diperbaharui oleh langkah separuh jalan ini, dan seterusnya – gulung balik melata.

 

Kunci: Utk mengelak masalah drp urusniaga yg dijalankan semasa urusniaga lain sedang dijalankan (masalah ringkasan salah, masalah kemaskini hilang) – mekanisme kunci utk mengunci data – kunci terkongsi (pehak lain boleh baca tapi tak boleh tulis), kunci eksklusif (pehak lain tak boleh baca dan tulis). Utk mengelakkan kebuntuan: protokol luka-tunggu – proses ‘muda’ beri jalan (tunggu, atau buka kunci dan gulung balik) kpd proses ‘tua’.

 

 

 

Pangkalan data berhierarki

 

Data diorganisasi dalam bentuk hierarki

 

Pangkalan data berangkai

 

Data diorganisasi dalam bentuk rangkaian

 

Pangkalan data berorientasikan objek

 

Organisasi data menggunakan konsep berorientasikan objek

 

dll

 

 

Perisian pangkalan data

 

SQL (Structured Query Language) – suatu bahasa utk pengolahan pangkalan data

misal suruhan, operator, dsb:

SELECT l1, l2, …, ln FROM j1, j2, …, jm WHERE P        yg bermaksud π l1, l2, …, ln (σP(j1× j2×× jm))

ORDER BY

GROUP BY

HAVING

AND

CROSS JOIN

JOIN

LEFT JOIN

CREATE TABLE

UPDATE

INSERT

dsb

 

Contoh perisian alatan:

ACCESS

ADABAS

dBASE III

ORACLE

dsb

 

 

Perlombongan data

(KDD - Penemuan Pengetahuan dalam Pangkalan Data)

 

[Data yang banyak (dan kompleks) dalam pangkalan-pangkalan data →]

pengeluaran tak remeh maklumat tersirat, yang belum diketahui, dan berkemungkinan berguna, dari data

 

Teknik statistik dan pembelajaran mesin digunakan termasuk: pengelompokan, perumusan data, pembelajaran hukum pengelasan, pencarian rangkaian kegantungan, analisis perubahan, pengesanan anomali untuk penemuan, dan teknik gambaran untuk persembahan maklumat dalam bentuk yang mudah difahami.

 

 

 

balik ke sinopsis SMES3103