Anda di halaman 1dari 8

BAHASA PERTANYAAN BERSTRUKTUR (SQL) UNIT 1

PENGENALAN KEPADA SQL BAB 1

BAB 1 PENGENALAN KEPADA SQL

PENGENALAN
Di dalam Unit 2 Modul Analisis dan Pemodelan Data, anda telah mempelajari mengenai
model data hubungan yang menjadi asas kepada teknologi pangkalan data. Ia
mempunyai asas binaan yang mantap berdasarkan teori hubungan dalam matematik.
Kini satu bahasa amat diperlukan untuk menjawab pertanyaan untuk mencapai data di
dalam pangkalan data. Pendeknya satu bahasa pertanyaan yang ramah pengguna dan
mudah, amat diperlukan bagi penggunaan komersial.

Satu bahasa yang dihasilkan dari pembangunan model data hubungan adalah
Bahasa Pertanyaan Berstruktur atau singkatannya SQL (Structured Query
Language). Kini SQL telah menjadi satu bahasa yang piawai bagi pangkalan data
hubungan. Dalam tahun 1986, satu piawaian SQL telah ditakrifkan oleh American
National Standards Institute (ANSI) yang mana akhirnya diterima pakai oleh International
Standards Organization (ISO) pada tahun 1987. Kini lebih dari 100 sistem pengurusan
pangkalan data menyokong SQL, dan boleh digunakan pada persekitaran yang berlainan
dari komputer peribadi hingga kerangka utama.

Dalam bab ini kita akan mempelajari apakah itu SQL dan apakah kepentingannya
mempelajari bahasa ini dalam membangunkan aplikasi pangkalan data semasa.

OBJEKTIF
Di akhir bab ini anda seharusnya dapat:

1. menjelaskan maksud dan kegunaan SQL beserta kepentingannya;


2. menyatakan struktur asas bahasa SQL dan menerangkan bagaimana SQL berfungsi
sebagai satu bahasa pengolahan data; dan
3. menyenaraikan dan menjawab empat pertanyaan sebelum membina SQL.

1.1 LATAR BELAKANG SQL


SQL merupakan satu bahasa pertanyaan untuk pangkalan data. Anda juga tahu bahawa,
terdapat pelbagai jenis perisian pangkalan data seperti Access, Oracle dan sebagainya.
Adakah bahasa SQL ini serasi dengan semua jenis perisian pangkalan data tersebut?

Kenapa kita perlukan satu bahasa pertanyaan? Elok kiranya kita memulakan bab ini
dengan satu persoalan, agar kelak persoalan tersebut dapat terjawab sekiranya anda
boleh memahami bab ini. Sebenarnya satu sistem pertanyaan yang lebih berstruktur
amat diperlukan supaya ruang untuk membawa interpretasi yang salah boleh
dikurangkan. Kita juga memerlukan satu sistem piawai, yang boleh dijalankan pada
pelbagai perkakasan dan sistem pangkalan data dari pembekal yang berlainan supaya
pengguna dan pembangun boleh mempelajari satu kaedah yang boleh digunakan
pada kebanyakan sistem pangkalan data.

2 OUM
UNIT 1 BAHASA PERTANYAAN BERSTRUKTUR (SQL)
BAB 1 PENGENALAN KEPADA SQL

Secara ideal, sesuatu bahasa pangkalan data membolehkan pengguna:


(i) membina pangkalan data dan struktur data;
(ii) membolehkan kemasukan, pengemaskinian dan penghapusan data dari jadual; dan
(iii) membuat pertanyaan yang mudah dan kompleks.

Bahasa Pertanyaan Berstruktur (SQL) diwujudkan untuk memenuhi kehendak-kehendak


di atas. SQL ialah bahasa pengolahan data yang paling meluas digunakan di masa ini.

Tambahan pula, bahasa pangkalan data adalah diharapkan dapat melakukan tugas-
tugas tersebut dengan usaha pengguna yang minimum. Struktur arahan dan
sintaksnya mestilah mudah dipelajari dan yang paling penting, ia mesti mempunyai
ciri mudah alih, iaitu ia mesti mematuhi piawaian yang ada supaya kita boleh
menggunakan struktur arahan dan sintaks yang sama bila kita beralih dari satu SPPD
ke SPPD yang lain. SQL diharapkan dapat memenuhi keperluan ini.

Sebagai satu bahasa, SQL mempunyai dua komponen iaitu:

1. Bahasa Takrifan Data (Data Definition Language) untuk mentakrifkan struktur pangkalan
data.
2. Bahasa Pengolahan Data (Data Manipulation Language) untuk mencapai dan mengemas
kini data.

SQL adalah mudah dipelajari kerana:

(i) ia adalah bahasa tidak bertatacara, iaitu pengguna hanya perlu menyatakan maklumat
apa yang dikehendaki dan bukan bagaimana untuk mendapatkan sesuatu maklumat;
(ii) bebas dari format / menggunakan format yang mudah difahami;
(iii) menggunakan perkataan Bahasa Inggeris harian;
(iv) tidak peka kepada huruf besar atau kecil, tetapi ia mesti ditaip seperti apa yang terdapat
di dalam pangkalan data; dan
(v) boleh digunakan oleh pelbagai pengguna seperti DBA (DataBase Administrator),
pengaturcara dan pengguna biasa.

Maklumat mengenai SQL boleh diperolehi dari banyak buku. Antara buku
yang boleh anda dapatkan untuk bacaan tambahan mengenai SQL ialah
buku bertajuk Database System: Principles, Design & Implementation
yang ditulis oleh Catherine Ricardo terbitan New York Macmilan pada
tahun 1990.

Sebelum anda meneruskan bacaan, cubalah soalan latihan berikut yang berdasarkan
kepada konsep asas yang baru anda pelajari sebentar tadi.

OUM 3
BAHASA PERTANYAAN BERSTRUKTUR (SQL) UNIT 1
PENGENALAN KEPADA SQL BAB 1

Latihan 1.1

1. Jelaskan maksud SQL dan nyatakan kegunaannya.


2. Apakah 2 komponen utama SQL dan nyatakan fungsi bagi setiap
komponen tersebut.

1.2 SEJARAH SQL

SQL ialah satu bahasa pertanyaan berstruktur yang digunakan untuk


membina pangkalan data dan juga untuk mendapatkan maklumat penting
dalam pangkalan data. Namun, tahukah anda bagaimana SQL
berkembang sejak ia mula diperkenalkan?

Sejarah model hubungan bermula dengan penghasilan kertas kerja oleh E.F Codd pada
tahun 1970 ketika bekerja di IBM. Ketika itu lahirlah satu bahasa yang dikenali sebagai
SEQUEL (Structured English Query Language). Pada tahun 1976 SEQUEL/2 dihasilkan
yang merupakan bahasa kemas kini dari versi sebelumnya. Kemudian bahasa itu telah
ditukar kepada nama SQL atas sebab undang-undang kerana nama bahasa tersebut
telah digunakan oleh pihak lain ketika itu. Sejurus selepas itu ia mula diperkenalkan
dalam SPPD komersial oleh syarikat ORACLE.

Setiap pelaksanaan bahasa SQL oleh syarikat pengeluar tertentu dikenali sebagai
satu dialek. Kini terdapat banyak dialek bahasa SQL di pasaran, kebanyakannya
mempunyai ciri-ciri tambahan atau variasi yang merupakan hiasan kepada piawaian
yang telah ditetapkan. Pada tahun 1986 satu piawaian untuk SQL telah dikeluarkan oleh
ANSI (American National Standard Institute) dan ISO (International Standard Institute).
Versi SQL yang mengikut piawaian ini dikenali sebagai SQL-86. Beberapa penambahan
telah dibuat dan pada tahun 1989 piawaian SQL-89 dikeluarkan. Kebanyakan SPPD
hari ini menyokong SQL-89. Seterusnya penyemakan terhadap piawaian SQL telah
dibuat pada tahun 1992 dan hasilnya dikenali sebagai SQL-92 atau SQL2. Pada tahun
1999, SQL - 99 atau SQL 3 pula telah diperkenalkan.

SQL adalah merupakan bahasa pangkalan data piawaian yang pertama dan satu-
satunya yang diterima ramai. Bahasa ini adalah sangat penting kerana ia paling
banyak digunakan dalam SPPD komersial dalam pelbagai syarikat dan organisasi dan
menjadi satu ukuran piawaian sejagat. Dalam piawaian ISO SQL, istilah-istilah
hubungan, atribut dan rangkap tidak digunakan, sebaliknya istilah jadual, lajur
dan baris digunakan. Malahan SQL juga tidak terikat secara ketat kepada takrif
hubungan, malahan SQL membenarkan kewujudan rangkap yang berulang. SQL
membenarkan pengguna menyusun lajur dan baris. Ia juga membenarkan penggunaan
nol bagi menyatakan nilai berkenaan tidak wujud atau tidak diketahui.

Anda boleh lawat laman web ini http://www.baycongroup.com/tocsql.htm


bagi menambah maklumat anda mengenai SQL.

4 OUM
UNIT 1 BAHASA PERTANYAAN BERSTRUKTUR (SQL)
BAB 1 PENGENALAN KEPADA SQL

1.3 STRUKTUR ASAS UNGKAPAN SQL

Anda tahu bahawa SQL ialah bahasa berstruktur, cuba anda fikirkan apa
yang dimaksudkan dengan berstruktur?

Suatu pertanyaan dalam bahasa SQL terdiri daripada tiga klausa asas dalam format seperti
berikut:

SELECT [DISTINCT | ALL] nama_lajur


FROM nama jadual
WHERE keadaan

Kita boleh membuat beberapa pemerhatian seperti berikut:

1. Ungkapan SQL dibina daripada perkataan yang ditakrif oleh SQL dan perkataan
yang ditakrif oleh pengguna. Perkataan yang ditakrif oleh SQL dikenali sebagai kata
simpanan yang membawa makna tertentu dan tidak boleh ditukar lagi. Perkataan yang
ditakrif oleh pengguna biasanya nama yang diberi oleh pengguna untuk jadual, lajur,
pandangan dan keadaan. Semuanya mestilah mengikut sintaks yang telah ditetapkan.

2. Walaupun kebanyakan pelaksanaan SQL menerima huruf kecil dan huruf besar sebagai
sama, untuk memudahkan kefahaman anda, kita akan mengikut tata tanda seperti berikut:
(i) Huruf besar untuk perkataan yang ditakrif oleh SQL dan huruf kecil untuk perkataan
yang ditakrif oleh pengguna.
(ii) Garis tegak untuk menyatakan pilihan, misalnya pilihan di antara x,y, dan z ditulis
sebagai x | y | z.
(iii) Kurungan [ ] untuk menyatakan unsur di dalamnya adalah pilihan, contohnya [ x ]
adalah pilihan.
(iv) Kurungan { } untuk menyatakan unsur di dalamnya dikehendaki, misalnya { x }
bermaksud x diperlukan.
(v) Literal mestilah ditaip seperti mana ia disimpan dalam pangkalan data. Literal
dianggap sebagai pemalar dalam pernyataan SQL, semua literal mestilah diletakkan
dalam pengikat kata, misalnya ‘Pangkalan Data’, kecuali jika literal itu ialah angka.

Walaupun SQL sebenarnya mempunyai format yang bebas tetapi untuk keseragaman dan
mudah dibaca kita akan ikuti format berikut:

(a) Setiap klausa dimulakan pada baris yang baru.


(b) Permulaan setiap klausa dijajarkan sama dan sambungannya dijajarkan ke kanan.

OUM 5
BAHASA PERTANYAAN BERSTRUKTUR (SQL) UNIT 1
PENGENALAN KEPADA SQL BAB 1

Sekarang kita lihat pula kepada sintaks dan makna setiap klausa asas SQL.

(a) SELECT Nama Lajur


Klausa SELECT diikuti oleh satu atau lebih nama lajur yang dikehendaki dalam
output. Nama lajur merujuk kepada lajur dalam jadual yang dinyatakan dalam klausa
FROM. Tanda koma ( , ) di letak di antara nama lajur jika lebih daripada satu lajur
disenaraikan.

(b) FROM Nama Jadual


Klausa FROM diikuti oleh satu atau lebih nama jadual. Jadual-jadual ini akan diimbas
oleh sistem. Jika lebih dari satu jadual disenaraikan, ini bermakna jadual-jadual itu mesti
didarab bersilang. Tanda koma ( , ) di letak di antara nama jadual jika lebih daripada satu
jadual disenaraikan.

(c) WHERE keadaan


Arahan WHERE diikuti oleh keadaan K yang merupakan satu ungkapan BOOLEAN.
K ialah kombinasi syarat yang disambung oleh AND, OR dan NOT. Syaratnya adalah
dalam bentuk

X operator Y

apabila x dan y merupakan nama lajur, pemalar atau satu ungkapan aritmetik. Operator
ialah unsur perbandingan. Unsur perbandingan yang dibenarkan di dalam ungkapan SQL
ialah:

Operator Maksud
= bersamaan dengan
< kurang dari
> lebih dari
<= kurang atau bersamaan dengan
>= lebih atau bersamaan dengan
<> tidak sama dengan

Ringkasnya K menyatakan syarat bagaimana nama lajur dalam arahan SELECT dipilih
daripada jadual atau cantuman jadual yang dinyatakan dalam arahan FROM. Arahan
WHERE adalah pilihan, jika ia tidak dinyatakan, ini bermakna keadaan K adalah sentiasa
benar.

(d) DISTINCT | ALL


DISTINCT atau ALL ialah perkataan yang ditakrif oleh SQL yang mengikuti klausa
SELECT. Tujuan DISTINCT ialah untuk menyingkirkan baris-baris yang berulang
daripada jadual yang dihasilkan, sebaliknya ALL menentukan yang semua baris
berulang dikekalkan. ALL merupakan nilai lalai. DISTINCT adalah pilihan dan jika
ditinggalkan, SQL membenarkan baris berulang wujud dalam jadual output.

6 OUM
UNIT 1 BAHASA PERTANYAAN BERSTRUKTUR (SQL)
BAB 1 PENGENALAN KEPADA SQL

Latihan berikut akan membantu kefahaman anda di dalam topik yang baru anda pelajari
sebentar tadi.

Latihan 1.2

1. Apakah yang dimaksudkan dengan pernyataan berikut:


(i) Dialek bahasa SQL
(ii) Kata simpanan SQL

2. Tuliskan satu contoh arahan SQL menggunakan tiga klausa.

Setelah anda mengetahui mengenai struktur asas SQL, apa kata rehatkan minda buat
sementara waktu sebelum meneruskan bacaan ke bahagian seterusnya.

1.4 EMPAT PERTANYAAN UNTUK MEMBINA SQL

Anda akan mempelajari teknik untuk membina SQL dengan menimbulkan


empat pertanyaan asas. Bolehkah anda terangkan kepentingan untuk
menjawab pertanyaan-pertanyaan tersebut sebelum membina SQL.

Sewajarnya sebelum kita membina SQL atau cuba mencapai data dari pangkalan data
hubungan, cuba kita tanya pada diri sendiri empat persoalan berikut:

1. Apakah output yang hendak dilihat?


2. Apa yang telah anda ketahui (atau apa kekangan yang ada)?
3. Apakah jadual yang terlibat?
4. Bagaimana jadual dihubungkan?

Anda perlu ingat empat persoalan ini tanpa menghiraukan susunannya. Apabila pertama kali
mencipta SQL, jadikan amalan untuk cuba menjawab persoalan. Untuk masalah yang mudah
mungkin anda boleh menjawab secara automatik empat persoalan ini, tetapi untuk masalah
yang lebih kompleks anda boleh menjawab sebahagian persoalan kemudian beralih kepada
persoalan yang lain sehingga anda memahami persoalan-persoalan tersebut secara
keseluruhan.

OUM 7
BAHASA PERTANYAAN BERSTRUKTUR (SQL) UNIT 1
PENGENALAN KEPADA SQL BAB 1

1.4.1 Apakah Output yang Hendak Dilihat?

Selalunya anda menjawab soalan ini dengan memilih lajur data dari beberapa jadual yang
disimpan di dalam pangkalan data. Sudah pasti anda perlu mengetahui nama bagi semua
lajur untuk menjawab soalan ini. Bahagian yang paling sukar ialah anda perlu melihat
keseluruhan senarai jadual dan mengenal pasti lajur yang diperlukan. Masalah ini bertambah
sukar sekiranya pangkalan data mempunyai beratus jadual dan beribu lajur untuk dipilih.

Anda juga boleh memberi arahan kepada sistem untuk membuat pengiraan aritmetik seperti
jumlah dan purata. Begitu juga sistem boleh melakukan operasi asas aritmetik seperti tambah,
tolak, darab dan bahagi pada data numerik.

1.4.2 Apa yang Telah Anda Ketahui?

Dalam banyak situasi, anda perlu menghadkan carian anda berdasarkan kepada kriteria
tertentu. Sebagai contoh anda mungkin berminat mengenai jualan pada tarikh tertentu atau
jualan dari satu jabatan sahaja. Keadaan carian perlu diubah kepada notasi BOOLEAN yang
piawai (pernyataan yang dihubungkan dengan AND atau OR). Bahagian yang paling penting
dalam langkah ini ialah menulis semua keadaan yang dapat membantu anda memahami
tujuan pertanyaan diadakan.

1.4.3 Apakah Jadual yang Terlibat?

Dengan jumlah jadual yang sedikit, soalan ini mudah dijawab. Tetapi sekiranya terdapat beratus
jadual, mungkin memerlukan masa yang lebih untuk menentukan jadual mana yang diperlukan.
Dengan bantuan kamus data mungkin memudahkan anda menentukan jadual mana yang
diperlukan untuk mencipta pertanyaan. Jadi adalah baik sekiranya jadual diberi nama
yang dapat menggambarkan kandungan dan tujuan dihasilkan.

1.4.4 Bagaimana Jadual Dihubungkan?

Persoalan ini adalah berkaitan dengan isu penormalan data yang merupakan nadi di
dalam pangkalan data hubungan. Jadual dihubungkan melalui data di dalam lajur yang
sama. Sebagai contoh, jadual PELAJAR mempunyai lajur NoMatrik. Data yang sama terdapat
di dalam jadual KURSUS iaitu ia juga mempunyai lajur NoMatrik. Dalam banyak keadaan,
lajur yang dihubungkan pada jadual akan mempunyai nama yang sama (contoh, NoMatrik),
dan persoalan ini agak mudah dijawab. Walau bagaimana pun tidak semua keadaan lajur
tersebut mempunyai nama yang sama, oleh itu anda perlu memikirkannya dengan lebih berhati-
hati. Sebagai contoh, jadual GRED mungkin mempunyai lajur NoPelajar yang mana
direkabentuk untuk merujuk kepada NoMatrik yang merupakan kunci kepada jadual PELAJAR.

8 OUM
UNIT 1 BAHASA PERTANYAAN BERSTRUKTUR (SQL)
BAB 1 PENGENALAN KEPADA SQL

Berikut dinyatakan beberapa persoalan yang boleh dihasilkan daripada


persekitaran universiti. Kebanyakan daripada soalan ini agak mudah
disebabkan ia hanya membabitkan satu jadual. Soalan-soalan yang diutarakan
ini adalah merupakan soalan yang biasa ditimbulkan oleh seorang pentadbir
atau dekan bagi sesuatu fakulti. Berikan pendapat anda kepada 4 pertanyaan
yang telah anda pelajari tadi berdasarkan situasi di bawah ini:

• Senaraikan semua pelajar yang mendapat A bagi kursus TM30202.


• Nyatakan peratusan pelajar mengikut kaum bagi setiap tahun pengajian.
• Nyatakan peratusan pelajar lelaki berbanding perempuan mengikut tahun
pengajian.
• Senarai semua pelajar yang mendapat PNGK bawah 2.0 yang terdiri
daripada pelajar lelaki.
• Senarai semua pelajar yang berjaya menamatkan pengajian dengan kelas
pertama.

Latihan 1.3

Sekiranya anda adalah seorang pengurus di sebuah syarikat jualan alatan


komputer, apakah bentuk soalan yang mungkin bermain di fikiran anda
untuk memastikan pengurusan syarikat anda berjalan dengan lancar.
Nyatakan 3 daripadanya.

RUMUSAN
Sehingga kini anda telah mengetahui apakah yang dimaksudkan dengan bahasa SQL
dan kepentingan mempelajari bahasa ini. Dua komponen yang menyokong bahasa SQL
ini, iaitu Bahasa Takrifan Data (DDL) dan Bahasa Pengolahan Data (DML)
menyebabkan bahasa ini menjadi semakin penting dipelajari kerana ia membolehkan
kita mentakrif dan mengemas kini pangkalan data.

Sebelum satu pertanyaan dalam bahasa SQL dicipta atau data boleh dicapai kita harus
memikirkan 4 persoalan yang penting, iaitu:

• Apakah output yang hendak dilihat?

• Apa yang telah anda ketahui (atau apa kekangan yang ada)?

• Apakah jadual yang terlibat?

• Bagaimana jadual dihubungkan?

Dengan menjawab 4 persoalan di atas, ia boleh membantu anda untuk membina satu
bahasa pertanyaan SQL. Diharap anda juga lebih bersedia untuk mempelajari bentuk
bahasa SQL yang lebih sukar dalam bab seterusnya.

OUM 9

Anda mungkin juga menyukai