320 likes | 983 Views
UNIT 13 :. E4161 : SISTEM KOMPUTER & APLIKASI. REKABENTUK MODEL PANGKALAN DATA RANGKAIAN. PENGENALAN. Menyelesaikan masalah model pangkalan data hierarki mewakilkan hubungan banyak ke banyak (M:M). Tidak mengikut piawaian industri
E N D
UNIT 13 : E4161 : SISTEM KOMPUTER & APLIKASI 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 Sales Set Payment Set PRODUCT INVOICE PAYMENT 1:M 1:M Inventory Set Line Set INV_LINE
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 PEMILIK SALEREP CUSTOMER 1:M 1:M 1:M Commition Set Sales Set Payment Set PRODUCT INVOICE PAYMENT 1:M 1:M Inventory Set Line Set REKOD AHLI INV_LINE SET
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 DataFormat No_Pelajar CHAR 8 Nama VARCHAR 25 Alamat VARCHAR 40 T_Lahir 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 set), jenis rekod pemilik dan jenis rekod ahli. JABATAN • Jenis set : JAB_UTAMA • Jenis Rekod Pemilik : JABATAN • Jenis Rekod Ahli : PELAJAR • Jenis hubungan : 1 : M Set JAB_UTAMA PELAJAR
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 PEMASARAN AIMAN MUTHU AZLAN FARHANA FIRDAUS ARIF • 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
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 set melalui arahan CONNECT atau DISCONNECT. ii. MANDATORY * Satu rekod ahli tidak boleh wujud dengan sendiri. * Ia mesti sentiasa menjadi ahli dalam kejadian set bagi jenis set tertentu * Rekod ahli tersebut boleh dihubungkan dengan kejadian set lain melalui arahan RECONNECT. 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, SYSTEMDEFAULT, FIRST, LAST, NEXT dan PRIOR. i. SORT Rekod ahli boleh disusun secara susunan menaik atau menurun mengikut medan yang dikehendaki. ii. SYSTEM DEFAULT Rekod ahli yang baru dimasukkan ke dalam PD di mana-mana kedudukan yang ditentukan oleh sistem. iii. FIRST Satu rekod ahli yang baru boleh menjadi rekod pertama di 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 sekurang- kurangnya 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. JENIS SET & KEJADIAN SET
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)
DATABASE TASK GROUP (DBTG) • MENAKRIF REKOD • - Rujuk Rajah 13.4 & 13.5 • - Pernyataan pertama rekod PUB • menunjukkan yang nilai PNAME • mestilah UNIK. • - Pernyataan CHECK digunakan • untuk memberi penekanan • pada PNAME, supaya nilainya • tidak boleh menjadi NULL. PUBLISHER ID Name Address Salesrep Phone TITLE 0.N RECORD NAME IS PUB DUPLICATES ARE NOT ALLOWED FOR PNAME PNAME TYPE IS CHARACTER 10 CHECK IS NOT NULL ADDRESS TYPE IS CHARACTER 25 SALPSN TYPE IS CHARACTER 20 PPHONE TYPE IS CHARACTER 10
DATABASE TASK GROUP (DBTG) • MENAKRIF REKOD • - Terdapat 2 pernyataan yang berbeza untuk isytiharkan TNAME dan CALL# unik. • - Memandangkan pernyataan TNAME dan CALL# diasingkan, maka setiap nilai dalam TNAME dan CALL# mesti unik. TITLE Name ID Call# PUBLISHER 1.1 COPY 0.N AUTHOR 0.N RECORD NAME IS TTLE DUPLICATES ARE NOT ALLOWED FOR CALL# DUPLICATES ARE NOT ALLOWED FOR TNAME CALL # TYPE IS CHARACTER 8 CHECK IS NOT NULL TNAME TYPE IS CHARACTER 50 CHECK IS NOT NULL PNAME TYPE IS CHARACTER 10 CHECK IS NOT NULL
DATABASE TASK GROUP (DBTG) • MENAKRIF SET • - 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 : • * 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. PUBLISHER ID Name Address Salesrep Phone TITLE 0.N 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
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. • - Format subskima DDL • * Terbahagi pada 3 bahagian : • - TITLE DIVISION • nama subskima • - MAPPING DIVISION • nama samaran • - STRUCTURE DIVISION • rekod, item data & set bagi skima • yang terdapat pada subskima tersebut TITLE DIVISION (subschema name) MAPPING DIVISION ALIAS SECTION (alternate names for records, sets or data-items) STRUCTURE DIVISION RECORD SECTION (records and data items that are appear in the subschema 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
PERHUBUNGAN BANYAK KE BANYAK DALAM MODEL RANGKAIAN • Jenis hubungan banyak ke banyak untuk objek majmuk tidak boleh dipersembahkan secara langsung di dalam model DBTG. • Ia mestilah ditukarkan ke rangkaian mudah dengan silangan data seperti yang dibuat oleh model hubungan. TITLE Name ID Call# AUTH Relation PUBLISHER TTLE Relation 1.1 Call# Tname Pname Aname Affiliation COPY 0.N TA-INT Relation AUTHOR 0.N Call# Aname * REKABENTUK HUBUNGAN AUTHOR ID Name Affiliation AUTH Record TTLE Record Call# Tname Pname Aname Affiliation TITLE T-A set A-T set 1.N Call# Aname TA-INT Record * REKABENTUK CODASYL/DBTG
RAJAH 13.4 ( CONTOH OBJEK DALAM PD PERPUSTAKAAN ) TITLE Name ID Call# PUBLISHER ID Name Address Salesrep Phone AUTHOR ID Name Affiliation TITLE PUBLISHER 1.N 1.1 TITLE COPY 0.N 0.N AUTHOR 0.N COPY ID Copy-ID Copy# Acqdate Due - date STUDENT Name ID Student# VIDEO ID Name Acqdate Acqcost TITLE COPY 1.1 1.1 0.N STUDENT 1.N VIDEO STUDENT 0.1 0.1 0.N
RAJAH 13.5 ( Skima DDL bagi PD Perpustakaan ) SCHEMA NAME IS LIBRARY RECORD NAME IS PUB DUPLICATES ARE NOT ALLOWED FOR PNAME PNAME TYPE IS CHARACTER 10 CHECK IS NOT NULL ADDRESS TYPE IS CHARACTER 25 SALPSN TYPE IS CHARACTER 20 PPHONE TYPE IS CHARACTER 10 RECORD NAME IS TTLE DUPLICATES ARE NOT ALLOWED FOR CALL# DUPLICATES ARE NOT ALLOWED FOR TNAME CALL# TYPE IS CHARACTER 8 CHECK IS NOT NULL TNAME TYPE IS CHARACTER 50 CHECK IS NOT NULL PNAME TYPE IS CHARACTER 10 CHECK IS NOT NULL
RAJAH 13.5 ( Skima DDL bagi PD Perpustakaan ) RECORD NAME IS CPY DUPLICATES ARE NOT ALLOWED FOR CALL#, COPY# CALL# TYPE IS CHARACTER 8 CHECK IS NOT NULL COPY# TYPE IS FIXED 2 CHECK IS NOT NULL ACQDATE TYPE IS DATE RECORD NAME IS AUTH DUPLICATES ARE NOT ALLOWED FOR ANAME ANAME TYPE IS CHARACTER 30 CHECK IS NOT NULL AFFILIATION TYPE IS CHARACTER 30 RECORD NAME IS TA-INT DUPLICATES ARE NOT ALLOWED FOR CALL#, ANAME CALL# TYPE IS CHARACTER 8 CHECK IS NOT NULL ANAME TYPE IS CHARACTER 30 CHECK IS NOT NULL
RAJAH 13.5 ( Skima DDL bagi PD Perpustakaan ) RECORD NAME IS CPY DUPLICATES ARE NOT ALLOWED FOR STUDENT# STUDENT# TYPE IS FIXED 10 CHECK IS NOT NULL SNAME TYPE IS CHARACTER 30 SPHONE TYPE IS FIXED RECORD NAME IS VID DUPLICATES ARE NOT ALLOWED FOR VID#, VCOPY# DUPLICATES ARE NOT ALLOWED FOR STUDENT# VID# TYPE IS FIXED 5 CHECK IS NOT NULL VCOPY# TYPE IS FIXED 2 CHECK IS NOT NULL VNAME TYPE IS CHARACTER 40 STUDENT# TYPE IS FIXED 10 RECORD NAME IS DUE-DATE DATE-DUE TYPE IS DATE CHECK IS NOT NULL
RAJAH 13.5 ( Skima DDL bagi PD Perpustakaan ) 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 ( Skima DDL bagi PD Perpustakaan ) 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 ( Skima DDL bagi PD Perpustakaan ) 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