Selasa, 09 September 2014

Pemrograman SQL Pertemuan 1 Part 2



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
·    Drop adalah Perintah yang digunakan untuk menghapus database dan tabel



 


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