Kamis, 05 Mei 2011

PENGANTAR SQL

PENGANTAR SQL
Pendahuluan
Aplikasi berisi SQL yang dilekatkan dan logika proses. Aplikasi melakukan pemrosesan transaksi, dan menampilkan hasil. Hal ini dilakukan dengan memanggil fungsi-fungsi API (Aplication Program Interface) yang disediakan oleh manajer pengendali untuk berhubungan dengan sumber data. Manajer pengendalian menyediakan antar muka ODBC yan gumum, memuat pengendali yang spesifik terhadap basis data sesuai yang diminta aplikasi, dan memetakan panggilan-panggilan ODBC terhadap fungsi-fungsi yang disediakan pengendalian yang spesifik terhadap basis data. Pengendalian yan gspesifik terhadap basis data memproses panggilan-panggilan fungsi ODBC, mengkonversi SQL dan tipe data sesuai dengan sintaks pada DBMS, dan menformat kode kesalahan DBMS pada bentuk yang standar. Pengendalian ini juga bertanggung jawab untuk mengirim hasil dan kode kesalahan pada manajer pengendali. Sumber data terdiri atas DBMS dan perangkat lunak system operasi atau jaringan yang digunakan untuk berhubungan dengan DBMS yang ada di komputer lain.
SQL juga diteapkan pada Internet atau Intranet untuk mengakses basisi data melalui halaman-halaman Web, untuk mendukung konsep Web dinamis (data disajikan pada halaman Web tidak lagi bersifat statis, melaikan akan mengikuti nilai sekarang yang terdapat pada basis data). Berbagai perangkat lunak, seperti IntraBuilder dan Visual J++, mendukung implementasi hal ini.
Elemen SQL
Elemen dasar SQL mencakup pernyataan, nama, type data, konstanta, ekspresi, dan bawaan.
Pernyataan
Peryataan adalah perintah SQL yang meminta sesuatu tindakan kepada DBMS. SQL memiliki kira-kira 30 pernyataan. Beberapa pernyataan dasar SQL dapat dilihat pada tabel dibawah ini:
Pernyataan Keterangan
ALTER Mengubah Struktur Tabel
COMMIT Mengakhiri sebuah eksekusi transakasi
CREATE Menciptakan tabel, indeks, dan pandangan
DELETE Menghapus baris pada tabel
DROP Menghapus tabel, indeks, atau pandangan
GRANT Menugaskan hak terhadap basis data pada pengguna atau grup pengguna.
INSERT Menambah sebuah baris pada tabel
REVOKE Membatalkan hak terhadap basis data
ROLLBACK Mengembalikan ke keadaan semula sekiranya suatu transaksi gagal dilaksanakan
SELECT Memilih baris dan kolom pada tabel
UPDATE Mengubah nilai pada sebuah baris
Nama
Nama digunakan sebagai identitas bagi obyek-obyek pada DBMS. Contoh obyek pada DBMS adalah tabel, kolom, dan pengguna.
Tipe Data
Setiap data memiliki type data. Beberapa tipe data standar dapat dilihat pada table dibawah ini.
Tipe Data Keterangan
CHAR Untuk menyatakan deretan karakter (string). Misalnya, untuk menyatakan nama orang, nama jalan, atau nama kota.
INTEGER Untuk menyatakan bilangan bulat.
NUMERIC Untuk menyatakan bilangan real.
Table Tipe data standar
Beberapa tipe data perluasan (spesifik terhadap DBMS tertentu) dapat dilihat pada table dibawah ini:
Tipe Data Keterangan
VARCHAR untuk menyatakan string yang panjangnya bervariasi
MONEY Untuk menyatakan uang
BOOLEAN menyatakan tipe logis (True atau False)
BLOB untuk menyatakan data biner (gambar, suara,dan sebagainya)
SERIAL atau AUTOINCREMENT untuk menyatakan nilai urut
Table Tipe data perluasan
Konstanta
Konstanta menyatakan nilai yang tetap (kabalikan dari konstanta adalah variable). Beberapa contoh konstanta:
•Konstanta numeric : 123, -245, 5.45
•Konstanta : ‘Jl. Sukapura 23’
•Konstanta simbolik (konstanta yang tersedia pada SQL dan mempunyai makna tersendiri): SYSDATE (tanggal system), USER (nama pengguna yang menjalankan SQL). Konstanta simbolik seringkali disebut variable system.
Ekspresi
Ekspresi adalah segala sesuatu yang menghasilkan nilai. Ekspresi digunakan untuk menghitung nilai. Sebagai contoh :
(LABA / MODAL) * 100
merupakan ekspresi untuk membagi isi variable LABA dengan MODAL, dan kemudian dikalikan dengan 100.
Simbol-simbol yang dapat digunakan pada ekspresi aritmatika dapat dilihat pada table dibawah ini:
Simbol Keterangan
* Perkalian
/ Pembagian
+ Penjumlahan
- Pengurangan
Table. Symbol pada ekspresi aritmatika
Fungsi Bawaan
Fungsi adalah sebuah subprogram yang menghasilkan suatu nilai jika dipanggil. SQL memiliki sejumlah fungsi bawaan (fungsi yang disediakan oleh SQL). Sebagai contoh, terdapat fungsi bernama MIN yang berguna untuk memperoleh nilai terkecil atau AVG untuk memperoleh nilai rata-rata.
Kelompok persyaratan SQL
Pernyataan SQL dapat dikelompokkan menjadi 5 kelompok, DDL, DML, DCL, pengendalian transaksi, dan pengendalian progmatik.

DDL (Data Definition Language)
DDL merupakan kelompok perintah yang berfungsi untuk mendefinisiksn atribut-atribut basis data, table, atribut (kolom), batasan-batasan terhadap suatu atribut, serta hubungan antar table. Yang termasuk dalam kelompok DDL ini adalah CREATE, ALTER, dan DROP.
DML (Data Manipulation Language)
DML adalah kelompok perintah berfungsi untuk memanipulasi data dalam basis data, misalnya untuk pengambilan, penyisipan, pengubahan, dan penghapusan data. Perintah yang masuk kategori DML adalah:
•SELECT Memilih data
•INSERT Menambah data
•DELETE menghapus data
•UPDATE Mengubah data
DCL (Data Control Language)
DCL berisi perintah-perintah untuk mengendalikan pengaksesan data. Pengendalian dapat dilakukan berdasar per pengguna, per table, per kolom maupun per operasi yang boleh dilakukan. Perintah-perintah yang termasuk dalam DCL adalah :
•GRANT Memberikan kendali pengaksesan data
•REVOKE Mencabut kemampuan pengaksesan data
•LOCK TABLE Mengunci table

Pengendali Transaksi
Pengendali transaksi adalah perintah-perintah yang berfungsi untuk mengendalikan pengeksekusian transaksi. Perintah yang termasuk dalam kategori ini :
•COMMIT Menyetujui rangkaian perintah yang berhubungan erat (disebut transaksi) yang telah berhasil dilakukan.
•ROLLBACK Membatalkan transaksi yang dilakukan karena adanya kesalahan atau kegagalan pada salah satu rangkaian perintah.
Pengendalian programatik
Pengendalian programatik mencakup pernyataan-pernyataan yang berhubungan dengan pemanfaatan SQL dalam bahasa lain (SQL yang dilekatkan). Pernyataan-pernyataan ini bias dipakai pada bahasa konvensional (3-GL), seperti COBOL. Yang termasuk dalam pengendalian programatik: DECLARE, OPEN, FETCH, dan CLOSE.
•CLOSE Menutup kursor (pointer yang menunjuk ke table)
•DECLARE Mendeklarasikan kursor
•FETCH Mengambil nilai baris berikutnya
•OPEN Untuk membuka kursor
Selain melakukan pelekatan SQL pada bahasa 3-GL, pernyataan SQL juga dapat dilewatkan ke DBMS melalui API.
MODIFIKASI DATA
1. Menambah data baru
Insert into target (field1, field2, field3,…..)
Values (value1, value2, value3,….)
Contoh :
insert into MHS (NIM, Nama, Tgl-Lahir)
values (“0061500123”, “Adinda”, “17/03/1981”)
2. Menghapus data baru
Delete [table.*]
From table
Where kriteria
Contoh:
Delete * From MHS
Where NIM = “0061500123”
3. Membuat struktur table, dan menentukan sebuah/ beberapa field tidak boleh bernilai kosong.
Create table karyawan (
NIP Text (4),
Nama Text (25) not null,
Alamat Text (40),
Constraint pk_NIP primary key (NIP))
4. Membuat duplikasi data dari tabel karyawan ke tabel lain :
Insert into pegawai (NIP, nama, Alamat)
Select NIP, Nama, Alamat from karyawan
5. Menyisipkan data dari tabel karyawan ketabel pegawai untuk karyawan yang NIP-nya A001.
Insert into pegawai
Select * form karyawan.
Where NIP= ‘A001.
6. Mengubah data jumlah anak bertambah satu untuk karyawan yang anaknya kurang dari 2
Update pegawai2
Set Jml_anak = Jml_anak + 1
Where Jml_anak < 2 7. Menghapus seluruh data pegawai yang jumlah anak antara 1 sampai 3 orang yang tinggal di surabaya. Delete from pegawai 2 Where kota = “surabaya” atau (Jml_anak before 1 and 3) 8. Menghapus seluruh data dari tabel karyawan yang huruf pertama dari namanya diawali karakter “A” sampai “C” Delete * From karyawan Where left (Nama,1) > = “A” and left (Nama,1) = “C”
9. Menghapus data karyawan yang namanya tidak diawali dengan huruf P
Delete *
From karyawan
Where nama like “[!P]*”
Telah diketahui bahwa secara fisik data dalam bentuk kumpulan bit dan direkam dengan basis track didalam media penyimpan eksternal. Dalam prakteknya, untuk kemudahan dalam mengakses data, data disusun dalam suatu struktur logis yang menjelaskan bahwa:
• 1. Kumpulan tabel menyusun basis data,
• 2. Tabel tersusun atas sejumlah record,
• 3. Sebuah record mengandung sejumlah field, dan
• 4. Sebuah field disimpan dalam bentuk kumpulan bit.
Pengertian masing-masing istilah diatas adalah seperti berikut:
a. Field (medan) menyatakan data terkecil yang memiliki makna. Istilah lain untuk field yaitu elemen data, kolom item, dan atribut. Contoh field yaitu nama seseorang, jumlah barang yang dibeli, dan tanggal lahir seseorang.
b. Record (rekaman) menyatakan kumpulan dari sejumlah elemen data yang saling terkait. Sebagai contoh, nama, alamat, tanggal lahir, dan jenis kelamin dari seseorang menyusun sebuah record. Istilah lain yang juga menyatakan record yaitu tupel dan baris.
c. Tabel menghimpun sejumlah record. Sebagai contoh, data pribadi dari semua pegawai disimpan dalam sebuah tabel.
d. Basis data (database) adalah suatu pengorganisasian sekumpulan data yang saling terkait sehingga memudahkan aktivitas untuk memperoleh informasi. Sebagai contoh, basis data akademis mengandung tabel-tabel yang berhubungan dengan data mahasiswa, data jurusan, data mata kuliah, data pengambilan mata kuliah pada suatu semester, dan nilai yang diperoleh mahasiswa.

Sebuah sistem manajemen basisdata relasional atau dalam bahasa Inggrisnya dikenal sebagai relational database management system (RDBMS) adalah sebuah program komputer (atau secara lebih tipikal adalah seperangkat program komputer) yang didisain untuk mengatur/memanajemen sebuah basisdata sebagai sekumpulan data yang disimpan secara terstruktur, dan melakukan operasi-operasi atas data atas permintaan penggunanya. Contoh penggunaan DBMS ada banyak sekali dan dalam berbagai bidang kerja, misalnya akuntansi, manajemen sumber daya manusia, dan lain sebagainya. Meskipun pada awalnya DBMS hanya dimiliki oleh perusahaan-perusahaan berskala besar yang memiliki perangkat komputer yang sesuai dengan spesifikasi standar yang dibutuhkan (pada saat itu standar yang diminta dapat dikatakan sangat tinggi) untuk mendukung jumlah data yang besar, saat ini implementasinya sudah sangat banyak dan adaptatif dengan kebutuhan spesifikasi data yang rasional sehinggal dapat dimiliki dan diimplementasikan oleh segala kalangan sebagai bagian dari investasi perusahaan.

Apa Sih Sistem Basis Data itu ?
Keterpaduan yang terdiri atas sejumlah komponen fungsional yang saling berhubungan dan secara bersama-sama bertujuan untuk memenuhi suatu proses tertentu. Komponen Fungsional atau Relasi tersebut biasanya ditunjukan dengan kunci dari tiap file yang ada. Dalam satu file terdapat record-record yang sejenis, sama besar, sama bentuk, yang merupakan satu kumpulan entitas yang seragam. Satu record terdiri dari field yang saling berhubungan menunjukan bahwa field tersebut dalam satu pengertian yang lengkap dan direkam dalam satu record.
Hmmm.. dari atas ada beberapa point penting yang bisa kita ambil. Apaan hayoo? Tanya Kenapa? (halah.. jadi ngelantur ga jelas). Berikut point pentingnya :
• Bersifat data oriented dan bukan program oriented.
• Dapat digunakan oleh beberapa program aplikasi tanpa perlu mengubah basis datanya.
• Dapat dikembangkan dengan mudah, baik volume maupun strukturnya.
• Dapat memenuhi kebutuhan sistem-sistem baru secara mudah.
• Dapat digunakan dengan cara-cara yang berbeda.
Jangan bingung.. ( >.< ), ambil kopi dulu.. duduk.. medhang.. sambil baca artikel ini..
Prinsip Utama dan Tujuannya
Prinsip utamanya pokoknya ya data itu di atur atau data yang di atur atau mengaturkan data.. hmmm bingung sendiri (sebenernya yang bingung siapa coba), tapi intinya pengaturan data. Kalo tujuannya itu :
• Efisiensi ruang penyimpanan (Space)
Melakukan sejumlah penekanan jumlah redudansi data (duplikasi data).
• Keakuratan (Accuracy)
Dilakukan pengkodean atau pembentukan relasi antar data bersama dengan penerapan aturan/batasan (constraint) tipe data, domain data, keunikan data, yang secara ketat dapat diterapkan dalam sebuah basis data.
• Ketersediaan (Availability)
Karena kepentingan sebuah pemakaian data, sebuah basis data dapat memiliki data yang disebar di banyak lokasi geografis. Dengan pemanfaatan teknologi jaringan computer yang berada disuatu lokasi/cabang, dapat juga diakses (menjadi tersedia/available) bagi lokasi/cabang lain.
• Kelengkapan (Completeness)
Lengkap tidaknya suatu data yang kita kelola dalam sebuah basis data bersifat relative (baik terhadap kebutuhan pemakai maupun terhadap waktu).
• Keamanan (Security)
Menentukan siapa-siapa (pemakai) yang boleh menggunakan basis data beserta objek-objek didalamnya dan menentukan jenis-jenis operasi apa saja yang boleh oleh pemakai tersebut.
• Kebersamaan Pemakai (Sharbility)
Pemakai basis data seringkali tidak terbatas pada satu pemakai saja, atau di satu lokasi saja atau oleh satu system/aplikasi saja. Basis data dapat digunakan oleh banyak pemakai, misalnya oleh sejumlah departemen dalam perusahaan atau oleh banyak sistem seperti sistem penggajian, sistem inventory, sistem penjualan barang, dan sebagainya. Untuk memenuhi tujuan harus dikelola oleh sistem (aplikasi) yang mendukung lingkungan multiuser.
Sistem basis data merupakan perpaduan antara basis data dan sistem manajemen basis data (SMBD). Komponen-komponen sistem basis data meliputi :
• Perangkat Keras (Hardware) sebagai pendukung operasi pengolahan data.
• Sistem Operasi (Operating System) atau perangkat lunak untuk mengelola basis data.
• Basis data (Database) sebagai inti dari sistem basis data.
• Sistem Manajemen Basis Data (SMBD).
• Pemakai (User).
• Aplikasi lain.
Perangkat untuk menjaga abstraksi data dikenal dengan sebutan data model. Data model merupakan kumpulan konsep yang dapat digunakan untuk menggambar struktur data.
Struktur basis data meliputi tipe data, relationship, dan beberapa syarat yang harus dipenuhi basis data.
Ada beberapa definisi yang umum digunakan dalam basis data, yaitu :
• Entitas : Entitas adalah orang, tempat, kejadian atau konsep yang informasinya direkam. Pada bidang Administrasi Siswa misalnya, siswa, buku, pembayaran.
• Atribut : Atribut biasa disebut juga data elemen, data field, atau data item yang digunakan untuk menerangkan suatu entitas dan mempunyai harga tertentu, misalnya atribut dari entitas pegawai diterangkan oleh, nama, umur, alamat, pekerjaan.
• Data Value (Nilai Data) : Data Value adalah data aktual atau informasi yang disimpan pada tiap data, elemen, atau atribut. Atribut nama pegawai menunjukan tempat dimana informasi nama karyawan disimpan, nilai datanya misalnya adalah Anjang, Arif, Suryo, dan lain-lain yang merupakan isi data nama pegawai tersebut.
• File/Tabel : Kumpulan record sejenis yang mempunyai panjang elemen yang sama, atribut yang sama, namun berbeda nilai datanya.
• Record/Tuple : Kumpulan elemen-elemen yang saling berkaitan menginformasikan tentang suatu entitas secara lengkap. Satu record mewakili satu data atau informasi.
Abstraksi Data
Kegunaan utama sistem basis data adalah agar pemakai mampu menyusun suatu pandangan abstraksi dari data. Bayangan mengenai data tidak lagi memperhatikan kondisi sesungguhnya bagaimana satu data masuk ke database disimpan dalam sektor mana, tetapi menyangkut secara menyeluruh bagaimana data tersebut dapat diabstraksikan mengenai kondisi yang dihadapi oleh pemakai sehari-hari. Sistem yang sesungguhnya, tentang teknis bagaimana data disimpan dan dipelihara seakan-akan disembunyikan kerumitannya dan kemudian diungkapkan dalam bahasa dan gambar yang mudah dimengerti oleh orang awam.
Ada tiga kelompok pemakai dalam tingkatan abstraksi saat memandang suatu database, yaitu :
• Level Fisik : Level ini merupakan level abstraksi paling rendah karena menggambarkan bagaimana data disimpan dalam kondisi sebenarnya.
• Level Konseptual : Level ini menggambarkan data apa yang disimpan dalam database dan hubungan relasi yang terjadi antara data dari keseluruhan database. Pemakai tidak memperdulikan kerumitan dalam struktur level fisik lagi, penggambaran cukup dengan memakai kotak, garis,dan hubungan secukupnya.
• Level Pandangan Pemakai (View level) : Level ini merupakan level abstraksi data tertinggi yang menggambarkan hanya sebagian saja yang dilihat dan dipakai dari keseluruhan database, hal ini disebabkan beberapa pemakai database tidak membutuhkan semua isi database.
Ada yang mau menambahkan?
Dicomot paksa (ya ampun) dan dianeh2i oleh saya dari :
1. http://umitp08.blogspot.com/2009/01/konsep-dasar-basis-data-basis-data.html
2. http://ijobaraya.wordpress.com/2009/02/02/basis-data/
3. E-Book Sistem Basis Data – Kartika Firdausy – UAD
4. E-Book Pengantar Basis Data – Lasmedi Afuan ST.,M.C

Tidak ada komentar:

Posting Komentar