You are on page 1of 24

E4161

SISTEM KOMPUTER DAN APLIKASI


UNIT 9 dan UNIT 10 – REKABENTUK MODEL PANGKALAN
DATA HUBUNGAN
MODEL PANGKALAN DATA HUBUNGAN
 Jenis model:
 Hierarki
 Rangkaian
 Hubungan – diperkenalkan oleh E. F. CODD.
 Contoh DBMS yang menggunakan model Hubungan
adalah Microsoft Access, FoxPro, Paradox dan lain-lain.
 Definisi model hubungan – model yang menyimpan data
dalam bentuk jadual hubungan. Setiap hubungan dibina
oleh beberapa rekod / tupel.
MODEL PANGKALAN DATA HUBUNGAN
MODEL PANGKALAN DATA HUBUNGAN
 Ciri-ciri
 Rekod yang disimpan tidak perlu di dalam susunan yang tetap.
 Nilai di dalam rekod tersusun.
 Nilai atribut yang komposit tidak dibenarkan.
 Nilai null digunakan untuk mengisi nilai atribut yang tidak diketahui.

 Atribut kekunci – Nilai atribut untuk setiap rekod / tupel adalah


berbeza. Atribut kekunci dipilih untuk mengenalpasti satu rekod
/tupel tertentu di dalam hubungan.
 Hubungan = jadual yang dilengkapi oleh baris dan jalur.
MODEL PANGKALAN DATA HUBUNGAN

 Hubungan di antara dua jadual dihasilkan oleh dua atribut yang mempunyai
domain yang sama. Hubungan ini juga dipanggil hubungan logik.
 Setiap hubungan ini adalah berbeza di antara satu dengan yang lain.
 Rekod / tupel disimpan tanpa mengikut susunan tetapi strukturnya
ditetapkan oleh pengguna.
 Model ini membenarkan pengguna menetapkan indeks (rekod), atribut
secara dinamik.
MODEL PANGKALAN DATA HUBUNGAN
 Menggunakan konsep algebra hubungan untuk mengolah data.

 Algebra hubungan – sekumpulan operasi untuk memanipulasi keseluruhan


hubungan.
 Operasi – pilih rekod / tupel dan menggabungkan tupel yang berhubungan
dari beberapa hubungan untuk memenuhi permintaan (mencapai data) atau
membuat pertanyaan. Contoh : SELECT, PROJECT, JOIN
 Operasi set – menggunakan teori set matematik. UNION, INTERSECTION,
DIFFERENCE, CARTESION PRODUCT
MODEL PANGKALAN DATA HUBUNGAN
 SELECT – mengeluarkan rekod yang memenuhi syarat yang
ditetapkan dari satu hubungan (jadual) tertentu.
 Sinteks :  < syarat pemilihan > ( < nama hubungan>)
 Soalan : Dapatkan rekod PEMBEKAL dari KUANTAN yang
mempunyai nilai STATUS >15
  STATUS > 15 AND PBANDAR = KUANTAN (PEMBEKAL)

 Dapatkan rekod dari BAHAGIAN yang mempunyai BERAT < 15 dari


bandar KUANTAN atau BERAT <19 dari bandar TAPAH
  ( BERAT < 15 AND BBANDAR = KUANTAN ) OR
( BERAT < 19 AND BBANDAR = TAPAH) (BAHAGIAN)
MODEL PANGKALA DATA HUBUNGAN
 PROJECT – Operasi untuk mengeluarkan atribut tertentu dari
hubungan tertentu.
 Sinteks : < senarai atribut > (<syarat>) (< nama hubungan >)
 Soalan : Dapatkan nilai BERAT dan BANDAR bagi BAHAGIAN
yang dibekalkan di mana nama BAHAGIAN ialah skru
  BERAT, BBANDAR (  BNAMA = SKRU )(BAHAGIAN)

 Hubungan merupakan subset bagi hubungan asas dimana  akan


menakrif satu hubungan baru yang terdiri dari jalur BERAT dan
PBANDAR yang dipilih dari hubungan BAHAGIAN.
MODEL PANGKALAN DATA HUBUNGAN
 JOIN – Operasi yang menggabungkan rekod dari dua
hubungan untuk menjadi satu rekod / tupel jika syarat
tertentu dipenuhi.
 Sinteks - R S
< syarat > = < Syarat >
 Contoh : P B
 PBANDAR = BBANDAR
 Dapatkan rekod projek terminal dari Alor Setar.
 Dapatkan nombor dan status pembekal dari Tapah.
 Dapatkan rekod pembekal berstatus 30 dari Alor Setar
dan Kuantan.
 Dapatkan nombor bagi projek console.
 Dapatkan rekod bahagian bernombor B1075.
 Dapatkan nama dan nombor bahagian yang mempunyai
berat 17.
MODEL PANGKALAN DATA HUBUNGAN
 Union compatible (gabung padan) – dua hubungan yang
mempunyai bilangan atribut yang sama dan setiap atribut
mempunyai domain yang sama.

 Operasi Set (UNION,INTERSECTION dan


DIFFERENCE) hanya boleh dijalankan pada dua hubungan
yang gabung padan.
MODEL PANGKALAN DATA HUBUNGAN
 UNION (Kesatuan)
 Simbol bagi operasi UNION ialah ‘  ’. Keputusan operasi A 
B ialah satu hubungan yang mengandungi semua rekod dalam A
atau B dalam kedua-dua hubungan A dan B. Rekod-rekod yang
berulang akan dihapuskan.
MODEL PANGKALAN DATA HUBUNGAN
 INTERSECTION (Tindanan)
 Simbol bagi operasi bagi INTERSECT ialah ‘  ‘. Keputusan
operasi bagi A  B ialah satu hubungan yang mengandungi
semua rekod yang terdapat dalam hubungan A dan B.

 DIFFERENCE (Perbezaan)
 Simbol bagi operasi DIFFERENCE ialah ‘ – ‘. Keputusan bagi
operasi A-B ialah satu hubungan yang mengandungi semua
rekod dalam A tetapi tiada dalam B.
MODEL PANGKALAN DATA HUBUNGAN
 CARTESIAN PRODUCT (Hasil Darab Cartesian)
 Simbol bagi operasi CARTESIAN PRODUCT ialah ‘  ‘. Operasi
CARTESIAN PRODUCT ialah operasi yang menghasilkan satu
hubungan yang mengandungi semua atribut dalam hubungan R1
dan R2 dan mempunyai semua rekod yang mungkin dari R1 dan
R2.
MODEL PANGKALAN DATA HUBUNGAN
BAHASA PERTANYAAN SQL
 Definisi SQL (Structured Query Language)
 Bahasa pangkalan data yang komprehensif iaitu mempunyai
pertanyaan untuk definisi data, pertanyaan dan kemaskini.
 Kelebihan SQL
 Bahasa tidak bertatacara. Pengguna hanya perlu nyatakan
maklumat yang dikehendaki sahaja.
 Tiada format tertentu.
 Boleh digunakan oleh semua pihak.
 Mudah dipelajari kerana hampir sama dengan bahasa English.
 Tidak case-sensitive.
BAHASA MANIPULASI DATA (DML) SQL
 DML digunakan untuk menakrif struktur data, membina,
mengubahsuai dan menghapuskan objek.
 SELECT – menyenaraikan lajur yang hendak diperolehi
dan dihasilkan.
 Contoh:
 Dapatkan rekod bagi Pembekal.
SELECT *
FROM PEMBEKAL;
 Dapatkan nama Pembekal.
SELECT BNAMA
FROM PEMBEKAL;
BAHASA MANIPULASI DATA (DML) SQL

 DISTINCT – menghapuskan tupel yang berulang apabila


projection dilakukan ke atas lajur.
 Contoh:
 Dapatkan senarai nama semua bandar yang dibekalkan oleh
Pembekal.
SELECT DISTINCT PBANDAR
FROM PEMBEKAL;
BAHASA MANIPULASI DATA (DML) SQL
 WHERE – menyatakan syarat yang tertentu supaya hanya
tupel yang memenuhi syarat sahaja yang dihasilkan.
 Operator:
 Perbandingan - =, <, >, <=, >=
 Julat – BETWEEN, NOT BETWEEN
 Ahli kepada set – IN, NOT IN
 Padanan mengikut pattern – LIKE, NOT LIKE,
 Contoh :
 Dapatkan nombor dan status pembekal dari KUANTAN.
SELECT PNO, STATUS
WHERE PBANDAR=KUANTAN;
BAHASA MANIPULASI DATA (DML) SQL
 Senaraikan nombor dan nama bahagian yang mempunyai berat antara
12 hingga 17
SELECT BNO, BNAMA
FROM BAHAGIAN
WHERE BERAT BETWEEN 12 AND 17;
 Dapatkan nombor dan nama pembekal dari bandar KUANTAN dan
ALOR SETAR
SELECT PNO, PNAMA
FROM PEMBEKAL
WHERE PBANDAR IN (‘KUANTAN’, ‘ALOR SETAR’);
 Senaraikan nombor dan nama pembekal yang bermula dengan huruf A.
SELECT PNO, PNAMA
FROM PEMBEKAL
WHERE PNAMA LIKE ‘A%’;
BAHASA MANIPULASI DATA (DML) SQL
 ORDER BY – mengisih tupel yang diperolehi berdasarkan lajur
yang dinyatakan secara ASC atau DESC.
 Contoh:
 Dapatkan senarai nombor dan nama pembekal dari ALOR SETAR
dalam susunan menaik
SELECT PNO, PNAMA
FROM PEMBEKAL
WHERE PBANDAR = ALOR SETAR
ORDER BYPNO;
 Dapatkan senarai nombor dan nama pembekal dari ALOR SETAR
dalam susunan menurun
SELECT PNO, PNAMA
FROM PEMBEKAL
WHERE PBANDAR = ALOR SETAR
ORDER BYPNO DESC;
BAHASA MANIPULASI DATA (DML) SQL
 INSERT – menambah data ke dalam jadual
 Contoh:
 Masukkan nama pembekal Amin dari bandar Kangar dengan status 25
dan bernombor P3523 ke dalam jadual PEMBEKAL.
INSERT INTO PEMBEKAL
VALUES (‘P3523’, ‘AMIN’, ‘25’, ‘KANGAR’);
 UPDATE – mengubah sesuatu jadual
 Contoh:
 Tambahkan berat bagi semua bahagian dari bandar Alor Setar
sebanyak 5.
UPDATE BAHAGIAN
SET BERAT=BERAT+5
WHERE BBANDAR=ALOR SETAR;
BAHASA MANIPULASI DATA (DML) SQL
 DELETE – menghapuskan baris rekod
 Contoh:
 Hapuskan semua rekod yang terdapat dalam jadual PROJEK
DELETE FROM PROJEK;
BAHASA DEFINISI DATA (DDL) SQL
 DDL SQL – menakrif struktur data iaitu membina, mengubahsuai dan menghapuskan objek.
 Membina jadual
CREATE TABLE PEMBEKAL
(PNO CHAR(2) NOT NULL,
PNAMA VARCHAR(15) NOT NULL,
STATUS INTEGER NOT NULL,
PBANDAR VARCHAR(15) NOT NULL);
 Mengubah struktur jadual
ALTER TABLE PEMBEKAL
ADD (PTEL NUM(10) NOT NULL);

ALTER TABLE PEMBEKAL


MODIFY (PTEL NUM(12) NOT NULL);

ALTER TABLE PEMBEKAL


DROP PRIMARY KEY;

ALTER TABLE PEMBEKAL


DROP CONSTRAINT NOT NULL;

 Menghapuskan jadual
DROP TABLE PEMBEKAL;

You might also like