BAHAN PENGAJARAN &
PEMBELAJARAN
Nota Pelajar
DKB1343
DATABASE FUNDAMENTALS
DIPLOMA
TEKNOLOGI MAKLUMAT
JABATAN TEKNOLOGI MAKLUMAT
TAJUK: PANGKALAN DATA DAN PENGATURCARAAN PANGKALAN DATA
Pengenalan
Dalam kehidupan seharian, data adalah satu aset yang sangat penting, sama ada bagi individu ataupun
organisasi. Dengan adanya data yang betul dan mencukupi, keputusan dan tindakan yang tepat dapat diambil.
Justeru, data mesti diurus dengan baik. Dalam sistem berkomputer, kaedah yang paling baisa digunakan bagi
mengurus data ialah dengan menggunakan konsep pangkalan data. Nota kursus ini akan menerangkan
mengenai konsep pangkalan data dan pengaturcaraan pangkalan data, komponen dalam pangkalan data,
sistem pengurusan pangkalan data dan kebaikan serta kelemahan pangkalan data.
1. Konsep Pangkalan Data
Konsep pangkalan data timbul hasil daripada keperluan untuk membina sistem pemprosesan data yang banyak
bagi menyokong aplikasi-aplikasi di organisasi-organisasi yang memerlukannya. Organisasi-organisasi ini
memerlukan sistem pemprosesan data untuk menyimpan data tentang aktiviti harian mereka dan interaksi
mereka dengan persekitaran luar.
1.1 Pangkalan Data
Pangkalan data merupakan himpunan data-data berkaitan yang dikonsi bersama oleh berbagai kategori
pengguna bagi memenuhi kehendak dan keperluan maklumat sesebuah organisasi.
Aplikasi pangkalan data ialah satu atur cara penggunaan yang ditulis dalam satu bahasa
pengaturcaraan. Pascal, COBOL atau C++ adalah contoh bahasa pengaturcaraan yang boleh
digunakan untuk tujuan menulis atau cara penggunaan aplikasi pangkalan data.
1.2 Istilah Asas Pangkalan Data
Jadual 1 di bawah menunjukkan penggunaan istilah asas pangkalan data dan persekitaran
Perpustakaan dijadikan sebagai contoh.
Istilah Khas Takrifan Contoh
Fakta asas. Ia boleh terdiri daripada individu, tempat,
peristiwa atau konsep. Jika data digunakan secara
Data bersendirian, ia tidak memberikan apa-apa makna dalam 2017, Sejarah, Fajar
konteks sesuatu permasalahan. Contohnya, satu item, Bakti.
seperti “sejarah” sahaja, tidak memberikan apa-apa
makna setelah ia dicapai dari fail.
Bilangan buku
Maklumat Data yang telah diproses dan berada dalam struktur yang Sejarah, tahun
buku
berguna untuk membolehkan keputusan dibuat. penerbitan
Sejarah.
Persekitaran Organisasi tempat pangkalan data direka bentuk dan Perpustakaan Kolej,
(dunia nyata) dibangunkan. Hospital, Bank.
Persekitaran:-
Entiti Suatu objek yang unik dan boleh dikenal pasti dalam Perpustakaan;
persekitaran tertentu. Entiti:- Buku,
Pengarang, Penerbit.
Entiti:- Buku;
Atribut / medan Ciri-ciri yang menghuraikan tentang suatu entiti. Atribut Nama:- No.
/ item data ISBN, Tajuk Buku,
Pengarang, Tahun
NO. KOD / CODE NO. DKB1343/K01/NK 01 - 02 Muka / Page : 2
Drpd / of : 9
Penerbit;
Atribut Nilai:-
AA61.80, Sejarah,
Zain, 2017, Fajar
Bakti.
AA61.90, Sejarah,
Rekod Sekumpulan atribut / medan / item data yang diperlukan Zain, 2017, Fajar
Fail
oleh sesuatu entiti. Bakti ialah satu
Pangkalan
Data rekod.
Sekumpulan rekod yang diperlukan oleh sesuatu fail. Fail Buku, Penerbit.
Pangkalan Data:-
Katalog
Sekumpulan fail-fail yang diperlukan oleh sesuatu Persekitaran:-
Perpustakaan;
organisasi.
Fail:- Buku,
Pengarang, Penerbit,
Pembekal.
Jadual 1: Penggunaan Istilah Asas Di Dalam Persekitaran Perpustakaan
1.3 Sistem Fail Biasa
Sebelum konsep pangkalan data diperkenalkan, data dalam sistem berkomputer disimpan dengan
menggunakan sistem fail biasa. Di dalam sesebuah organisasi, sistem fail digunakan untuk menyimpan
semua maklumat dalaman dan luaran yang berkaitan dengan sesuatu projek, produk, tugas, pelanggan
atau pekerja. Pada kebiasaannya terdapat banyak fail di dalam sesebuah organisasi, dan untuk
langkah-langkah keselamatan, setiap fail dilabelkan dan disimpan di kabinet/almari berbeza yang
dikunci atau di lokasi yang selamat.
Di rumah, anda juga pasti mempunyai sistem fail tersendiri seperti penyata bank, bil-bil, dokumen
peribadi dan sebagainya. Apabila anda ingin mencari sebarang maklumat, anda akan mebuka sistem
fail anda dan mua mencari satu persatu dari awal hingga maklumat yang anda kehendaki diperolehi.
Anda juga mungkin telah membina sistem indeks yang boleh membantu anda mencari maklumat
dengan lebih pantas.
Pada zaman komputer sekarang, rekod-rekod disimpan dalam fail-fail elektronik yang berasingan dan
masing-masing menggunakan format yang hampir sama dengan sistem fail. Tidak dinafikan dengan
adanya fail elektronik, capaian terhadap maklumat adalah lebih cepada dan tepat dari sistem fail
manual. Namun begitu, masih terdapat kelemahan dam pemprosesan sistem fail.
1.3.1 Kelemahan Konsep Fail Biasa
Sistem fail amat sesuai digunakan jika maklumat yang ingin disimpan adalah dalam jumlah yang kecil
dan sederhana. Namun begitu, sistem fail menjadi rumit apabila anda perlu merujuk kepada lebih
daripada satu fail pada satu masa dan dalam jumlah yang banyak.
Berikut adalah beberapa kelemahan konsep fail biasa:-
(a) Pengulangan Data
Data yang tidak terpusat menyebabkan pengulangan data yang tidak terkawal. Contohnya, rekod
dalam fail BUKU di Perpustakaan diulang dan disimpan, mungkin dalam format yang berbeza
dalam fail DOKUMEN di pejabat penerbitan. Pengulangan data yang tidak terkawal menyebabkan
berlakunya:
Data Lewah
Data lewah bermaksud data atau rekod yang sama diulang dalam dua atau lebih fail. Data
lewah menyebabkan pembaziran ruang simpanan, masa kemasukan data dan
ketakselarasan data. Sebagai contohnya, NoISBN, Tajuk Buku dan Pengarang terdapat
dalam fail BUKU dan fail DOKUMEN.
NO. KOD / CODE NO. DKB1343/K01/NK 01 - 02 Muka / Page : 3
Drpd / of : 9
Ketidakselarasan Data
Kemasukan data dalam satu fail sahaja tanpa mengemas kini fail lain yang berkaitan boleh
menyebabkan terjadinya kesilapan. Laporan yang dihasilkan daripada data yang tidak
selaras akan menyebabkan keraguan tentang kesahihan maklumat yang diterima.
Kawalan Data yang Lemah
Penyelarasan yang kurang antara unit atau jabatan menyebabkan timbulnya kesukaran
dari segi piawaian data, format data dan tatacara.
(b) Pengasingan Data
Kaedah penyimpanan fail secara berasingan menyukarkan proses mendapatkan maklumat apabila
ia memerlukan gabungan dua atau lebih fail. Ini menyumbang kepada keadaan apabila data
dikemas kini di satu unit atau jabatan tetapi unit atau jabatan lain tidak mengemas kini data pada
fail-fail yang berkaitan.
(c) Kebersandaran Format Data
Masalah sering timbul apabila berlaku perubahan dalam format fail atau kehendak output. Jika
format fail diubah, atur cara penggunaan turut perlu diubah atau ditulis semula.
(d) Ketakserasian Fail
Format fail yang diproses oleh satu bahasa pengaturcaraan adalah berbeza daripada format fail
yang diproses oleh satu bahasa pengaturcaraan yang lain. Oleh itu, format fail bergantung pada
bahasa pengaturcaraan yang digunakan.
(e) Kesukaran Mewakilkan Data Organisasi
Kesukaran untuk mewakilkan data bagi menggambarkan organisasi yang sebenar adalah akibat
daripada kurang kerjasama, penyelarasan dan piawaian di antara unit/jabatan dalam sesebuah
organisasi itu sendiri. Perhubungan yang tidak jelas antararekod-rekod dalam fail-fail yang berbeza
menyebabkan pengguna tidak memahami perkaitan di antara data dalam bentuk yang bermakna
dan mudah difahami.
1.4 Sistem Pengurusan Pangkalan Data (SPPD) (Database Management System - DBMS)
SPPD adalah satu sistem perisian yang membolehkan pengguna mentakrif, mencipta, menyusun,
mengemas kini, mengurus dan menyelenggarakan pangkalan data. SPPD turut mengawal capaian
terhadap data dalam pangkalan data.
1.4.1 Jenis SPPD
Jenis SPPD yang hendak digunakan bergantung kepada keadaan yang boleh dijelaskan seperti dalam
Jadual 2 di bawah:-
Faktor Sub-faktor Definisi
Bilangan Pengguna tunggal Seorang pengguna sahaja pada satu masa.
pengguna Pengguna berbilang Lebih daripada satu pengguna boleh menggunakan pangkalan
data.
Lokasi Terpusat Satu SPPD yang menyokong satu pangkalan data di satu
Teragih tempat.
Satu SPPD yang menyokong satu pangkalan data di beberapa
tempat.
Kegunaan Transaksi / produksi SPPD boleh menyokong transaksi harian dan boleh
Sokongan keputusan memberikan jawapan segera.
Maklumat dari data diperlukan terlebih dahulu untuk menolong
membuat keputusan.
Jadual 2: Keadaan-keadaan yang mempengaruhi SPPD
NO. KOD / CODE NO. DKB1343/K01/NK 01 - 02 Muka / Page : 4
Drpd / of : 9
1.4.2 Kebaikan dan Kelemahan SPPD
Kebaikan dan kelemahan SPPD diringkaskan dan dijelaskan seperti di dalam Rajah 1:-
Kebaikan Kelemahan
Kawalan terhadap data lewah kerana kebanyakan data Kesukaran proses pembangunan akan
disimpan di satu lokasi. memberi kesan kepada prestasi sistem.
Keselarasan data lebih tinggi apabila kawalan terhadap data Saiz SPPD yang besar melibatkan
lewah dilaksanakan. storan yang banyak.
Lebih maklumat dapat dijana daripada jumlah data yang Kos pembinaan SPPD dan penyediaan
sama. perkakasan lain yang tinggi.
Perkongsian data di antara individu atau jabatan tinggi Kos peralihan dan larian sama ada dari
kerana data dipunyai oleh organisasi dan bukan individu sistem manual atau sistem fail biasa
atau jabatan tertentu. kepada sistem pangkalan data yang
tinggi.
Integriti data, baik pulih, sokongan dan keselamatan yang Kesan kegagalan lebih tinggi kerana
lebih baik seperti penggunaan kata laluan, penyulitan serta pengguna dan aplikasi amat bergantung
penambahan kawalan serempak. kepada SPPD.
Piawaian data dapat dilaksanakan disebabkan konsep
perkongsian dan pengendalian data terpusat.
Ekonomikal dari segi tenaga manusia, storan dan kos.
Pengurangan konflik di antara pengguna kerana data
terletak di bawah pengurusan DBA.
Kesediaan data lebih baik disebabkan SPPD menyediakan
kemudahan pertanyaan dan penjanaan laporan yang
mudah.
Penambahan produktiviti disebabkan pengurangan dari segi
aturcara berbanding dengan kaedah fail biasa.
Rajah 1: Kebaikan dan Kelemahan SPPD
1.4.3 Perbandingan Antara Sistem Fail dan Sistem Pangkalan Data
1.5 Komponen Persekitaran SPPD
SPPD terdiri daripada lima komponen penting ititu perkakasan, perisian, data, tatacara dan pengguna.
Maklumat berikut akan dapat membantu anda memahami komponen-komponen penting persekitaran
SPPD:-
a) Perkakasan
Komponen ini melibatkan semua peranti fizikal sistem. Contohnya: mikrokomputer, minikomputer,
kerangka utama dan peranti-peranti komputer.
NO. KOD / CODE NO. DKB1343/K01/NK 01 - 02 Muka / Page : 5
Drpd / of : 9
b) Perisian
Komponen ini pula melibatkan koleksi atur cara yang digunakan oleh komputer dalam Sistem
Pangkalan Data, sistem pengoperasian/pengendalian, aturcara aplikasi dan mana-mana perisian
rangkaian jika rangkaian digunakan.
c) Data
Ia merupakan data mentah yang disimpan di dalam fail dan hasil daripada analisis terhadap
organisasi yang terdiri daripada entiti, atribut dan perhubungannya.
d) Tatacara
Komponen ini pula melibatkan peraturan dan arahan yang dikenakan terhadap reka bentuk,
aturcara dan penggunaan pangkalan data serta DBMS.
e) Pengguna
Komponen pengguna pula terbahagi kepada 5 iaitu
i) Pengguna akhir biasa
Pengguna akhir biasa merupakan pelanggan yang menggunakan Sistem Pangkalan Data
untuk mendapatkan maklumat atau menjalankan tugas mereka. Mereka juga
menggunakan atau cara aplikasi untuk melaksanakan operasi rutin organisasi.
ii) Pengguna akhir atasan
Pengguna akhir atasan adalah pengguna yang terlatih dalam menggunakan bahasa
pertanyaan (query language) secara dalam talian. Kumpulan pengguna ini mengetahui
struktur pangkalan data dan kemudahan-kemudahan yang ditawarkan oleh SPPD.
iii) Pereka bentuk pangkalan data
Orang yang mempunyai pengetahuan teknikal tentang pangkalan data.
Tanggungjawabnya adalah merekabentuk model logikal dan seterusnya membangunkan
pangalan data fizikal.
iv) Pengaturcara penggunaan
Orang yang bertugas menulis aturcara bagi melaksanakan fungsi-fungsi tertentu pangkalan
data mengikut spesifikasi yang diberi oleh pengguna dan pentadbir pangkalan data.
v) Pentadbir pangkalan data (Database Administrator - DBA)
DBA pula merupakan orang yang bertanggungjawab di atas perancangan, ciptaan, reka
bentuk, penyelenggaraan dan kawalan pangkalan data demi memenuhi kehendak dan
keperluan pengguna.
2. SEJARAH PERKEMBANGAN PANGKALAN DATA
2.1 Generasi Pertama (1960 – 1970)
Idea dicetuskan pada tahun 1960-an semasa projek pendaratan kapal angkasa Apollo di bulan.
Produk berasaskan struktur hierarki dikenali sebagai IMS (Information Management System) oleh IBM.
Kini digunakan di Mainframe.
Pertengahan 1960-an General Electric perkenalkan IDS (Integrated Data Store) yang merintis jalan
sehingga terhasilnya pangkalan data berstruktur rangkaian.
Sistem berasaskan rangkaian dapat mengatasi masalah perwakilan perhubungan pangkalan data yang
lebih rumit yang tidak dapat dimodelkan menggunakan struktur hierarki.
Ekoran dari itu, satu piawaian pangkalan data telah dibentuk melalui satu badan yang dikenali
sebagai CODASYL.
NO. KOD / CODE NO. DKB1343/K01/NK 01 - 02 Muka / Page : 6
Drpd / of : 9
CODASYL seterusnya menubuhkan satu jawatankuasa petugas yang dikenali sebagai DBTG (Data
Base Task Group).
DBTG telah mengumumkan piawaian pangkalan data pada tahun 1971 yang mengusulkan
penggunaan Bahasa Takrifan Data (Data Definition Language) (DDL) dan Bahasa Pengolahan Data
(DML)
DDL digunakan untuk menaktif struktur pangkalan data manakala DML digunakan untuk mengolah data
dalam pangkalan data.
Masalah pangkalan data generasi pertama ini ialah sokongan perkakasan dan perisian yang lemah.
Perlu dibangunkan menggunakan bahasa COBOL dan PL/1.
Aturcara yang panjang perlu ditulis untuk menjawab pertanyaan ekoran tiada bahasa pertanyaan
berstruktur pada ketika itu.
2.2 Generasi Kedua (1970 – 1990)
Berkembang pesat pada era 80-an dengan penghasilan Bahasa Pertanyaan Berstruktur (Structured
Query Language) (SQL) sebagai bahasa pertanyaan piawai.
Kemunculan pangkalan data komersil seperti DB2, ADABAS, INGRES, Informix, ORACLE, dan
Sybase.
Kebanyakan DB ini digunakan di kerangka utama dan komputer mini.
DB hubungan menghadapi masalah pemprosesan yang lambat kerana memerlukan sumber komputer
yang lebih besar.
Struktur model hubungan yang berasaskan lajur dan baris tidak dapat dimanfaatkan disebabkan
keterbatasan kuasa komputer.
Keadaan ini dapat diatasi bila komputer berkuasa tinggi diperkenalkan.
Perkembangan memberangsangkan apabila DB berasaskan komputer mikro diperkenalkan. Bermula
dengan dBase II dikeluarkan oleh syarikat Ashton-Tate dan dipaparkan sebagai DBMS hubungan pada
1979.
F Codd mengatakan bahawa dBase II bukanlah DBMS hubungan, tetapi produk yang lebih baru seperti
dBase IV, Foxpro, Paradox dan lain-lain adalah DBMS hubungan.
Kemasyhuran DBMS komputer Mikro menyebabkan beberapa produk yang dikhususkan untuk
kerangka utama seperti ORACLE dan INGRES di keluarkan dalam versi komputer Mikro.
Dengan adanya sistem kendalian berasaskan tetingkap atau GUI, DBMS kini lebih ramah pengguna.
Jadi ianya dapat memenuhi keperluan pengguna yang bukan terdiri dari pakar pangkalan data. Contoh
DBMS seperti ini ialah Visual Foxpro, PowerBuilder, Microsoft Access.
2.3 Generasi Ketiga (1990 – kini)
Perkembangan teknologi komputer dan telekomunikasi telah menyumbang kepada rangkaian setempat
dan pemprosesan teragih secara meluas.
Pangkalan data multimedia dan internet juga telah menjadi sesuatu yang penting dan berguna dalam
pembangunan aplikasi dalam talian (online).
Pemodelan data hubungan telah didokong oleh Model Perhubungan Entiti (Model E-R) yang
diperkenalkan oleh Chen pada 1976.
Satu lagi perkembangan sistem pangkalan data ialah sistem Pangkalan data berasaskan objek
(ODBMS) yang digunakan untuk menyimpan dan menyenggara struktur data daripada Pengaturcaraan
Beorientasikan Objek.
Teknologi terkini pangkalan data juga ialah pangkalan data cerdas dan sistem pangkalan data
multimedia dan pangkalan pengetahuan.
Lewat 80-an Pengaturcaraan berorientasikan objek telah mula digunakan.
NO. KOD / CODE NO. DKB1343/K01/NK 01 - 02 Muka / Page : 7
Drpd / of : 9
2.4 Info Grafik Sejarah Pangkalan Data
NO. KOD / CODE NO. DKB1343/K01/NK 01 - 02 Muka / Page : 8
Drpd / of : 9
NO. KOD / CODE NO. DKB1343/K01/NK 01 - 02 Muka / Page : 9
Drpd / of : 9
RUJUKAN:
i. Ramez Elmasri & Shamkant B. Navathe (2016). Fundamentals of Database System. USA: Addison-
Wesley.
ii. Nik Ismail, N. & Mohd. Suaib, N (2015). SQL Tutorial Simply Easy Learning. Malaysia: ThinkerBiz®.
iii. Salha Abdullah dan Nazlia Omar (2000). Sistem Pangkalan Data. Sprint Print, Prentice Hall.
iv. Abdullah Embong (2000). Sistem Pangkalan Data. Tradisi Ilmu Sdn. Bhd.
v. Noraswaliza Abdullah, Nurul Akmar Emran & Safiza Suhana Kamal Baharin (2020). Jom Mereka
Bentuk Pangkalan Data. Universiti Teknikal Malaysia Melaka.
vi. Chua Siwe Geck, Yew Kwang Hooi (2016). Sains Komputer Tingkatan 4. Oxford Fajar Sdn. Bhd.
vii. DBMS – Database Management System (http://www.goo.gl/pMrvk5)
TAJUK: SISTEM PENGURUSAN PANGKALAN DATA HUBUNGAN
RELATIONAL DATABASE MANAGEMENT SYSTEM (RDBMS)
Pengenalan
Sistem Pengurusan Pangkalan Data (Database Management System – DBMS) ialah satu perisian yang
membolehkan pengguna menakrif, mereka, mengolah dan menyelenggara suatu pangkalan data. Ia
memberikan capaian yang terkawal terhadap pangkalan data. DBMS menyediakan hanya data yang diperlukan
untuk pengguna akhir. Perisian ini merupakan komponen yang penting dalam sistem pangkalan data. Antara
pakej-pakej yang terdapat di pasaran adalah seperti DB2, Oracle Informix, IMS, Ingress untuk kerangka utama
dan minikomputer. Manakala untuk mikrokomputer, pakej perisian DBMS adalah seperti dBase IV, FoxPro,
Access, Paradox, SQL, Visual FoxPro dan Foxbase.
1. Konsep Asas Sistem Pengurusan Pangkalan Data Hubungan (RDBMS)
1.1 Pangkalan Data Hubungan (Relational Database)
Sistem pengurusan pangkalan data hubungan (RDBMS) adalah satu program aplikasi yang
membolehkan anda membuat, maklumat, dan mentadbir pangkalan data hubungan. Kebanyakan
komersial RDBMS kita menggunakan Bahasa Pertanyaan Berstruktur (Structured Query Languase
- SQL) untuk mengakses pangkalan data, walaupun SQL telah dicipta selepas pembangunan model
hubungan dan tidak perlu untuk penggunaannya.
Produk perisian aplikasi RDBMS utama adalah Oracle, DB2 IBM dan SQL Server Microsoft. Walaupun
menghadapi cabaran diulangi oleh teknologi bersaing, dan juga tuntutan oleh beberapa pakar bahawa
tiada RDBMS semasa telah dilaksanakan sepenuhnya prinsip-prinsip hubungan, majoriti pangkalan
data korporat baru masih diwujudkan dan diuruskan dengan RDBMS.
Contoh perisian aplikasi RDBMS:-
i. MySQL
Salah satu perisian yang merupakan vendor dari DBMS adalah MySQL yang digunakan untuk
melakukan pengurusan dan juga pemprosesan pangkalan data dalam syarikat kecil. MySQL
merupakan salah satu pilihan tepat untuk melaksanakan pengurusan pangkalan data dalam
ruang yang kecil.
Perbandingan :
Kelebihan Kekurangan
Perisian mudah alih Sukar untuk diaplikasikan pada intansi
MySQL boleh dijalankan untuk mengolah
pangkalan data multi platform. Sistem operasi atau syarikat hebat dengan pangkalan
Windows, Linux, Mac, dan sebagainya boleh data yang besar
menggunakan DBMS MySQL ini, menjadikan MySQL tidak mempunyai ciri-ciri yang selengkap
SQL lebih baik dari segi keberkesanan dan Oracle. Hal ini berkaitan dengan implementasi
fungsinya. dari DBMS yang dilakukan, di mana MySQL
tidak mampu menguruskan pangkalan data
dengan jumlah data yang besar. Oleh itu,
MySQL tidak sesuai digunakan pada pangkalan
data syarikat-syarikat yang besar.
DBMS yang sumber terbuka Sokongan teknikal kurang
MySQL merupakan perisian sumber terbuka. Sokongan teknikal dari MySQL juga dianggap
Namun demikian, walaupun merupakan perisian kurang memuaskan. Hal ini mungkin berkaitan
sumber terbuka, MySQL sudah mempunyai dengan status sumber terbuka yang dimiliki oleh
NO. KOD / CODE NO. DKB1343/K01/NK 02 - 02 Muka / Page : 2
Drpd / of : 12
lesen GPL (General Public License), maka MySQL. Hal ini membuatkan pengguna akan
kualitinya terjamin. mengalami masalah dalam mencari sokongan
teknikal dari MySQL semasa menggunakan
Multi-User perisian ini.
MySQL mempunyai kemampuan yang sangat Tidak popular untuk aplikasi game dan
baik untuk menyokong kepentingan multi user,
dimana boleh dijalankan oleh ramai pengguna mudah alih
dalam satu masa tanpa perlu menghadapi DBMS mysql ini sangat jarang digunakan dan
masalah seperti crash. kurang sesuai untuk aplikasi Permainan dan
Mobile application.
ii. MS SQL SERVER
SQL merupakan singkatan kepada akronim Structured Query Language (SQL), yang
merupakan satu jenis bahasa komputer atau pertanyaan yang digunakan untuk mengakses
data - data yang terdapat dan juga tersimpan di dalam sebuah pangkalan data. Pada masa ini,
hampir semua DBMS sudah menggunakan bahasa SQL untuk membantu mengumpul data dan
juga melaksanakan pemprosesan dan juga pengurusan dari sebuah pangkalan.
Perbandingan:-
Kelebihan Kekurangan
Bekerja dengan sangat baik pada sistem Harganya yang sangat mahal
operasi Windows Harga produk perisian Microsoft memang
Ia boleh bekerja dengan sangat baik pada biasanya tinggi dan mahal apabila dibandingkan
semua sistem operasi Windows, bermula dari dengan perisian lain. Hal ini memang merupakan
Windows XP, Vista, Seven, dan juga pelbagai salah satu hal yang wajar, kerana Microsoft SQL
versi Windows 8. Hal ini adalah kerana Microsoft Servers merupakan salah satu perisian yang
SQL Servers juga merupakan software DBMS sangat kompeten dalam bidang DBMS.
yang dicipta dan dibangunkan oleh Microsoft itu
sendiri, oleh itu Microsoft SQL Server sangat
baik dan juga sesuai untuk digunakan dan juga
diaplikasikan pada sistem operasi Windows.
Menyokong banyak perisian pangkalan Tidak multi OS, hanya boleh digunakan
data pada sistem operasi yang dibuat oleh
Menyokong banyak perisian pangkalan data di Microsoft
mana membantu memudahkan kerja sebagai Hanya boleh digunakan dengan sistem operasi
seorang programmer untuk mengolah pangkalan Windows sahaja. Jika menggunakan sistem
data. Anda boleh menggunakanperisian operasi Mac ataupun Linux dan Ubuntu, maka
pangkalan data apa pun yang ingin dan biasa perisian ini tidak akan berfungsi.
anda gunakan, tanpa perlu bimbang tidak akan
serasi dengan perisian Microsoft SQL Servers
ini. Sukar digunakan pada bahasa
Boleh membuat clustering data
Memudahkan kerja dari pengurusan pangkalan pemprograman yang lain
data, sehingga data - data yang akan diolah SQL server terkenal dengan sifat bahasa
menggunakan perisian Microsoft SQL Servers ini pengaturcaraannya yang sulit. Jika
akan menjadi lebih mudah untuk dilaksanakan, pengaturcaraan lain digunakan, perisian ini tidak
kerana boleh terbahagi kepada beberapa akan berjalan dengan sempurna. Selain itu
kelompok. DBMS ini juga memerlukan fungsi CPU yang
sangat tinggi.
iii. ORACLE
Oracle merupakan salah satu vendor perisian yang banyak bergerak di bidang DBMS, yang
sehingga kini lebih kurang 40 tahun sudah beroperasi, Oracle sudah menjadi salah satu
NO. KOD / CODE NO. DKB1343/K01/NK 02 - 02 Muka / Page : 3
Drpd / of : 12
syarikat teknologi terbesar yang menyediakan perkhidmatan perisian DBMS yang banyak
digunakan oleh banyak pengguna.
Oracle pertama kali ditubuhkan pada tahun 1977, di mana pada tahun tersebut, Oracle berjaya
mewujudkan suatu sistem pengolahan pangkalan data untuk mengolah data dalam jumlah yang
sangat besar, yang mana terdiri dari jumlah data dan juga angka yang sangat banyak, yang
ketika itu jarang-jarang boleh dilakukan oleh pengguna.
Perbandingan:
Kelebihan Kekurangan
Mempunyai kemampuan yang baik untuk Harga perisian DBMS tinggi dan mahal
melakukan pengurusan sistem pangkalan Harganya mahal dan mempunyai nilai yang
data paling tinggi dan paling mahal. Hal ini akan
Mampu untuk melakukan pengurusan sistem membazirkan wang jika tidak terlalu memerlukan
data dengan baik. Hal ini membolehkan spesifikasi perisian DBMS yang tinggi, seperti
pengguna ataupun programmer yang Database Oracle.
menggunakan Database Oracle boleh
melakukan pengurusan pangkalan data dengan
baik dan juga sempurna.
Jumlah data dan juga angka yang diurus Spesifikasi minimum dengan perkakasan
sangat besar yang tinggi
Mampu untuk menguruskan data dalam jumlah Disebabkan mempunyai fungsi yang sangat
yang sangat besar, sehingga penggunaan dari banyak, dan juga kemampuan yang sangat
Database Oracle sangat berkesan untuk tinggi dalam melakukan pengurusan dan
digunakan pada syarikat - syarikat dengan skala pemprosesan dari suatu pangkalan data, maka
besar dan multicorporate. Dengan penggunaan hal ini mempengaruhi spesifikasi minimum yang
Database Oracle, maka semua data yang dimiliki diperlukan oleh sebuah komputer di mana
oleh syarikat besar tersebut mampu untuk diurus oracle memerlukan spesifikasi PC yang tinggi
dengan mudah dan juga cepat.
Dapat mengolah data dengan cepat dan Tidak sesuai untuk diaplikasikan pada
tepat syarikat atau institusi kecil
Pemprosesan data yang dilakukan oleh Oracle Harganya yang mahal dan juga spesifikasi tinggi.
merupakan salah satu pemprosesan data yang Tentu sahaja akan membuatkan pangkalan data
cepat dan juga tepat. Oracle menjadi sangat tidak sesuai untuk
digunakan oleh syarikat atau institusi yang kecil.
Spesifikasi dan juga ciri-ciri yang dimiliki oleh
Database Oracle adalah terlalu tinggi untuk
diaplikasikan pada pangkalan data syarikat atau
institusi yang kecil.
iv. Microsoft Access
Microsoft Access adalah Sistem Pengurusan Pangkalan Data (SPPD) dari Microsoft yang
menggabungkan hubungan Microsoft Jet Database Engine dengan grafik antara muka
pengguna dan perisian pembangunan alat. Ia adalah ahli daripada aplikasi Microsoft Office,
termasuklah edisi profesional dan lebih tinggi atau dijual secara berasingan.
Microsoft Access menyimpan data dalam format sendiri berdasarkan Akses Jet Database
Engine. Ia juga boleh mengimport atau menghubungkan secara langsung kepada data yang
disimpan dalam aplikasi dan pangkalan data yang lain.
Perbandingan:
Kelebihan Kekurangan
Mesra pengguna Tidak seperti RDBMS yang lain
Pengguna boleh membuat jadual, pertanyaan, Microsoft Access adalah pangkalan data
borang dan laporan, dan berhubungan bersama- berasaskan pelayan fail. Tidak seperti pelayan-
sama dengan makro. Access juga mempunyai pelanggan Sistem Pengurusan Pangkalan Data
NO. KOD / CODE NO. DKB1343/K01/NK 02 - 02 Muka / Page : 4
Drpd / of : 12
ciri-ciri penciptaan laporan yang boleh bekerja Hubungan (RDBMS), Microsoft Access tidak
dengan mana-mana sumber data yang boleh melaksanakan pencetusan pangkalan data,
mengakses. prosedur yang disimpan, atau transaksi. Access
2010 adalah termasuk pencetus jadual-tahap
Dapat mengakses data dari mana-mana dan prosedur yang disimpan dibina ke dalam
sumber enjin data ACE. Jadual, pertanyaan, borang,
laporan dan makro kini boleh dibangunkan
Konsep asal Access adalah untuk pengguna khusus untuk aplikasi asas web dalam Access
akhir untuk dapat mengakses data dari mana- 2010.
mana sumber. Ciri-ciri lain termasuk: import dan -
eksport data ke pelbagai format termasuk Excel,
Outlook, ASCII, dBase, Paradox, FoxPro, SQL
Server dan Oracle. Ia juga mempunyai
keupayaan untuk menghubungkan data di lokasi
yang sedia ada dan menggunakannya untuk
melihat, menyoal, penyuntingan, dan pelaporan.
Access sering digunakan oleh orang yang
memuat turun data dari pangkalan data peringkat
organisasi untuk manipulasi, analisis, dan
pelaporan dalam negara.
1.2 Penormalan Pangkalan Data (Database Normalization)
Penormalan
Penormalan merupakan satu rekabentuk pangkalan data yang mengikut peraturan tertentu. Ia
melibatkan proses langkah demi langkah untuk memecahkan satu hubungankepada beberapa
hubungan yang kecil bagi mencapai tahap normal tertentu supaya anomali kemaskini dapat
dihapuskan.
Penormalan Pangkalan Data
DBMS yang dihasilkan perlulah bersifat anjal dan akomodatif, iaitu dapat disesuaikan mengikut
perubahan pengendalian dan perkembangan organisasi masa kini dan masa hadapan. Proses
penormalan menentukan kebersandaran atribut terhadap satu entiti dan mnetapkan perhubungan
antara entiti-entiti melalui atribut sepunya. Proses penormalan dilaksanakan bagi mengatasi
masalah pengulangan data, anomali tambah, kemas kini dan hapus. Secara ringkas, penormalan
pangkalan data adalah kaedah yang sistemik dalam menguraikan jadual untuk menghapuskan
lebihan data dan ciri-ciri yang tidak diingini seperti anomali sisipan, kemaskini dan penghapusan.
Faedah-faedah penormalan dilakukan adalah:
i) Menentukan model / DBMS yang benar-benar memodelkan organisasi berkenaan.
ii) Model / DBMS yang dinormalkan bebas daripada anomaly-anomali sisipan, hapus dan
ubahsuai.
iii) Menghasilkan skema hubungan dengan pengumpulan atribut yang paling minimum.
iv) Menghasilkan rekabentuk pangkalan data yang anjal yang boleh dikembangkan dengan
mudah.
v) Mengurangkan data lewah.
vi) Mengatasi masalah-masalah anomali.
NO. KOD / CODE NO. DKB1343/K01/NK 02 - 02 Muka / Page : 5
Drpd / of : 12
1.3 Gambar Rajah / Diagram Hubungan Entiti (Entity-relationship Diagram - ERD)
ERD adalah berasaskan kepada persepsi dunia sebenar sesebuah organisasi. Ia terdiri daripada
satu set objek asas yang dikenali sebagai entiti dan perhubungan di antara objek-objek.
Terdapat 3 komponen asas dalam ERD iaitu:
i) Entiti
Entiti : suatu objek atau konsep dalam dunia nyata yang boleh dikenalpasti kewujudannya
secara unik.
Dalam konteks pangkalan data, entiti : suatu objek yang menjadi sumber data, maksudnya
data-data dikumpulkan dalam pangkalan data ialah mengenai suatu entiti.
Contoh entiti yang wujud secara fizikal : Pelajar, Guru dan Buku.
Contoh entiti yang wujud secara konsep : Matapelajaran, Peperiksaan dan Pengalaman.
Kumpulan entiti yang sama dipanggal set entiti.
Simbol entiti:
Entiti
ii) Atribut
Atribut : sifat yang memperihalkan suatu set entiti. Set nilai yang dibenarkan bagi sesuatu
atribut dipanggil domain.
Suatu set entiti mungkin mempunyai beberapa atribut. Setiap ahli dalam satu set entiti
mempunyai atribut yang sama tetapi nilai adalah unik kepada diri sendiri. Misalnya set
entiti PELAJAR mungkin mempunyai atribut-atribut seperti nama, nombor kad pengenalan,
tarikh lahir, alamat, nombor telefon, dsb.
PELAJAR NoKP Tlahir Alamat NoTel
Nama
Berdasarkan jadual di atas, NoKP adalah satu atribut yang berbeza bagi setiap pelajar
manakala Nama dan Tarikh lahir mungkin ada pelajar yang mempunyai data yang sama.
Justeru, NoKP adalah atribut yang unik.
Simbol atribut:
Atribut
iii) Perhubungan dan Kekardinalan
Perhubungan : hubungan menggambarkan bagaimana dua entiti berkongsi maklumat
dalam struktur pangkalan data.
Setiap perhubungan menerangkan ‘kata kerja’ yang berlaku di antara entiti yang saling
berkait.
Simbol perhubungan:
Hubungan
3 kategori darjah perhubungan : mengurus
i) Unari (1 entiti terlibat)
M
STAF
1
NO. KOD / CODE NO. DKB1343/K01/NK 02 - 02 Muka / Page : 6
Drpd / of : 12
ii) Binari ( 2 entiti terlibat)
JABATAN
STAF mengurus
PELAJAR
iii) Perhubungan Ternari (3 entiti terlibat)
PENAJA tawarkan
BIASISWA
Kekardinalan (Cardinality) :
Kekardinalan merujuk perhubungan antara entiti. Ia menyatakan bilangan entiti yang boleh
dihubungan dengan entiti yang lain melalui set hubungan.
Jenis-jenis kardinaliti :
i) Satu ke Satu (1:1)
STAF 1 mengurus 1
JABATAN
Satu orang staf akan menguruskan satu jabatan dan satu jabatan akan hanya
mempunyai satu staf sahaja
ii) Satu ke Banyak (1:M) membuat M TEMPAHAN
PELANGGAN 1
Satu orang pelanggan boleh membuat banyak tempahan tetapi bagi satu tempahan
adalah untuk seorang pelanggan sahaja .
iii) Banyak ke Banyak (M:N)
PELAJAR M daftar N KURSUS
Seorang pelajar boleh mendaftar banyak kursus dan satu kursus boleh ambil ramai
pelajar.
NO. KOD / CODE NO. DKB1343/K01/NK 02 - 02 Muka / Page : 7
Drpd / of : 12
1.4 Jenis-jenis Arahan Structured Query Language (SQL)
a) Bahasa Takrifan Data (Data Definition Language - DDL)
Bahasa Takrifan Data (DDL) bertujuan membina struktur pangkalan data iaitu skema luaran, skema
konseptual dan skema dalaman. Ia menukar data yang dijana oleh atur cara aplikasi atau terminal dari
paras konseptual (pandangan pengaturcara) kepada paras fizikal (cara storan data). Hasil dari
pelaksanaan DDL ialah jadual dan disimpan dalam kamus khas yang dipanggil kamus data.
Kamus data merupakan satu komponen yang sangat penting dalam DBMS. E.F. Codd (1982)
mensyaratkan supaya DBMS menyediakan satu katalog yang boleh dicapai oleh pengguna. Kamus
data merupakan pusat storan data pangkalan data. Kamus data mesti dirujuk sebelum data pengguna
dicapai. Segala definisi objek dalam pangkalan data disimpan di kamus data termasuk skema,
subskema, pemetaan skema, maklumat keselamatan dan integriti. Kamus data mengawal dokumentasi
pangkalan data dan bertindak aktif dalam capaian data.
Kandungan dan format kamus data bergantung kepada sesuatu DBMS. Di antara maklumat yang
terkandung dalam kamus data ialah:
Nama, jenis dan saiz bagi unsur data.
Perhubungan data dan struktur skema.
Nama pengguna dan peringkat kuasanya.
Kekangan kewibawaan data.
Data statistic seperti kekerapan capaian terhadap sesuatu data.
Skema luaran, konseptual dan dalaman.
Pemetaan di antara skema-skema tersebut.
Sumber data (dari mana didapati dan siapa yang bertanggungjawab terhadap sesuatu data).
Contohnya:
Nama jadual
CREATE Buku (NoISBN = c10, TajukBuku = c40, TahunTerbit = n8);
Nama medan / field (atribut)
c = aksara; n = numerik
Jenis data
Jadual Buku di bawah menunjukkan meta data hasil daripada arahan di atas yang disimpan dalam
kamus data.
Buku Jenis Saiz
Nama Medan / field (Atribut) Aksara 10
NoISBN Aksara 40
TajukBuku Numerik 8
TahunTerbit
Di antara faedah-faedah kamus data ialah:
a. Maklumat data dikumpul dan disimpan secara terpusat, dengan itu memudahkan kawalan
terhadap data yang menjadi sumber organisasi.
b. Makna data boleh ditakrif dengan jelas supaya semua pengguna memahami penggunaan dan
kepentingan data tersebut.
c. Komunikasi dan persefahaman antara pengguna menjadi lebih mudah, berpunca dari takrif
data yang jelas.
NO. KOD / CODE NO. DKB1343/K01/NK 02 - 02 Muka / Page : 8
Drpd / of : 12
d. Lewahan dan ketakselarasan dapat dikesan dan dielakkan. Hononim dan sinonim juga dapat
dielakkan.
e. Setiap perubahan kepada struktur pangkalan data dapat direkodkan dengan segera.
f. Oleh kerana pengurus pangkalan data mempunyai rekod lengkap tentang data, kesan sesuatu
perubahan dapat dinilai oleh pengurus pangkalan data sebelum perubahan dibuat.
Arahan yang menentukan struktur yang berbeza di dalam sistem pangkalan data. Pernyataan DDL
mencipta, mengubahsuai, dan mengeluarkan objek pangkalan data seperti jadual, indeks, dan
pengguna. Pernyataan DDL adalah:
CREATE database – membina pangkalan data yang baru.
CREATE table – membina jadual dalam pangkalan data yang sedia ada.
ALTER - digunakan untuk menambah, memadam, atau mengubah suai lajur dalam jadual
yang sedia ada.
i) Alter … add –menambah medan baru
ii) Alter … drop – menghapuskan medan
iii) Alter … modify – ubahsuai jenis data dan saiz data
iv) Alter … change – ubahsuai nama medan
ALTER TABLE nama_table CHANGE nama_medan_lama nama_medan_baru;
NO. KOD / CODE NO. DKB1343/K01/NK 02 - 02 Muka / Page : 9
Drpd / of : 12
DROP database – membuang pangkalan data .
DROP table – membuang jadual dalam pangkalan data.
TRUNCATE – menghapuskan rekod
TRUNCATE
b) Bahasa Pengolahan Data (Data Manipulation Language - DML)
Bahasa pengolahan data menyediakan satu set operasi untuk menyokong operasi pengolahan ke atas
data dalam pangkalan data. Operasi pengalahan data biasanya merangkumi perkara-perkara berikut:-
i. Penambahan data baru ke dalam pangkalan data.
ii. Pengemaskinian data yang disimpan di dalam pangkalan data.
iii. Capaian data yang terkandung dalam pangkalan data.
iv. Penghapusan data dalam pangkalan data.
Terdapat beberapa kelas Bahasa Pengolahan Data:
i. Bahasa Bertatacara
Bahasa yang membenarkan pengguna untuk memberitahu sistem data apa yang diperlukan
dan bagaimana untuk mencapai data. Contohnya ialah hubungan aljabar.
ii. Bahasa Tidak Bertatacara
Bahasa yang membenarkan pengguna untuk menerangkan data apa yang diperlukan tanpa
menentukan bagaimana ia perlu dicapai. Contohnya ialah kalkulus hubungan dan bahasa
pertanyaan berstruktur (SQL).
iii. Bahasa Generasi Ke-4 (4GL)
Bahasa generasi ke-4 lebih mudah dipelajari dan digunakan daripada bahasa generasi ke-3.
Arahan-arahan pengaturcaraannya lebih ringkas dan tidak bertatacara. Ia membenarkan
penyesuaian dilakukan dalam aplikasi, mempunyai antara muka pengguna yang khas dan
berpandukan menu.
Ciri-ciri bahasa generasi ke-4 ialah seperti berikut:
Bahasa persembahan seperti bahasa pertanyaan dan penjana laporan.
Bahasa khusus seperti bahasa pangkalan data dan hamparan kerja.
Aplikasi penjanaan yang mentakrif, menambah, mengemaskini dan mencapai data dari
pangkalan data untuk membina aplikasi.
Bahasa peringkat tertinggi yang digunakan bagi menjana kod aplikasi.
Fungsi penggunaan bahasa generasi ke-4 terdiri daripada:
o Penjana penggunaan
o Penjana laporan
o Penjana borang
o Penjana grafik
o Bahasa pertanyaan
NO. KOD / CODE NO. DKB1343/K01/NK 02 - 02 Muka / Page : 10
Drpd / of : 12
iv. Grafikal
Pengguna boleh mengambarkan atau mengilustrasikan data yang diperlukan. Contohnya ialah
Pertanyaan dengan contoh (Queries Based Example - QBE).
Antara pernyataan DML ialah :
INSERT INTO – digunakan untuk masukkan rekod baru dalam jadual.
UPDATE - digunakan untuk mengemaskini rekod sedia ada dalam jadual.
DELETE FORM – memadam rekod dalam jadual bersyarat atau tidak bersyarat
SELECT – mendapatkan data daripada jadual dalam pangkalan data.
c) Data Control Language (DCL)
Digunakan untuk kawalan akses (user permission) data.
Pernyataan DCL adalah :
GRANT – Untuk membolehkan pengguna tertentu untuk melaksanakan tugas-tugas tertentu.
REVOKE – Untuk membatalkan kebenaran sebelum ini diberikan atau ditolak.
NO. KOD / CODE NO. DKB1343/K01/NK 02 - 02 Muka / Page : 11
Drpd / of : 12
Rajah di atas menunjukkan hubungan antara DDL, DML dan DCL.
d) Data Query Language (DQL)
Data query boleh menjadi sama ada select query atau action query. Select query hanya pilih satu
query untuk mendapatkan semula data. Action query boleh meminta operasi tambahan kepada
data, seperti kemasukan, mengemaskini atau penghapusan.
Pernyataan DQL ialah:
SELECT – mendapatkan dan memaparkan rekod
e) Transactional Control Commands (TCL)
Digunakan untuk mengurus perubahan yang dibuat oleh kenyataan DML. Ia membolehkan penyata
yang akan dikumpulkan bersama ke dalam transaksi logik.
Pernyataan TCL ialah:
COMMIT - menyimpan kerja yang dilakukan
SAVEPOINT - mengenal pasti titik dalam transaksi yang anda kemudian
boleh dilancarkan kembali
ROOLBACK - memulihkan pangkalan data yang asal sejak COMMIT yang
terakhir
SET TRANSACTION - Tukar pilihan transaksi seperti tahap pengasingan
atau kembalikan semula untuk digunakan.
RUJUKAN:
NO. KOD / CODE NO. DKB1343/K01/NK 02 - 02 Muka / Page : 12
Drpd / of : 12
i. Ramez Elmasri & Shamkant B. Navathe (2016). Fundamentals of Database System. USA: Addison-
Wesley.
ii. Nik Ismail, N. & Mohd. Suaib, N (2015). SQL Tutorial Simply Easy Learning. Malaysia: ThinkerBiz®.
iii. Salha Abdullah dan Nazlia Omar (2000). Sistem Pangkalan Data. Sprint Print, Prentice Hall.
iv. Abdullah Embong (2000). Sistem Pangkalan Data. Tradisi Ilmu Sdn. Bhd.
v. Noraswaliza Abdullah, Nurul Akmar Emran & Safiza Suhana Kamal Baharin (2020). Jom Mereka
Bentuk Pangkalan Data. Universiti Teknikal Malaysia Melaka.
vi. Chua Siwe Geck, Yew Kwang Hooi (2016). Sains Komputer Tingkatan 4. Oxford Fajar Sdn. Bhd.
vii. DBMS – Database Management System (http://www.goo.gl/pMrvk5)
TAJUK: STRUKTUR MODEL DATA DAN REKABENTUK PANGKALAN DATA
STRUCTURE DATA MODELLING AND DATABASE DESIGN
PENERANGAN:
1.0 MODEL HUBUNGAN PANGKALAN DATA (ENTITY-RELATIONSHIP MODEL)
Model hubungan telah mula dicadangkan pada tahun 1970 oleh E.F. CODD melalui satu kertas kerjanya
“a relational Model of data for large shared data banks” (Codd, 1970). Model ini menggunakan konsep
hubungan Matematik yang mudah.
Model hubungan juga adalah:
a) Model yang menyimpan data dalam bentuk jadual hubungan.
b) Setiap hubungan dibina oleh beberapa rekod atau tupel.
c) Setiap hubungan berupa jadual atau satu fail.
d) Apabila satu hubungan digambarkan sebagai jadual yang mengandungi maklumat maka :
- setiap baris dalam jadual mewakili sekumpulan maklumat yang berhubung kait.
e) Maklumat ini menerangkan satu entiti atau satu kejadian hubungan.
f) Nama jadual dan nama lajur diguna untuk memberi makna kepada maklumat di setiap baris
dalam jadual tersebut.
(Rujuk Jadual 1 sebagai contoh.)
Jadual 1: Jadual bagi Branch dan Staff
Penerangan Jadual 1
1. Nama jadual adalah Branch kerana setiap baris adalah maklumat untuk entiti bagi branch.
2. Nama lajur seperti branchNo, street, city dan postcode menetapkan makna bagi setiap nilai
data.
Ciri-ciri model Hubungan Pangkalan Data
NO. KOD / CODE NO. DKB1343/K01/NK 03-03 Muka / Page : 2
Drpd / of : 31
Rekod dalam PD hubungan tiada susunan yang tetap kerana hubungan hanya mewakili data secara logik/
abstrak sahaja.
1. Nilai di dalam rekod adalah tersusun.
2. Nilai atribut yang komposit (gabungan) tidak dibenarkan dalam hubungan.
3. Nilai null digunakan untuk mengisi nilai atribut yang tidak diketahui atau tidak wujud dalam
sesuatu tupel.
NO_PEND NAMA_PELAJAR TELEFON ALAMAT
231 DTK 97 Kedah
147 DTK 99 Nur Izati 04-4645226 Selangor
007 DTK 98 Perak
300 DTK 97 Mukhriz 03-8925674 Pulau Pinang
Kamil
Juwita 04-5495084
Jadual 2: Jadual peribadi pelajar
Penerangan Jadual 2
a) Merujuk kepada jadual 2, pelajar bernama Kamil tidak mempunyai nombor telefon, nilai null diberikan
kepada TELEFON untuk Kamil.
b) Mungkin pada masa akan datang, Kamil akan mempunyai kemudahan telefon.
Atribut Tupel
STUDENT
Hubungan Id_Stud name Login Age Cgpa Kardinaliti = 3
53666 Jones jones@cs 18 3.4
53688 Smith smith@eecs 18 3.2
53650 Smith smith@math 19 3.8
Domain Darjah = 5, setiap baris berbeza
Id_Stud : 5 aksara
name : 50 aksara
Login : 30 aksara
Age : 2 digit
Cgpa : 3 aksara
Rajah 1: Penggunaan terminologi dalam Model Hubungan Pangkalan Data.
Istilah/komponen penting dalam binaan pangkalan data hubungan adalah seperti berikut:-
1. Hubungan
2. Atribut
3. Rangkap
4. Darjah
5. Kardinaliti
6. Domain
Hubungan
Model yang menyimpan data dalam bentuk jadual hubungan. Hubungan adalah berbentuk jadual yang
terdiri daripada lajur dan baris. Hubungan digunakan untuk menyimpan maklumat tentang objek yang akan
diwakilkan dalam pangkalan data.
NO. KOD / CODE NO. DKB1343/K01/NK 03-03 Muka / Page : 3
Drpd / of : 31
Contoh: Hubungan PELANGGAN ialah jadual yang menyimpan data tentang pelanggan manakala
hubungan PEKERJA ialah jadual yang menyimpan maklumat mengenai seseorang pekerja.
Ciri-ciri :
a) Setiap rangkap mewakili kejadian satu entiti berdasarkan set entiti.
b) Setiap lajur mewakili atribut, dengan nama yang bersesuaian.
c) Setiap pertindihan rangkap dan lajur mewakili satu nilai data.
d) Setiap jadual mempunyai sekurang-kurangnya satu atribut atau kombinasi atribut yang mengenalpasti
setiap baris secara unik. (Kunci utama)
Atribut
Lajur yang dinamakan dalam sesuatu hubungan dinamakan atribut. Ia menyimpan maklumat
mengenai sesuatu jadual. Maklumat pekerja dalam hubungan PEKERJA mengandungi lajur yang
mewakili atribut NoPekerja, nama, jabatan, jawatan dan gaji.
NoMatriks, NamaPel, alamat dan NoTel pula merupakan aatribut bagi hubungan PELAJAR.
Ciri –ciri :
a) Ia menerangkan ciri-ciri entiti.
b) Nama atribut yang digunakan hendaklah memberi pengertian yang jelas kepada semua pihak.
Contoh ;
staff_no - Nombor staf
stdnt_phone - Nombor telefon pelajar
Rangkap / Tupel / Rekod
Baris dalam hubungan dinamakan rangkap (tuple). Merujuk hubungan PEKERJA, setiap baris mengandungi
empat nilai yang mewakili setiap atribut. Susunan rangkap tidak penting dalam sesebuah jadual kerana ia
masih memberi nilai yang sama.
Ciri –ciri :
a) Dikenali juga sebagai tupel atau baris
Kardinaliti
Bilangan rangkap dalam sesuatu jadual dinamakan kardinaliti. Kardinaliti berubah bergantung kepada
bertambah atau berkurangnya rangkap. Contohnya, kardinaliti dalam jadual di bawah adalah berdarjah empat.
Darjah
Darjah merujuk kepada bilangan lajur dalam jadual. Oleh kerana lajur mewakili atribut, maka daarjah
menunjukkan bilangan atribut dalam sesuatu jadual.
Contoh:
Hubungan PEKERJA menunjukkan empat atribut atau berdarjah empat. Hubungan yang hanya mempunyai satu
atribut adalah berdarjah satu atau dikenali juga unari. Hubungan dengan dua atribut dinamakan binari manakala
yang mempunyai tiga atribut dinamakan ternari.
(Penjelasan lanjut dalam Modul 203 ER-Modelling)
Ciri –ciri :
a) Dikenali juga sebagai degree
N atribut : berdarjah N
Domain
Domain adalah set nilai yang dibenarkan untuk sesuatu atribut. Domain juga ialah jenis data yang menerangkan
jenis maklumat yang terdapat dalam lajur. Domain mungkin berbeza setiap atribut. Dalam masa yang sama,
dua atau lebih atribut mungkin ditakrifkan menggunakan domain yang sama. Sebagai contoh domain bagi nama
pelanggan ialah aksara dengan saiz 50. Ini bermakna nilai-nilai boleh dimasukkan untuk nama pelanggan
mestilah dalam julat saatu sehingga 50 berjenis aksara. Domain bagi poskod alamat pula ialah nombor berjenis
integer. Jadual 3 menunjukkan contoh domain dan atribut.
Ciri –ciri :
Contoh domain ;
NO. KOD / CODE NO. DKB1343/K01/NK 03-03 Muka / Page : 4
Drpd / of : 31
NO_PEND : 10 aksara
NAMA_STDNT : 50 aksara
TARIKH_DAFTAR : 8 digit
Istilah Formal Pilihan 1 Pilihan 2 Jadual 3: Contoh atribut dan domain
Fail
Hubungan Jadual Rekod Terminologi Pilihan Pangkalan Data
Tuple/Rangkap Baris Medan Hubungan
Atribut Lajur
Jadual 4 menunjukkan istilah yang boleh digunakan bagi mewakili struktur data dalam model
hubungan.
Contoh Model Pangkalan Data Hubungan Pelajar
NAMA NO_PEND KELAS UNIT
Taufiq 10 DIT 001 DIT 5 IT
Marina 10 DTK 112 DTK 5 TK
Asyikin 10 DIT 006 DIT 5 IT
Iskandar 10 DTK 118 DTK 5 TK
NO. KOD / CODE NO. DKB1343/K01/NK 03-03 Muka / Page : 5
Drpd / of : 31
Ciri-ciri Hubungan
1. Setiap hubungan mesti mempunyai nama yang unik, yang dapat membezakannya dengan
hubungan lain. Contohnya jadual PEKERJA mengandungi data mengenai pekerja manakala
jadual PELANGGAN mengandungi data tentang pelanggan.
2. Setiap sel iaitu persilangan rangkap dan lajur hanya mempunyai satu nilai. Ini bermakna satu
sel tidak boleh mempunyai dua nama pekerja dalam sel yang sama.
3. Setiap lajur mewakili satu atribut dan mengandungi nama yang unik. Contohnya nomatriks,
namapelajar, fakulti dan notel adalah lajur dalam hubungan PELAJAR.
4. Nilai-nilai suatu atribut adalah dari domain yang sama. Semua nilai untuk nomatriks merupakan
domain bagi nombor matriks iaitu berjenis aksara dengan saiz 6. Nilai nama pelajar tidak
dibenarkan di dalam lajur ini. Ini kerana setiap lajur mempunyai nama yang unik.
5. Susunan lajur tidak penting. Ini adalah kerana lajur mempunyai nama yang unik.
6. Setiap rangkap adalah unik. Oleh itu, tiada pertindihan rekod yang akan berlaku. Contohnya,
rangkap A6738, Syamil, FTMK, 30-12-86, 019-5656788 hanya dipaparkan sekali.
7. Susunan rangkap tidak penting. Sehubungan itu, data baru boleh dimasukkan di mana-mana
lokasi dalam jadual.
8. Setiap jadual mempunyai kunci berperanan mengenal pasti setiap rangkap. Dalam hubungan
PELAJAR kunci yang dipilih ialah nomatriks.
NO. KOD / CODE NO. DKB1343/K01/NK 03-03 Muka / Page : 6
Drpd / of : 31
2.0 HUBUNGAN STRUKTUR DATA
HUBUNGAN PEMBEKAL DAN PRODUK
KUNCI UTAMA
KUNCI ASING
Rajah 2: Kekunci Utama dan Kekunci Asing
Kunci hubungan
Kunci Utama (Primary key):
- Satu atau beberapa atribut yang diplih untuk mengenalpasti rangkap dengan unik dalam hubungan.
- Nilai atribut kekunci digunakan untuk mengenalpasti satu tupel tertentu di dalam hubungan.
Kunci asing (Foreign key):
- Satu atau lebih atribut yang wujud di dalam suatu hubungan tetapi menjadi atribut bagi hubungan
yang lain.
- Digunakan untuk menghubungkan 2 jadual.
NO. KOD / CODE NO. DKB1343/K01/NK 03-03 Muka / Page : 7
Drpd / of : 31
3.0 TAKRIFAN ISTILAH-ISTILAH DALAM PANGKALAN DATA HUBUNGAN
Takrifan Entiti
a) Entiti ialah sesuatu objek yang menjadi sumber data dan wujud dalam suatu
persekitaran, boleh dikenal pasti kewujudannya. Contoh:
Individu- (Pelajar, Pesakit, Pekerja, Pensyarah)
Tempat- (Daerah, Negeri)
Objek- (mesin, bangunan, kenderaan)
Peristiwa-(Jualan, Pendaftaran,Kursus,Peperiksaan)
Konsep- (Kursus, Jabatan, Projek)
b) Entiti mempunyai nama atau jenis entiti dan juga kejadian entiti.
c) Kejadian entiti merupakan objek yang dimodelkan sebagai entiti.
d) Entiti diwakili dengan simbol empat segi dan dilabelkan dengan kata nama.
Ali kejadian
Samad dimodelkan sebagai
Raju
Kim
PELAJAR entiti
Rajah 1 memaparkan tentang entiti pelajar, Ali, Samad, Raju dan Kim dipanggil kejadian di
dalam entiti pelajar.
Contoh entiti PEKERJA dan kejadian.
Jenis entiti: PEKERJA
Atribut Jenis Data Kejadian 1 Kejadian 2
FT1120 FS2003
Nopekerja CHAR(6) Aishah Luqman Jadual 4.1: Jenis entiti PEKERJA
FTMK FST dengan dua kejadian.
10-02-13 15-01-07
Nama CHAR(25)
Fakulti CHAR(30)
TarikhKerja DATE
Terdapat dua jenis set entiti – kuat & lemah
Set entiti kuat – kewujudannya tidak bersandar atas kewujudan entiti lain. Cth : Pelajar
Set entiti lemah – kewujudannya bersandar kepada kewujudan satu set entiti kuat. Cth : Waris
PELAJAR WARIS
Set Entiti Kuat Set Entiti Lemah
NO. KOD / CODE NO. DKB1343/K01/NK 03-03 Muka / Page : 8
Drpd / of : 31
Takrifan Atribut
a) Atribut ialah sifat yang memperihalkan suatu set entiti.
b) Maklumat / huraian / ciri-ciri tentang sesuatu entiti dipanggil atribut.
c) Bertujuan untuk membezakan objek-objek di di dalam entiti.
d) Atribut diwakili dengan simbol bujur dan dihubungkan dengan entiti melalui garisan.
Gambarajah Atribut
Nama_Subjek
Kod_Subjek Bil_Kredit
SUBJEK
Dalam model E-R atribut disimbolkan oleh elips (bujur) dengan nama atribut di tulis di dalamnya dan
disambung ke entiti dengan garis pautan.
Jenis-jenis Atribut
a) Atribut Mudah
b) Atribut Nilai Tunggal
c) Atribut Nilai Komposit
d) Atribut Nilai Berbilang
e) Atribut Terbitan
Atribut Mudah
Atribut mudah mengandungi satu komponen, wujud secara bebas dan tidak boleh dipecah-pecahkan
Contoh : Tarikh_lahir, Jantina
Atribut Nilai Tunggal
Hanya menyimpan satu nilai tunggal sahaja
Contoh : No_kp, No_staf, No_Akaun
Atribut Nilai Komposit
Atribut yang boleh dipecahkan kepada unit-unit atau komponen-komponen
Contoh : Alamat
Alamat
Negeri
No_rumah
Jalan Bandar
Poskod
NO. KOD / CODE NO. DKB1343/K01/NK 03-03 Muka / Page : 9
Drpd / of : 31
Atribut Nilai Berbilang
a) Mempunyai lebih daripada satu nilai bagi setiap entiti Nama
b) Simbol yang digunakan berbeza.
c) Contoh : Nama_tanggungan
STAF
No_Staf
Nama_tanggungan
Atribut Terbitan
Atribut yang diterbitkan daripada atribut lain daripada entiti yang sama atau entiti yang berlainan.
Contoh : Atribut tarikh lahir boleh memberikan nilai atribut umur.
Umur STAF
Tarikh_lahir
No_Staf Nama
Rumusan bagi atribut
NO. KOD / CODE NO. DKB1343/K01/NK 03-03 Muka / Page : 10
Drpd / of : 31
Perhubungan
a) Satu perhubungan adalah satu persekutuan di antara beberapa entiti berkaitan
b) Merupakan gam yang melekatkan pelbagai komponen dalam ERD
c) Label yang digunakan biasanya adalah kata kerja (verb)
d) Disimbolkan dengan bentuk “diamond” dimana nama perhubungan ditulis di dalamnya.
e) Contoh simbol
f) Contoh penyataan
Pelajar mendaftar kursus
PELAJAR daftar KURSUS
Doktor merawat pesakit
DOKTOR rawat PESAKIT
Pekerja memandu kereta
PEKERJA pandu KERETA
g) Rajah Kejadian menunjukkan bagaimana entiti berinteraksi dengan entiti yang lain
Ali Sains
Samad Matematik
Raju Komputer
Kim
PELAJAR daftar KURSUS
Ali daftar Sains
Samad daftar Sains
Samad daftar Matematik
Raju daftar Matematik
Raju daftar Komputer
Kim daftar Komputer
NO. KOD / CODE NO. DKB1343/K01/NK 03-03 Muka / Page : 11
Drpd / of : 31
Gambarajah penuh Tarikh
NoPel Jabatan Kodkursus Unit
Nama
PELAJAR Daftar KURSUS
Kardinaliti Perhubungan
a) Kardinaliti perhubungan menunjukkan bilangan perhubungan sesuatu entiti dgn entiti yang
lain.
b) Bergantung kepada polisi organisasi – petua bisnes.
c) Petua bisnes juga boleh diwakilkan melalui kardinaliti perhubungan.
d) Perhubungan 1:1 ( satu-ke-satu )
e) Perhubungan 1:M ( satu-ke-banyak )
f) Perhubungan M:1 (banyak-ke-satu )
g) Perhubungan M:N ( banyak-ke-banyak )
Kardinaliti: (Hubungan 1:1)
a) 1 kejadian dlm entiti A berhubung dengan 1 kejadian dlm entiti B dan
b) 1 kejadian dlm entiti B berhubung dengan 1 kejadian dlm entiti A
1
Seorang pelajar hanya boleh mendaftar satu kursus
Satu kursus hanya boleh didaftar oleh seorang pelajar
Ali Sains
Matematik
Samad Komputer
Raju
NO. KOD / CODE NO. DKB1343/K01/NK 03-03 Muka / Page : 12
Drpd / of : 31
Kardinaliti:((Hubungan1:M)
a) 1 kejadian dlm entiti A berhubung dgn banyak kejadian dlm entiti B dan
b) 1 kejadian dlm entiti B berhubung dengan 1 kejadian dlm entiti A
PELAJAR daftar KURSUS
Ali Sains
Samad
Akaun
Komputer
Kardinaliti:(Hubungan M:1)
a) 1 kejadian dalam entiti A berhubung dgn satu kejadian dlm entiti B dan
b) 1 kejadian dalam entiti B berhubung dengan banyak kejadian dlm entiti A
PELAJAR Daftar 1 KURSUS
Seorang pelajar boleh mendaftar satu kursus
Satu kursus boleh didaftar oleh lebih pelajar
Ali Matematik
Samad Komputer
Raju
NO. KOD / CODE NO. DKB1343/K01/NK 03-03 Muka / Page : 13
Drpd / of : 31
Kardinaliti (Hubungan M:N)
a) 1 kejadian dlm entiti A berhubung dgn banyak kejadian dlm entiti B dan
b) 1 kejadian dlm entiti B berhubung dgn banyak kejadian dlm entiti A
PELAJAR M Daftar N KURSUS
Seorang pelajar boleh mendaftar satu atau lebih kursus
Satu kursus boleh didaftar oleh satu atau lebih pelajar
Ali Sains
Samad Matematik
Raju Komputer
Jenis-jenis perhubungan
a) Perhubungan rekursif atau unari melibatkan satu entiti sahaja.
b) Perhubungan binari adalah perhubungan di antara dua entiti.
c) Perhubungan ternari adalah perhubungan yang berlaku serentak di antara tiga entiti.
Perhubungan Unari
M mengurus
STAF
1
Perhubungan jenis ini adakalanya dikenali sebagai perhubungan rekursif, manakala entiti tersebut
dikenali sebagai entiti rekursif.
Contoh di atas menunjukkan, satu pengurus mengurus ramai subordinat yang mana pengurus dan
subordinat merupakan dari jenis entiti yang sama iaitu STAF
Perhubungan Binari
PELAJAR M Pinjam N BUKU
a) Perhubungan jenis ini merupakan perhubungan di antara dua jenis entiti. Perhubungan yang
paling biasa terjadi.
NO. KOD / CODE NO. DKB1343/K01/NK 03-03 Muka / Page : 14
Drpd / of : 31
b) Contoh di atas menunjukkan perhubungan M:N, satu pelajar boleh mendaftar banyak kursus
dan satu kursus boleh diambil oleh lebih daripada satu orang pelajar.
Perhubungan Binari
Perhubungan jenis ini merupakan perhubungan yang
melibatkan tiga jenis entiti secara serentak.
Contoh di atas menunjukkan:
a) Seorang pelajar boleh mendaftar banyak kursus dan satu kursus boleh diambil oleh lebih
daripada satu orang pelajar.
b) Seorang pelajar boleh mendaftar dengan seorang pensyarah dan seorang pensyarah boleh
menerima satu atau lebih pelajar
c) Seorang pensyarah boleh mendaftar banyak kursus dan satu kursus boleh diajar oleh ramai
pensyarah.
PELAJAR M mendaftar N KURSUS
M
PENSYARAH
4.0 KEBERSANDARAN FUNGSIAN (FUNCTIONAL DEPENDENCY)
Kebersandaran fungsian – penghuraian perhubungan antara atribut-atribut di dalam sesuatu
hubungan. Jika A dan B adalah atribut atau set atribut bagi hubungan R, B adalah besandar secara
fungsi A (dinyatakan sebagai A B) sekiranya setiap nilai A dalam R adalah dikaitkan dengan
hanya satu nilai B dan R.
Kebersandaran fungsian adalah tentang perhubungan di antara atribut-atribut di dalam sesuatu
hubungan. Kebersandaran fungsian ditentukan mengikut semantic atribut-atribut berkenaan
berdasarkan keperluan organisasi. Pada asasnya kebersandaran fungsian melibatkan perhubungan
M:1 dari satu set atribut kepada satu set atribut yang lain didalam sesuatu hubungan. Apabila
kebesandaran fungsian berlaku, kebersandaran tersebut dinyatakan sebagai kekangan diantara
atribut.
Untuk penjelasan yang lebih terperinci pertimbangan sesuatu hubungan di antara atribut A dan B.
Atribut B adalah bersandaran secara fungsi kepada atribut A didalam perhubungan R jika dan hanya
jika setiap nilai A dalam R berkaiatan dengan satu nilai B di dalam R. perwakilan A B digunakan
bagi menyatakan bahawa atribut B adalah bersandar secara fungsi kepada atribut A didalam
perhubungan.
NO. KOD / CODE NO. DKB1343/K01/NK 03-03 Muka / Page : 15
Drpd / of : 31
AB
Rajah 1
B bersandar secara fungsi kepada A
Penentu bagi kebersandaran fungsi merujuk kepada atribut atau sekumpulan atribut yang berada
sebelah kiri anak panah. Apabila kebersandaran fungsi wujud, atribut atau sekumpulan atribut
disebelah kiri anak panah dipanggil penentu. Sebagai contoh A adalah penentu bagi B seperti Rajah
1.
Berdasarkan dua kes contoh yang telah kita gunakan tadi, disini akan ditunjukkan gambaran yang
lebih jelas mengenai kebersandaran fungsian.
Kes Contoh 1:
Merujuk Rajah 2 pertimbangkan rekod pada baris kedua pada atribut NOkontena iaitu A2 dan jenis
bahan adalah cecair. Pada kes ini cecair adalah bersandar secara fungsi kepada NOkontena kerana
satu kontena hanya mempunyai satu jenis bahan sahaja dan beberapa kontena boleh punyai jenis
bahan yang sama. Sebaliknya jika kita menyatakan bahawa NOKontena adalah bersandar secara
fungsi kepada jenis bahan ia sama sekali tidak benar.
NOkontena JenisBahan
Nokontena A2 Cecair
Jenis bahan bersandar secara fungsi kepada NoKontena
Rajah 2 : Jenis bahan bersandar secara fungsi kepada NoKontena
JenisBahan Nokontena
NoKontena tidak bersandar secara fungsi kepada jenis bahan
NoKontena A2
Cecair NoKontena A3
NoKontena C1
Rajah 3 : Nokontena tidak bersandar secara fungsi kepada JenisBahan
NO. KOD / CODE NO. DKB1343/K01/NK 03-03 Muka / Page : 16
Drpd / of : 31
Perhubungan diantara NOkontena dan ‘jenis bahan adalah 1:1 iaitu satu kontena hanya boleh
menempatkan satu jenis bahan. Dalam pada itu juga perhubungan antara no kontena dan jenisbahan
adalah M:1 iaitu terdapat beberaa kontena yang menempatkan jenis bahan yang sama. Contoh ini
menunjukkan bahawa NOkontena adalah penentu bagi kebersandaran fungsian.
Kes Contoh 2:
Berdasarkan Rajah 4, pertimbangkan rekod pertama agi atribut No_kakitangan iaitu SL21 dan
jawatan adalah pengurus. Dalam kes ini Jawatan adalah bersandar secara fungsi kepada No-
kakitangan kerana seorang kakitangan hanya punyai satu jawatan sahaja dan beberapa kakitangan
boleh mempunyai jawatan yang sama. Sebaliknya jika kita menyatakan bahawa No_kakitangan
adalah bersandar secara fungsi kepada jawatan seperti Rajah 5 ia sama sekali tidak benar.
No_Kakitangan Jawatan
Jawatan bersandar secara fungsi kepada No_kakitangan
No_kakitangan SL21 Pengurus
Rajah 4 : Jawatan bersandar secara fungsi kepada no_kakitangan
Jawatan No_Kakitangan
No_kakitangan tidak bersandar secara fungsi kepada Jawatan
No_kakitangan_SL21
Pengurus No_kakitangan_SL22
No_kakitangan_SL23
Rajah 5 : no_kakitangan tidak bersandar secara fungsi kepada Jawatan
Kebersandaran fungsi penuh
Dalam satu hubungan atribut B dikatakan bersandar secara fungsi sepenuhnya ke atas sesuatu
atribut atau set atribut A, jika B bersandar secara fungsi kepada A tetapi tidak pada mana-mana
subset A. Kebersandaran fungsian A B adalah kebersandaran fungsi separa jika terdapat
beberapa atribut yang boleh disingkirkan daripada A dan kebersandaran masih berlaku.
Pertimbangkan contoh kebersandaran fungsi berikut.
No_kakitangan, nama_kakitangan No_cawangan
NO. KOD / CODE NO. DKB1343/K01/NK 03-03 Muka / Page : 17
Drpd / of : 31
Ia adalah benar bagi setiap nilai (No_kakitangan,Nama_kakitangan) adalah berhubungan dengan
satu nilai No_cawangan. Walaubagaimanapun ia bukan kebersandaran fungsi penuh kerana
no_cawangan yang mempunyai fungsi yang bergantungan pada subset
(no_kakitangan,nama_kakitangan) iaitu no_kakitangan.
Kebersandaran transitif
Satu situasi yang berlaku di mana apabila wujud sekurang-kurangnya 3 atribut A, B dan C dalam satu
hubungan R hinggakan jika A B dan B C maka C dikatakan bersandar ke atas A secara transitif
melalui B dengan syarat A tidak bersandar secara fungsi ke atas B atau C.
Konsep kebersandaran transitif terbit daripada konsep transitiviti di dalam matematik dimana
Jika A B dan BC maka AC
Kebersandaran transitif A C berlaku melalui pengantara B. dalam hal ini, jika A menentukan B dan
B pula menentukan Cmaka C adalah bersandar secara transitif atas A. B adalah penentu bagi C.
Syarat ini kekal selagi B tidak A (A tidak bersandar secara fungsi ke atas B) atau C tidak A
Contoh : No_IC_pel Angka_giliran
Angka_giliran kursus
No_ic_pelajar kursus
5.0 PENORMALAN PANGKALAN DATA (Database Normalization)
Penormalan ialah satu proses pengumpulan atribut-atribut ke dalam hubungan-hubungan tertentu
bagi menghasilkan satu set hubungan yang mempunyai ciri-ciri yang baik sesuai dengan kehendak
suatu organisasi.
“Normalization is a process for assigning attributes to entities. It reduces data redundancies
and helps
eliminate the data anomalies”. (Rob and Coronel,2004)
Tujuan Penormalan:
• Menghasilkan skema hubungan dengan pengumpulan atribut yang paling optimum.
• Mengurangkan data lewah.
• Mengatasi masalah anomali pengemaskinian
NO. KOD / CODE NO. DKB1343/K01/NK 03-03 Muka / Page : 18
Drpd / of : 31
7 langkah utama dalam pemetaan ke model logikal:
Penyingkiran hubungan M:N
Penyingkiran hubungan kompleks
Penyingkiran hubungan rekursif
Penyingkiran hubungan yang mempunyai atribut
Penyingkiran atribut multi nilai
Penyemakan semula hubungan 1:1
Penyingkiran hubungan berulang
KONSEP ANOMALI PENGEMASKINIAN
a) Anomali Sisipan (Insert anomaly)
Anomali yang berlaku apabila hendak menambah nilai ke dalam hubungan.
Nilai akan ditambah secara berulang2 untuk data yang sama. Atau
Sesuatu nilai tidak boleh ditambah tanpa set nilai yang lengkap
b) Anomali Penghapusan (Delete anomaly)
Anomali yang berlaku apabila hendak menghapusan satu-satu nilai data dalam set sesuatu set
nilai.
Penghapusan akan menyebabkan data yang tidak ingin dihapuskan akan turut terhapus.
Maklumat yang sama dalam jadual yang berbeza menyebabkan proses penghapusan dilakukan
berulang kali.
c) Anomali Pengubahsuaian (Update anomaly)
Anomali yang berlaku apabila hendak mengubah satu-satu nilai data dalam set sesuatu set nilai.
Mengubahsuaian terhadap data yang sama secara berulang kali.
Keseragaman data akan terjejas
NO. KOD / CODE NO. DKB1343/K01/NK 03-03 Muka / Page : 19
Drpd / of : 31
PROSES PENORMALAN
• Penormalan merupakan satu proses untuk memastikan struktur data pangkalan data
hubungan adalah efisien. Penormalan bertujuan untuk meminimumkan anomali yang terdapat
dalam satu-satu hubungan
• Hubungan yang mempunyai kelewahan data dan anomali yang tinggi akan dibahagi-
bahagikan kepada beberapa jadual yang mempunyai anomali yang minimum.
NO. KOD / CODE NO. DKB1343/K01/NK 03-03 Muka / Page : 20
Drpd / of : 31
• Semakin tinggi bentuk penormalan satu-satu hubungan, semakin minimum anomali hubungan
tersebut.
• Proses penormalan dilakukan selepas jadual-jadual dihasilkan daripada model E-R kepada
model hubungan.
• Tujuan utama penormalan data adalah untuk mengelakkan data berulang dan menghapuskan
anomali dalam pangkalan data.
• Anomali berlaku apabila terdapat pembaziran storan, kesalahan data dan ketidakselarasan
data.
BENTUK BENTUK BENTUK BENTUK
TIDAK PENORMALAN PENORMALAN PENORMALAN
NORMAL PERTAMA KEDUA KETIGA
(0NF) / (1NF) (2NF) (3NF)
(UNF)
Buang Buang Buang
kumpulan kebergantungan kebergantungan
berulang
fungsi separa fungsi transitif
A) Bentuk tidak normal (UNF)
• Satu hubungan atau jadual yang mengandungi satu atau lebih kumpulan berulang.
B) Bentuk normal pertama (1NF)
• Satu hubungan adalah dalam bentuk normal pertama jika tidak wujud atribut yang mempunyai
kumpulan data yang berulang.
• Tambah kunci utama dalam kumpulan berulang
• Satu hubungan dimana silangan pada setiap baris dan lajur mengandungi satu dan mempunyai hanya
satu nilai.