UNIT 10 : REKABENTUK MODEL PANGKALAN DATA HUBUNGAN E4161 : SISTEM KOMPUTER & APLIKASI UNIT 10 : REKABENTUK MODEL PANGKALAN DATA HUBUNGAN
PENGENALAN Menggunakan konsep hubungan dalam matematik (algebra hubungan) untuk mengolah data
ALGEBRA HUBUNGAN
DEFINISI Sekumpulan operasi untuk MEMANIPULASI keseluruhan hubungan Operasi-operasi asas : SELECT ( ) PROJECT () JOIN ( R S) Set operasi guna teori set matematik : UNION () INTERSECTION () DIFFERENCE ( - ) CARTESIAN PRODUCT ( x )
OPERASI - OPERASI ASAS
Pangkalan Data PEMBEKAL-BAHAGIAN-PROJEK KUANTAN 20 TAN CHENG LOCK P10975 ALOR SETAR 30 BAHRAIN P46452 TAPAH AMRAN P93758 SAIFUL P59231 35 AHMAD P12345 PBANDAR STATUS PNAMA PNO KUANTAN TAPE J195 ALOR SETAR TERMINAL J251 CONSOLE J325 READER J007 TAPAH PUNCH J012 SORTER J001 JBANDAR JNAMA JNO BAHAGIAN TAPAH 18 KOG B1234 IPOH 17 KAM B1075 ALOR SETAR 15 SKRU B1004 KANGAR 12 BOLT B1123 KUANTAN 11 NAT B1001 BBANDAR BERAT BNAMA BNO
Operasi SELECT () Operasi untuk keluarkan rekod yang memenuhi syarat yang ditetapkan dari satu hubungan tertentu Sinteks : <syarat pemilihan> (nama hubungan) Contoh 1 : Dapatkan rekod PEMBEKAL dari KUANTAN yang mempunyai nilai STATUS > 15 <syarat pemilihan> (nama hubungan) (STATUS >15 AND PBANDAR=KUANTAN) (PEMBEKAL)
Rekod PEMBEKAL dari KUANTAN yang mempunyai nilai STATUS > 15 Operasi SELECT () PEMBEKAL KUANTAN 20 TAN CHENG LOCK P10975 35 AHMAD P12345 PBANDAR STATUS PNAMA PNO Rekod PEMBEKAL dari KUANTAN yang mempunyai nilai STATUS > 15
Pangkalan Data PEMBEKAL-BAHAGIAN-PROJEK KUANTAN 20 TAN CHENG LOCK P10975 ALOR SETAR 30 BAHRAIN P46452 TAPAH AMRAN P93758 SAIFUL P59231 35 AHMAD P12345 PBANDAR STATUS PNAMA PNO KUANTAN TAPE J195 ALOR SETAR TERMINAL J251 CONSOLE J325 READER J007 TAPAH PUNCH J012 SORTER J001 JBANDAR JNAMA JNO BAHAGIAN TAPAH 18 KOG B1234 IPOH 17 KAM B1075 ALOR SETAR 15 SKRU B1004 KANGAR 12 BOLT B1123 KUANTAN 11 NAT B1001 BBANDAR BERAT BNAMA BNO
Operasi SELECT () Sinteks : <syarat pemilihan> (nama hubungan) Contoh 2 : Dapatkan rekod BAHAGIAN dengan mempunyai BERAT < 15 dari bandar KUANTAN atau BERAT < 19 dari bandar TAPAH <syarat pemilihan> (nama hubungan) (BERAT <15 AND BBANDAR=KUANTAN) OR (BERAT <19AND BBANDAR=TAPAH) (BAHAGIAN)
Operasi SELECT () BAHAGIAN TAPAH 18 KOG B1234 KUANTAN 11 NAT B1001 BBANDAR BERAT BNAMA BNO Rekod BAHAGIAN dengan BERAT < 15 dari bandar KUANTAN atau BERAT < 19 dari bandar TAPAH
Pangkalan Data PEMBEKAL-BAHAGIAN-PROJEK KUANTAN 20 TAN CHENG LOCK P10975 ALOR SETAR 30 BAHRAIN P46452 TAPAH AMRAN P93758 SAIFUL P59231 35 AHMAD P12345 PBANDAR STATUS PNAMA PNO KUANTAN TAPE J195 ALOR SETAR TERMINAL J251 CONSOLE J325 READER J007 TAPAH PUNCH J012 SORTER J001 JBANDAR JNAMA JNO BAHAGIAN TAPAH 18 KOG B1234 IPOH 17 KAM B1075 ALOR SETAR 15 SKRU B1004 KANGAR 12 BOLT B1123 KUANTAN 11 NAT B1001 BBANDAR BERAT BNAMA BNO
Operasi PROJECT () Operasi untuk keluarkan atribut tertentu dari hubungan tertentu Sinteks : <senarai atribut> (nama hubungan) Contoh 1 : Dapatkan nilai BERAT dan BANDAR bagi BAHAGIAN yang dibekalkan di mana nama BAHAGIAN ialah skru <senarai atribut> (nama hubungan) (BERAT, BBANDAR) ( BNAMA=SKRU) (BAHAGIAN)
Operasi PROJECT () BAHAGIAN ALOR SETAR 15 BBANDAR BERAT
Pangkalan Data PEMBEKAL-BAHAGIAN-PROJEK KUANTAN 20 TAN CHENG LOCK P10975 ALOR SETAR 30 BAHRAIN P46452 TAPAH AMRAN P93758 SAIFUL P59231 35 AHMAD P12345 PBANDAR STATUS PNAMA PNO KUANTAN TAPE J195 ALOR SETAR TERMINAL J251 CONSOLE J325 READER J007 TAPAH PUNCH J012 SORTER J001 JBANDAR JNAMA JNO BAHAGIAN TAPAH 18 KOG B1234 IPOH 17 KAM B1075 ALOR SETAR 15 SKRU B1004 KANGAR 12 BOLT B1123 KUANTAN 11 NAT B1001 BBANDAR BERAT BNAMA BNO
Operasi JOIN (R S) Operasi yang gabung rekod dari dua hubungan untuk menjadi satu tupel jika syarat tertentu dipenuhi Sinteks : R (syarat) S = (syarat) (RxS) Contoh 1 : P PBANDAR = BBANDAR B KUANTAN 20 TAN CHENG LOCK P10975 ALOR SETAR 30 BAHRAIN P46452 TAPAH AMRAN P93758 SAIFUL P59231 35 AHMAD P12345 PBANDAR STATUS PNAMA PNO KUANTAN 11 NAT B1001 ALOR SETAR 15 SKRU B1004 TAPAH 18 KOG B1234 BBANDAR BERAT BNAMA BNO
OPERASI - OPERASI SET
DEFINISI OPERASI SET GABUNG PADAN (Union Compatible) Kedua-dua hubungan mempunyai : Bilangan atribut yang sama Domain yang sama Set operasi HANYA boleh dijalankan JIKA kedua-dua hubungan tersebut adalah GABUNG PADAN
Dua Hubungan GABUNG PADAN 21 NORMA 5 17 AZRUL 4 30 SHAM 3 27 YATI 2 23 SUHAILA 1 UMUR NAMA BIL 21 NORMA 5 15 AZLI 4 30 SHAM 3 28 FATIN 2 23 SUHAILA 1 UMUR NAMA BIL
Operasi UNION () Satu hubungan yang mengandungi SEMUA rekod dalam A atau B dalam kedua-dua hubungan A dan B Rekod berulang akan dihapuskan Contoh : A B
Operasi UNION () Contoh : A B 15 AZLI 7 28 FATIN 6 21 NORMA 5 17 AZRUL 4 30 SHAM 3 27 YATI 2 23 SUHAILA 1 UMUR NAMA BIL
Dua Hubungan GABUNG PADAN 21 NORMA 5 17 AZRUL 4 30 SHAM 3 27 YATI 2 23 SUHAILA 1 UMUR NAMA BIL 21 NORMA 5 15 AZLI 4 30 SHAM 3 28 FATIN 2 23 SUHAILA 1 UMUR NAMA BIL
Operasi INTERSECTION () Satu hubungan yang mengandungi semua rekod yang terdapat dalam hubungan A dan B. Contoh : A B
Operasi INTERSECTION () Contoh : A B 21 NORMA 3 30 SHAM 2 23 SUHAILA 1 UMUR NAMA BIL
Dua Hubungan GABUNG PADAN 21 NORMA 5 17 AZRUL 4 30 SHAM 3 27 YATI 2 23 SUHAILA 1 UMUR NAMA BIL 21 NORMA 5 15 AZLI 4 30 SHAM 3 28 FATIN 2 23 SUHAILA 1 UMUR NAMA BIL
Operasi DIFFERENCE (-) Satu hubungan yang mengandungi semua rekod yang terdapat dalam hubungan A tetapi tiada dalam B. Contoh : A - B
Operasi DIFFERENCE (-) Contoh : A - B 17 AZRUL 2 27 YATI 1 UMUR NAMA BIL
Operasi CARTESIAN PRODUCT (x) Satu hubungan yang mengandungi semua atribut dalam hubungan R1 dan R2 dan mempunyai semua rekod yang mungkin dari R1 dan R2 PELAJAR (R1) GRED (R2) Tek Komputer Iskandar 10DTK118 Tek Maklumat Shafika 10DTK006 Marina 10DTK112 Suriati 10DTK001 KURSUS NAMA NO PEND 2.00 E411 10DTK007 3.33 E412 10DTK112 3.00 E413 2.67 F404 10DTK001 GRED KOD_M/P NO PEND
Operasi CARTESIAN PRODUCT (x) 2.67 3.00 3.33 2.00 F 404 E 413 E 412 E 411 10 DIT 001 10 DTK 112 10 DTK 007 Teknologi Maklumat Teknologi Komputer Suriati Marina Shafika Iskandar 10 DIT 006 10 DTK 118 GRED KOD_M/P NO_PEND KURSUS NAMA
Operasi CARTESIAN PRODUCT (x) Senarai pelajar dan gred yang diperolehi bagi setiap matapelajaran 3.33 E412 Marina 3.00 E413 2.67 F404 Suriati GRED KOD_M/P NAMA
LATIHAN
Pangkalan Data PELAJAR-SUBJEK 53 68 65 40 57 48 BERAT MELAYU DKE RIZAL 06DKEF105 INDIA RAJEEV 06DKEF027 DTK SAIFUL 06DTKF058 CINA TAN AH BEE 06DTKF103 CHAN CHEE LI 06DKEF056 JULIA 06DTKF012 KETURUNAN KURSUS PNAMA NOID 03 MIKROP E4160 02 PENGATURCARAAN E3062 TEKNOLOGI ELEKTRIK E3001 AMALI KEJURUTERAAN 2 E2003 SISTEM KOMPUTER E4161 KREDIT M/P KOD SUBJEK
LATIHAN OPERASI ASAS Dapatkan rekod PELAJAR berketurunan MELAYU yang mempunyai BERAT > 55 Dapatkan rekod PELAJAR berketurunan MELAYU dari KURSUS DKE atau berketurunan CINA dari kursus DTK Dapatkan KOD dan MP bagi SUBJEK dimana KREDIT adalah 03
JAWAPAN Soalan 1 : Dapatkan rekod PELAJAR berketurunan MELAYU yang mempunyai BERAT > 55 (KETURUNAN=MELAYU AND BERAT>55) (PELAJAR) NOID PNAMA KURSUS KETURUNAN BERAT 06DTKF058 SAIFUL DTK MELAYU 65
JAWAPAN Soalan 2 : Dapatkan rekod PELAJAR berketurunan MELAYU dari KURSUS DKE atau berketurunan CINA dari kursus DTK (KETURUNAN=MELAYU AND KURSUS=DKE) OR (KETURUNAN=CINA AND KURSUS=DTK) (PELAJAR) NOID PNAMA KURSUS KETURUNAN BERAT 06DKEF105 RIZAL DKE MELAYU 53 06DTKF103 TAN AH BEE DTK CINA 40
JAWAPAN Soalan 3 : Dapatkan KOD dan MP bagi SUBJEK dimana KREDIT adalah 03 (KOD,MP) ( KREDIT = 03) (SUBJEK) KOD M/P KREDIT E2003 AMALI KEJURUTERAAN 2 03 E3001 TEKNOLOGI ELEKTRIK E4160 MIKROP
Pangkalan Data PELAJAR 1 dan PELAJAR 2 53 68 65 40 57 48 BERAT MELAYU DKE RIZAL 06DKEF105 INDIA RAJEEV 06DKEF027 DTK SAIFUL 06DTKF058 CINA TAN AH BEE 06DTKF103 CHAN CHEE LI 06DKEF056 JULIA 06DTKF012 KETURUNAN KURSUS PNAMA NOID PELAJAR 1 53 62 61 40 60 48 BERAT MELAYU DKE RIZAL 06DKEF105 INDIA SALMAN KHAN 06DKEF074 CINA DTK ANDY LAU 06DTKF037 TAN AH BEE 06DTKF103 DANISH IQBAL 06DTKF069 JULIA 06DTKF012 KETURUNAN KURSUS PNAMA NOID PELAJAR 2
Dapatkan PELAJAR 1 PELAJAR 2 Dapatkan PELAJAR 1 PELAJAR 2 LATIHAN OPERASI SET Dapatkan PELAJAR 1 PELAJAR 2 Dapatkan PELAJAR 1 PELAJAR 2 Dapatkan PELAJAR 1 – PELAJAR 2
JAWAPAN SOALAN 1 : Dapatkan PELAJAR 1 PELAJAR 2 NOID PNAMA KURSUS KETURUNAN BERAT 06DTKF012 JULIA DTK MELAYU 48 06DKEF056 CHAN CHEE LI DKE CINA 57 06DTKF103 TAN AH BEE DTK CINA 40 06DTKF058 SAIFUL DTK MELAYU 65 06DKEF027 RAJEEV DKE INDIA 68 06DKEF105 RIZAL DKE MELAYU 53 06DTKF069 DANISH IQBAL DTK MELAYU 60 06DTKF037 ANDY LAU DTK CINA 61 06DKEF074 SALMAN KHAN DKE INDIA 62 SOALAN 1 : Dapatkan PELAJAR 1 PELAJAR 2
JAWAPAN SOALAN 2 : Dapatkan PELAJAR 1 PELAJAR 2 NOID PNAMA KURSUS KETURUNAN BERAT 06DTKF012 JULIA DTK MELAYU 48 06DTKF103 TAN AH BEE DTK CINA 40 06DKEF105 RIZAL DKE MELAYU 53 SOALAN 2 : Dapatkan PELAJAR 1 PELAJAR 2
JAWAPAN SOALAN 3 : Dapatkan PELAJAR 1 – PELAJAR 2 NOID PNAMA KURSUS KETURUNAN BERAT 06DKEF056 CHAN CHEE LI DKE CINA 57 06DTKF058 SAIFUL DTK MELAYU 65 06DKEF027 RAJEEV DKE INDIA 68 SOALAN 3 : Dapatkan PELAJAR 1 – PELAJAR 2
BAHASA PERTANYAAN SQL
SQL Bahasa tanpa prosedur Antaramuka pengguna dengan DBMS Bahasa pangkalan data yang komprehensif iaitu mempunyai pernyataan untuk definisi data, pertanyaan dan kemaskini 2 jenis bahasa : Bahasa Manipulasi Data (DML) SQL Bahasa Definisi Data (DDL) SQL
KELEBIHAN SQL Pengguna hanya perlu menyatakan maklumat yang dikehendaki dan bukan bagaimana untuk mendapatkan sesuatu maklumat Tidak menggunakan format tertentu Boleh digunakan oleh semua pihak samada pengguna akhir, pereka pangkalan data dan pentadbiran Mudah dipelajari kerana sinteksnya menggunakan bahasa inggeris mudah select, from dan where Tidak peka kepada huruf kecil atau besar tetapi mesti ditaip seperti apa yang terdapat dalam pangkalan data
BAHASA MANIPULASI DATA (DML)
BAHASA MANIPULASI DATA (DML) SQL Digunakan untuk menakrif struktur data iaitu untuk membina, mengubahsuai dan menghapus objek pangkalan data Digunakan juga untuk memperolehi semula atau mengubah data
BAHASA MANIPULASI DATA (DML) SQL Menapis baris yang diperolehi mengikut syarat [ HAVING … ] Mengumpul baris mengikut nilai yang terdapat pada lajur yang dinyatakan [ GROUP BY … ] Menyusun baris mengikut lajur yang dinyatakan [ ORDER BY … ] Menyatakan kriteria yang akan digunakan untuk memperolehi rekod [ WHERE … ] Menyenaraikan jadual atau jadual-jadual yang mana lajur hendak diperolehi FROM … Menyenaraikan lajur atau ungkapan yang hendak diperolehi dan dihasilkan SELECT … TUJUAN SINTAKS
Pangkalan Data PEMBEKAL-BAHAGIAN-PROJEK KUANTAN 20 TAN CHENG LOCK P10975 ALOR SETAR 30 BAHRAIN P46452 TAPAH AMRAN P93758 SAIFUL P59231 35 AHMAD P12345 PBANDAR STATUS PNAMA PNO KUANTAN TAPE J195 ALOR SETAR TERMINAL J251 CONSOLE J325 READER J007 TAPAH PUNCH J012 SORTER J001 JBANDAR JNAMA JNO BAHAGIAN TAPAH 18 KOG B1234 IPOH 17 KAM B1075 ALOR SETAR 15 SKRU B1004 KANGAR 12 BOLT B1123 KUANTAN 11 NAT B1001 BBANDAR BERAT BNAMA BNO
BAHASA MANIPULASI DATA (DML) SQL Untuk mendapatkan SEMUA tupel - Menggunakan simbol ‘*’ - Menggunakan nama-nama lajur pada jadual yang dikehendaki Contoh 1 : Dapatkan rekod bagi PEMBEKAL Jawapan : SELECT * FROM PEMBEKAL ; KUANTAN 20 TAN CHENG LOCK P10975 ALOR SETAR 30 BAHRAIN P46452 TAPAH AMRAN P93758 SAIFUL P59231 35 AHMAD P12345 PBANDAR STATUS PNAMA PNO
BAHASA MANIPULASI DATA (DML) SQL Untuk mendapatkan lajur-lajur tertentu bagi semua tupel Contoh 2 : Senaraikan nama semua BAHAGIAN Jawapan : SELECT BNAMA FROM BAHAGIAN ; KOG KAM SKRU BOLT NAT BNAMA
BAHASA MANIPULASI DATA (DML) SQL Menggunakan kata kunci DISTINCT - Digunakan untuk menghapuskan tupel yang berulang apabila projection dilakukan ke atas lajur Contoh 3 : Dapatkan senarai nama semua Bandar yang dibekalkan oleh PEMBEKAL Jawapan : SELECT DISTINCT PBANDAR FROM PEMBEKAL ; TAPAH ALOR SETAR KUANTAN PBANDAR
BAHASA MANIPULASI DATA (DML) SQL Menggunakan sintaks WHERE - Digunakan untuk menyatakan syarat yang tertentu supaya hanya tupel yang memenuhi syarat sahaja dihasilkan - Operator-operator yang digunakan : * Perbandingan : =, <, >, <=, >= * Julat : BETWEEN / NOT BETWEEN * Ahli kepada set : IN / NOT IN * Padanan mengikut patern : LIKE / NOT LIKE, _ (menunjukkan satu aksara), % (menunjukkan terdapat samada 0 atau lebih aksara), IS NULL / IS NOT NULL
BAHASA MANIPULASI DATA (DML) SQL Contoh 1 : Dapatkan nombor pembekal dan status pembekal dari pembekal di KUANTAN Jawapan : SELECT PNO, STATUS FROM PEMBEKAL WHERE PBANDAR=KUANTAN ; 20 P10975 35 P12345 STATUS PNO
BAHASA MANIPULASI DATA (DML) SQL Contoh 2 : Senaraikan nombor dan nama bahagian yang mempuyai berat antara 12 dan 17 Jawapan : SELECT BNO, BNAMA FROM BAHAGIAN WHERE BERAT BETWEEN 12 AND 17 ; KAM B1075 SKRU B1004 BOLT B1123 BNAMA BNO
BAHASA MANIPULASI DATA (DML) SQL Contoh 3 : Dapatkan nombor pembekal dan nama pembekal dari Bandar KUANTAN dan ALOR SETAR Jawapan : SELECT PNO, PNAMA FROM PEMBEKAL WHERE PBANDAR IN (‘KUANTAN’, ‘ALOR SETAR’) ; TAN CHENG LOCK P10975 BAHRAIN P46452 SAIFUL P59231 AHMAD P12345 PNAMA PNO
BAHASA MANIPULASI DATA (DML) SQL Contoh 4 : Senaraikan nombor pembekal dan nama pembekal yang namanya bermula dengan huruf A Jawapan : SELECT PNO, PNAMA FROM PEMBEKAL WHERE PNAMA LIKE ‘A%’ ; AMRAN P93758 AHMAD P12345 PNAMA PNO
BAHASA MANIPULASI DATA (DML) SQL Menggunakan sintaks ORDER BY - Digunakan untuk menyisih (menyusun) tupel yang diperolehi berdasarkan lajur yang dinyatakan. - Isihan yang digunakan adalah : * menaik (ASC) * menurun (DESC) - Apabila secara lalai (default), isihan adalah secara menaik.
BAHASA MANIPULASI DATA (DML) SQL Contoh 1 : Senaraikan nombor pembekal dan nama pembekal dari ALOR SETAR dengan nombor pembekal dalam susunan menaik Jawapan : SELECT PNO, PNAMA FROM PEMBEKAL WHERE PBANDAR=ALOR SETAR ORDER BY PNO ; SAIFUL P59231 BAHRAIN P46452 PNAMA PNO
BAHASA MANIPULASI DATA (DML) SQL Contoh 2 : Senaraikan nombor projek dan nama projek dari ALOR SETAR dengan nombor projek dalam susunan menurun Jawapan : SELECT JNO, JNAMA FROM PROJEK WHERE JBANDAR=ALOR SETAR ORDER BY PNO DESC ; READER 007 TERMINAL J251 CONSOLE J325 JNAMA JNO
BAHASA MANIPULASI DATA (DML) SQL Mengemaskini pangkalan data - Melibatkan proses : * INSERT - Untuk menambah data ke dalam jadual * UPDATE - Untuk mengubah sesuatu jadual * DELETE - Untuk menghapuskan sesuatu rekod
BAHASA MANIPULASI DATA (DML) SQL INSERT Contoh : Masukkan nama pembekal Amin dari Kangar dengan status 25 dan bernombor P3523 ke dalam jadual PEMBEKAL Jawapan : INSERT INTO PEMBEKAL VALUES (‘P3523’, ‘AMIN’, ’25’, ‘KANGAR’) ; KANGAR 25 AMIN P3523 KUANTAN 20 TAN CHENG LOCK P10975 ALOR SETAR 30 BAHRAIN P46452 TAPAH AMRAN P93758 SAIFUL P59231 35 AHMAD P12345 PBANDAR STATUS PNAMA PNO PEMBEKAL
BAHASA MANIPULASI DATA (DML) SQL UPDATE Contoh : Tambahkan berat bagi semua bahagian dari bandar ALOR SETAR sebanyak 5 Jawapan : UPDATE BAHAGIAN SET BERAT=BERAT + 5 WHERE BBANDAR = ALOR SETAR ; BAHAGIAN TAPAH 18 KOG B1234 IPOH 17 KAM B1075 ALOR SETAR 20 SKRU B1004 KANGAR 12 BOLT B1123 KUANTAN 11 NAT B1001 BBANDAR BERAT BNAMA BNO
BAHASA MANIPULASI DATA (DML) SQL DELETE Contoh : Hapuskan semua rekod yang terdapat dalam jadual PROJEK Jawapan : DELETE FROM PROJEK ; KANGAR 25 AMIN P3523 KUANTAN 20 TAN CHENG LOCK P10975 ALOR SETAR 30 BAHRAIN P46452 TAPAH AMRAN P93758 SAIFUL P59231 35 AHMAD P12345 PBANDAR STATUS PNAMA PNO PEMBEKAL
BAHASA DEFINISI DATA (DDL)
BAHASA DEFINISI DATA (DDL) SQL Digunakan untuk menakrif struktur data iaitu untuk membina, mengubahsuai dan menghapus objek pangkalan data Membina jadual Mengubah struktur jadual Menghapuskan jadual
BAHASA DEFINISI DATA (DDL) SQL MEMBINA JADUAL Contoh : Bina jadual PELANGGAN Jawapan : CREATE TABLE PELANGGAN ( CNO INTEGER NOT NULL , CNAMA VARCHAR (15) NOT NULL , STATUS INTEGER NOT NULL , CBANDAR VARCHAR (15) NOT NULL ) ; PELANGGAN CBANDAR STATUS CNAMA CNO
BAHASA DEFINISI DATA (DDL) SQL Mengubah Struktur Data Menambah lajur pada jadual Menambah atau mengubahkan lebar lajur Mengubah lajur daripada NULL kepada NOT NULL atau sebaliknya Menyatakan nilai lalai (default) pada lajur sedia ada Menyatakan kekangan pada lajur sedia ada
BAHASA DEFINISI DATA (DDL) SQL MENGUBAH STRUKTUR JADUAL Contoh : Tambah lajur TEL dalam jadual PELANGGAN Jawapan : ALTER TABLE PELANGGAN ADD ( TEL INTEGER NOT NULL ) ; PELANGGAN CNO TEL CBANDAR STATUS CNAMA
BAHASA DEFINISI DATA (DDL) SQL MENGHAPUSKAN JADUAL Contoh : Menghapuskan jadual PELANGGAN Jawapan : DROP TABLE PELANGGAN
BAHASA PERTANYAAN QBE
QBE Query By Example (QBE) Satu bahasa pertanyaan bergrafik yang membekalkan kemudahan untuk menakrif, mengolah, mengemaskini dan mengawal pangkalan data hubungan Pengguna boleh menulis pertanyaan dengan menggunakan jadual contoh kepada sistem Jadual contoh Rangka jadual yang terdiri daripada nama jadual dan nama-nama lajur
QBE Dibangunkan di IBM pada tahun 1970 an dan dikeluarkan untuk kegunaan komersial. Sesuai digunakan oleh pengguna akhir yang tidak berkemahiran tinggi kerana menyediakan antaramuka pertanyaan bergrafik Sesuai untuk pertanyaan yang tidak begitu kompleks dan tidak melibatkan begitu banyak jadual
PERTANYAAN DALAM QBE Pertanyaan untuk mencapai maklumat dilakukan dengan mengisi ruangan lajur pada jadual contoh Simbol P. ditulis dalam sesuatu lajur untuk memaparkan maklumat dalam lajur tersebut (display) Jika nilai medan ialah satu pemalar, nilai pemalar itu dituliskan dalam jadual contoh Jika hendak menggunakan pembolehubah, tanda ‘_’ diletakkan di hadapannya.
PERTANYAAN DALAM QBE Terdapat TIGA operasi untuk kemaskini fail iaitu : Kemaskini rekod (U.) Hapus rekod (D.) Tambah rekod (I.)
PERTANYAAN DALAM QBE (KOTAK SYARAT) Jadual contoh mempunyai ruang yang terhad dan hanya menempatkan pernyataan syarat yang mudah Untuk pernyataan syarat yang kompleks, ruang yang berasingan diperlukan untuk mengisi pernyataan tersebut. Kotak syarat diperlukan apabila : Mengungkap syarat yang melibatkan DUA atau lebih lajur Mengungkap syarat yang melibatkan pengendali AND dan OR Mengungkap syarat yang melibatkan pengendali penyatuan dalam kumpulan
SKIMA PANGKALAN DATA PEMBEKAL-BAHAGIAN-PROJEK-PUNGGAHAN P (PNO, PNAMA, STATUS, PBANDAR) B (BNO, BNAMA, WARNA, BERAT, BBANDAR) J (JNO, JNAMA, JBANDAR) PBJ (PNO, BNO, JNO, BILANGAN)
CONTOH SOALAN CONTOH 1 : Tukarkan warna bagi bahagian B1004 kepada biru dan setkan bandarnya kepada nilai NULL --> kemas kini rekod ( U.)
CONTOH SOALAN CONTOH 2 : Setkan bilangan punggahan untuk semua pembekal di Alor Setar kepada sifar
CONTOH SOALAN CONTOH 3 : Hapuskan semua rekod pembekal dari Kuantan --> Hapus rekod ( D.)
CONTOH SOALAN CONTOH 4 : Tambahkan bahagian B1089 ke dalam jadual bahagian, BBANDAR = 'Sungai Petani', BERAT = '32', nama dan warna tidak diketahui. I.
CONTOH SOALAN CONTOH 5 : Dapatkan nombor pembekal bagi pembekal di Alor Setar atau yang mempunyai nilai status > 20 KOTAK SYARAT _SC = ALOR SETAR OR _ST > 20
CONTOH SOALAN CONTOH 6 : Dapatkan nombor bahagian bagi bahagian yang mempunyai nilai berat di antara 12 ke 19 KOTAK SYARAT _W >= 12 AND _W <= 19