Selasa, 13 September 2011

Tutorial SQL


NIM/NAMA     : 10.41010.0256 / ARIOCKY AGUSTINUS
Dosen
              : Tan Amelia
Tugas             
  : Tutorial SQL dan sebutkan fungsinya

Pengertian SQL

Pertama, sebelum kita jauh mempelajari SQL, kita tahu dulu tentang pengertian database. Database itu adalah kumpulan data atau informasi yang kompleks, data-data tersebut disusun menjadi beberapa kelompok dengan tipe data yang sejenis, dimana data-data tersebut dapat saling berhubungan satu sama lain atau dapat berdiri sendiri, sehingga mudah diakses. Nah, di basis data ini bisa dikelola menggunakan program aplikasi basis data, misal: MySQL, Access dan SQL Server.

Pengertian SQL adalah kependekan dari (Structured Query Language)yaitu bahasa yang dirancang khusus untuk komunikasi dengan database. Tidak seperti bahasa-bahasa lainnya (seperti bahasa C, basic, pascal atau bahasa pemprograman yang lain) Bahasa SQL sengaja di rancang untuk melakukan hal secara sederhana dan efisien untuk membaca dan
menulis data dari suatu database. SQL adalah bahasa query baku untuk DBMS,SQL diambil sebagai bakuan sejak tahun 1992 dan awalnya diterapkan pada DBMS besar seperti Oracle
dan Informix, sekarang juga pada DBMS berbasis PC seperti dBASE dan FoxPro.SQL bersifat sebagai bahasa tingkat tinggi (high level). Pemakai hanya menyebutkan hasil yang diinginkan dan optimasi pelaksanaan query dilakukan oleh DBMS. Satu perintah SQL dapat mewakili puluhan baris perintah bahasa xBASE.

SQL (Structured Query Language) adalah sebuah bahasa yang dipergunakan untuk mengakses data dalam basis data relasional. Bahasa ini secara de facto merupakan bahasa standar yang digunakan dalam manajemen basis data relasional. Saat ini hampir semua server basis data yang ada mendukung bahasa ini untuk melakukan manajemen datanya. (dari wikipedia)




            Statemen SQL digunakan untuk melakukan tugas-tugas seperti melakukan update terhadap database, atau mengambil data dari sebuah database. Beberapa database relasional yang menggunakan SQL dan cukup ngetop adalah: MySQL, Oracle, Sybase, Microsoft SQL Server, Access, Ingres, etc. Meskipun sebagian besar sistem database menggunakan SQL, namun sebagian besar dari mereka juga memiliki ekstensi khusus yang hanya bisa digunakan di sistem masing-masing. Namun demikian, perintah standar SQL seperti “Select”, “Insert”, “Update”, “Delete”, “Create”, dan “Drop” dapat digunakan untuk melakukan hampir semua hal yang perlu dilakukan terhadap sebuah database.

Perintah-perintah dalam SQL bisa disebut dengan query.
Ada tiga sub perintah:
1.  DDL -> Data Definition Language
2.  DML -> Data Manipulation Language
3.  DCL -> Data Control Language

I.    Data Definition Language
Ini adalah perintah dasar untuk membangun kerangka nya database, seperti:


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 NULL, NOT NULL, NOT NULL WITH DEFAULT

Dapat diintepretasikan sebagai nilai yang tidak diketahui atau tidak tersediaanya suatu nilai.
Null bukan berati kosong(blank) atau O (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

3. 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
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) Modul Sistem Basis Data SQL Hal 40
II.DATA MANIPULATION LANGUAGE
Ini adalah perintah untuk memanipulasi data dalam database yang sudah dibuat.

1. INSERT
Fungsi : 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 :
Query : insert into DELTA values ('1005', '0260', 'Joni')



2. UPDATE
Fungsi : merubah record
Sintaks : UPDATE tbname SET field = ekspresi
                                  WHERE kondisi
Query update DELTA set nama = 'agam' where id = 1003
Contoh :



3. DELETE
Fungsi : menghapus record
Sintaks : DELETE FROM tbname
                                     WHERE kondisi
Query : DELETE FROM DELTA  WHERE ID = 1005
Contoh :



4. SELECT
Fungsi : menampilkan record
Sintaks :           SELECT [DISTINCT] colname FROM tbname 
Contoh : select * from DELTA


[WHERE kondisi]       THE WHERE
Syntax WHERE digunakan untuk mengekstrak hanya catatan-catatan yang memenuhi kriteria tertentu atau kriteria yang kita tentukan sendiri.
Contoh query :      SELECT column_name(s)
                             FROM table_name
                             WHERE column_name operator value




Dari data diatas saya ingin menampilkan Product Sales (Penjualan Produk) yang lebih dari 3000 maka kita bisa menggunakan Query WHERE kita bisa mengkondisikan data dari tabel.
Contoh Syntax :
SELECT ProductName, ProductSales
FROM [Product Sales for 1997]
      WHERE ProductSales > 3000

             
[ORDER BY kondisi]
ialah digunakan untuk mengurutkan hasil yang ditetapkan oleh kolom tertentu
contoh syntax: 
SELECT column_name(s)
            FROM table_name
            ORDER BY column_name(s) ASC|DESC

query : select * from kode order by id asc


query : select * from kode order by id desc
 



III.Data Control Language (DCL) :
Digunakan untuk mengontrol hak para pemakai data dengan perintah : 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

Ketika menggunakan query, anda dapat menggunakan klausa berikut untuk diimplementasikan dalam pernyataan SQL.

KLAUSA
keterangan
FROM
Menentukan table mana yang datanya akan ditampilkan
WHERE
Menentukan kondisi query
GROUP BY
Menentukan group/kelompok dari informasi yang dipilih
HAVING
Digunakan bersama GROUP BY untk menentukan kondisi untuk tiap
group dalam query
ORDER BY
Menentukan urutan dari query

Bagi seorang programmer, menguasai SQL adalah sebuah kewajiban, karena program jaman sekarang pasti menggunakan database untuk menyimpan datanya. Bagi saya sendiri yang bisa menggunakan program PHP, biasa menggunakan database mysql dan oracle. Jadi untuk membuat sebuah aplikasi saya menggunakan program PHP dan database.
Sementar khusus bagi oracle, ada istilah PL/SQL. PL/SQL yang merupakan singkatan dari Procedural Language/Structured Query Language merupakan sebuah penggabungan antara bahasa pemrograman prosedural (PL) dan SQL syntax. Jika digambarkan sebagai berikut:

                         
                               PL                                         SQL
Jadi dengan PL/SQL kita tidak perlu menggunakan sebuah bahasa pemrograman sendiri. fungsi-fungsi standard di bahasa pemrograman sudah ada di sini dan bisa langsung digabung dengan perintah SQL untuk memanipulasi database. Tapi PL/SQL cuma ada di database oracle saja






0 komentar:

Posting Komentar

 

Blogger news

Blogroll

About