Basis Data XI RPL2 1
Pengenalan SQL
Jumat, 31 Januari 2020, Kelas XI RPL2
a. Tujuan Pembelajaran.
Setelah mengikuti kegiatan belajar10 ini diharapkan peserta didik dapat :
Memahami konsep bahasa Standar Query Language
Mengoperasikan bahasa SQL data definition language (DDL)
b. Uraian materi.
1. Definsi SQL
SQL (Structured Query Language) adalah sebuah bahasa yang digunakan untuk mengakses
data dalam software DBMS. Bahasa ini merupakan bahasa standar yang digunakan dalam
manajemen basis data relasional. Saat ini hampir semua server basis data mendukung bahasa
ini untuk melakukan pengelolaan datanya. Instruksi – instruksi atau 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-
atributdatabase, table, atribut (kolom), batasan-batasan terhadap suatu atribut serta
hubunganantar table. Yang termasuk dalam kelompok DDL ini adalah :
CREATE untuk menciptakan table ataupun indeks
ALTER untuk mengubah struktur table
DROP untuk menghapus table ataupun indeks
DML ( Data Manipulation Language )
Adalah kelompok perintah yang berfungsi untuk memanipulasi data, misalnya untuk
pengambilan, penyisipan pengubahan dan penghapusan data. Yang termasuk DML
adalah instruksi:
SELECT untuk memilih data (retrieving data)
INSERT untuk menambah data
DELETE untuk menghapus data
UPDATE untuk mengubah data
Basis Data XI RPL2 2
DCL ( Data Control Language )
Berisi perintah-perintah untuk mngendalikan pengaksesan data. Yang termasuk DCL
diantaranya adalah :
GRANT untuk memberikan kendali pada pengaksesan data.
REVOKE untuk mencabut kemampuan pengaksesan data
LOCK TABLE untuk mengunci tabel
Transaction Control Language (TCL) atau Pengendali transaksi
TCL adalah perintah-perintah yang berfungsi untuk mengendalikan pengeksekusian
transaksi. Yang termasuk kelompok TCL ini adalah :
COMMIT untuk menyetujui rangkaian perintah yang berhubungan erat yang
telahberhasil dilakukan
ROLLBACK untuk membatalkan transaksi yang dilakukan karena adanya
kesalahanatau kegagalan pada salah satu rangkaian perintah.
2. Mendesain Tabel dengan Query
Suatu file database (*.mdb, *.accdb) terdiri dari satu atau lebih table, index dan komponen
lainnyanya. Sedangkan dalam satu tabel bis aterdiri dari satu atau lebih record data masing-
masing berisi informasi yang sejenis. Membuat database berarti membuat file pada disk dimana
kita tidak dapat berbuat apa-apa dengan file tersebut sampai tabel-tabel selesai dibuat dan
ditambahkan pada file database. Dalam mendesain tabel dengan Query pastikan jendela SQL
Query aktif. Format perintah query sebagai berikut:
CREATE TABLE NamaTabel (Field1 Type
[(Size)][NOT NULL][Index1][,Field2 Type
[(Size)][NOT NULL][Index2][,…]]
[,CONSTRAINT Multifieldindex[,…]])
Keterangan :
Komponen Keterangan
Tabel Nama dari tabel yang akan dibuat.
Field1, Field2 Nama dari masing-masing field yang akan digunakan pada
tabel yang baru dibuat. Anda harus membuat minimal satu
field.
Type Tipe data dari field yang digunakan pada tabel baru.
Size Ukuran dari field dalam karakter. Digunakan hanya untuk tipe
data Text.
Basis Data XI RPL2 3
Index1, Index2 Anak kalimat Contraint yang mendefinisikan sebuah index
Single field.
Multifieldindex Anak kalimat Contraint yang mendefinisikan sebuah index
Multiple field.
Contoh dari perintah query yang digunakan untuk membuat tabel MHS sebagai berikut :
CREATE TABLE MHS (
NIM TEXT(7),
NAMA TEXT(25),
ALAMAT TEXT(40),
TGL_LAHIR DATE )
Beberapa elemen umum yang harus ditentukan dalam membuat sebuah tabel:
Nama dari tabel harus Unique untuk setiap file database, tidak diperkenankan dalam satu
folder terdapat lebih dari satu nama file database yang sama.
Nama dari field (kolom) harus bersifat Unique untuk setiap tabel (tidak boleh sama).
Tipe data dan ukuran masing-masing field (kolom) harus disesuaikan dengan kondisi
data yang akan disimpan.
Pemakaian Constraint yang diikutkan dalam pembentukan suatu tabel, terdiri dari Null,
Not Null, Primary Key, Unique dan Foreign Key atau gabungan beberapa Constraint yang
ada.
Hasil dari statement query stuktur tabel MHS diatas adalah sebagai berikut :
3. Modifikasi Tabel Dengan Query
Keberadaan suatu tabel yang telah dibuat tidak selamanya akan seperti yang tilah kita buat,
terkadang pemakai ingin mengadakan perubahan atau modifikasi tabel tersebut baik yang
Basis Data XI RPL2 4
berkaitan dengan struktur maupun hal lain seperti : manambah, mengubah dan mengahapus
batasan dan sebagainya.
Format penulisan untuk memodifikasi suatu tabel:
ALTER TABLE Nama Tabel {ADD(COLUMN Field1 Type [(Size)] [NOT NULL]
[CONSTRAINT Index][CONSTRAINT Multifieldindex} | DROP {COLUMN
Field|CONSTRAINTNamaConstraint}}
Keterangan :
Komponen Keterangan
FieldType Tipe data dari field yang digunakan.
Multifieldindex Definisi multiple field index yang akan ditambahkan ke dalam tabel.
NamaConstraint Nama constraint yang akan dihapus.
Beberapa contoh query yang berhubungan dengan modifikasi data tabel :
Perintah untuk menambah field (kolom) baru yaitu JENIS_KEL dengan tipe data Text
sebesar 1 karakter.
Alter Table MHS Add JENIS_KEL Text(1)
Perintah untuk merubah ukuran dan tipe data dari suatu field NIM dengan tipe data
Number.
Alter Table MHS Alter Column NIM Number
Perintah untuk menghapus field (kolom) JENIS_KEL.
Alter Table MHS Drop Column JENIS_KEL
Add atau Drop tidak dapat diterapkanpada field yang jumlahnya lebih dari satu pada waktu
yang bersamaan.
4. Menghapus Tabel Dengan Query
Sebuah table yang tidak digunakan lagi dapat dihapus dari suatu file database dengan
perintah query. Seperti halnya menghapus suatu field dalam suatu tabel maka Format penulisan
untk menghapus tabel adalah :
DROP {TABLE NamaTabel | INDEX NamaIndex ON Indextable}
Keterangan :
Komponen Keterangan
Nama table Nama tabel yang akan dihapus
NamaIndex Nama index yang akan dihapus.
Indextable Nama tabel yang indexnya akan dihapus.
Basis Data XI RPL2 5
Beberapa ketentuan yang harus diperhatikan dalam melakukan penghapusan tabel:
Sebelum tabel dihapus, Anda harus menutup terlebih dahulu tabel tersebut.
Suatu tabel yang telah dihapus tidak dapat dikembalikan seperti semula.
Data record yang ada pada tabel yang dihapus juga akan terhapus.
Tidak ada pesan/persetujuan terlebih dahulu selama proses penghapusan tabel
dilaksanakan.
5. Pemakaian Constraint
Constraint merupakan istilah yang digunakan untuk menerapkan Integritas Data (Data
Integrity) pada suatu database. Integritas Data merupakan istilah yang digunakan untuk
menggambarkan kebenaran data di dalam suatu file database. Sedapat mungkin integritas data
tetap dijaga melalui beberapa kegiatan, antara lain:
Validasi field secara individual
Verifikasi satu field melalui field lainnya
Validasi data dari tabel satu ke tabel lainnya
Verifikasi bahwa transaksi berjalan sukses dari awal hingga akhir
Terdapat tiga jenis Integritas Data yang dapat diterapkan pada file database Microsoft Access
2002, antara lain:
Integritas Entitas, untuk menerapkan integritas pada tingkat Entity (Tabel), agar setiap
Instances (Record\Baris) pada suatu Entity bersifat Unique yang disebut sebagai
Primary Key sehingga dapat dibedakan antara yang satu dengan lainnya. Hubungan
antara primary key dan foreign key menyatakan apakah sebuah baris tabel dapat
diubah atau dihapus.
Integritas Domain, untuk menerapkan integritas pada tingkat Kolom (field) agar nilai
yang diisikan pada Kolom (field) tersebut berada di antara nilai-nilai yang diinginkan.
Integritas Referential untuk menerapkan integritaspada tingkat Referensi dengan
menggunakan Primary Key untuk memastikan sinkronisasi antara “Parent” dan “Child
Tables” (antara Primary Key dan Foreign Key). Sebuah Foreign Key tidak dapat
dimasukkan ke dalam sebuah tabel, bila Primary Key tidak ada atau belum ada.
Basis Data XI RPL2 6
6. Constraint Primary Key
Primary Key disebut sebagai “Constraint” dengan tujuan untuk menjaga integritas data,
yaitu bahwa sebuah Primary Key tidak boleh mempunyai “Duplikat” dan secara otomatis tidak
“Null”. Bentuk penulisan Constraint Key secara umum:
CONSTRAINT NamaConstraint{PRIMARY KEY (Primary1 [, Primary2 [...] ] ) }
Keterangan :
Komponen Keterangan
NamaConstraint Nama dari constraint
Primary1, Primary2 Nama dari masing-masing field yang digunakan sebagai key
(kunci)
Berikut format penulisan constraint Primary Key pada tabel MHS dengan Primary Key NIM
dimana penulisannya diletakkan setelah field NIM dan tipe datanya, yaitu:
Create Table MHS ( NIM TEXT(7) Constraint PK_NIM Primary Key, NAMA TEXT(25),
ALAMAT TEXT(40), TGL_LAHIR DATETIME)
Penulisan nama Primary Key dengan PK_NIM mempunyai makna PK adalah Primary Key dan
NIM adalah nama field kunci.
Altrernatif lain penulisan Constraint dengan Primary Key NIM dimana constraintnya diletakkan
pada bagian terakhir:
Create Table MHS (
NIM TEXT(7),
NAMA TEXT(25),
ALAMAT TEXT(40),
TGL_LAHIR DATETIME,
Constraint PK_NAMA Primary Key (NIM) )
Penulisan Primary Key dengan banyak field:
Create Table MHS ( NIM TEXT(7),
NAMA TEXT(25),
ALAMAT TEXT(40),
TGL_LAHIR DATETIME,
Basis Data XI RPL2 7
Constraint PK_MHS Primary Key (NIM, NAMA) )
Sedang bila Anda ingin menambahkan Primary Key pada tabel yang sudah terbentuk tetapi
belum mempunyai Primary Key, format penulisannya seperti berikut:
Alter Table MHS Add Constraint PK_NIM2 Primary Key (NIM)
7. Constraint Unique
Nilai Unique digunakan untuk menjamin bahwa nilai dalam satu field adalah “Tunggal”
(tidak mempunyai duplikat). Beberapa perbedaaan antara Constraint Primary Key dan
Constraint Unique:
Constraint Primary Key Constraint Unique
Hanya diperbolehkan menggunakan satu Boleh menggunakan lebih dari satu
Constraint Primary Key dalam satu tabel. Constraint Unique dalam satu tabel.
Field (kolom) yang berpatisipasi, tidak Field (kolom) yang berpatisipasi, boleh
boleh mengandung nilai NULL. mengandung nilai NULL.
Format penulisan Constraint Unique secara umum:
CONSTRAINT NamaConstraint {UNIQUE (Unique1 [, Unique2 [, …] ] ) }
Keterangan :
Komponen Keterangan
Unique1, Unique2 Nama dari masing-masing field yang dibuat Unique.
Contoh format penulisan constraint Unique dengan Unique NIM:
Create Table MHS (
NIM TEXT(7)Constraint UN_NIM Unique,
NAMA TEXT(25),
ALAMAT TEXT(40),
TGL_LAHIR DATETIME )
Basis Data XI RPL2 8
Alternatif lain penulisan Constraint Unique untuk field NAMA:
Create Table MHS (NIM TEXT(7), NAMA TEXT(25), ALAMAT TEXT(40),
TGL_LAHIR DATETIME, Constraint UN_NAMA Unique (NAMA) )
Untuk penulisan Constraint Unique dengan multifield:
Create Table MHS (NIM TEXT (7), NAMA TEXT(25), ALAMAT TEXT(40),
TGL_LAHIR DATETIME, Constraint UN_MHS Unique (NIM, NAMA) )
Bila ingin menambahkan Constraint Unique pada tabel yang sudah terbentuk tetapi belum
mempunyai file Unique:
Alter Table MHS Add Constraint UN_NIM Unique (NIM)
8. Constraint Not Null
Bentuk penulisan umum Constraint Not Null:
NamaField NOT NULL
Contoh format penulisan Constraint Not Null dengan field NIM yang dipasang Not Null:
Create Table MHS (NIM TEXT(7) Not Null, NAMA TEXT(25), ALAMAT TEXT(40),
TGL_LAHIR DATETIME)
Default penetapan seluruh field yang dibuat pada suatu tabel adalah Null (kosong), artinya Anda
diperbolehkan untuk tidak mengisi suatu field, meskipun field tersebut bersifat Unique. Tetapi
Basis Data XI RPL2 9
bila field yang bersangkutan berfungsi sebagai Primary Key, maka field tersebut tidak boleh
kosong.
9. Constraint Foreign Key
Foreign Key (FK) adalah field pada sebuah tabel yang menunjukan bahwa field tersebut
adalah Primary Key pada tabel yang lain. Untuk memperjelas makna perhatikan skema berikut
ini.
Tabel A
Pada skenario di atas, record (173, XXX) pada tabel B tidak dapat dihapus karena referensi dari
173, fild 4 di Tabel A masih ada. Untuk dapat menghapus record tersebut, maka hapus dulu
semua record di filed 4 pada tabel A yang mempunyai nilai 173. Foreign Key harus menunjuk ke
Primary Key atau Unique pada tabel lain. Format penulisan Constraint Foreign Key:
CONSTRAINT NamaConstraint {FOREIGN KEY (Ref1[ , Ref2[ , … ] ] ) REFERENCES
TabelForeign [ (Field1Foreign [ , Field2Foreign [ , … ] ] ) ] }
Keterangan :
Komponen Keterangan
Ref1, Ref2 Nama dari masing-masing field yang digunakan
sebagai key (kunci).
TabelForeign Nama tabel yang digunakan sebagai rujukan.
Field1Foreign, Field2Foreign Nama field dari tabel rujukan yang digunakan sebagai
kunci penghubung dengan tabel yang sedang dibuat.
Basis Data XI RPL2 10
Contoh dari format penulisan constraint Foreign Key pada tabel JUAL dengan Primary Kd_trans
dengan tabel rujukan JENIS dengan field kunci Kode. Pertama-tama buat tabel yang digunakan
sebagai rujukan yaitu tabel JENIS dengan field Kode dan Nama, seperti pada contoh berikut ini:
Create Tabel JENIS (Kode Text(5) Constraint PK_Kode Primary Key, Nama Text(50)
)
Selanjutnya bisa dibuat tabel baru dengan nama JUAL dimana tabel ini dibnetuk dengan merujuk
tabel yang sudah ada yaitu tabel JENIS. Untuk merujuk digunakan perintah “References” seperti
contoh berikut ini:
Create Table JUAL (No_Trans Text(7), Tgl_trans Date, Kd_Trans Text(5), Jml_Trans
Long, Constraint F_Jual Foreign Key (Kd_Trans) References JENIS (Kode) )
Jika kode barang yang diinputkan pada tabel JUAL tidak ada di tabel JENIS maka proses input
data akan ditolak, hal ini dikarenakan nilai dari field “Kd_Trans” sudah direferensikan ke field
“Kode” yang ada di tabel JENIS.
Gambar dibawah ini menjelaskan 7 Pesan yang Menyatakan Pembatalan Proses Input Data pada
Tabel JUAL yang Dilakukan dari Datasheet dan Pesan yang Menyatakan Pembatalan Proses
Input Data pada Tabel JUAL yang Dilakukan dengan Query
Basis Data XI RPL2 11
Kelebihan pemakaian Constraint Foreign Key adalah pada tabel referensi terdapat tanda plus (+)
di paling kiri dari masing-masing recordnya, tanda ini menyatakan bahwa record-record tersebut
telah direferensikan ke tabel lain. Lakukan klik pada tanda plus maka akan ditampilkan record-
record dari hasil referensi. Gambar dibawah ini menjelaskan Data-data yang Direferensikan ke
Kode Barang EL123
c. Rangkuman
SQL (Structured Query Language) adalah sebuah bahasa yang digunakan untuk
mengakses data dalam software DBMS. Bahasa ini merupakan bahasa standar yang digunakan
dalam manajemen basis data relasional. Saat ini hampir semua server basis data mendukung
bahasa ini untuk melakukan pengelolaan datanya. Instruksi – instruksi atau pernyataan SQL
dapat dikelompokkan menjadi 5 kelompok DDL, DML, DCL,pengendali transaksi dan pengendali
programatik.
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 dalam kelompok DDL ini adalah : 1) CREATE
untuk menciptakan table ataupun indeks 2). ALTER untuk mengubah struktur table 3) DROP
untuk menghapus table ataupun indeks.
Basis Data XI RPL2 12
Kode program dalam bahasa SQL untuk membuat tabel, view dan relasi antar tabel dapat
dibuat secara oromatis (generate script SQL) dari diagram PDM menggunakan alat bantu
software power designer. Hasil dari generate script SQL adalah sebuah file dengan ekstensi
(*.sql). Selanjutnya script SQL tersebut dapat di-execute pada DBMS sesuai dengan target
database yang telah ditentukan sebelum proses generate script SQL.
d. Tugas : Membuat Script SQL
Dalam kegiatan ini peserta didik akan melakukan praktikum secara berkelompok, satu kelompok
terdiri dari dua sampai tiga orang. Peserta didik akan menuliskan script SQL untuk membangun
database relasional sesuai diagram relasi entitas (ERD) pada kegiatan belajar 12. Bacalah
seluruh langkah pengamatan dibawah ini kemudian lakukan dengan cermat dan teliti dengan
perangkat yang telah disediakan.
1. Bentuk kelompok setiap kelompok terdiri dari dua-tiga orang
2. Berdasarkan hasil kegiatan belajar 12 (dokumen physical data model), dengan
menggunakan alat tulis dan kertas pada lembar kerja tulislah script SQL untuk
membuat tabel-tabel tersebut. Tulis dan catat hasilnya.
3. Kumpulkan data-data setiap langkah dan analisis data tersebut menggunakan
analisis diskriptif.
4. Komunikasikan hasilnya dalam kelompok, buatlah kesimpulan dan laporan
sementara.
5. Komunikasikan dan verifikasi hasil kepada guru pembimbing.
6. Lampirkan hasil verifikasi dan pengesahan laporan sementara ke dalam laporan
lengkap.
e. Test Formatif.
Dalam test ini setiap peserta didik membaca dengan cermat dan teliti setiap butir soal dibawah
ini. Kemudian berdasarkan uraian materi diatas tulislah jawabannya pada lembar jawaban test
formatif yang telah disediakan.
1. Sebutkan dan jelaskan secara singkat lima ragam jenis (kelompok) instrukti-instruksi
dalam SQL ?
2. Sebutkan dan berikan contoh instruksi –instruksi SQL yang termasuk dalam
kelompok DDL (data definition language)ty relasi tersebut.?
Basis Data XI RPL2 13
a. Lembar Jawaban Test Formatif (LJ).
LJ- 01 : Ragam jenis (kelompok) instruksi-instruksi dalam SQL.
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
.................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
LJ- 02 : Ragam jenis Instruksi DDL SQL dan contohnya
.........................................................................................................:........
...................................................................................................................
Basis Data XI RPL2 14
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
.........................................................................................................:........
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
b. Lembar Kerja Peserta Didik.
Basis Data XI RPL2 15
Basis Data XI RPL2 16