Tugas ke 2 Membuat artikel dengan format karangan ilmiah
PENGENALAN SQL
Karya tulis ini dikerjakan dalam rangka pembelajaran Sistem Basis Data
HALAMAN PENGESAHAN
Karya Tulis " Pengenalan SQL "
Telah disahkan pada :
Hari :
Tanggal :
Pembimbing :
bentuk umumnya sebagai berikut:
REVOKE akses-1 [, akses-2, ...] ON tabel FROM user-1 [, user-2, ...]
Karya tulis ini dikerjakan dalam rangka pembelajaran Sistem Basis Data
HALAMAN PENGESAHAN
Karya Tulis " Pengenalan SQL "
Telah disahkan pada :
Hari :
Tanggal :
Pembimbing :
KATA
PENGANTAR
Puji Syukur kami panjatkan kepada Allah SWT, karena atas
Rahmat dan Karunia-Nya kami bisa menyelesaikan tugas makalah Sistem Basis Data
mengenai Structured Query Language.
Makalah ini dimaksudkan untuk digunakan sebagai bahan
pembelajaran pada mata kuliah sistem basis data terutama pada bahasan
Structured Query Language atau yang lebih dikenal dengan SQL. Walaupun makalah
ini lebih cenderung ditujukan untuk mahasiswa yang sedang mempelajari mata
kuliah Sistem Basis Data, namun makalah ini juga bersifat umum atau dapat
dibaca oleh siapa saja yang tertarik dengan bahasan Structured Query Language.
Pada
makalah ini, pembaca dapat mempelajari pengenalan SQL atau apa itu SQL,
komponen apa saja yang terdapat pada SQL, dan operasi apa saja yag dapat
dilakukan pada SQL, serta bahasan menarik lainnya. Makalah ini dapat juga
digunakan sebagai panduan bagi para pembaca yang ingin mendalami dalam
perancangan basis data ataupun para pecinta komputer yang ingin membuat program
yang melibatkan basis data dan ingin memahami konsep yang mendasarinya.
Semoga
Makalah ini dapat memberikan manfaat bagi siapapun yang ingin membacanya,
terutama yang berkaitan dengan hal sistem basis data. Kami berharap atas saran
dari para pembaca untuk dijadikan motivasi bagi kami agar bisa menjadikan yang
lebih baik di masa mendatang. Terima kasih atas perhatiannya.
Depok, November
2011
Penyusun
DAFTAR
ISI
KATA
PENGANTAR...................................................................................................... i
DAFTAR
ISI.................................................................................................................... ii
BAB I
PENDAHULUAN................................................................................................. 1
BAB II PEMBAHASAN (STRUCTURED QUERY
LANGUAGE)...............................
2
2.1
Pengenalan
SQL............................................................................................... 2
2.2
Pengelompokan perintah SQL (DDL,DML,DCL)........................................... 2
2.3
Contoh
Kasus.................................................................................................... 3
2.4
Advanced SQL (embedded dan
dynamic)........................................................ 10
BAB III
KESIMPULAN.................................................................................................... 11
DAFTAR
PUSTAKA......................................................................................................... 12
BAB I
PENDAHULUAN
Peran
Sistem Basis Data sangatlah penting dalam pembangunan dan perangkat lunak dan
sistem aplikasi dalam dunia bisnis. Di dalam pembangunan perangkat lunak, para
perancang harus mengetahui model basis data yang baik. Di samping itu para
perancang harus mengetahui juga perancangan basis data yang sesuai dengan
prosedur atau aturan-aturan yang sudah baku sehingga dapat menghasilkan
rancangan basis data yang sesuai dengan kebutuhan pemakai dan aplikasi dalam
dunia bisnis.
Structured Query Language (SQL)
merupakan salah satu bahasa yang dikembangkan sejak berkembangnya model
relasional pada tahun 1986. SQL standar didefinisikan oleh American National
Standards Institute (ANSI), yang kemudian diadopsi sebagai standar
Internasional oleh International Standards Organization (ISO) pada tahun 1987.
Sejak saat itu lebih dari 100 sistem manajemen basis data mendukung SQL
sehingga dapat dijalankan pada PC sampai dengan mainframe.
BAB II
PEMBAHASAN
SQL (STRUCTURE QUERY LANGUAGE)
2.1 Pengenalan SQL
Structure Query Language (SQL)
merupakan komponen bahasa relational database system. SQL merupakan bahasa baku
(ANSI/SQL), non procedural, dan berorientasi himpunan (set-oriented language).
SQL dapat digunakan baik secara interaktif atau ditempelkan (embedded) pada
sebuah program aplikasi.
2.2 Pengelompokan perintah SQL (DDL,DML,DCL)
Pernyataan SQL dapat dikelompokkan menjadi 5
kelompok DDL, DML, DCL, pengendali transaksi dan pengendali programatik.
DDL ( Data Definition
Language )
DDL merupakan kelompok
perintah yang berfungsi untuk mendefinisikan atribut-atribut database,
table, atribut (kolom), batasan-batasan terhadap suatu atribut serta hubungan
antar table. Yang termasuk kelompok DDL ini adalah :
CREATE untuk menciptakan table ataupun indeks
ALTER untuk mengubah struktur table
DROP untuk menghapus table ataupun indeks
I.) DML ( Data Manipulation Language )
Adalah kelompok perintah yang
berfungsi untuk memanipulasi data, misalnya untuk pengambilan, penyisipan
pengubahan dan penghapusan data. Yang termasuk DML adalah :
SELECT memilih data
INSERT menambah data
DELETE menghapus data
UPDATE mengubah data
II.) DCL ( Data Control Language )
Berisi perintah-perintah untuk
mngendalikan pengaksesan data. Yang termasuk DCL adalah :
GRANT memberikan kendali pada pengaksesan data.
REVOKE mencabut kemampuan pengaksesan data
LOCK TABLE mengunci table
PENGENDALIAN TRANSAKSI
Adalah perintah-perintah yang
berfungsi untuk mengendalikan pengeksekusian transaksi. Yang termasuk kelompok
ini adalah :
COMMIT menyetujui rangkaian perintah yang berhubungan erat yang telah
berhasil dilakukan
ROLLBACK membatalkan transaksi yang dilakukan karena adanya kesalahan atau
kegagalan pada salah satu rangkaian perintah.
2.3 Contoh Kasus
DDL : create, drop, alter
- Membuat Tabel (CREATE TABLE)
1. CREATE TABLE S (Sn Char(5) NOT
NULL,
Sname Char(20) NOT NULL,
Status Smallint NOT NULL,
City Char(15) NOT NULL);
2. CREATE TABLE P
(Pn Char(6) NOT NULL,
Pname Char(20) NOT NULL,
Color Char(6) NOT NULL,
Weight Smallint NOT NULL);
3. CREATE TABLE SP
(Sn Char(5) NOT NULL,
Pn Char(6) NOT NULL,
QTY INTEGER NOT NULL);
4. CREATE UNIQUE INDEX Sidx ON
S(Sn);
CREATE UNIQUE INDEX Pidx ON P(Pn);
CREATE INDEX Sdx ON SP(Sn);
CREATE INDEX Pdx ON SP(Pn);
-
Modifikasi Table P dengan perintah :
RENAME COLUMN P.COLOR TO WARNA
ALTER TABLE P ADD (City CHAR(15) NOT NULL)
-
Membuat View (CREATE VIEW)
1. Membuat view untuk suplier yang statusnya
lebih besar dari 15
CREATE VIEW GOOD_SUPPLIERS AS SELECT Sn, Status, City FROM
S WHERE Status > 15;
2.
Membuat view yang berisi supplier yang tinggal di Paris
CREATE VIEW Paris_Suppliers AS SELECT * FROM
Supliers WHERE City = ' Paris '
3.
Membuat view dengan mengganti nama_atributnya
CREATE VIEW Parts (PNum, Part_Name, WT) AS
SELECT P#, Pname, Weight FROM Part WHERE COLOR = 'Red'
Contoh Kasus DML :
1. Menambah record (INSERT)
INSERT INTO S VALUES ('S1','Smith',20,'London'); INSERT
INTO S VALUES ('S2','Jones,10,'Paris'); INSERT INTO S VALUES
('S3','Blake',30,'Paris')
2. Merubah record
(UPDATE)
1. Merubah data (record) pada tabel P yang mempunyai nomor
part P2, warnanya dirubah menjadi Kuning dan beratnya ditambah 5
UPDATE P SET Warna = 'Yellow', Weight =
Weight + 5 WHERE Pn = 'P2'
2.
Merubah record pada tabel S, statusnya menjadi dua kali status awal untuk
supplier yang bertempat tinggal di kota London
UPDATE S SET Status = 2 * Status WHERE City = 'London'
3. Menghapus record (DELETE)
Menghapus record pada tabel
S yang nomor supplier-nya S5
DELETE FROM S WHERE Sn ='S5'
4. Menampilkan record (SELECT 1 tabel)
1.
Menampilkan semua data supplier
SELECT * FROM S
atau
SELECT Sn, Sname, Status, City FROM S
2.
Menampilkan semua nilai Pn pada tabel SP
SELECT Pn FROM SP
3.
Menampilkan nomor supplier dan status untuk supplier yang tinggal di Paris
SELECT Sn, Status FROM S WHERE City ='Paris'
4.
Menampilkan no.supplier yang tinggal di Paris dengan status > 20
SELECT Sn FROM S WHERE City ='Paris" AND Status >
20
5.
Menampilkan jumlah pengiriman P1
SELECT COUNT(*) FROM SP WHERE Pn = 'P1'
6.
Perintah untuk menghindari hasil data yang sama terulang kembali (distinct)
SELECT DISTINCT Pn FROM SP
7. Menampilkan no.supplier dan status bagi supplier yang
tinggal di Paris dalam urutan status menurun
SELECT Sn,Status FROM S WHERE City = 'Paris' ORDER BY
Status desc
8. Menampilkan no.Part dari semua part yang dipasok oleh
lebih dari seorang supplier
SELECT Pn FROM SP
GROUP BY Pn HAVING COUNT(*) > 1
5. Menampilkan record (SELECT lebih dari satu
tabel / JOIN)
1. Menampilkan semua
supplier dan part yang keduanya bertempat tinggal pada kota yang sama
SELECT Sn,
Sname,S tatus, S.City , Pn, Pname, Warna, Weight FROM S,P WHERE S.City = P.City
2. Menampilkan nama
supplier yang memasok barang dengan nomor part P2
SELECT Sname
FROM S, SP WHERE S.Sn = SP.Sn AND SP.Pn = 'P2'
3.
Menampilkan nama supplier yang memasok part berwarna merah
SELECT Sname
FROM S, SP, P WHERE S.Sn = SP.Sn AND SP.Pn = P.Pn AND P.COLOR = 'RED'
6. Menampilkan
record (SELECT lebih dari satu tabel / SELECT Bertingkat)
1. Menampilkan nama
supplier yang memasok barang dengan nomor part P2
SELECT Sname
FROM S WHERE Sn IN (SELECT Sn FROM SP WHERE Pn = 'P2')
atau
SELECT Sname
FROM S WHERE Sn = ANY (SELECT Sn FROM SP WHERE Pn = 'P2')
2. Menampilkan nama supplier yang memasok part
berwarna merah
SELECT Sname
FROM S WHERE Sn IN (SELECT Sn FROM SP WHERE Pn IN (SELECT Pn FROM P WHERE Warna
= 'Red'))
3.
Menampilkan no.supplier dengan nilai status lebih kecil daripada nilai maksimum
status yang ada pada tabel S
SELECT Sn FROM
S WHERE Status < (SELECT MAX(Status) FROM S)
4. Menampilkan nama
supplier yang tidak memasok barang dengan nomor part P2 SELECT Sname FROM S WHERE Sn NOT IN
(SELECT Sn FROM SP WHERE
Pn = 'P2')
5. Menampilkan semua nomor
supplier yang sama lokasinya dengan S1
SELECT Sn FROM
S WHERE CITY = (SELECT CITY FROM S WHERE Sn = 'S1')
7. Fungsi
Perhitungan
COUNT :
jumlah baris dan kolom
SUM :
jumlah nilai dam kolom
AVG : rata
- rata nilai dalam kolom
MAX :
nilai terbesar dalam kolom
MIN :
nilai terkecil dalam kolom
Untuk SUM dan AVG nilainya
harus numerik (INT, SMALLINT, FLOAT). Fungsi-fungsi tsb jika dikenakan pada
nilai yang NULL maka nilainya akan diabaikan kecuali untuk COUNT(*)
1.) Menghitung jumlah
supplier
SELECT
COUNT(*) FROM S
atau
SELECT COUNT
(Sn) FROM S
2.) Menampilkan nomor part dan total kuantitas
pengiriman dari setiap part
SELECT Pn,
SUM(QTY) FROM SP GROUP BY Pn
3.) Menghitung jumlah kuantitas dari P2 yang telah
disupply
SELECT SUM
(QTY) FROM SP WHERE Pn = 'P2'
4.) Menampilkan jumlah
pengiriman barang dengan nomor P4 dan dipasok oleh nomor suppplier S1
SELECT
COUNT(*) FROM SP WHERE Pn = 'P4' AND Sn
= 'S1'
5.) Menampilkan nomor part dan total kuantitas dari
masing-masing part
SELECT Pn,
SUM(QTY) FROM SP GROUP BY P3
III.) DCL (Data
Control Language) : Grant dan Revoke
1. GRANT
syntax:
GRANT PRIVILEGES ON
UNIVERSITAS GUNADARMA TO Masyarakat,Mahasiswa
Yang berarti pengguna masyarakat dan mahasiswa boleh untuk mengakses data mengenai universitas gunadarma
Yang berarti pengguna masyarakat dan mahasiswa boleh untuk mengakses data mengenai universitas gunadarma
1) Syntax:
GRANT PRIVILEGES ON STUDENTSITE TO MAHASISWA GUNADARMA
Yang berarti pengguna Mahasiswa gunadarma boleh mengakses data dari studentsite.
GRANT PRIVILEGES ON STUDENTSITE TO MAHASISWA GUNADARMA
Yang berarti pengguna Mahasiswa gunadarma boleh mengakses data dari studentsite.
2) GRANT INSERT,
DELETE, UPDATE ON kuliah TO anto, John
Yang artinya yaitu Pengguna dengan login-name anto dan John memperoleh hak untuk melakukan operasi INSERT, DELETE, dan UPDATE pada file/tabel kuliah.
Yang artinya yaitu Pengguna dengan login-name anto dan John memperoleh hak untuk melakukan operasi INSERT, DELETE, dan UPDATE pada file/tabel kuliah.
2 .REVOKE
bentuk umumnya sebagai berikut:
REVOKE akses-1 [, akses-2, ...] ON tabel FROM user-1 [, user-2, ...]
Contoh pemakaiannya adalah sebagai berikut ini:
1) REVOKE INSERT,
DELETE ON kuliah FROM John
Perintah ini membatalkan hak dari John untuk melakukan INSERT dan DELETE pada file kuliah.
Perintah ini membatalkan hak dari John untuk melakukan INSERT dan DELETE pada file kuliah.
2) REVOKE
DELETE,UPDATE ON kuliah FROM Andi
Perintah ini membatalkan hak dari andi untuk melakukan delete dan update pada file kuliah
Perintah ini membatalkan hak dari andi untuk melakukan delete dan update pada file kuliah
3) REVOKE
INSERT,UPDATE ON Materi Kuliah FROM Anton
Perintah ini membatalkan hak akses dari anton untuk melakukan insert dan update pada file materi kuliah.
Perintah ini membatalkan hak akses dari anton untuk melakukan insert dan update pada file materi kuliah.
2.4 Advanced SQL
(embedded, dan dynamic)
Embedded SQL adalah
pemakaian perintah SQL menggunakan parameter yang berhubungan dari luar.contoh
Select
* from siswa where nama=:name
(parameter name dapat diisi dengan sesuatu yang
dihubungkan dengan program yang digunakan, misalnya :bisa diinput dari texbox
atau dihubungkan dengan grid)
Fitur-fitur embedded SQL memungkinkan
SQL utk dipanggil dari suatu bahasa induk seperti C atau Java.
Dynamic SQL/SQL dinamis dapat mengerjakan beberapa pekerjaan/task
sekaligus dalam sebuah server database.SQL2 sudah mendukungnya dan fitur-fitur dynamic
SQL memungkinkan sebuah query utk disusun (dijalankan) pada saat “run-time”
BAB
III
KESIMPULAN
Structured
Query Language (SQL) merupakan salah satu bahasa yang dikembangkan sejak
berkembangnya model relasional pada tahun 1986. SQL standar didefinisikan oleh
American National Standards Institute (ANSI), yang kemudian diadopsi sebagai
standar Internasional oleh International Standards Organization (ISO) pada
tahun 1987. Sejak saat itu lebih dari 100 sistem manajemen basis data mendukung
SQL sehingga dapat dijalankan pada PC sampai dengan mainframe.
Komponen
SQL terdiri dari:
1.
Data Definition Language (DDL)
Digunakan
untuk mendefinisikan data dengan menggunakan perintah : create, drop, alter.
2. Data Manipulation Language
(DML)
Digunakan
untuk memanipulasi data dengan menggunakan perintah : select, insert, update,
delete. DML merupakan bagian terpadu bahasa SQL. Perintah-perintahnya dapat
dibuat secara interaktif atau ditempelkan pada sebuah program aplikasi.
Pengguna hanya perlu menentukan apa yang diinginkan, DBMS menentukan bagaimana
cara mendapatkannya.
3. Data Control Language (DCL)
Digunakan untuk mengontrol hak para pengguna data
dengan perintah : grant, revoke.
DAFTAR PUSTAKA
Bertalya, S.Kom; Hurniangsih, S.Kom, MMSi; Sistem
Basis Data 1, Universitas Gunadarma, Jakarta, 2007
Digital Books Tingkat 3 tahun ajaran PTA 2011/2012,
SIstem Basis Data 1
id.wikipedia.org
Komentar
Posting Komentar