You are on page 1of 32

E4161 :

SISTEM KOMPUTER & APLIKASI

UNIT 13 :

REKABENTUK MODEL
PANGKALAN DATA RANGKAIAN

PENGENALAN
Menyelesaikan masalah model pangkalan
data hierarki mewakilkan hubungan
banyak ke banyak (M:M).
Tidak mengikut piawaian industri
Diperkenalkan sebagai penambah baikan
kepada model pangkalan data hierarki

CONTOH MODEL
PANGKALAN DATA RANGKAIAN
SALEREP

CUSTOMER

1:M

1:M 1:M

Commition Set

PRODUCT

Sales Set

INVOICE

1:M

1:M

Inventory Set

Line Set

INV_LINE

Payment Set

PAYMENT

REKABENTUK PD RANGKAIAN
Rekod paras bawah dikenali sebagai
rekod ahli dan boleh dihubungkan kepada
1 atau lebih bapa yang dikenali sebagai
pemilik.
Hubungan ini dikenali sebagai set.
Satu set menunjukkan perhubungan 1 ke
banyak (1:M) di antara rekod-rekod.

REKABENTUK MODEL
PANGKALAN DATA RANGKAIAN
JENIS REKOD
SALEREP

CUSTOMER

1:M

1:M 1:M

Commition Set

PRODUCT

Sales Set

INVOICE

1:M

Payment Set

PAYMENT

1:M

Inventory Set

Line Set

INV_LINE
SET

PEMILIK

REKOD AHLI

DEFINISI MODEL PD RANGKAIAN

Terdiri daripada
beberapa jenis rekod
dan dihubungkan
melalui petunjuk

CIRI-CIRI MODEL PD RANGKAIAN


Lebih fleksibel kerana maklumat boleh
diperolehi melalui banyak cara.
Boleh mewakili jenis hubungan banyak ke
banyak (M:M)
Setiap pemilik tidak terhad kepada hubungan
satu arah sahaja dan setiap rekod boleh
mempunyai lebih dari satu hubungan.
Setiap hubungan di antara rekod ahli dan rekod
pemilik dihubungkan melalui petunjuk.

STRUKTUR DATA PD RANGKAIAN


Terbahagi kepada 3 bahagian :
REKOD
Rekod mengandungi sekumpulan data yang berhubung
kait.
JENIS REKOD
Penyelaras rekod yang menerangkan struktur
sekumpulan rekod bagi menyimpan maklumat yang
sama jenis
ITEM DATA
Medan atau atribut. Ia mengandungi nama dan format.

STRUKTUR DATA PD RANGKAIAN


PELAJAR
No_Pelajar

Nama

Alamat

T_Lahir

Item Data
Nama Item Data
No_Pelajar
Nama
Alamat
T_Lahir

Format
CHAR 8
VARCHAR 25
VARCHAR 40
CHAR 8

JENIS SET & KEJADIAN SET


JENIS SET
Penerangan hubungan antara 2 jenis rekod di dalam
nisbah
1:M
Setiap jenis set mempunyai 3 elemen iaitu nama
(utk jenis
JABATAN
Jenis
JAB_UTAMA
set),
jenis rekod pemilik
danset
jenis rekod :ahli.
Set JAB_UTAMA
PELAJAR

Jenis Rekod Pemilik: JABATAN


Jenis Rekod Ahli
: PELAJAR
Jenis hubungan
:1:M

JENIS SET & KEJADIAN SET


KEJADIAN SET
Terdapat beberapa jenis kejadian set di dalam jenis
set
tertentu.
-

Setiap kejadian set dibina oleh 1 rekod pemilik dan


beberapa rekod ahli dari jenis rekod ahli.
PERAKAUNAN

AIMAN

MUTHU

PEMASARAN

AZLAN

FARHANA FIRDAUS

Rekod ahli bagi Jabatan Perakauan


: Aiman, Muthu, Azlan
Rekod ahli bagi Jabatan Pemasaran
: Farhana, Firdauz, Arif
Rajah ini menunjukkan 2 kejadian dan contoh hubungan 1:M
di antara rekod JABATAN dan PELAJAR

ARIF

JENIS SET & KEJADIAN SET


Syarat set ahli
Terbahagi kepada 2 kategori syarat iaitu :
i.

Pilihan Insertion

ii.

Pilihan Retention

JENIS SET & KEJADIAN SET

Pilihan Insertion

Berlaku apabila 1 rekod ahli baru dimasukkan ke dalam


PD.
-

Rekod tersebut dimasukkan dengan perintah STORE.

Terdapat 2 pilihan bagi Insertion :

i.

AUTOMATIC

Rekod ahli baru secara automatik dihubungkan kepada


kejadian set apabila rekod tersebut dimasukkan ke dalam
pangkalan data
ii.

MANUAL

Rekod ahli baru tidak boleh dimasukkan ke dalam


kejadian set sehingga arahan CONNECT dilaksanakan.

JENIS SET & KEJADIAN SET

Pilihan Retention

Berlaku apabila satu rekod dari jenis rekod ahli wujud dengan
sendirinya di
dalam PD atau mesti sentiasa mempunyai hubungan
dengan rekod pemilik,
dengan itu menjadi ahli di
dalam
kejadian set.
-

Terdapat 3 pilihan set bagi Retention :

i.

OPTIONAL

* Satu rekod ahli tampil dengan sendirinya tanpa menjadi ahli


dalam mana-mana kejadian set tertentu.
* Ia boleh dihubungkan atau diputuskan hubungan dengan kejadian
melalui arahan CONNECT atau DISCONNECT.
ii.

set

MANDATORY

* Satu rekod ahli tidak boleh wujud dengan sendiri.


* Ia mesti sentiasa menjadi ahli dalam kejadian set bagi jenis
tertentu
* Rekod ahli tersebut boleh dihubungkan dengan kejadian set lain
melalui arahan RECONNECT.

set

JENIS SET & KEJADIAN SET

Pilihan Retention
iii. FIXED

* Satu rekod ahli tidak boleh wujud dengan sendiri.


* Ia mesti sentiasa menjadi ahli dalam kejadian set
bagi jenis set tertentu tetapi tidak boleh
dihubungkan kepada kejadian set lain.

JENIS SET & KEJADIAN SET

Set Susunan

Rekod-rekod ahli di dalam satu kejadian boleh disusun


mengikut beberapa pilihan.
-

Antaranya : SORT, SYSTEM DEFAULT, FIRST, LAST, NEXT dan


PRIOR.
i.

menurun
ii.

SORT
Rekod ahli boleh disusun secara susunan menaik atau
mengikut medan yang dikehendaki.
SYSTEM DEFAULT

Rekod ahli yang baru dimasukkan ke dalam PD di


mana-mana
kedudukan yang ditentukan oleh sistem.
iii.
di

FIRST
Satu rekod ahli yang baru boleh menjadi rekod pertama
dalam kejadian set tertentu apabila dimasukkan
ke dalam PD.

JENIS SET & KEJADIAN SET

Set Susunan
iv.

LAST

Satu rekod ahli yang baru menjadi rekod yang terakhir dalam
kejadian set tertentu apabila dimasukkan ke dalam PD.
v.

NEXT

* Rekod ahli baru akan dimasukkan selepas rekod ahli yang


terakhir digunakan dalam kejadian set tertentu.
* Jika hendak menggunakan arahan NEXT, maka sekurangkurangnya satu rekod ahli mesti wujud dalam kejadian set.
vi.

PRIOR

* Rekod ahli baru akan dimasukkan ke dalam PD sebelum


rekod terakhir yang telah dimasukkan.
* Jika rekod itu adalah rekod pemilik, maka rekod baru akan
ditempatkan pada tempat terakhir di dalam set itu.

DATABASE TASK GROUP (DBTG)


DBTG menyediakan 3 jenis bahasa untuk model
rangkaian :
Skima bahasa definisi data
Subskima bahasa definisi data
Bahasa manipulasi data

DATABASE TASK GROUP (DBTG)


SKIMA BAHASA DEFINISI DATA (Skima DDL)
Merupakan bahasa yang menerangkan struktur PD
Rangkaian
iaitu skima dalaman.
-

Terbahagi kepada DUA bahagian utama iaitu :


* Menakrif rekod
* Menakrif set

DATABASE TASK GROUP (DBTG)


MENAKRIF REKOD
-

Rujuk Rajah 13.4 & 13.5

Pernyataan pertama rekod PUB

PUBLISHER
ID

menunjukkan yang nilai PNAME


mestilah UNIK.
-

Name
Address
Salesrep
Phone

TITLE

0.N

RECORD NAME IS PUB


Pernyataan CHECK digunakan
DUPLICATES ARE NOT ALLOWED FOR PNAME
PNAME
TYPE IS CHARACTER 10
CHECK IS NOT NULL
PNAME, supaya nilainya ADDRESS TYPE IS CHARACTER 25
SALPSN TYPE IS CHARACTER 20
PPHONE TYPE IS CHARACTER 10
boleh menjadi NULL.

untuk memberi penekanan


pada
tidak

DATABASE TASK GROUP (DBTG)


MENAKRIF REKOD
-

TITLE

Terdapat 2 pernyataan yang berbeza untuk


isytiharkan TNAME dan CALL# unik.

ID

Name
Call#

Memandangkan pernyataan TNAME dan CALL#


PUBLISHER
diasingkan, maka setiap nilai dalam TNAME dan
COPY
CALL# mesti unik.

AUTHOR

RECORD NAME IS TTLE


DUPLICATES ARE NOT ALLOWED FOR CALL#
DUPLICATES ARE NOT ALLOWED FOR TNAME
CALL#
TNAME
PNAME

TYPE IS
CHECK IS
TYPE IS
CHECK IS
TYPE IS
CHECK IS

CHARACTER
NOT NULL
CHARACTER
NOT NULL
CHARACTER
NOT NULL

8
50
10

1.1
0.N
0.N

DATABASE TASK GROUP (DBTG)

MENAKRIF SET

PUBLISHER

Rujuk Rajah 13.4 & 13.5

Hubungan di antara PUB dan TTLE

Rekod pemilik = PUBLISH , Rekod ahli = TTLE

Rekod dalam set disusun dengan menggunakan TNAME.

2 pernyataan yang menunjukkan arahan untuk menyusun rekod :

ID

Name
Address
Salesrep
Phone

TITLE

0.N

* ORDER IS SORTED BY DEFINE KEYS


* KEY IS ASCENDING TNAME
Syarat set ahli iaitu AUTOMATIC & FIXED kerana setiap buku mesti mempunyai
penerbit
dan penerbit bagi setiap buku tidak boleh diubah
-

Nilai dalam PNAME digunakan untuk mengenalpasti rekod PUB.


SET NAME IS PUBLISH
OWNER IS PUB
SORTED BY DEFINED KEYS

ORDER IS
MEMBER IS TTLE
INSERTION IS
AUTOMATIC, RETENTION IS FIXED KEY IS
ASCENDING TNAME
SET
SELECTION IS BY VALUE OF PNAME

DATABASE TASK GROUP (DBTG)


SUBSKIMA BAHASA DEFINISI DATA (Subskima DDL)
Merupakan bahasa yang mendefinisikan pandangan luaran bagi
satu PD.
-

Subskima DDL merupakan subset kepada


skima.
TITLE DIVISION

Format subskima DDL


* Terbahagi pada 3 bahagian :

(subschema name)
MAPPING DIVISION
ALIAS SECTION

- TITLE DIVISION

(alternate names for records, sets or


data-items)

nama subskima
- MAPPING DIVISION
nama samaran
- STRUCTURE DIVISION

STRUCTURE DIVISION
RECORD SECTION
(records and data items that are
appear in the subschema

rekod, item data & set bagi skima


yang terdapat pada subskima tersebut

SET SECTION
(sets to appear in the subschema)

DATABASE TASK GROUP (DBTG)


BAHASA MANIPULASI DATA
-

Mengandungi satu set operator untuk memanipulasikan PD rangkaian.

Kebanyakan arahan DML menggunakan 2 langkah sahaja.

Arahan FIND digunakan untuk mengenalpasti rekod yang dikehendaki dan


arahan GET digunakan untuk operasi yang dikehendaki.
Cth : Arahan GET digunakan untuk membaca rekod.
Ringkasan Arahan CODASYL/DBTG
ARAHAN

OPERASI

FIND

Menunjukkan kedudukan rekod

GET

Mendapatkan rekod

OBTAIN

Menunjukkan dan mendapatkan rekod

MODIFY

Mengemaskini rekod

ERASE

Menghapuskan rekod

STORE

Memasukkan rekod

PERHUBUNGAN BANYAK KE BANYAK


DALAM MODEL RANGKAIAN

Jenis hubungan banyak ke banyak untuk objek majmuk tidak


boleh dipersembahkan secara langsung di dalam model
DBTG.

TITLE

Ia mestilah ditukarkan ke rangkaian mudah dengan


silangan data seperti yang dibuat oleh model hubungan.

ID

AUTH Relation

TTLE Relation
Call#

Tname

Pname

Aname Affiliation

TA-INT
Relation
Call#

Call#

Pname

T-A set

Aname Affiliation
A-T set

Call#

PUBLISHER

1.1

COPY

0.N

AUTHOR

0.N

AUTHOR

AUTH Record

Tname

Call#

Aname

* REKABENTUK HUBUNGAN
TTLE Record

Name

Aname

TA-INT Record
* REKABENTUK CODASYL/DBTG

ID

Name
Affiliation

TITLE

1.N

RAJAH 13.4
( CONTOH OBJEK DALAM PD PERPUSTAKAAN )
TITLE

Name

ID

Call#

PUBLISHER

PUBLISHER

AUTHOR

ID

ID

1.1

COPY

0.N

AUTHOR

0.N

Name
Address
Salesrep
Phone

TITLE

COPY

TITLE

Copy-ID
Copy#

TITLE

1.1

Acqdate

STUDENT
Due - date0.N

VIDEO

Name
ID

0.1

1.1

1.N

0.N

STUDENT

ID

Name
Affiliation

ID

Student#

COPY

0.N

VIDEO

0.1

Name
Acqdate
Acqcost

STUDENT

1.N

RAJAH 13.5
Perpustakaan )

( Skima DDL bagi PD

SCHEMA NAME IS LIBRARY


RECORD NAME IS PUB
DUPLICATES ARE NOT ALLOWED FOR PNAME
PNAME
ADDRESS
SALPSN
PPHONE

TYPE IS
CHECK IS
TYPE IS
TYPE IS
TYPE IS

CHARACTER
NOT NULL
CHARACTER
CHARACTER
CHARACTER

10
25
20
10

RECORD NAME IS TTLE


DUPLICATES ARE NOT ALLOWED FOR CALL#
DUPLICATES ARE NOT ALLOWED FOR TNAME
CALL#
TNAME
PNAME

TYPE IS
CHECK IS
TYPE IS
CHECK IS
TYPE IS
CHECK IS

CHARACTER 8
NOT NULL
CHARACTER 50
NOT NULL
CHARACTER 10
NOT NULL

RAJAH 13.5
Perpustakaan )

( Skima DDL bagi PD

RECORD NAME IS CPY


DUPLICATES ARE NOT ALLOWED FOR CALL#, COPY#
CALL#
COPY#
ACQDATE

TYPE IS
CHECK IS
TYPE IS
CHECK IS
TYPE IS

CHARACTER
NOT NULL
FIXED
NOT NULL
DATE

8
2

RECORD NAME IS AUTH


DUPLICATES ARE NOT ALLOWED FOR ANAME
ANAME
AFFILIATION

TYPE IS
CHECK IS
TYPE IS

CHARACTER
NOT NULL
CHARACTER

30
30

RECORD NAME IS TA-INT


DUPLICATES ARE NOT ALLOWED FOR CALL#, ANAME
CALL#
ANAME

TYPE IS
CHECK IS
TYPE IS
CHECK IS

CHARACTER
NOT NULL
CHARACTER
NOT NULL

8
30

RAJAH 13.5
Perpustakaan )

( Skima DDL bagi PD

RECORD NAME IS CPY


DUPLICATES ARE NOT ALLOWED FOR STUDENT#
STUDENT#
SNAME
SPHONE

TYPE IS
CHECK IS
TYPE IS
TYPE IS

FIXED
NOT NULL
CHARACTER
FIXED

10
30

RECORD NAME IS VID


DUPLICATES ARE NOT ALLOWED FOR VID#, VCOPY#
DUPLICATES ARE NOT ALLOWED FOR STUDENT#
VID#
VCOPY#
VNAME
STUDENT#

TYPE IS
CHECK IS
TYPE IS
CHECK IS
TYPE IS
TYPE IS

FIXED
NOT NULL
FIXED
NOT NULL
CHARACTER
FIXED

RECORD NAME IS DUE-DATE


DATE-DUE

TYPE IS
CHECK IS

DATE
NOT NULL

5
2
40
10

RAJAH 13.5
Perpustakaan )

( Skima DDL bagi PD

SET NAME IS PUBLISH


OWNER IS PUB
ORDER IS SORTED BY DEFINED KEYS
MEMBER IS TTLE
INSERTION IS AUTOMATIC, RETENTION IS FIXED
KEY IS ASCENDING TNAME
SET SELECTION IS BY VALUE OF PNAME
SET NAME IS T-A
OWNER IS TTLE
ORDER IS SYSTEM DEFAULT
MEMBER IS TA-INT
INSERTION IS AUTOMATIC, RETENTION IS FIXED
CHECK IS CALL# IN TTLE= CALL# IN TA-INT
SET SELECTION IS BY VALUE OF CALL#
SET NAME IS A-T
OWNER IS AUTH
ORDER IS SYSTEM DEFAULT
MEMBER IS TA-INT
INSERTION IS AUTOMATIC, RETENTION IS FIXED
CHECK IS ANAME IN AUTH = ANAME IN TA-INT
SET SELECTION IS BY VALUE OF ANAME

RAJAH 13.5
Perpustakaan )

( Skima DDL bagi PD

SET NAME IS COLLECTION


OWNER IS TTLE
ORDER IS SORTED BY DEFINED KEYS
MEMBER IS CPY
INSERTION IS AUTOMATIC, RETENTION IS FIXED
KEY IS ASCENDING COPY#
SET SELECTION IS STRUCTUAL CALL# = CALL#
SET NAME IS CHECKOUT
OWNER IS STU
ORDER IS LAST
MEMBER IS CPY
INSERTION IS MANUAL, RETENTION IS OPTIONAL
SET SELECTION IS BY VALUE OF STUDENT#
SET NAME IS VCHKOUT
OWNER IS STU
ORDER IS LAST
MEMBER IS VID
INSERTION IS MANUAL, RETENTION IS OPTIONAL
SET SELECTION IS BY VALUE OF STUDENT#

RAJAH 13.5
Perpustakaan )

( Skima DDL bagi PD

SET NAME IS HISTORY


OWNER IS CPY
MEMBER IS DUE-DATE
ORDER IS LAST
INSERTION IS AUTOMATIC, RETENTION IS FIXED
SET SELECTION IS BY VALUE OF CALL#, COPY#
SET NAME IS TITLE-SEQ
OWNER IS SYSTEM
ORDER IS BY DEFINED KEYS
MEMBER IS TTLE
INSERTION IS AUTOMATIC, RETENTION IS FIXED
KEY IS ASCENDING TNAME

You might also like