Anda di halaman 1dari 18

JABATA

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

TUTORIAL 1 : PENGENALAN KEPADA PANGKALAN DATA

1. Terangkan dengan ringkas setiap istilah yang berikut:


a) Pangkalan Data
b) Sistem Pengurusan Pangkalan Data
c) Sistem Pangkalan Data
d) Aplikasi Pangkalan Data

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.

4. Nyatakan kelemahan-kelemahan yang terdapat dalam sistem pemprosesan fail. Bagaimanakah


kelemahan-kelemahan tersebut diatasi oleh sistem pangkalan data.

TUTORIAL 2 : SENIBINA TIGA PARAS ANSI-SPARC

1. Senibina Tiga Paras ANSI-SPARC mempunyai tiga paras iaitu paras luaran, paras konseptual dan paras
dalaman. Terangkan dengan ringkas ketiga-tiga istilah tersebut.

2. Lukiskan gambarajah Senibina Tiga Paras ANSI-SPARC.

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

prepared by: nurizah@ict.puo.edu.my


F4109 DATABASE SYSTEM TUTORIAL

TUTORIAL 3 : MODEL PERHUBUNGAN ENTITI

1. Takrifkan istilah-istilah berikut:


a) Entiti
b) Atribut
c) Perhubungan

2. Tunjukkan pemetaan kekardinalan perhubungan-perhubungan berikut:


a) Seorang pelanggan sebuah bank boleh mempunyai beberapa jenis akaun dan sesuatu akaun
boleh dikongsi oleh dua orang pelanggan
b) Seorang murid berbasikal ke sekolah dan tiada seorang pun yang menunggang basikal berdua.
c) Beberapa orang pesakit dirawat oleh seorang doktor dan seorang doktor menjadi panel kepada
lebih daripada seorang pesakit.

3. Modelkan senario di bawah dengan menggunakan gambarajah perhubungan entiti (ERD).


a) Sebuah agensi pekerjaan memberi khidmat mendapatkan calon pekerja untuk bakal majikannya.
Untuk tujuan tersebut, agensi ini perlu menyimpan butir-butir seperti nama, nombor kad
pengenalan, alamat, nombor telefon, tarikh lahir dan jenis kemahiran calon yang memohon
pekerjaan. Di samping itu, agensi ini juga perlu menyimpan data-data yang berkaitan daripada
majikan. Permintaan untuk pekerja diajukan oleh majikan kepada agensi dengan menyatakan
jenis kerja serta gaji yang ditawarkan, jenis kemahiran yang diingini dan tarikh pekerjaan
diperlukan.
b) Ujikaji di dalam sebuah makmal perlu dilakukan oleh pelajar dengan menggunakan satu atau
lebih bahan tertentu. Seorang pelajar mesti membuat satu atau lebih ujikaji. Satu ujikaji boleh
dilakukan secara individu atau berkumpulan dengan ahli tidak lebih daripada lima orang. Suatu
ujikaji mesti disiapkan dalam satu jangka waktu tertentu. Setiap ujikaji diberi nombor pengenalan
yang unik dan boleh dilakukan oleh lebih daripada satu kumpulan pelajar. Nama-nama bahan
yang digunakan juga unik.
c) Seorang staf di sebuah jabatan kerajaan diwajibkan membuka sama ada suatu akaun simpanan
atau suatu akaun semasa. Pemegang akaun simpanan dibayar kadar faedah tetap. Pemegang
akaun semasa diberi pilihan untuk mendapatkan beberapa kemudahan lain dengan
mendapatkan kad emas atau kad perak atau kedua-duanya sekali. Kedua-dua kad memberi
kemudahan yang berlainan. Bagaimanapun, semua pemegang akaun semasa boleh menikmati
kemudahan overdraft.

prepared by: nurizah@ict.puo.edu.my


F4109 DATABASE SYSTEM TUTORIAL

TUTORIAL 4 : 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.

Syarikat tersebut memperolehi barang-barang daripada beberapa pengedar, Biasanya satu


pengedar akan mengedar pelbagai jenis barang kepada syarikat tersebut. Antaranya seperti telefon
bimbit, aksesori telefon dank ad prabayar. Setiap cawangan akan mengurskan sendiri urusan
pembelian kepada pembekal-pembekal tersebut. Setiap cawangan akan membuat pesanan dan
pembayaran hanya akan dibuat setelah barang-barang diterima. Barang-barang akan dijual kepada
pelanggan samada secara tunai atau menggunakan kad kredit.

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.

prepared by: nurizah@ict.puo.edu.my


F4109 DATABASE SYSTEM TUTORIAL

TUTORIAL 5 : MODEL PERHUBUNGAN ENTITI

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.

2. Berdasarkan kepada relation di bawah, lakarkan gambarajah ERD yang lengkap


Based on the relation below, draw a complete ERD.

STUDENT (StudentNo, StudentName, CreditHour, GPA, TutorNo)

TUTOR (TutorNo, TutorName)

COURSE (CourseNo, CourseName, CreditHour)

GRADE (StudentNo, CourseNo, Grade)

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.

b) Setiap fakulti menawarkan beberapa kursus. Contohnya Fakulti Teknologi Maklumat


menawarkan kursus Diploma Teknologi Maklumat (perisian), Diploma Teknologi Maklumat
(perniagaan) dan Diploma Lanjutan Teknologi Perisian.

c) Di dalam setiap kursus, pelajar perlu belajar beberapa subjek.

d) Pelajar dibenarkan mengambil lebih daripada satu subjek setiap semester.

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.

prepared by: nurizah@ict.puo.edu.my


F4109 DATABASE SYSTEM TUTORIAL

4. Tukarkan gambarajah hubungan entiti di bawah ke dalam bentuk relation.

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

prepared by: nurizah@ict.puo.edu.my


F4109 DATABASE SYSTEM TUTORIAL

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

PG2002 Jamal Klang MS1112 Tetikus 4 15.00 XYZ Bhd Subang


Abdillah CP2300 CPU 3 650.00 PQR Ent Gombak
VG4000 Kad VGA 5 215.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

prepared by: nurizah@ict.puo.edu.my


F4109 DATABASE SYSTEM TUTORIAL

TUTORIAL 7: PENORMALAN

Berdasarkan kepada jadual di bawah, lakukan penormalan sehingga 3NF.

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

EF Roxy IPOH KP03 Peter 5500.00


69 60 Minutes
AB Cineplex JB KP01 Mohd Hakim 6000.00

CD Cineplex KL KP02 David Teo 5000.00

EF Roxy KL KP02 David Teo 4500.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

prepared by: nurizah@ict.puo.edu.my


F4109 DATABASE SYSTEM TUTORIAL

TUTORIAL 8: KESELAMATAN PANGKALAN DATA

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)

b. Terangkan 2 cara bagaimana untuk mengatasi masalah-masalah yang dinyatakan tadi.


(4m)

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)

TUTORIAL 9: SQL (Structured Query Language)


Kedai Video Best.com menyediakan perkhidmatan penyewaan video kepada pelanggan-pelanggan yang
berdaftar di kedai tersebut. Setiap video yang disewa mempunyai kadar sewa tertentu bergantung kepada
tarikh keluaran video tersebut, pelanggan membuat pembayaran adalah berdasarkan kepada jumlah kadar
sewa yang telah ditetapkan kepada setiap video. Hubungan di antara PELANGGAN dengan PENYEWAAN
dan PENYEWAAN dengan VIDEO adalah 1:M. Skema hubungan adalah seperti ditunjukkan di bawah :

PELANGGAN(NoPelanggan, NamaPelanggan, NoKP, Alamat, NoTel)


PENYEWAAN(NoPenyewaan,TarikhSewa,BilVideo,JumlahBayaran, NoPelanggan, NoVideo)
VIDEO(NoVideo, Tajuk, KadarSewa, TahunKeluaran)

Jadual-jadual data adalah seperti berikut :

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

prepared by: nurizah@ict.puo.edu.my


F4109 DATABASE SYSTEM TUTORIAL

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

Tuliskan arahan SQL bagi setiap soalan di bawah :

a) Bina pangkalan data di atas bernama SistemPenyewaanVideo. (2M)

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)

d) Tambahkan 1 rekod baru ke dalam jadual PELANGGAN seperti di bawah: (2M)


NoPelanggan NamaPelanggan NoKP Alamat NoTel
005 Jeniffer a/p Lopez 750202-01-0012 Shah Alam 03-45787892

e) Laksananakan pernyataan yang memaparkan NoPelanggan, NamaPelanggan dan NoTel bagi


pelanggan yang tinggal di Shah Alam sahaja mengikut turutan menaik nama pelanggan (2.5M)

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)

prepared by: nurizah@ict.puo.edu.my


F4109 DATABASE SYSTEM TUTORIAL

TUTORIAL 10: SQL (Structured Query Language)


One database Purchase_System is created. The relationship between Customer and Item is many to many
(M:N). This database contains Customer, Item and Buy tables. The relationship scheme for all the entities
shown as follow:
Customer(CNo, CName, Caddress, CPhone);
Item(ICode, IName, Price);
Buy(CNo, ICode, Qty);
The following ERD for database Purchase_System shown as below:

ICode
CNo CNo ICode

CPhone
CUSTOMER
M BUY
N ITEM
BUY
IName

CName

Qty Price
CAddress

Using MySQL, do all the operations below:

i) Create one database called Purchase_System.


mysql > create database Purchase_System;
Query OK, 1 row affected (0.xx sec)
mysql > use Purchase_System;
Database changed

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)

mysql > create table Item


-> (ICode CHAR(6) Primary Key, IName VARCHAR(30),
-> Price FLOAT);
Query OK, 0 rows affected (0.xx sec)

mysql > create table Buy


-> (CNo CHAR(6), ICode CHAR(6), Qty INT,
-> Foreign Key(CNo) references Customer(CNo),
-> Foreign Key(ICode) references Item(ICode));
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

prepared by: nurizah@ict.puo.edu.my


F4109 DATABASE SYSTEM TUTORIAL

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

iv) To show all databases stored in MySQL.


Syntax :- mysql > show databases;

v) To show all tables in each database.


Syntax :- mysql > show tables;

vi) To show all the details attribute in each table.


Syntax :- mysql > describe tableName; or mysql > explain tableName;

vii) To exit from MySQL.


Syntax :- mysql > exit;

viii) To show all the records in Customer table.


Syntax :- mysql > select * from Customer;

ix) To show item name and price form Item table.


Syntax :- mysql > select IName, Price from Item;

x) To show item name if the price is more than RM10.00.


Syntax :- mysql > select IName from Item where Price > 10.00;

xi) To show customer name that bought Diskette.


Syntax :- mysql > select CName, IName from Customer, Item where Buy.ICode = IC0003;

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%;

xv) To update price for Diskette from Item table to RM12.50.


Syntax :- mysql > update Item set Price = 12.50 where IName = Diskette;

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);

prepared by: nurizah@ict.puo.edu.my


F4109 DATABASE SYSTEM TUTORIAL

TUTORIAL 11: SQL (Structured Query Language)

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.

Department (dept_no, dept_name, location);

dept_no dept_name location


d1 Research Dallas
d2 Accounting Seattle
d3 Marketing Dallas

Employee (emp_no, emp_fname, emp_lname, dept_no);

emp_no emp_fname emp_lname dept_no


25348 Matthew Smith d3
10102 Ann Jones d3
18316 John Barrimore d1
29346 James James d2
9031 Elke Hansel d2
2581 Elsa Bertoni d2
28559 Sybill Moser d1

Project (project_no, project_name, budget);

project_no project_name budget


p1 Apollo 120000
p2 Gemini 95000
p3 Mercury 185600

Works_on (emp_no, project_no, Job, enter_date);

Emp_no Project_no Job Enter_date


10102 p1 Analyst 1997.10.1 00:00:00
10102 p3 Manager 1999.1.1 00:00:00
25348 p2 Clerk 1998.2.15 00:00:00
18316 p2 NULL 1998.6.1 00:00:00
29346 p2 NULL 1997.12.15 00:00:00
2581 p3 Analyst 1998.10.15 00:00:00
9031 p1 Manager 1998.4.15 00:00:00
28559 p1 NULL 1998.8.1 00:00:00
28559 p2 Clerk 1999.2.1 00:00:00
9031 p3 Clerk 1997.11.15 00:00:00
29346 p1 Clerk 1998.1.4 00:00:00

prepared by: nurizah@ict.puo.edu.my


F4109 DATABASE SYSTEM TUTORIAL

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;

prepared by: nurizah@ict.puo.edu.my


F4109 DATABASE SYSTEM TUTORIAL

17. SELECT MIN(emp_no) AS MinEmployeeNo


FROM employee;
18. SELECT SUM(budget) AS SumOfBudget
FROM project;
19. SELECT job, COUNT(*) jobCount
FROM works_on
GROUP BY job;
20. SELECT emp_fname, emp_lname, dept_no
FROM employee
WHERE emp_no < 20000 ORDER BY emp_fname DESC;

prepared by: nurizah@ict.puo.edu.my


F4109 DATABASE SYSTEM TUTORIAL

TUTORIAL 12: SQL (Structured Query Language)

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

a) Tuliskan arahan SQL bagi kes-kes di bawah.


i. Senaraikan semua buku yang diterbitkan di antara tahun 1999 dan 2001

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;

ii. SELECT ISBN, NAMA_BUKU, PENERBIT, THN_TERBIT


FROM RUJUK
WHERE BUKU LIKE DBASE%
AND THN_TERBIT BETWEEN 1997 AND 2003
ORDER BY THN_TERBIT ASC;

iii. SELECT NAMA_BUKU, PENERBIT, KUANTITI*2


FROM RUJUK
WHERE ISBN BETWEEN 9043 AND 9052;

iv. DELETE *
FROM RUJUK
WHERE NAMA_BUKU = INTERNET PROGRAM
OR BUKU = ORACLE PROGRAM;
(10 m)

prepared by: nurizah@ict.puo.edu.my


F4109 DATABASE SYSTEM TUTORIAL

TUTORIAL 13: SQL (Structured Query Language)

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:

Murid(IC_Murid, Nama, TLahir, Jantina, Umur, No_Jalan, Poskod, Negeri, ID_Aliran);


MataPelajaran(KodMP, Nama_MP);
Aliran(ID_Aliran, Nama_Aliran, Sesi_Aliran);
Guru(IC_Guru, Nama, Umur, Bangsa, Jawatan, No_Tel, Kod_Jab);
Jabatan(Kod_Jab, Nama_Jab);
(Dimana Primary Key ditunjukkan dengan perkataan underlined dan bold manakala perkataan dengan
huruf condong dan dotted lined mewakili Foreign Key)

Data-data yang terkandung dalam setiap jadual adalah seperti berikut:


Murid
IC_Murid TLahir Jantina Umur No_Jalan Poskod Negeri ID_Aliran
860204- NurFatimah 04/02/86 Perempuan 15 64-1, Jln 51200, Selangor SS2402
10-2414 24/3 Cheras
870606- Wan Azli 06/06/87 Lelaki 14 No. 32, Jln 50101, KL SS2002
10-2417 Amar Semarak
871114- Nursyahira 14/11/87 Perempuan 14 SS20/3, Jln 41000, Selangor SR1020
01-5126 Samy Puchong
880120- Razmi 20/01/88 Lelaki 13 No. 13/7, 68000, KL SP2002
01-1029 Jln Melati Ampang
880412- Umi Aini 12/04/88 Perempuan 13 No. 7, Jln 54322, KL ST1006
102418 Kastam Kerinchi

MataPelajaran Aliran

Kod_MP ama_MP ID_Aliran Nama_Aliran Sesi_Aliran


GR2464 Geografi SP2002 Sains Perdagangan Pagi
MT1042 Matematik SR1020 Sains RumahTangga Petang
SJ4023 Sejarah SS2402 Sastera Petang
SL4212 Seni Lukis ST1000 Sains Tulen Pagi
SP2322 Sains Panduan ST1006 Sains Pertanian Pagi

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

prepared by: nurizah@ict.puo.edu.my


F4109 DATABASE SYSTEM TUTORIAL

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:

1. SELECT IC_Murid, Nama, TLahir, ID_Aliran


FROM Murid
WHERE ID_Aliran LIKE 2%;

2. SELECT *
FROM Jabatan
ORDER BY Kod_Jab DESC;

3. SELECT IC_Guru, Nama, Jawatan, Nama_MP Subjek Diajar


FROM Jabatan, MataPelajaran
WHERE Jabatan.Kod_MP = MataPelajaran.Kod_MP;

4. SELECT Count(*) Bil_Pelajar


FROM Murid

5. SELECT *
FROM Guru
WHERE Bangsa LIKE %U

prepared by: nurizah@ict.puo.edu.my

Anda mungkin juga menyukai