Tuesday, May 5, 2015

SQL (STRUCTURE QUERY LANGUAGE)


Structured Query Language (SQL) merupakan komponen bahasa relational database system. SQL merupakan bahasa baku (ANSI/SQL), non procedural, dan berorientasi pada himpunan. SQL dapat digunakan baik secara interaktifatau ditempelkan pada sebuahprogram aplikasi.

Komponen-Komponen SQL
  • Data Definition Language (DDL):digunakan untuk mendefinisikan  data dengan menggunakan perintah :  create, drop, alter.
  • DataManipulation Language (DML): Digunakan untuk memanipulasi data dengan menggunakan perintah: select, insert, update, delete. Data Manipulation Language merupakan bagian terpadu bahasa SQL. Perintah-perintahnya dapat dibuat secara interaktif atau ditempelkan pada sebuah program aplikasi. Pemakai  hanya  perlu  menentukan 'APA' yang  ia  inginkan, DBMS menentukan 'BAGAIMANA' cara mendapatkannya.
  • Data ControlLanguage (DCL): Digunakan untuk mengontrol hak para  pemakai data dengan perintah:  grant,   revoke

DDL
Perintah-perintah pada DDL dapat dijabarkan sebagai berikut:
  1. CREATE TABLE Perintah CREATE TABLE berfungsi untuk membuat tabel.
    Sintaks :

    CREATE TABLE tbname
        (col 1 data type data spec,
         c
    ol 2  data type  data spec,     PRIMARY KEY (col1,……)
        )

    Contoh :

    C
    REATE TABLE MAHASISWA  (
    NPM  CHAR(8)  NOT NULL,
       
    NAMA   CHAR(45)  NOT NULL,
       
    ALAMAT   CHAR(45),
      
    TGL-LAHIR  DATE   NOT NULL WITH DEFAULT,
       
    PRIMARY KEY (NPM)
      )


    Pernyataan NULL yang digunakan dapat dispesifikasikan sebagai berikut:

    NULL
    NULL dapat diinterpretasikan sebagai nilai yang tidak diketahui atau tidak tersedianya suatu nilai. NULL bukan berarti kosong (blank) atau 0 (Nol).
    NOT NULL

    NOT NULL dimana pemakai atau program harus memberikan nilai-nilai pada saat memasukkan record

    NOT NULL WITH DEFAULT

    Nilai default disimpan pada saat record dimasukkan tanpa nilai yang ditentukan untuk kolom ini

    Nilai default-nya :
    Nol, untuk tipe field NUMERIC Blank, untuk tipe field CHARACTER
    CURRENT
    DATE, untuk tipe field DATE
    CURRENT
     TIME, untuk tipe field TIME
    P
    ada saat membuat tabel, salah satu atribut tersebut di atas dispesifikasikan pada sebuah kolom.
  2. CREATE VIEWPerintah CREATE VIEW berfungsi untuk membuat tabel view. View merupakan bentuk alternatif penyajian data dari satu atau lebih tabel. View dapat berisi semua atau sebagian kolom yang terdapat pada tabel dimana kolom tersebut didefinisikan.

    Tujuan membuat view:

    - Meningkatkan keamanan data- Meningkatkan kemandirian data- Penyederhanaan  bagi end  user (data   yang  sedikit,  nama-nama kolom yang baru dan dapat dibaca dengan lebih baik)

    Properti :

    § Tidak terdapatnya data tambahan§ View mencakup subset kolom dan / atau baris§ View dapat berisikan data dari beberapa tabel dan / atau tabel-tabel view lainnya§ View dapat berisikan perolehan data, misal : nilai rata-rata§ Manipulasi data melalui view terbatas

    Sintaks:

             CREATE VIEW  viewname (column1, column2, ……..)
                                        AS SELECT statement FROM tbname
                                        [WITH CHECK OPTION]

    Keterangan :
       -        View-name     : nama view yang akan dibuat.
       -        Column          : nama atribut untuk view
       -        Statement       : atribut yang dipilih dari tabel basis data.
       -        Tbname          : nama tabel basis data.

    Contoh :
                CREATE VIEW VMHS (NPM, NAMA)
                AS SELECT  NPM, NAMA FROM MAHASISWA
  3. CREATE INDEX Perintah CREATE INDEX berfungsi untuk  membuat tabel index.

    Sintaks :
             CREATE [UNIQUE] INDEX indexname
                                        ON nama_table (nama_kolom)

    Contoh :

              CREATE UNIQUE INDEX MHSIDX ON MAHASISWA(NPM)

    Dengan indeks memungkinkan suatu tabel diakses dengan urutan tertentu tanpa harus merubah urutan fisik dari datanya dan dapat pula diakses secara cepat melalui indeks yang dibuat berdasar nilai field tertentu. Spesifikasi  UNIQUE akan menolak key yang sama dalam file.

  4. DROP TABLEPerintah DROP TABLE berfungsi untuk menghapus tabel.

    Sintaks:
        DROP TABLE tbname

    Contoh:
        DROP TABLE MAHASISWA

    Dengan perintah itu obyek lain yang berhubungan dengan tabel tersebut otomatis akan dihapus atau tidak akan berfungsi seperti :
        -       semua record dalam tabel akan terhapus
        -       index dan view pada tabel akan hilang
        -       deskripsi tabel akan hilang

  5. DROP VIEW Perintah DROP VIEW berfungsi untuk menghapus view.

    Sintaks :
       DROP VIEW viewname

    Contoh :
       DROP VIEW VMHS
  6. DROP INDEX Perintah DROP INDEX berfungsi untuk menghapus index.
    Sintaks :
        DROP INDEX indexname

    Contoh :  
                DROP INDEX MHSIDX
  7. ALTER Perintah ALTER berfungsi untuk merubah atribut pada suatu tabel.
    Sintaks :
             ALTER TABLE  tbname
                           MODIFY (nama_kolom  tipe_kolom)
                           ADD  (nama_kolom   tipe_kolom [[before, nama_kolom]])
                           DROP (nama_kolom  tipe_kolom)

    Contoh :
        merubah Tabel TABX dengan menambah Field D.
       
        ALTER TABLE TABX ADD D CHAR(3)


DML Perintah-perintah pada DML dapat dijabarkan sebagai berikut:

  1. INSERT Perintah INSERT berfungsi untuk menambah baris (record) baru.
    Sintaks :
             INSERT INTO tbname
                            (col1, ...) VALUES (value1, ...)

    Catatan :
    Sintaks tersebut dapat digunakan jika jumlah kolom = jumlah nilai, tetapi jika dalam tabel semua kolom akan diisi dapat digunakan sintaks berikut ini :

    Sintaks :
             INSERT INTO tbname
                            VALUES (value1, value2, ...)

    Nilai-nilai diisikan sebanyak kolom yang terdapat di tabel tersebut.

    Contoh :
    pada tabel MAHASISWA akan ditambahkan record mahasiswa baru.

    INSERT INTO MAHASISWA
    VALUES (‘00105543’,’MUHAMMAD ADI’,JL. MERUYA NO.100, JAKARTA’,02-02-1990)

  2. UPDATEPerintah UPDATE berfungsi untuk merubah record.
    Sintaks :
             UPDATE tbname
                            SET field = ekspresi
                            WHERE kondisi
    Contoh :
    akan diubah nama mahasiswa dari MUHAMMAD ADI dengan NPM 00105432 menjadi MUHAMMAD ALI

    UPDATE MAHASISWA
    SET nama =’MUHAMMAD ALI’
    WHERE NPM=’00105432’

  3. DELETEPerintah DELETE berfungsi untuk menghapus record.
    Sintaks :
             DELETE FROM tbname
                            WHERE kondisi
    Contoh :
    akan dihapus data mahasiswa dengan NPM 0010500

    DELETE FROM MAHASISWA
    WHERE NPM=’00105004

  4. SELECTPerintah SELECT berfungsi untuk menampilkan record.
    Sintaks :
             SELECT [DISTINCT] colname FROM  tbname
                            [WHERE kondisi]
                            [GROUP BY kondisi]
                            [HAVING kondisi]
                            [ORDER BY kondisi]
DCL
Berikut ini adalah perintah-perintah pada DCL :
  1. GRANTPerintah GRANT berfungsi untuk memberikan izin akses kepada pemakai.Sintaks :
        GRANT privileges ON tbname TO user

    Contoh :

    GRANT SELECT ON CLUB TO PUBLIC
    GRANT SELECT, INSERT, UPDATE, DELETE ON CLUB TO USER01
  2. REVOKEPerintah REVOKE berfungsi untuk mencabut izin akses kepada pemakai.
    Sintaks :
        REVOKE privileges ON tbname FROM user

    Contoh :

    REVOKE INSERT, UPDATE, DELETE ON CLUB FROM USER01
    REVOKE ALL ON CLUB FROM PUBLIC

Tag :

Artikel Terkait