240 likes | 476 Views
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.
E N D
E4161SISTEM KOMPUTER DAN APLIKASI UNIT 9 dan UNIT 10 – REKABENTUK MODEL PANGKALAN DATA HUBUNGAN
MODEL PANGKALAN DATA HUBUNGAN • Jenis model: • Hierarki • Rangkaian • Hubungan – diperkenalkanoleh E. F. CODD. • Contoh DBMS yang menggunakan model Hubunganadalah Microsoft Access, FoxPro, Paradox dan lain-lain. • Definisi model hubungan – model yang menyimpan data dalambentukjadualhubungan. Setiaphubungandibinaolehbeberaparekod / tupel.
MODEL PANGKALAN DATA HUBUNGAN • Ciri-ciri • Rekod yang disimpantidakperludidalamsusunan yang tetap. • Nilaididalamrekodtersusun. • Nilaiatribut yang komposittidakdibenarkan. • Nilai null digunakanuntukmengisinilaiatribut yang tidakdiketahui. • Atributkekunci – Nilaiatributuntuksetiaprekod / tupeladalahberbeza. Atributkekuncidipilihuntukmengenalpastisaturekod /tupeltertentudidalamhubungan. • Hubungan = jadual yang dilengkapiolehbarisdanjalur.
MODEL PANGKALAN DATA HUBUNGAN • Hubungandiantaraduajadualdihasilkanolehduaatribut yang mempunyai domain yang sama. Hubunganinijugadipanggilhubunganlogik. • Setiaphubunganiniadalahberbezadiantarasatudengan yang lain. • Rekod / tupeldisimpantanpamengikutsusunantetapistrukturnyaditetapkanolehpengguna. • Model inimembenarkanpenggunamenetapkanindeks (rekod), atributsecaradinamik.
MODEL PANGKALAN DATA HUBUNGAN • Menggunakankonsep algebra hubunganuntukmengolah data. • Algebra hubungan – sekumpulanoperasiuntukmemanipulasikeseluruhanhubungan. • Operasi – pilihrekod / tupeldanmenggabungkantupel yang berhubungandaribeberapahubunganuntukmemenuhipermintaan (mencapai data) ataumembuatpertanyaan. Contoh : SELECT, PROJECT, JOIN • Operasi set – menggunakanteori set matematik. UNION, INTERSECTION, DIFFERENCE, CARTESION PRODUCT
MODEL PANGKALAN DATA HUBUNGAN • SELECT – mengeluarkanrekod yang memenuhisyarat yang ditetapkandarisatuhubungan (jadual) tertentu. • Sinteks : < syaratpemilihan > ( < namahubungan>) • Soalan : Dapatkanrekod PEMBEKAL dari KUANTAN yang mempunyainilai STATUS >15 • STATUS > 15 AND PBANDAR = KUANTAN (PEMBEKAL) • Dapatkanrekoddari BAHAGIAN yang mempunyai BERAT < 15 daribandar KUANTAN atau BERAT <19 daribandar TAPAH • ( BERAT < 15 AND BBANDAR = KUANTAN ) OR ( BERAT < 19 AND BBANDAR = TAPAH) (BAHAGIAN)
MODEL PANGKALA DATA HUBUNGAN • PROJECT – Operasiuntukmengeluarkanatributtertentudarihubungantertentu. • Sinteks : < senaraiatribut > (<syarat>) (< namahubungan >) • Soalan : Dapatkannilai BERAT dan BANDAR bagi BAHAGIAN yang dibekalkandimananama BAHAGIAN ialahskru • BERAT, BBANDAR ( BNAMA = SKRU )(BAHAGIAN) • Hubunganmerupakan subset bagihubunganasasdimana akanmenakrifsatuhubunganbaru yang terdiridarijalur BERAT dan PBANDAR yang dipilihdarihubungan BAHAGIAN.
MODEL PANGKALAN DATA HUBUNGAN • JOIN – Operasi yang menggabungkanrekoddariduahubunganuntukmenjadisaturekod / tupeljikasyarattertentudipenuhi. • Sinteks - R S < syarat > = < Syarat > • Contoh : P B • PBANDAR = BBANDAR
Dapatkanrekodprojek terminal dariAlorSetar. • Dapatkannombordan status pembekaldariTapah. • Dapatkanrekodpembekalberstatus 30 dariAlorSetardanKuantan. • Dapatkannomborbagiprojek console. • Dapatkanrekodbahagianbernombor B1075. • Dapatkannamadannomborbahagian yang mempunyaiberat 17.
MODEL PANGKALAN DATA HUBUNGAN • Union compatible (gabungpadan) – duahubungan yang mempunyaibilanganatribut yang samadansetiapatributmempunyai domain yang sama. • Operasi Set (UNION,INTERSECTION dan DIFFERENCE) hanyabolehdijalankanpadaduahubungan yang gabungpadan.
MODEL PANGKALAN DATA HUBUNGAN • UNION (Kesatuan) • SimbolbagioperasiUNION ialah ‘ ’. Keputusanoperasi A B ialahsatuhubungan yang mengandungisemuarekoddalam A atau B dalamkedua-duahubungan A dan B. Rekod-rekod yang berulangakandihapuskan.
MODEL PANGKALAN DATA HUBUNGAN • INTERSECTION (Tindanan) • SimbolbagioperasibagiINTERSECT ialah ‘ ‘. Keputusanoperasibagi A B ialahsatuhubungan yang mengandungisemuarekod yang terdapatdalamhubungan A dan B. • DIFFERENCE (Perbezaan) • SimbolbagioperasiDIFFERENCE ialah ‘ – ‘. Keputusanbagioperasi A-B ialahsatuhubungan yang mengandungisemuarekoddalam A tetapitiadadalam B.
MODEL PANGKALAN DATA HUBUNGAN • CARTESIAN PRODUCT (HasilDarab Cartesian) • SimbolbagioperasiCARTESIAN PRODUCT ialah ‘ ‘. OperasiCARTESIAN PRODUCT ialahoperasi yang menghasilkansatuhubungan yang mengandungisemuaatributdalamhubungan R1dan R2danmempunyaisemuarekod yang mungkindari R1dan R2.
BAHASA PERTANYAAN SQL • Definisi SQL (Structured Query Language) • Bahasapangkalan data yang komprehensifiaitumempunyaipertanyaanuntukdefinisi data, pertanyaandankemaskini. • Kelebihan SQL • Bahasatidakbertatacara. Penggunahanyaperlunyatakanmaklumat yang dikehendakisahaja. • Tiada format tertentu. • Bolehdigunakanolehsemuapihak. • Mudahdipelajarikeranahampirsamadenganbahasa English. • Tidak case-sensitive.
BAHASA MANIPULASI DATA (DML) SQL • DML digunakanuntukmenakrifstruktur data, membina, mengubahsuaidanmenghapuskanobjek. • SELECT – menyenaraikanlajur yang hendakdiperolehidandihasilkan. • Contoh: • DapatkanrekodbagiPembekal. SELECT * FROM PEMBEKAL; • DapatkannamaPembekal. SELECT BNAMA FROM PEMBEKAL;
BAHASA MANIPULASI DATA (DML) SQL • DISTINCT – menghapuskantupel yang berulangapabila projection dilakukankeataslajur. • Contoh: • Dapatkansenarainamasemuabandar yang dibekalkanolehPembekal. SELECT DISTINCT PBANDAR FROM PEMBEKAL;
BAHASA MANIPULASI DATA (DML) SQL • WHERE – menyatakansyarat yang tertentusupayahanyatupel yang memenuhisyaratsahaja yang dihasilkan. • Operator: • Perbandingan - =, <, >, <=, >= • Julat – BETWEEN, NOT BETWEEN • Ahlikepada set – IN, NOT IN • Padananmengikut pattern – LIKE, NOT LIKE, • Contoh : • Dapatkannombordan status pembekaldari KUANTAN. SELECT PNO, STATUS WHERE PBANDAR=KUANTAN;
BAHASA MANIPULASI DATA (DML) SQL • Senaraikannombordannamabahagian yang mempunyaiberatantara 12 hingga 17 SELECT BNO, BNAMA FROM BAHAGIAN WHERE BERAT BETWEEN 12 AND 17; • Dapatkannombordannamapembekaldaribandar KUANTAN dan ALOR SETAR SELECT PNO, PNAMA FROM PEMBEKAL WHERE PBANDAR IN (‘KUANTAN’, ‘ALOR SETAR’); • Senaraikannombordannamapembekal yang bermuladenganhuruf A. SELECT PNO, PNAMA FROM PEMBEKAL WHERE PNAMA LIKE ‘A%’;
BAHASA MANIPULASI DATA (DML) SQL • ORDER BY – mengisihtupel yang diperolehiberdasarkanlajur yang dinyatakansecara ASC atau DESC. • Contoh: • Dapatkansenarainombordannamapembekaldari ALOR SETAR dalamsusunanmenaik SELECT PNO, PNAMA FROM PEMBEKAL WHERE PBANDAR = ALOR SETAR ORDER BY PNO; • Dapatkansenarainombordannamapembekaldari ALOR SETAR dalamsusunanmenurun SELECT PNO, PNAMA FROM PEMBEKAL WHERE PBANDAR = ALOR SETAR ORDER BY PNO DESC;
BAHASA MANIPULASI DATA (DML) SQL • INSERT – menambah data kedalamjadual • Contoh: • MasukkannamapembekalAmindaribandarKangardengan status 25 danbernombor P3523 kedalamjadual PEMBEKAL. INSERT INTO PEMBEKAL VALUES (‘P3523’, ‘AMIN’, ‘25’, ‘KANGAR’); • UPDATE – mengubahsesuatujadual • Contoh: • TambahkanberatbagisemuabahagiandaribandarAlorSetarsebanyak 5. UPDATE BAHAGIAN SET BERAT=BERAT+5 WHERE BBANDAR=ALOR SETAR;
BAHASA MANIPULASI DATA (DML) SQL • DELETE – menghapuskanbarisrekod • Contoh: • Hapuskansemuarekod yang terdapatdalamjadual PROJEK DELETE FROM PROJEK;
BAHASA DEFINISI DATA (DDL) SQL • DDL SQL – menakrifstruktur data iaitumembina, mengubahsuaidanmenghapuskanobjek. • Membinajadual CREATE TABLE PEMBEKAL (PNO CHAR(2) NOT NULL, PNAMA VARCHAR(15) NOT NULL, STATUS INTEGER NOT NULL, PBANDAR VARCHAR(15) NOT NULL); • Mengubahstrukturjadual 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; • Menghapuskanjadual DROP TABLE PEMBEKAL;