Dokumen tersebut merangkum tentang bahasa pemrograman SQL (Structured Query Language). SQL adalah bahasa standar untuk membuat dan mengakses database relasional. Dokumen tersebut menjelaskan komponen-komponen utama SQL seperti DDL (Data Definition Language) untuk mendefinisikan database, DML (Data Manipulation Language) untuk memanipulasi data, dan DCL (Data Control Language) untuk mengontrol akses database. Selain itu, dibahas pula tentang tipe data dasar dan constraints yang
2. What Is SQL
Structured Query Language
Dibaca “S-Q-L” atau “Sequel”
Dikembangkan oleh IBM pada pertengahan 1970s
Sekarang merupakan bahasa standar internasional
untuk pembuatan (creating) dan query database
relational
Dikenal dengan standarnya SQL-99 (disetujui
sebagai standard ANSI tahun 1999)
5. Penulisan Perintah SQL
Perintah SQL tidak case sensitive
Perintah SQL bisa ditulis pada satu baris atau lebih
Antar klausa perintah biasanya ditulis pada baris
yang berbeda
Keywords tidak dapat dipisah antar baris
Tabs dan spasi diperbolehkan agar mudah dibaca.
Setiap akhir perintah SQL (tidak baris) diakhiri
dengan tanda(;)
6. Komponen SQL
Data
Definition
Language
Data
Manipulation
Language
Data
Control
Language
8. Komponen SQL
Data Definition Language (DDL)
Perintah – perintah untuk mendefenisikan sebuah database,
termasuk membuat, mengubah, menghapus tabel dan
menetapkan batasan pada sebuah tabel.
Data Manipulation Language (DML)
Perintah – perintah untuk memelihara dan memanipulasi
query dari sebuah database.
Data Control Language (DCL)
Perintah-perintah untuk mengkontrol sebuah database,
termasuk otoritas terhadap pengaksesan data dan
pengalokasian ruang.
9. Komponen SQL
Data Definition Language (DDL)
=> Create => Alter => Drop
Data Manipulation Language (DML)
=> Select => Update
=> Insert => Delete
Data Control Language (DCL)
=> Grant => Revoke
=> Commit => Rollback => Savepoint
10. Tipe Data Dasar
NUMBER, menyimpan bilangan bulat serta bilangan
pecahan di belakang titik desimal. Panjang
maksimum tergantung pada implementasi oleh
sistem operasi yang digunakan, tetapi pada
umumnya 38 digit.
DATE, menyimpan data tanggal dan waktu dalam
tabel. Tipe data DATE menyimpan data tahun
(termasuk abad), bulan, hari, jam, menit, serta
detik.. Oracle XE menggunakan format tanggal
default dalam bentuk DD-MM-YY.
11. Tipe Data Dasar
RAW dan LONG RAW, digunakan untuk menyimpan
data yang tidak perlu ditafsirkan. Tipe data ini ditujukan
untuk data biner atau string byte. RAW adalah tipe data
yang panjangnya berubah-ubah seperti tipe data
varchar2. Long RAWdapat digunakan untuk menyimpan
gambar (image), suara(audio), dokumen atau larik dari
data biner, yang penafsirannya bergantung pada
pengguna.
BFILE, menyimpan data biner tak terstruktur dalam
berkas yang berada di luar database (external file). Data
yang dapat disimpan hingga 8 GB. BFILE bersifat “read
– only”
12. Tipe Data Dasar
BLOB,CLOB,dan NCLOB, ketiga tipe data ini
memungkinkan kita menyimpan blok-blok data tidak
terstruktur berukuran besar (misalnya teks, gambar, klip
video, serta berkas suara) dalam format biner atau
format karakter. BLOB dapat menyimpan data biner
hingga sejumlah 8 TeraByte, sedangkan CLOB dan
NCLOB menyimpan hingga 8 TerraByte data karakter di
basis data. CLOB menyimpan data karakter, sedangkan
NCLOB menyimpan data karakter unicode. CLOB dan
NCLOB berpartisipasi penuh dalam transaksi.
Perubahan yang terjadi pada CLOB dan NCLOB dapat
ditanamkan ke Basis Data (COMMIT) atau dibatalkan
(ROLLBACK).
13. Tipe Data Dasar
ROWID, digunakan untuk menyimpan alamat
(rowid) setiap baris dalam basis data. Kita tidak
dapat melakukan apa-apa terhadap ROWID.Sistem
basis data ORACLE XE menggunakannya secara
internal untuk membangun indeks.
14. Data Definiton Language (DDL)
CREATE adalah Perintah yang digunakan untuk
membuat, termasuk diantaranya membuat database
baru, tabel baru, view baru, dan kolom
ALTER adalah Perintah yang digunakan untuk
mengubah struktur tabel yang telah dibuat.
Pekerjaannya mencakup mengganti nama tabel,
menambah kolom, mengubah kolom, menghapus
kolom, maupun memberikan atribut pada kolom
DROP adalah Perintah yang digunakan untuk
menghapus database dan tabel
16. Data Definiton Language (DDL)
Nama tabel harus unik
Nama kolom dalam sebuah tabel harus berbeda
Nama kolom ditulis dalam tanda kurung dan
dipisahkan dengan tanda koma(,)
Pada nama kolom terakhir tidak boleh pakai tanda
koma
Setiap kolom harus memiliki type data dan lebarnya
Constraints (batasan) bisa berupa
◦Batasan pada kolom
◦Batasan pada tabel
17. Syntax tanpa Constraints
CREATE TABLE nama_tabel (
nama field ke-1 tipe_data (lebar_field),
. . .
. . .
nama field ke-n tipe_data (lebar_field),
);
CREATE TABLE barang (
kode_barang char(6),
nama_barang varchar2(25),
satuan_barang varchar2(20),
stok_barang number(4)
);
• Contoh
18. Syntax With Constraints
Untuk membuat tabel acuan (references) sebelum tanda ‘)’
tambahkan sintak :
Constraint nama_constraint primary key (nama_field_primarykey) notnull);
Untuk membuat tabel yang mengacu pada tabel lain (tabel
relasi) sebelum tanda ‘)’ tambahkan sintak :
Constraint nama_constraint primary key (nama_field_primarykey-1,…,
nama_field_primarykey-n),
Constraint nama_constraint foreignkey (nama_field_foreignkey-1)
References nama_tabel_acuan-1 (nama_field_primarykey-1),
.
.
Constraint nama_constraint foreignkey (nama_field_foreignkey-n)
References nama_tabel_acuan-n (nama_field_primarykey-n)
);
20. Constraints
nilai Constraints (pada kolom)
Untuk mendefenisikan nilai data khusus atau range datanya.
e.g., UNIQUE, NULL, NOT NULL, CHECK, DEFAULT
integritas Constraints (pada tabel)
Untuk penentuan primary dan foreign keys
21. Constraints (Nilai Constraints)
UNIQUE : nilai pada kolom itu harus unik
Nilai ‘null’ diperbolehkan
Kode barang number(6) UNIQUE
NOT NULL : kolom tidak boleh bernilai kosong
Kode barang varchar(20) not null
NULL : kolom dapat bernilai kosong
job varchar2(20) null
22. Constraints (Nilai Constraints)
CHECK
Nilai yang diisikan harus memenuhi kondisi yang ditetapkan
untuk kolom tersebut
salary number(7,2) check(salary >2000)
DEFAULT
Apabila suatu kolom tidak diberikan nilai, maka nilai dari
default akan diisikan secara otomatis
state char(2) default ‘WI’
hiredate date default SYSDATE
23. Constraints (Integrity Constraints)
• PRIMARY KEY
– Jika sebuah kunci ‘not null’ dan ‘unique’
• CONSTRAINT pk_emp primary key (eno)
– Jika memiliki kunci komposit (2 atau lebih, dgn max 16
kolom)
• CONSTRAINT pk_emp2 primary key (eno, ename)
• FOREIGN KEY & Referential Integrity Constraints
– Untuk variabel yang sama, nama kolom dapat berbeda tapi
tipe data dan lebar datanya harus sama.
– Kolom tersebut merupakan primary key pada tabel lain
• CONSTRAINT fk_dno foreign key (dno) references dept(deptno)
24. Data Definiton Language (DDL)
Alter Table
• Modifikasi pendefinisian tabel
– Beberapa sistem database tidak mendukung penghapusan
(dropping) suatu kolom pada tabel
– Tipe data daat dimodifikasi jika suatu kolom tidak memiliki nilai
ALTER TABLE nama_tabel
ADD/MODIFY nama_field tipe_data(lebar_field)
ALTER TABLE suplier
ADD Alamat_Suplier varchar(50); ALTER TABLE suplier
MODIFY Alamat_Suplier varchar(25);