AN TEKNOLOGI MAKLUM
M MAT & KO
OMUNIKA
ASI
POLITEKNIK UN
NGKU OM
MAR, IPO
OH
F41
109 DA
ATAB
BASE SY
YSTEM
SOALA
AN-SOA
ALAN TUTORI
T IAL
Disediakaan oleh: nurrizah@ict.p
puo.edu.myy
Julaai 2009
9
F4109 DATABASE SYSTEM TUTORIAL
2. Lukiskan gambarajah ringkas bagi menunjukkan perkaitan antara setiap istilah yang telah diterangkan
dalam soalan 1.
3. Terangkan perbezaan antara sistem pemprosesan manual, sistem pemprosesan tradisional dan sistem
pangkalan data.
1. Senibina Tiga Paras ANSI-SPARC mempunyai tiga paras iaitu paras luaran, paras konseptual dan paras
dalaman. Terangkan dengan ringkas ketiga-tiga istilah tersebut.
3. Berikan penerangan ringkas berbantukan gambarajah untuk setiap jenis model data berikut:
a) Model Data Berorientasikan Objek
b) Model Data Berhirarki
c) Model Data Rangkaian
d) Model Perhubungan Entiti
1. Di dalam wad Orthopadik, ramai doctor melayan seorang pesakit dan ramai pesakit dilayan oleh
seorang doctor. Seorang pesakit boleh mengambil satu ubat tetapi banyak ubat boleh diambil oleh
ramai pesakit.
a) Maklumat doktor alah IDDoktor dan NamaDoktor
b) Maklumat pesakit adalah IDPesakit, NamaPesakit dan Alamat
c) Maklumat ubat adalah kodUbat dan NamaUbat
d) Bagi setiap rawatan, ia mempunyai jenis rawatan dan kos rawatan
e) Bagi setiap ubat yang diterima, ia mempunyai kualiti dan tarikh
2. Syarikat ilham Sdn Bhd, adalah merupakan sebuah syarikat yang membekalkan barangan seperti kasut,
stoking dan beg. Semua barang ini diimport daripada negeri China dan kemudiannya dijual kepada
pelanggan-pelanggan sekitar Semenanjung Malaysia. Setiap barangan yang dijual mesti mempunyai
kod barangan dan anma barang. Selain daripada itu, kuantiti barang juga perlu diketahui untuk setiap
barangan.
Setiap maklumat yang berkaitan dengan pembekal di negeri China dan pelanggan mesti disimpan.
Antara maklumat yang perlu disimpan adalah kod pembekal, nama pembekal, no telefon dan no faks.
Maklumat pelanggan pula adalah kekerapan pelanggan membeli barangan. Jika barang ada dalam
simpanan, stok status barang akan dilabelkan A dan jika tiada dalam simpanan, stok status barang
dilabelkan dengan N.
3. Syarikat Zikry merupakan sebuah kedai telekomunikasi yang mempunyai beberapa cawangan di sekitar
Kuala Lumpur, Alor Setar, Ipoh dan Seremban. Setiap cawangan mempunyai seorang pengurus yang
mentadbir kedai tersebut.
Maklumat cawangan adalah seperti noCawangan, namaCawangan, alamat, noTelefon dan noFaks.
Maklumat pengedar pula adalah seperti noPengedar, namaPengedar, alamat, noTelefon dan noFaks.
Maklumat barang pula adalah seperti noBarang, penerangan, hargaSeUnit dan tarikhTerima.
Maklumat pesanan pula adalah seperti noPesanan, kuantitiPesanan dan tarikhPesanan. Maklumat
pembayaran pula adalah seperti noResit, tarikhBayaran dan jumlahBayaran. Maklumat pelanggan yang
akan diambil seperti namaPelanggan, noKadPengenalan dan jenisBayaran.
1. ABC adalah satu syarikat percutian yang menawarkan tapak perkhemahan di tempat peranginan
yang popular. Setiap tapak mempunyai beberapa bidang tanah yang boleh di tempah oleh
holidaymaker untuk beberapa hari. Setiap tapak mempunyai kemudahan tandas dan tempat
mencuci pakaian yang disediakan secara percuma. Syarikat tersebut menerima tempahan daripada
sekumpulan holidaymakers. Seorang individu bertanggungjawab terhadap tempahan yang dibuat,
dan permintaan boleh dibuat untuk menambahkan bidang tanah sekiranya kumpulan tersebut
adalah ramai. Syarikat tersebut akan menyimpan maklumat berkenaan individu yang membuat
tempahan untuk tujuan pemasaran. Invois akan dikeluarkan berdasarkan tempahan yang dibuat
dan pembayaran boleh di buat secara ansuran.
Bina gambarajah ERD bagi sistem tempahan dan invois berdasarkan maklumat yang diberikan.
3. XYZ Kolej yang terletak di Jalan Raja Laut Kuala Lumpur ingin membina sebuah pangkalan data
tentang pendaftaran pelajar. Berikut adalah maklumat-maklumat yang diperlukan untuk membina
sistem tersebut.
a) Kolej mempunyai beberapa fakulti seperti Fakulti Bahasa dan Pengurusan, Fakulti Teknologi
Maklumat, Fakulti Multimedia dan sebagainya. Setiap fakulti diuruskan oleh Akademik Direktor.
e) Setiap subjek mungkin diajar oleh ramai pensyarah di beberapa buah bilik kuliah pada satu
masa.
f) Setiap fakulti mempunyai ramai pensyarah tetapi seorang pensyarah hanya ditugaskan
mengajar di sebuah fakulti sahaja.
Berdasarkan kajian kes di atas, bina Gambarajah Perhubungan Entiti (ERD) yang lengkap.
ItemNumber
Category
ITEM
1
Description
have
ProjectID
QuatationID Owner
SupplierID
M
QUATATION M have 1 PROJECT
M
ItemNumber
Retail Price
Name Phone
Quantity
ProjectID
send
SupplierID
1 SupName
SUPPLIER
Discount
Contact
Phone
TUTORIAL 6: PENORMALAN
Berdasarkan kepada jadual dan borang di bawah, lakukan penormalan sehingga 3NF.
INVOIS
Kod Pembekal
No Pelanggan
Nama Barang
Kod Barang
Pembekal
Kuantiti
Alamat
Alamat
Nama
Harga
PG0001 Dayang Sentul KB1000 Papan Kekunci 20 25.00 XYZ Bhd Subang
Nurfaizah CP2300 CPU 10 650.00 PQR Ent Gombak
MS1112 Tetikus 3 15.00 XYZ Bhd Subang
PG1001 Siti Ampang HD2000 Hard Disc 10 125.00 XYZ Bhd Subang
Nurhaliza KB1000 Papan Kekunci 8 25.00 XYZ Bhd Subang
SP0360 Pembesar Suara 6 45.00 PQR Ent Gombak
VIRTUAL HOME
PROPERTY INSPECTION REPORT
Property No: PG4 Property Address : 25, Taman Cempaka
Inspection Inspesction
InspectionID Comment StaffID StaffName
Date Time
1 31/12/2000 10.02 AM In good order S1002 Malia
Need to
2 31/01/2002 12.02 PM S1005 Naida
repair
TUTORIAL 7: PENORMALAN
1.
Nama Kod Nama Kod Nama
No Filem Lokasi Keuntungan
Filem Pawagam Pawagam Pengurus Pengurus
23 Puteri
AB Cineplex JB KP01 Mohd Hakim 4500.00
Gunung
Ledang
CD Cineplex KL KP02 David Teo 3000.00
2.
Nombor Nama Nombor Nama Nombor Nama Cawangan Tel
Kursus Kursus Jabatan Jabatan Pensyarah
100 Teaching 13 Jabatan 200 Sarimah JB 07-2767500
Technic Multimedia
13 Jabatan 174 Joanne JB 07-2767500
Multimedia
11 Jabatan IT 278 Fadzil Klang 03-2224587
11 Jabatan IT 100 Celine SP 04-4445899
12 Jabatan 107 Halina KL 03-2910400
Grafik
12 Jabatan 111 Amir Klang 03-2224587
Grafik
12 Jabatan 135 Ahmad KL 03-2910400
Grafik
13 Jabatan 205 Rose KL 03-2910400
Multimedia
110 C++ 11 Jabatan IT 198 Miza JB 07-2767500
11 Jabatan IT 278 Fadzil Klang 03-2224587
11 Jabatan IT 100 Celine SP 04-4445899
120 Audio 13 Jabatan 200 Sarimah JB 07-2767500
Visual Multimedia
13 Jabatan 205 Rose KL 03-2910400
Multimedia
13 Jabatan 205 Rose KL 03-2910400
Multimedia
13 Jabatan 211 Zaifa JB 07-2767500
Multimedia
Melana Corporation merupakan sebuah syarikat menjual pelbagai barangan jualan langsung. Ibu
pejabatnya terletak di Johor Bahru dan terdapat 5 buah cawangan lain di Semenanjung Malaysia.
Pengurusnya ingin membeli satu sistem yang berupaya untuk membuat transaksi secara on-line. Walau
bagaimanapun, pengurusnya masih kurang jelas tentang beberapa perkara dan melantik anda sebagai
penasihat bagi mencadangkan sistem tersebut. Jelaskan kepada pengurus syarikat itu mengenai perkara-
perkara berikut :
a. Sekiranya semua cawangan dibenarkan untuk mencapai pangkalan data secara serentak dalam
satu masa, apakah isu-isu dan masalah-masalah yang mungkin akan timbul ? Huraikan secara
ringkas. (6m)
c. Terangkan 2 tugas aplikasi DBA dalam memastikan pangkalan data tersebut dapat dikongsi oleh
ramai pihak yang berhak serta sentiasa dalam keadaan selamat dan tidak disalahgunakan.
(4m)
d. Berdasarkan soalan 2 (c) di atas, terangkan 3 teknik-teknik yang boleh digunakan dalam
memastikan keselamatan data daripada hilang atau disalahgunakan. (6m)
PELANGGAN
NoPelanggan NamaPelanggan NoKP Alamat NoTel
001 Ali Abu 780202-01-0012 Gombak 03-45784515
002 Fatimah Karim 741212-12-4515 Shah Alam 03-45454512
003 Dew Ling Ling 780216-71-5858 Klang 03-45451875
004 Ahmad Mohamad 480615-07-8564 Cheras 03-85479657
PENYEWAAN
NoPenyewaan NoPelanggan NoVideo TarikhSewa BilVideo JumlahBayaran
011 001 024 02/02/02 2 NULL
012 003 022 01/02/02 2 NULL
013 002 021 30/01/02 1 NULL
014 001 025 02/08/02 1 NULL
VIDEO
NoVideo Tajuk KadarSewa TahunKeluaran
021 Aladdin 4.00 1990
022 Phenomenon 6.00 1998
023 The Eye 7.00 2002
024 Star Wars 6.00 2000
025 Embun 7.00 2002
b) Bina 3 jadual seperti yang ditunjukkan di atas (nyatakan kekangan yang sesuai). (6M)
c) Laksanakan pernyataan yang memaparkan maklumat video (NoVideo, Tajuk, KadarSewa) dan
pelanggan(NoPenyewaan, NoPelanggan, TarikhSewa) dari jadual VIDEO dan PENYEWAAN dengan
syarat kedua-dua lajur NoPenyewaan dari kedua-dua jadual tersebut sama. (3M)
f) Dapatkan bayaran yang akan dikenakan bagi pelanggan yang menyewa video pada lajur
JumlahBayaran di jadual PENYEWAAN (2.5M)
g) Buang rekod pelanggan yang tidak pernah membuat sebarang penyewaan video (2M)
ICode
CNo CNo ICode
CPhone
CUSTOMER
M BUY
N ITEM
BUY
IName
CName
Qty Price
CAddress
ii) Create THREE (3) tables according to the ERD. Specify the data type for each attribute wisely. State
whether the attribute is Primary Key or Foreign Key when creating tables.
mysql > create table Customer
-> (CNo CHAR(6), CName VARCHAR(30), CAddress VARCHAR(40),
-> CPhone CHAR(11), Primary Key (CNo));
Query OK, 0 rows affected (0.xx sec)
iii) Insert FIVE (5) rows of records for each table. The records for each table are shown as below:
mysql > insert into Customer values (CR0001, Zakaria b Ahmad, Tmn
Gembira, 013-5566235);
Query OK, 0 rows affected (0.xx sec)
Customer
CNo CName Address CPhone
CR0001 Zakaria b Ahmad Tmn Gembira 013-5566235
CR0002 Suzana bt Mohd Tmn Cempaka 012-5432178
CR0003 Chong Ah Meng Tmn Ampang 019-4567890
CR0004 Selvi a/p Raju Pekan Razaki 016-4139087
CR0005 Fatimah bt Saiful Tmn Rapat 017-6754321
Item Buy
ICode IName Price CNo ICode Qty
IC0001 2G Pen Drive 56.50 CR0001 IC0001 1
IC0002 CD RW 2.50 CR0002 IC0002 5
IC0003 Diskette 10.00 CR0001 IC0003 1
IC0004 Keyboard 35.00 CR0004 IC0004 2
IC0005 Mouse 23.00 CR0001 IC0005 1
xii) To show all the records in Item table and sort Ascending by their name.
Syntax :- mysql > select * from Item order by IName ASC;
xiii) To show record from Customer table that have name starting with letter C.
Syntax :- mysql > select * from Customer where CName like C%;
xiv) To show record from Item table that their name containing letter et.
Syntax :- mysql > select * from Item where IName like %et%;
xvi) To add one record into Customer table (CR0006, Azlee b Fariz, Tmn Ampang, 014-6654890)
Syntax :- mysql > insert into Customer values (CR0006, Azlee b Fariz, Tmn Ampang,
014-6654890);
xvii) To delete all the Customer record those not buy any Items.
Syntax :- mysql > delete from Customer where not exists CNo =
(Select * from Buy where CNo = Customer.CNo);
XYZDatabase
XYZDatabase represent a company with departments and employees. Each employee belongs to exactly
one department, which itself has one or more employees. Jobs of employees center around projects: each
employee works at the same time for one or more projects, and each project engage one or more
employees. The data of the sample database can be represented using four tables.
Based on the tables given as above, find out the output for each of SQL statements given:-
1. SELECT *
FROM department;
2. SELECT dept_name, dept_no
FROM department
WHERE location = Dallas;
3. SELECT emp_lname, emp_fname
FROM employee
WHERE emp_no >= 15000;
4. SELECT project_name
FROM project
WHERE budget * 0.51 > 60000;
5. SELECT emp_no, project_no
FROM works_on
WHERE project_no = p2 AND job = clerk;
6. SELECT project_no, emp_no
FROM works_on
WHERE project_no = p1 OR project_no = p2;
7. SELECT DISTINCT emp_no
FROM works_on
WHERE project_no = p1 OR project_no = p2;
8. Select emp_no, emp_lname
FROM employee WHERE NOT dept_no = d2;
9. SELECT * FROM employee
WHERE emp_no IN (29346, 28559, 25348);
10. SELECT *
FROM employee
WHERE emp_no NOT IN (10102, 9031);
11. SELECT project_name, budget
FROM project
WHERE budget BETWEEN 95000 AND 120000;
12. SELECT emp_no
FROM works_on
WHERE job = Analyst AND enter_date NOT BETWEEN 01.01.1998 AND 12.31.1988;
13. SELECT emp_fname, emp_lname, emp_no
FROM employee
WHERE emp_lname LIKE J%;
14. SELECT emp_fname, emp_lname, emp_no
FROM employee
WHERE emp_fname LIKE _a%;
15. SELECT *
FROM department
WHERE location LIKE [C-F]%;
16. SELECT job
FROM works_on
GROUP BY job;
RUJUK
THN_ THN_
ISBN NAMA_BUKU PENERBIT KUANTITI
TERBIT KELUAR
9002 BASIC: C++ MC GRAW HILL 1998 1999 1
9003 BASIC: C++ DONALDO 1997 1998 4
9006 BASIC: C++ ADDISION WESLEY 1998 2000 6
9112 MASTER MS ACCESS PRENTICE HALL 1999 2001 9
9121 INTERNET PROGRAM CORIOLIS 2000 2001 7
9022 INTERNET PROGRAM FAJAR BAKTI 1996 1999 3
9030 ORACLE PROGRAM JOHN WILEY 2002 2002 2
9043 DBASE SYSTEM HAMSTERS 2001 2001 1
9045 DBASE SYSTEM DONALDO 2001 2001 8
9048 DBASE SYSTEM FAJAR BAKTI 2002 2002 10
9050 MASTER IN JAVA JOHN WILEY 2005 2002 20
9051 MASTER IN JAVA CLOBSTER 2001 2001 3
9052 MASTER IN JAVA DELIGHT 1999 1999 7
9058 DBASE PROGRAM ADDISION WESLEY 2000 2000 9
9064 DISTRIBUTE SYSTEM FAJAR BAKTI 2002 2002 1
9072 DISTRIBUTE SYSTEM DAMAI RIA 2000 2000 6
ii. Senaraikan ISBN, Nama_Buku dan Penerbit bagi semua buku rujukan yang diterbitkan oleh
Fajar Bakti.
iii. Bilangan yang dinamakan sebagai COUNT untuk mengira jumlah buku BASIC: C++ yang
diterbitkan di antara tahun 1998 dan 2000
(6 m)
b) Keluarkan output dalam bentuk jadual apabila arahan SQL berikut dilaksanakan
i. SELECT DISTINCT NAMA_BUKU
FROM RUJUK
ORDER BY NAMA_BUKU;
iv. DELETE *
FROM RUJUK
WHERE NAMA_BUKU = INTERNET PROGRAM
OR BUKU = ORACLE PROGRAM;
(10 m)
Satu pangkalan data yang dinamakan PelajarDB hendak dibangunkan oleh sebuah syarikat pengeluar
perisian aplikasi. Terdapat 5 jadual yang terkandung di dalam pangkalan data tersebut. Skema hubungan
bagi jadual-jadual di dalam pangkaln data tersebut adalah seperti berikut:
MataPelajaran Aliran
Jabatan
Kod_Jab Nama_Jab
MT1002 Matematik
PD9100 Perdagangan
SP1000 Sains
SS2100 Sastera
Guru
IC_Guru Nama Umur Bangsa Jawatan No_Tel KoD_MP Kod_Jab
A0434212 Zamri 45 Melayu Guru Kanan 03-4244911 MT1042 MT1002
A0899334 Hani Shakila 42 Melayu Guru 03-7654334 SP2322 SP1000
A1923456 Y T Leong 39 Cina Guru Disiplin 03-5678943 MT1042 PD9100
A2342322 Muthusamy 48 India Guru 03-5433236 SJ4023 SS2100
a) Berdasarkan kepada maklumat di atas, tuliskan pernyataan SQL bagi soalan-soalan berikut:
1. Paparkan kesemua data daripada jadual Guru kodkan arahan bagi mengira bilangan murid yang
mendaftar bagi sesebuah aliran
2. Paparkan IC_Murid, Nama, TLahir, Jantina serta ID_Aliran daripada jadual Murid dan Nama_Aliran
serta Sesi_Aliran daripada jadual Aliran mengikut susunan menurun lajur Nama di mana ID_Aliran
bagi kedua-dua jadual adalah sama
3. Kemaskini jadual Murid bagi lajur Nama sebagai Mawi World jika ID_Aliran murid tersebut adalah
ST1006
4. Masukkan satu baris data di bawah ke dlam jadual MataPelajaran
b) Berdasarkan kepada data-data dari kelima-lima jadual, dapatkan output bagi setiap pernyataan SQL
berikut:
2. SELECT *
FROM Jabatan
ORDER BY Kod_Jab DESC;
5. SELECT *
FROM Guru
WHERE Bangsa LIKE %U