SQL

PENGENALAN SQL

 

Pengertian SQL

Structured Query Language (SQL) merupakan script yang digunakan untuk melakukan komunikasi dengan Database. SQL juga merupakan bahasa standar yang digunakan untuk RDBMS (Relational DataBase Management Systems). SQL dibangun di laboratorium IBM-San Jose California sekitar akhir tahun 70-an. Pertama kali dikembangkan sebagai bahasa di produk database DB2 yang sampai saat ini merupakan produk database andalan IBM. SQL sering di lafalkan dengan “sequel”.

Saat ini organisasi standar America (ANSI) menetapkan standar bahasa SQL yaitu ANSI-92 standard. Masing-masing vendor database memiliki dialeknya sendiri sebagaian besar spesifikasinya mengacu pada standar ANSI tersebut dengan berbagai ekstensi tambahan. SQL Server menggunakan bahasa Transact-SQL dalam produknya, sedangkan Oracle menggunakan PL/SQL.

Dengan SQL kita tidak perlu memperdulikan Database apa yang akan kita gunakan, sebab semua database tersebut akan mengerti jika menggunakan SQL. Database Relationals yang menggunakan bahasa SQL diantaranya Oracle,  Sybase, Microsoft SQL Server, FireBird, Acces, Ingres dan MYSQL

 

Tabel Pada SQL

Suatu database berisi dari satu atau lebih tabel. Setiap tabel diberi nama tertentu yang berhubungan dengan isinya, contohnya tabel yang isinya mengenai data pelanggan diberi nama tabel Customers. Tabel itu sendiri berisi dari satu atau sekumpulan record. Record adalah satu baris data yang dibentuk oleh satu atau beberapa field. Nah, field-field inilah yang berisi data. Berikut ini adalah contoh dari suatu tabel yang berisi data. Berikut ini adalah contoh dari tabel yang bernama ‘Karyawan’.

 

 

 

 

 

 

Tabel di atas terdiri dari tiga buah record. Masing-masing record terdiri dari empat buah field (LastName, FirstName, Address, City).

 

Mengenal DDL Pada SQL

DDL merupakan singkatan dari Data Definition Language yang juga bagian dari SQL. DDL ini berfungsi lebih ke dalam memanipulasi struktur dari database. Contohnya DDL ini bisa digunakan untuk membuat tabel atau menghapus tabel. Kita juga bisa membuat key atau index dengan menggunakan DDL ini, membuat relasi antar tabel juga bisa dilakukan dengan DDL ini.

Beberapa statemen atau sintaks yang sering dijumpai dalam DDL adalah sebagai berikut:

CREATE TABLE, bertugas untuk membuat table

ALTER TABLE, bertugas untuk merubah struktur suatu table

DROP TABLE, bertugas untuk menghapus suatu table

CREATE INDEX, bertugas untuk membuat suatu index dalam table

DROP INDEX, bertugas untuk menghapus suatu index dalam tabel.

1.             CREATE TABLE

Fungsi : membuat tabel

Sintaks :                CREATE TABLE tbname

(col 1                      data type               data spec,

                                 col 2             data type        data spec,

 .

 .

                                 PRIMARY KEY (col1,……))

 

Contoh :

CREATE TABLE PERSONEL

(REGNO                CHAR(10)            NOT NULL,

 NAME                  CHAR(45)            NOT NULL,

 ADDRESS            CHAR(45),

 BIRTH DATE    NOT NULL WITH DEFAULT,

 PRIMARY KEY (REGNO))

NULL

Spesifikasi             NULLNOT NULLNOT NULL WITH DEFAULT

 

NULL :  

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

NOT NULL

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

 

Pada saat membuat tabel, salah satu atribut tersebut di atas dispesifikasikan pada sebuah kolom.

 

2.             CREATE VIEW

Fungsi : 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.

                Tabel-name : nama tabel basis data.

Contoh :

                                CREATE VIEW VPERSON (REGNO, NAME) AS

SELECT  REGNO, NAME FROM PAUL.PERSONEL

 

CREATE INDEX

Fungsi : membuat index

Sintaks :                CREATE [UNIQUE] INDEX indexname

                                                ON nama_table (nama_kolom)

Contoh :

CREATE UNIQUE INDEX PRSONIDX

                                ON PERSONEL(REGNO)

 

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 TABLE

Fungsi : menghapus Tabel

 

Sintaks :                DROP TABLE tbname

 

Contoh :                DROP TABLE PERSONEL

 

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

Fungsi : menghapus view

Sintaks :   DROP VIEW viewname

Contoh :                DROP VIEW VPERSON

 

6.             DROP INDEX

Fungsi : menghapus index

Sintaks :                DROP INDEX indexname

 

Contoh :                DROP INDEX PRSONIDX

 

7.             ALTER 

Fungsi : merubah atribut pada suatu tabel

 

 

Mengenal DML Pada SQL

SQL adalah sekumpulan sintaks-sintaks atau statemen untuk mengakses data dalam database, tetapi SQL sendiri juga bisa digunakan untuk melakukan proses insert, update atau delete ke dalam suatu database. Sintaks-sintaks ini yang disebut dengan Data Manipulation Language (DML) yang merupakan bagian dari SQL. Berikut ini adalah penjelasan singkat dari sintaks-sintaks tersebut.

SELECT,  bertugas untuk mengakses data dari suatu tabel dalam database

UPDATE, bertugas untuk mengupdate (merubah) data dalam suatu tabel pada database.

DELETE,           bertugas untuk menghapus data dari suatu tabel dalam database

INSERT, bertugas untuk menambahkan data ke dalam suatu tabel dalam  database.

 

=            INSERT

Sintaks  :               INSERT INTO

                nama_tabel[(nama_kolom1, …)]

                                VALUES(data1, …);

                Contoh  :              

1). Masukkan data mata kuliah Berkas Akses dengan

 kode KK222 dan besarnya 2

INSERT INTO MKUL

VALUES(“KK222”, ”Berkas Akses”, 2);   

2).           INSERT INTO NILAI(npm,kdmk,mid)

                VALUES(“32296222”,”KK222”,30);

 

=            UPDATE

Sintaks  :               UPDATE nama_tabel

                SET nama_kolom = ekspresi

                WHERE kondisi;

    Contoh              :              

    1).Ubah alamat menjadi “Depok” untuk mahasiswa yang memiliki npm “50096487”

UPDATE MHS SET  alamat=”Depok”

WHERE npm=”50096487”;

2).           UPDATE NILAI SET mid=mid+10

WHERE kdmk=”KK021”;

 

=            DELETE

Sintaks  :               DELETE FROM nama_tabel

                WHERE kondisi

Contoh  :              

Hapus data nilai mata kuliah “KK021” bagi mahasiswa

yang mempunyai npm ”10296832”

DELETE FROM NILAI WHERE 

npm=”10296832” AND kdmk=”KK021”;

=            SELECT

Sintaks  :   SELECT [DISTINCT] nama_kolom

FROM nama_tabel

[ WHERE kondisi ]

[ GROUP BY nama_kolom ]

[ HAVING kondisi ]

[ ORDER BY nama_kolom [ASC/DESC]]

 

 

Contoh

Satu tabel ( Simple Query )

               

1).           Tampilkan semua data mahasiswa

                SELECT npm,nama,alamat

                                FROM  MHS;

atau

SELECT * FROM MHS;

 

  Hasil :

 

npm

nama

alamat

10296832

Nurhayati

Jakarta

10296126

Astuti

Jakarta

31296500

Budi

Depok

41296525

Prananingrum

Bogor

50096487

Pipit

Bekasi

21196353

Quraish

Bogor

 

2).           Tampilkan mata kuliah yang sks-nya 2

SELECT mtkuliah FROM MKUL

               WHERE  sks = 2;

 

Hasil :

 

mtkuliah

P. Basis Data

Pancasila

 

SELECT * FROM nilai

                                                WHERE mid >= 60 OR final > 75;

 

SELECT npm, kdmk, mid FROM nilai

WHERE mid BETWEEN 70 AND 100;

 

3).           Tampilkan nama mahasiswa yang diawali dengan huruf “P”

SELECT nama FROM MHS

WHERE nama LIKE “P%”;

 

Hasil :

 

nama

Prananingrum

Pipit

 

SELECT nama FROM MHS

                                WHERE nama NOT LIKE “%a%”;

 

SELECT nama FROM MHS

                                WHERE nama LIKE “_u%”;

 

4).  Tampilkan alamat mahasiswa, dimana alamat

yang sama hanya ditampilkan satu kali saja

               

                SELECT DISTINCT alamat FROM MHS;

 

Hasil :

 

alamat

Jakarta

Depok

Bogor

Bekasi

 

 

5).           Tampilkan semua data mahasiswa dengan nama

                terurut dari “Z” ke “A”

 

SELECT * FROM MHS ORDER BY nama DESC;

               

Hasil :

 

npm

nama

alamat

21196353

Quraish

Bogor

41296525

Prananingrum

Bogor

50096487

Pipit

Bekasi

10296832

Nurhayati

Jakarta

31296500

Budi

Depok

10296126

Astuti

Jakarta

 

Tampilkan alamat mahasiswa dan jumlah masiswa yang bertempat tinggal di alamat  tersebut

 

SELECT alamat, COUNT(*) FROM MHS

                                GROUP BY alamat;

 

Hasil :

 

alamat

COUNT(*)

Jakarta

2

Depok

1

Bogor

2

Bekasi

1

 

Tampilkan alamat dan jumlah mahasiswa yang bertempat tinggal pada alamat yang jumlahnya lebih dari satu

 

SELECT alamat, COUNT(*) FROM MHS

                                                GROUP BY alamat

HAVING COUNT(*) > 1;

 

Hasil :

 

alamat

COUNT(*)

Jakarta

2

Bogor

2

 

6).           Tampilkan nilai Midtest tertinggi dan terendah untuk mata kuliah “KD132”

 

SELECT MAX(mid), MIN(mid) FROM NILAI

WHERE kdmk=”KD132”;

 

Hasil :

 

MAX(mid)

MIN(mid)

80

40

 

 

Tampilkan rata-rata dan jumlah nilai final test

                mata kuliah “KD132”

 

SELECT AVG(final), SUM(final) FROM NILAI

WHERE kdmk= ”KD132”;

 

 

Hasil :

 

AVG(final)

SUM(final)

40

120

 

 

 

     DCL

Perintah yang digunakan untuk mengatur perijinan akses terhadap database.

Perintah yang digunakan GRANT,REVOKE

1.             GRANT 

Fungsi : digunakan untuk memberikan izin akses kepada user

 

Sintaks :                GRANT privileges ON tbname TO user

 

Contoh :

                                GRANT SELECT ON CLUB TO PUBLIC

                                GRANT SELECT, INSERT, UPDATE, DELETE ON CLUB TO USER01

 

2.             REVOKE

Fungsi : digunakan untuk mencabut izin akses kepada user

 

Sintaks :                REVOKE privileges ON tbname FROM user

 

Contoh :

                                REVOKE INSERT, UPDATE, DELETE ON CLUB FROM USER01

                                REVOKE ALL ON CLUB FROM PUBLIC.

 

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s