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
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 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:
kesatuan
– H1 ∪ H2 –
hubungan-hubungan yg berstruktur sama (set atribut yg sama) – gabungkan
badan [contoh]
persilangan – H1 ∩ H2 –
hubungan-hubungan yg berstruktur sama – kekalkan tupel terkongsi sahaja [contoh]
perbezaan
– H1 – H2 – hubungan-hubungan yg berstruktur sama
– tupel dlm yg satu yg bukan dlm yg satu lagi [contoh]
operasi
hasildarab Kartesan – H1 × 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
-
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’. |
Data
diorganisasi dalam bentuk hierarki
Data
diorganisasi dalam bentuk rangkaian
Organisasi
data menggunakan konsep berorientasikan
objek
dll
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
(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.