E4161 SISTEM KOMPUTER DAN APLIKASI

Download Report

Transcript E4161 SISTEM KOMPUTER DAN APLIKASI

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
ADD
PEMBEKAL
(PTEL NUM(10) NOT NULL);
ALTER TABLE
MODIFY
PEMBEKAL
(PTEL NUM(12) NOT NULL);
ALTER TABLE
PEMBEKAL
DROP PRIMARY KEY;
ALTER TABLE
PEMBEKAL
DROP CONSTRAINT NOT NULL;

Menghapuskan jadual
DROP TABLE
PEMBEKAL;