18

Click here to load reader

Soalan Tutorial

Embed Size (px)

Citation preview

Page 1: Soalan Tutorial

JABATAPOLITE

F41SOALA

Disediaka

AN TEKNKNIK UN

109 –AN-SOA

an oleh: nur

OLOGI MNGKU OM

– DAALAN T

[email protected]

MAKLUMMAR, IPO

ATABTUTORI

puo.edu.my

MAT & KOOH

BASIAL

y

OMUNIKA

E SY

J

ASI

YSTE

ula

M

ai 20099

Page 2: Soalan Tutorial

F4109 – DATABASE SYSTEM TUTORIAL

© prepared by: [email protected]

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

Page 3: Soalan Tutorial

F4109 – DATABASE SYSTEM TUTORIAL

© prepared by: [email protected]

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’.

Page 4: Soalan Tutorial

F4109 – DATABASE SYSTEM TUTORIAL

© prepared by: [email protected]

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.

Page 5: Soalan Tutorial

F4109 – DATABASE SYSTEM TUTORIAL

© prepared by: [email protected]

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.

Page 6: Soalan Tutorial

F4109 – DATABASE SYSTEM TUTORIAL

© prepared by: [email protected]

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

ITEM

QUATATION PROJECT

SUPPLIER

have

have

send

ItemNumber

Description

Category

ProjectID

Name Phone

SupplierID

SupName

Contact

Phone

Discount

QuatationID

ItemNumber

SupplierID

Quantity

Retail Price

ProjectID

1

M

M

1

M 1

Owner

Page 7: Soalan Tutorial

F4109 – DATABASE SYSTEM TUTORIAL

© prepared by: [email protected]

TUTORIAL 6: PENORMALAN

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

No

Pela

ngga

n

Nam

a

Ala

mat

Kod

Bara

ng

Nam

a Ba

rang

Kuan

titi

Har

ga

Kod

Pem

beka

l

Ala

mat

Pe

mbe

kal

PG0001

Dayang Nurfaizah

Sentul

KB1000 CP2300 MS1112

Papan Kekunci CPU Tetikus

20 10 3

25.00 650.00 15.00

XYZ Bhd PQR Ent XYZ Bhd

Subang Gombak Subang

PG1001

Siti Nurhaliza

Ampang

HD2000 KB1000 SP0360

Hard Disc Papan Kekunci Pembesar Suara

10 8 6

125.00 25.00 45.00

XYZ Bhd XYZ Bhd PQR Ent

Subang Subang Gombak

PG2002

Jamal Abdillah

Klang

MS1112 CP2300 VG4000

Tetikus CPU Kad VGA

4 3 5

15.00 650.00 215.00

XYZ Bhd PQR Ent PQR Ent

Subang Gombak Gombak

VIRTUAL HOME

PROPERTY INSPECTION REPORT Property No: PG4 Property Address : 25, Taman Cempaka

InspectionID Inspection Date

Inspesction Time Comment StaffID StaffName

1 31/12/2000 10.02 AM In good order S1002 Malia

2 31/01/2002 12.02 PM Need to repair S1005 Naida

Page 8: Soalan Tutorial

F4109 – DATABASE SYSTEM TUTORIAL

© prepared by: [email protected]

TUTORIAL 7: PENORMALAN

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

No Filem Nama Filem

Kod Pawagam

Nama Pawagam

Lokasi Kod

Pengurus Nama

Pengurus Keuntungan

23 Puteri Gunung Ledang

AB Cineplex JB KP01 Mohd Hakim 4500.00

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 Kursus

Nama Kursus

Nombor Jabatan

NamaJabatan

NomborPensyarah

Nama Cawangan Tel

100 Teaching Technic

13 Jabatan Multimedia

200 Sarimah JB 07-2767500

13 Jabatan Multimedia

174 Joanne JB 07-2767500

11 Jabatan IT 278 Fadzil Klang 03-2224587 11 Jabatan IT 100 Celine SP 04-4445899 12 Jabatan

Grafik 107 Halina KL 03-2910400

12 Jabatan Grafik

111 Amir Klang 03-2224587

12 Jabatan Grafik

135 Ahmad KL 03-2910400

13 Jabatan Multimedia

205 Rose KL 03-2910400

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-4445899120 Audio

Visual 13 Jabatan

Multimedia 200 Sarimah JB 07-2767500

13 Jabatan Multimedia

205 Rose KL 03-2910400

13 Jabatan Multimedia

205 Rose KL 03-2910400

13 Jabatan Multimedia

211 Zaifa JB 07-2767500

Page 9: Soalan Tutorial

F4109 – DATABASE SYSTEM TUTORIAL

© prepared by: [email protected]

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

Page 10: Soalan Tutorial

F4109 – DATABASE SYSTEM TUTORIAL

© prepared by: [email protected]

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)

Page 11: Soalan Tutorial

F4109 – DATABASE SYSTEM TUTORIAL

© prepared by: [email protected]

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: Using MySQL, do all the operations below: i) Create one database called Purchase_System.

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.

iii) Insert FIVE (5) rows of records for each table. The records for each table are shown as below: Customer

CNo CName Address CPhoneCR0001 Zakaria b Ahmad Tmn Gembira 013-5566235CR0002 Suzana bt Mohd Tmn Cempaka 012-5432178CR0003 Chong Ah Meng Tmn Ampang 019-4567890CR0004 Selvi a/p Raju Pekan Razaki 016-4139087CR0005 Fatimah bt Saiful Tmn Rapat 017-6754321

BUYCUSTOMER ITEM BUY

CNo

CName

CAddress

CPhone

CNo ICode

Qty Price

IName

ICode

M N

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

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)

mysql > insert into Customer values (‘CR0001’, ‘Zakaria b Ahmad’, ‘Tmn Gembira’, ‘013-5566235’); Query OK, 0 rows affected (0.xx sec)

Page 12: Soalan Tutorial

F4109 – DATABASE SYSTEM TUTORIAL

© prepared by: [email protected]

Item ICode IName Price

IC0001 2G Pen Drive 56.50 IC0002 CD RW 2.50 IC0003 Diskette 10.00 IC0004 Keyboard 35.00 IC0005 Mouse 23.00

Buy CNo ICode Qty

CR0001 IC0001 1 CR0002 IC0002 5 CR0001 IC0003 1 CR0004 IC0004 2 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);

Page 13: Soalan Tutorial

F4109 – DATABASE SYSTEM TUTORIAL

© prepared by: [email protected]

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:002581 p3 Analyst 1998.10.15 00:00:009031 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:0029346 p1 Clerk 1998.1.4 00:00:00

Page 14: Soalan Tutorial

F4109 – DATABASE SYSTEM TUTORIAL

© prepared by: [email protected]

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;

Page 15: Soalan Tutorial

F4109 – DATABASE SYSTEM TUTORIAL

© prepared by: [email protected]

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;

Page 16: Soalan Tutorial

F4109 – DATABASE SYSTEM TUTORIAL

© prepared by: [email protected]

TUTORIAL 12: SQL (Structured Query Language) RUJUK

ISBN NAMA_BUKU PENERBIT THN_ TERBIT

THN_ KELUAR

KUANTITI

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)

Page 17: Soalan Tutorial

F4109 – DATABASE SYSTEM TUTORIAL

© prepared by: [email protected]

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-10-2414

NurFatimah 04/02/86 Perempuan 15 64-1, Jln 24/3

51200, Cheras

Selangor SS2402

870606-10-2417

Wan Azli 06/06/87 Lelaki 14 No. 32, Jln Amar

50101, Semarak

KL SS2002

871114-01-5126

Nursyahira 14/11/87 Perempuan 14 SS20/3, Jln Samy

41000, Puchong

Selangor SR1020

880120-01-1029

Razmi 20/01/88 Lelaki 13 No. 13/7, Jln Melati

68000, Ampang

KL SP2002

880412-102418

Umi Aini 12/04/88 Perempuan 13 No. 7, Jln Kastam

54322, Kerinchi

KL ST1006

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

Page 18: Soalan Tutorial

F4109 – DATABASE SYSTEM TUTORIAL

© prepared by: [email protected]

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’