CBDB3203 – Implementasi Pengkalan Data

SOALAN 1

  1. Jadual bagi Jabatan, Ahli-Fakulti, Subjek, Kelas, Pelajar,Daftarmasuk dan Markah diwujudkan

  1. Kunci utama dan kunci asing telah diwujudkan. Sila rujuk ‘softcopy’ assignment untuk butiran lebih lanjut. Contoh di bawah adalah bagi jadual pelajar. Sila lihat ‘description’ untuk maklumat lebih lanjut mengenai kunci utama yang menjadi kunci asing di jadual lain.

  1. Rajah hubungan bagi tugasan

  1. Penghasilan borang bagi setiap jadual. Contoh di bawah ialah bagi jadual pelajar. Sila rujuk salinan ‘softcopy’ bagi melihat borang untuk jadual-jadual lain.

  1. Kemasukan data bagi setiap jadual. Sila rujuk softcopy dan dibawah ialah contoh data yang telah dimasukkan bagi jadual Pelajar.


SOALAN 2

Menulis kueri SQL untuk:

1. Senarai semua pelajar mengikut major.

Kueri SQL:

SELECT Pelajar.[ID Pelajar], Pelajar.[Nama Pelajar], Pelajar.Major, Pelajar.Peringkat, Pelajar.Umur

FROM Pelajar

ORDER BY Pelajar.Major;

Output


2. Senarai ahli fakulti yang bekerja di bawah Jabatan Sistem Komputer

Kueri SQL:

SELECT [Ahli-fakulti].[No Staff], [Ahli-fakulti].Nama, [Ahli-fakulti].[No Jabatan], Jabatan.[Nama Jabatan]

FROM Jabatan INNER JOIN [Ahli-fakulti] ON Jabatan.[No Jabatan] = [Ahli-fakulti].[No Jabatan]

WHERE (((Jabatan.[Nama Jabatan])=”Jabatan Sistem Komputer”));

Output:


3. Pelajar yang mendaftar di bawah subjek COMP9311

Kueri SQL:

SELECT [Daftar Masuk].[ID Subjek], Pelajar.[ID Pelajar], Pelajar.[Nama Pelajar]

FROM Pelajar INNER JOIN [Daftar Masuk] ON Pelajar.[ID Pelajar] = [Daftar Masuk].[ID Pelajar]

WHERE ((([Daftar Masuk].[ID Subjek])=”COMP9311″));

Output:


4. Senarai pelajar yang mempunyai kuliah pada hari Isnin

Kueri SQL:

SELECT Kelas.[ID Subjek], Kelas.Masa, Pelajar.[ID Pelajar], Pelajar.[Nama Pelajar]

FROM (Subjek INNER JOIN Kelas ON Subjek.[ID Subjek] = Kelas.[ID Subjek]) INNER JOIN (Pelajar INNER JOIN [Daftar Masuk] ON Pelajar.[ID Pelajar] = [Daftar Masuk].[ID Pelajar]) ON (Kelas.[ID Subjek] = [Daftar Masuk].[ID Subjek]) AND (Subjek.[ID Subjek] = [Daftar Masuk].[ID Subjek])

WHERE (((Kelas.Masa)=”Isnin 11am” Or (Kelas.Masa)=”isnin 2pm”));

Output:


5. Subjek yang diajar oleh ahli fakulti di bawah Jabatan Kejuruteraan Perisian

Kueri SQL:

SELECT Jabatan.[Nama Jabatan], [Ahli-fakulti].[No Staff], [Ahli-fakulti].Nama, Subjek.[Nama Subjek]

FROM Subjek INNER JOIN ((Jabatan INNER JOIN [Ahli-fakulti] ON Jabatan.[No Jabatan] = [Ahli-fakulti].[No Jabatan]) INNER JOIN Kelas ON [Ahli-fakulti].[No Staff] = Kelas.[No Staff]) ON Subjek.[ID Subjek] = Kelas.[ID Subjek]

WHERE (((Jabatan.[Nama Jabatan])=”Kejuruteraan Perisian”));

Output:


6. Jumlah pelajar yang mendaftar di bawah subjek COMP1011

Kueri SQL:

SELECT COUNT (*) AS JumlahPelajar

FROM [Daftar Masuk]

WHERE [ID Subjek]=”COMP1011″

Output:


7. Senarai pengajar yang mengajar lebih dari satu subjek.

Kueri SQL:

SELECT [Ahli-fakulti].[No Staff], [Ahli-fakulti].Nama, Kelas.[ID Subjek]

FROM [Ahli-fakulti] INNER JOIN Kelas ON [Ahli-fakulti].[No Staff] = Kelas.[No Staff]

WHERE ((([Ahli-fakulti].Nama)=”noraini ibrahim”)) OR ((([Ahli-fakulti].Nama)=”lailatul sahira”));

Output:


8. Pelajar peringkat 2 yang daftar masuk di bawah subjek COMP1011

Kueri SQL:

SELECT Pelajar.[ID Pelajar], Pelajar.[Nama Pelajar], Pelajar.Peringkat, [Daftar Masuk].[ID Subjek]

FROM Pelajar INNER JOIN [Daftar Masuk] ON Pelajar.[ID Pelajar] = [Daftar Masuk].[ID Pelajar]

WHERE (((Pelajar.Peringkat)=”2″) AND (([Daftar Masuk].[ID Subjek])=”comp1011″))

ORDER BY Pelajar.Peringkat;

Output:


9. Jumlah pelajar mendaftar di bawah subjek yang diajar oleh Lailatul Syahira

Kueri SQL:

SELECT Pelajar.[ID Pelajar], Pelajar.[Nama Pelajar], Subjek.[ID Subjek], [Ahli-fakulti].Nama

FROM Subjek INNER JOIN ([Ahli-fakulti] INNER JOIN ((Pelajar INNER JOIN [Daftar Masuk] ON Pelajar.[ID Pelajar] = [Daftar Masuk].[ID Pelajar]) INNER JOIN Kelas ON [Daftar Masuk].[ID Subjek] = Kelas.[ID Subjek]) ON [Ahli-fakulti].[No Staff] = Kelas.[No Staff]) ON (Subjek.[ID Subjek] = Kelas.[ID Subjek]) AND (Subjek.[ID Subjek] = [Daftar Masuk].[ID Subjek])

WHERE ((([Ahli-fakulti].Nama)=”lailatul sahira”));

Output:


10. Jumlah pelajar yang gagal dalam subjek COMP2031 dan waktu 06s2.

Kueri SQL:

SELECT Pelajar.[ID Pelajar], Pelajar.[Nama Pelajar], Markah.[ID Subjek], Markah.Waktu, Markah.Markah

FROM Pelajar INNER JOIN Markah ON Pelajar.[ID Pelajar] = Markah.[ID Pelajar]

WHERE (((Markah.[ID Subjek])=”comp2031″) AND ((Markah.Markah)<40)) OR (((Markah.Waktu)=”06s2″));

Output:


11. Nilai Purata Markah bagi subjek COMP9311 dan waktu 06s2.

Kueri SQL:

SELECT Sum([Markah]) AS [Jumlah Markah], Avg([Markah]) AS [Purata Markah]

FROM Markah

WHERE (((Markah.[ID Subjek])=”COMP9311″) AND ((Markah.Waktu)=”062″));

Output:


12. Markah terendah bagi subjek COMP2031.

Kueri SQL:

SELECT Min([Markah]) AS [Markah Terendah Bagi Subjek COMP2031]

FROM Pelajar INNER JOIN Markah ON Pelajar.[ID Pelajar] = Markah.[ID Pelajar]

WHERE (((Markah.[ID Subjek])=”COMP2031″));

Output:


Rujukan

1. Prof. Dr. Ansary Ahmed et. al (2007). Open University Malaysia: CBDB 3203: Implementasi Pengkalan Data. Kuala Lumpur. Meteor Doc Sdn Bhd.

2. Mata-Toledo, Ramon A. & Pauline K. Cushman. (2000). Schaum’s outline of fundamentals of SQL programming. New York. McGraw Hill.

3. Sellappan, P. (1999). ACCESS 2000 : Through Examples. Kuala Lumpur. Federal Publications.

4. Allen G. Taylor (2003). SQL For Dummies. New Jersey. Hoboken : Wiley

Leave a comment

Filed under Uncategorized

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s