What is SQL?
- Tahun 1974 D.Chambelin (IBM San
Jose Laboratory) mendefinisikanbahasa yang disebut Structured English Query
Language (SEQUEL)
- Versi yang telah diperbaiki,
SEQUEL/2 ditetapkan pada tahun 1976 tetapi namanya diubah menjadi SQL untuk
alasan hukum
- Structured Query Language
-
Dibaca “S-Q-L” atau “Sequel”
- Sekarang merupakan bahasa standar internasiona luntuk pembuatan
(creating) dan query database relational
- Di akhir tahun 70-an, Oracle muncul
dan mungkin merupakan RDBMS komersil pertama yang berbasis SQL.
Penulisan perintah-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 (;)
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.
Data Definition Language (DDL):
§ Create § Alter
§
Drop
Data Manipulation Language (DML):
§ Select §
Update
§ Insert § Delete
Data Control Language (DCL):
§ Grant § Revoke
§ Commit §
Rollback §
Savepoint
Tipe
Data
· CHAR, disimpan dalam string karakter yang panjangnya
tetap. Nilai defaultnya adalah 1 byte. (Ketika membuat tabel harus
menspesifikasikan panjangnya berkisar antara 1 s.d 2000 byte).
· NCHAR dan NVARCHAR2, tipe data Unicode yang
menyimpan data karakter Unicode. Nchar menyimpan data dalam ukuran yang tetap,
nvarchar2 menyimpan string karakter yang nilainya dapat berubah-ubah.Panjang
maksimum kolom nvarchar2 adalah 4000 byte yang dapat menampung 4000 karakter.
· Varchar dan Varchar2, tipe data ini menyimpan string
karakter yang panjangnya berubah-ubah, berkisar antara 1 hingga 4000.Dengan
tipe data ini cukup menghemat ruang yang digunakan oleh tabel.
· LONG, biasanya digunakan untuk data yang akan dipindahkan
ke berbagai sistem basis data yang berbeda.Tipe data ini dapat menyimpan data
karakter yang panjangnya bervariasi hingga max 2 GB
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.
· 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 RAW dapat 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”.
· 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).
· 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.
Data
Definition Language
·
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
Data Definition Language
• 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
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 varchar (25),
satuan_barang varchar(20),
stok_barang number(4)
);
Syntax
With Constraints
Untuk membuat tabel acuan (references) sebelum tanda ‘)’
tambahkan sintak :
Untuk membuat tabel yang mengacu pada tabel lain (tabel
relasi) sebelum tanda ‘)’ tambahkan sintak :
Example:
Table with constraints
CREATE TABLE barang (
kode_barang
char(6),
nama_barang
varchar(25),
satuan_barang
varchar(20),
stok_barang int,
constraint
pk_barang primary key (kode_barang)
);
CREATE TABLE pasok (
kode_pasok
char(10),
kode_barang
char(6),
kode_suplier
char(5),
tanggal_pasok
date,
jumlah_pasok int,
constraint
pk_pasok primary key (kode_pasok,kode_barang,
kode_supplier),
constraint
fk_pasok_barang foreign key (kode_barang),
references barang
(kode_barang),
constraint
fk_pasok_suplier foreign key (kode_suplier),
references
suplier (kode_suplier)
);
Alter
Table
•
Modifikasi pendefinisian tabel
–
Beberapa sistem database tidak mendukung
penghapusan (dropping) suatu kolom pada tabel
–
Tipe data saat dimodifikasi jika suatu kolom tidak
memiliki nilai
ALTER TABLE nama_tabel
ADD/MODIFY nama_field
tipe_data(lebar_field)
Remove Table
Tidak ada komentar:
Posting Komentar