pemrograman sql

25
Pemrograman SQL

Upload: cindy-furi

Post on 19-Jun-2015

282 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Pemrograman sql

Pemrograman SQL

Page 2: 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)

Page 3: Pemrograman sql

RELATIONSHIP

Aplikasi

DataBase

Relational

SQL

Page 4: Pemrograman sql

SQL - DATABASE

Page 5: Pemrograman sql

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(;)

Page 6: Pemrograman sql

Komponen SQL

Data Definition Language

Data Manipulation Language

Data Control Language

Page 7: Pemrograman sql

Komponen Tabel

Page 8: Pemrograman sql

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.

Page 9: Pemrograman sql

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

Page 10: Pemrograman sql

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.

Page 11: Pemrograman sql

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”

Page 12: Pemrograman sql

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).

Page 13: Pemrograman sql

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.

Page 14: Pemrograman sql

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

Page 15: Pemrograman sql
Page 16: Pemrograman sql

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

Page 17: Pemrograman sql

\

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

Page 18: Pemrograman sql

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));

Page 19: Pemrograman sql

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)

);

Page 20: Pemrograman sql

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

Page 21: Pemrograman sql

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

Page 22: Pemrograman sql

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

Page 23: Pemrograman sql

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)

Page 24: Pemrograman sql

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);

Page 25: Pemrograman sql

Data Definiton Language (DDL)

REMOVE TABLE

DROP TABLE table_name;

DROP TABLE pasok;