Rabu, 16 September 2015

PEMROGRAMAN SQL

PEMROGRAMAN SQL

Pengertian SQL
      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. SQL atau Structure Query Language juga merupakan bahasa standar yang ditetapkan oleh America National Standards Institute (ANSI) pada tahun 1999 untuk mengakses dan memanipulasi data pada Database Relational. Karena sifatnya standar maka setiap software RDMS harus menerapkan bahasa SQL dengan diperbolehkan untuk mengembangkan atau menyertakan perintah-perintah yang non standar. S-Q-L atau yang dulunya dibaca “Sequel” ini dikembangkan oleh IBM pada pertengahan 1970s. Sekarang SQL merupakan bahasa standar internasional untuk pembuatan (creating) dan query database relational.

Sejarah SQL
      Sejarah SQL dimulai dari artikel seorang peneliti dari IBM bernama EF Codd yang membahas tentang ide pembuatan basis data relasional pada bulan Juni 1970. Artikel ini juga membahas kemungkinan pembuatan bahasa standar untuk mengakses data dalam basis data tersebut. Bahasa tersebut kemudian diberi nama SEQUEL (Structured English Query Language). Setelah terbitnya artikel tersebut, IBM mengadakan proyek pembuatan basis data relasional berbasis bahasa SEQUEL. Akan tetapi, karena permasalahan hukum mengenai penamaan SEQUEL, IBM pun mengubahnya menjadi SQL. Implementasi basis data relasional dikenal dengan System/R. Di akhir tahun 1970-an, muncul perusahaan bernama Oracle yang membuat server basis data populer yang bernama sama dengan nama perusahaannya. Dengan naiknya kepopuleran Oracle, maka SQL juga ikut populer sehingga saat ini menjadi standar de facto bahasa dalam manajemen basis data.

Standarisasi SQL
      Standarisasi SQL dimulai pada tahun 1986, ditandai dengan dikeluarkannya standar SQL oleh ANSI. Standar ini sering disebut dengan SQL86.Standar tersebut kemudian diperbaiki pada tahun 1989 kemudian diperbaiki lagi pada tahun 1992. Versi terakhir dikenal dengan SQL92. Pada tahun 1999 dikeluarkan standar baru yaitu SQL99 atau disebut juga SQL99, akan tetapi kebanyakan implementasi mereferensi pada SQL92. Saat ini sebenarnya tidak ada server basis data yang 100% mendukung SQL92. Hal ini disebabkan masing-masing server memiliki dialek masing-masing.

Pemakaian Dasar SQL
      Secara umum, SQL terdiri dari dua bahasa, yaitu Data Definition Language (DDL) dan Data Manipulation Language (DML). Implementasi DDL dan DML berbeda untuk tiap sistem manajemen basis data (SMBD)[1], namun secara umum implementasi tiap bahasa ini memiliki bentuk standar yang ditetapkan ANSI. Artikel ini akan menggunakan bentuk paling umum yang dapat digunakan pada kebanyakan SMBD.
Tujuan dari pemakaian SQL dalam menyelesaikan tugas-tugas yang berkaitan dengan database, diantaranya :
·         Memanggil data dari satu table atau lebih
·         Memanipulasi data
·         Mendapatkan ringkasan informasi
·         Membuat, memodifikasi atau menghapus table
·         Membuat atau menghapus index

Fungsi (Function ) SQL
      MS SQL Server memiliki beberapa fungsi untuk manipulasi data antara lain yaitu :
·         Fungsi string atau karakter
·         Fungsi tanggal
·          Fungsi matematika
·         Fungsi system atau fungsi scalar
·         Fungsi User Defined
·         Fungsi tambahan yang dapat digunakan untuk mengubah (konversi) dari data yang satu ke data yang lain.

Penggunaan SQL Pengguna SQL-Server
      Buat pengguna SQL-Server, khususnya admin/programer, cek file C:\Program Files\Microsoft SQL Server\MSSQL\Data\tempdb.mdf (atau folder default dimana data default SQL-Server diletakkan). File tempdb.mdf adalah file temporari dari sistem SQL-Server apabila server mendapat query yang melibatkan data yang kompleks. Yah semacam swap file gitu deh, untuk mengoptimalkan proses. Sayangnya, file ini bisa membengkak besar sekali. Di kantor saya pernah mencapai 32GB!. Kadang bingung juga, padahal sistem dalam kondisi idle (tidak ada koneksi ke server), kok ni file tidak dimampatkan lagi oleh SQL Server.
Apabila hal ini terjadi cara mengatasinya cukup mudah, restart saja SQL-Servernya. Hopla! file pun kembali berukuran sekitar 8MB saja. Anda bisa melakukan cek secara berkala ke file ini, atau lebih gampangnya ya diberi scheduling untuk merestart server di jam-jam biasanya idle.
SQL dapat digunakan dengan 2 cara :
1. Interaktif SQL (SQL Interaksi)
Memasukkan sebuah pernyataan SQL melalui terminal / microkomputer dan langsung diproses atau diinteprestasikan, hasilnya bisa dilihat secara langsung.
2. Embedded SQL (SQL Sisipan)
Dengan menyisipkan pernyataan SQL ke dalam sebuah program yang ditulis dengan bahasa pemrograman lain. Hasil pernyataan SQL tidak dapat dilihat langsung oleh pemakai, tapi diproses oleh program lain.


Elemen Dasar SQL
      Elemen Dasar SQL terdiri dari pernyataan,nama,tipe data,konstanta,ekspresi dan fungsi bawaan disini kita hanya membahas pernyataan:
·         ALTER             : mengubah struktur tabel
·         COMMIT         : mengakhiri sebuah eksekusu transaksi
·         CREATE          : menciptakan table,indeks
·         DELETE          : menghapus baris pada table
·         DROP             : menghapus table,indeks
·         GRANT           : menugaskan hak terhadap basis data kepada pengguna atau group
·         INSERT          :  menambahkan sebuah baris pada table
·         REVOKE        :  membatalkan hak terhadap basis data
·         ROLLBACK   : mengembalikan ke dalam bentuk semula sekiranya suatu transaksi gagal
·         SELECT          : memilih baris dan kolom pada tabel
·         UPDATE         : mengubah nilai pada sebuah baris.

TIPE DATA


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

Komponen SQL
             A.    DDL (Data Definition Language)
DDL adalah suatu pernyataan untuk mendefinisikan struktur atau skema database. DDL juga merupakan kumpulan perintah SQL yang digunakan untuk membuat, mengubah dan menghapus struktur dan definisi metadata dari objek-objek database.
Pada DDL ini ada beberapa yang perlu diperhatikan yaitu :
·         Nama tabel haru unik
·         Nama kolom ditulis dalam tanda kurung dan dipisahkan dengan tand koma (,).
·         Pada nama kolom terakhir tidak boleh dipakai tanda koma.
·         Setiap kolom harus memiliki type data dan lebarnya.
·         Constraints (batasan) bisa berupa batasan pada kolom dan batasan pada tabel.

CREATE TABLE, untuk membuat object dalam database, bisa berupa table, view, procedure, function, trigger, ataupun package (oracle).
Contoh : create table mahasiswa (npm char(7) not null primary key,nama char(30), alamat char(50));
      ALTER TABEL, untuk mengubah structur dari suatu objek dalam database.
      Contoh : alter table mahasiswa add email char(30)
      DROP TABEL, untuk menghapus objek dalam database,
      Contoh: drop table mahasiswa;
TRUNCATE TABLE, untuk menghapus/membersihkan isi table beserta alokasi space yang ada di dalamnya,
      Contoh : truncate table mahasiswa
COMMENT, memberikan keterangan/komentar pada ke dalam kamus data. berisi deskripsi dari sebuah objek dalam database.
      RENAME, mengganti nama objek dalam database.(Mysql, Oracle)

Data Definition Language (DDL)
Menambahkan Constraint

Kegunaan constraint :
·         Memberikan aturan pada tingkat table
·         Membatasi manipulasi tertentu pada tabel
·         Menjaga integritas data
·          Menjaga validitas data

Jenis-jenis constraint :
·         NOT NULLsuatu kolom haru memiliki nilai tertentu (tidak boleh kosong).
·         UNIQUE, Suatu kolom harus todak boleh memiliki nilai yang sama (tetapi boleh null). 
·         PRIMARY KEY 
·         FOREIGN KEY 
·         CHECK 


B.  DML (Data Manipulation Language)
DML adalah pernyataan yang digunakan untuk mengorganisir data dengan menggunakan skema objek.
SELECT, untuk menyeleksi data dari dalam database.
contoh : select npm, nama, alamat from mahasiswa;
      INSERT, untuk menginputkan record ke dalam suatu table.
contoh : insert into mahasiswa(npm,nama,alamat) values(‘201331092’,’Linda Alifiana’,’Jalan Jakarta No. 28’)
UPDATE, untuk melakukan update dari table yang sudah dibuat.
contoh : update mahasiswa set npm=’001’ where npm=’0401034’;
      DELETE, untuk menghapus isi record baik semuanya ataupun sebagian dari suatu table.
contoh : -delete from mahasiswa (menghapus semua isi ) -delete from mahasiswa where npm = ‘001’(hanya pada kondisionalnya saja).
MERGE, penggabungan update, insert, delete pada suatu table berdasarkan kondisi yang cocok. (Oracle).
EXEC, memanggil procedure yang telah kita buat.
contoh : kita buat procedure seleksimhs: create procedure seleksimhs @npm char(7) as select * from mahasiswa where npm=@npm.
cara eksekusi : EXEC seleksimhs ‘001’;

           C.     DCL (Data Control Language)
Terdiri dari 2 statement, yaitu Grant, Revoke, dan DENY, Grant untuk memberikan hak akses, dan Revoke untuk membuang hak yang telah dilarang dengan perintah Deny atau hak yang telah diberikan oleh perintah GRANT, sedangkan Deny.
      GRANT
      Contoh : GRANT INSERT, UPDATE, DELETE On mahasiswa To public
      REVOKE
      Contoh : REVOKE SELECT On mahasiswa To Public
      DENY
      Contoh : DENY SELECT On mahasiswa To Public
  

TUGAS  PEMROGRAMAN SQL

Langkah-langkah menggunakan aplikasi pgAdmin III 
a. Pertama buka aplikasi pgAdmin III klik kanan PostgresSQL refresh
    

b. Kedua klik kanan connectkan ke database. dan muncul connect to server untuk masuk



c. Ketiga  masuk ke server dan klik kanan database pilih new database


d. Keempat masuk ke database dan isi name, owner dan comment lalu klik ok



e.Kelima file kita muncul dengan nama Linda Alifiana dan klik kanan untuk refresh



f. Selanjutnya klik kanan untuk CREATE Script 


g. Kemudian lanjutkan untuk menulis source program



1.      Table Barang 
Coding : CREATE TABLE barang(
               kode_barang char(10),
               nama_barang varchar(30),
               satuan_barang varchar(10),
               stock_barang numeric(10),
               constraint pk_barang primary key (kode_barang)
               );

2.      Table Pasok 
Coding : CREATE TABLE pasok (
               kode_pasok char(10),
               kode_barang char(6),
               kode_suplier char(10),
               tanggal_pasok date,
               jumlah_pasok numeric,

            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)

 ); 





3.      Table Suplier
Coding : CREATE TABLE suplier(
               kode_suplier char(10),
               nama_suplier char(6),
               telepon_suplier char(5),
               constraint pk_suplier primary key (kode_suplier)
               );


 SUMBER :


1 komentar:

  1. Terima kasih infonya, dengan penjelasan ini memudahkan saya untuk mempelajarinya
    My blog

    BalasHapus