Upload
cindy-furi
View
280
Download
1
Embed Size (px)
Citation preview
Pemrograman SQL
What Is SQL
Structured Query LanguageDibaca “S-Q-L” atau “Sequel”Dikembangkan oleh IBM pada pertengahan
1970sSekarang merupakan bahasa standar
internasional untuk pembuatan (creating) dan query database relational
Dikenal dengan standarnya SQL-99 (disetujui sebagai standard ANSI tahun 1999)
RELATIONSHIP
Aplikasi
DataBase
Relational
SQL
SQL - DATABASE
Penulisan Perintah SQL
Perintah SQL tidak case sensitivePerintah SQL bisa ditulis pada satu baris
atau lebihAntar klausa perintah biasanya ditulis pada
baris yang berbedaKeywords tidak dapat dipisah antar barisTabs dan spasi diperbolehkan agar mudah
dibaca.Setiap akhir perintah SQL (tidak baris)
diakhiri dengan tanda(;)
Komponen SQL
Data Definition Language
Data Manipulation Language
Data Control Language
Komponen Tabel
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.
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
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.
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”
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).
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.
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
Data Definiton Language (DDL)
Nama tabel harus unikNama kolom dalam sebuah tabel harus berbedaNama kolom ditulis dalam tanda kurung dan
dipisahkan dengan tanda koma(,)Pada nama kolom terakhir tidak boleh pakai tanda
komaSetiap kolom harus memiliki type data dan
lebarnyaConstraints (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 varchar2(25),satuan_barang varchar2(20),stok_barang number(4)
);
• Contoh
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 :
Constraint nama_constraint primary key (nama_field_primarykey) notnull);
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));
Data Definiton Language (DDL)
Contoh 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),constraint fk_pasok_barang foreign
key (kode_barang),references barang (kode_barang),constraint fk_pasok_suplier foreign
key (kode_suplier),references suplier (kode_suplier)
);
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
Constraints (Nilai Constraints)
UNIQUE : nilai pada kolom itu harus unik Nilai ‘null’ diperbolehkan
Kode barang number(6) UNIQUENOT NULL : kolom tidak boleh bernilai
kosong Kode barang varchar(20) not null
NULL : kolom dapat bernilai kosong job varchar2(20) null
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
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)
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_tabelADD/MODIFY nama_field tipe_data(lebar_field)
ALTER TABLE suplierADD Alamat_Suplier varchar(50); ALTER TABLE suplier
MODIFY Alamat_Suplier varchar(25);
Data Definiton Language (DDL)
REMOVE TABLE
DROP TABLE table_name;
DROP TABLE pasok;