Sabtu, 05 Maret 2011

DDL dan DML


DDL (Data definition language) 

DDL digunakan untuk mendefinisikan kerangka database. Dalam DDL Anda bisa juga menentukan tipe data, panjang data dan juga nama field. Hal ini bisa dilakukan dalam perintah ALTER DAN CREATE. 
Perintah yang ada dalam DDL :
-CREATE => digunakan untuk membuat database dan tabel
-ALTER => digunakan untuk mengubah struktur tabel.
-DROP  => digunakan untuk menghapus database dan tabel.
-TRUNCATE => digunakan untuk mengosongkan tabel. 
 CREATE

-CREATE DATABASE nama_database;
 digunakan untuk membuat database.
-CREATE TABLE nama_tabel (nama_kolom_1 tipe_kolom_1 [not null] [primary key], .....);
 digunakan untuk membuat tabel.
TRUNCATE
-TRUNCATE TABLE nama_tabel;
  digunakan untuk mengosongkan tabel.
 
DROP
-DROP DATABASE nama_database;
  digunakan untuk menghapus database.
-DROP TABLE nama_tabel;
  digunakan untuk menghapus tabel.
RENAME
-RENAME TABLE nama_tabel_lama TO nama_tabel_baru;
  digunakan untuk mengganti nama tabel.
ALTER
-ALTER TABLE nama_tabel ADD nama_kolom tipe_kolom;
  àdigunakan untuk menyisipkan kolom.
-ALTER TABLE nama_tabel_lama RENAME nama_tabel_baru;
  digunakan untuk mengganti nama tabel.
-ALTER TABLE nama_tabel CHANGE nama_kolom_lama nama_kolom_baru tipe_kolom;
  digunakan untuk mengganti nama kolom sekaligus tipe  
   datanya.
-ALTER TABLE nama_tabel DROP nama_kolom;
  digunakan untuk menghapus kolom.
-ALTER TABLE nama_tabel MODIFY nama_kolom tipe_kolom;
  digunakan untuk mengubah tipe data dan panjang data.

DML (Data Manipulation Language)

SELECT
-SELECT nama_kolom FROM nama_tabel WHERE kriteria;
  digunakan untuk menampilkan record dari kolom dan tabel yang ditunjuk.
-SELECT * FROM nama_tabel;
  digunakan untuk menampilkan record dari seluruh kolom dari tabel yang ditunjuk.
INSERT
-INSERT INTO nama_tabel VALUES (data_kolom_1, data_kolom_2,....);
  digunakan untuk memasukkan data ke dalam tabel.
UPDATE
-UPDATE nama_tabel SET nama_kolom=ekspresi WHERE kondisi;
  digunakan untuk mengubah data sesuai kondisi.
DELETE
-DELETE FROM nama_tabel WHERE kondisi;
  digunakan untuk menghapus data sesuai kondisi.

 Sumber: Buku Konsep DBMS

SQLite

SQLite merupakan sebuah sistem manajemen basisdata relasional yang bersifat ACID-compliant dan memiliki ukuran pustaka kode yang relatif kecil, ditulis dalam bahasa C. SQLite merupakan proyek yang bersifat public domain yang dikerjakan oleh D. Richard Hipp.
Tidak seperti pada paradigma client-server umumnya, Inti SQLite bukanlah sebuah sistem yang mandiri yang berkomunikasi dengan sebuah program, melainkan sebagai bagian integral dari sebuah program secara keseluruhan. Sehingga protokol komunikasi utama yang digunakan adalah melalui pemanggilan API secara langsung melalui bahasa pemrograman. Mekanisme seperti ini tentunya membawa keuntungan karena dapat mereduksi overhead, latency times, dan secara keseluruhan lebih sederhana. Seluruh elemen basisdata (definisi data, tabel, indeks, dan data) disimpan sebagai sebuah file. Kesederhanaan dari sisi disain tersebut bisa diraih dengan cara mengunci keseluruhan file basis data pada saat sebuah transaksi dimulai.

Pustaka SQLite mengimplementasikan hampir seluruh elemen-elemen standar yang berlaku pada SQL-92, termasuk transaksi yang bersifat atomic, konsistensi basisdata, isolasi, dan durabilitas (dalam bahasa inggris lebih sering disebut ACID), trigger, dan kueri-kueri yang kompleks. Tidak ada pengecekan tipe sehingga data bisa dientrikan dalam bentuk string untuk sebuah kolom bertipe integer. Beberapa kalangan melihat hal ini sebagai sebuah inovasi yang menambah nilai guna dari sebuah basisdata, utamanya ketika digunakan dalam bahasa pemrograman berbasis script (PHP, Perl), sementara kalangan lain melihat hal tersebut sebagai sebuah kekurangan.
Beberapa proses ataupun thread dapat berjalan secara bersamaan dan mengakses basisdata yang sama tanpa mengalami masalah. Hal ini disebabkan karena akes baca data dilakukan secara paralel. Sementara itu akses tulis data hanya bisa dilakukan jika tidak ada proses tulis lain yang sedang dilakukan; jika tidak, proses tulis tersebut akan gagal dan mengembalikan kode kesalahan (atau bisa juga secara otomatis akan mencobanya kembali sampai sejumlah nilai waktu yang ditentukan habis). Hanya saja ketika sebuah tabel temporer dibuat, mekanisme penguncian pada proses multithread akan menyebabkan masalah. Update yang terkini (versi 3.3.4) dikatakan telah memperbaiki masalah ini.
Sebuah program yang mandiri dinamakan sqlite disediakan dan bisa digunakan untuk mengeksekusi kueri dan memanajemen file-file basisdata SQLite. Program tersebut juga merupakan contoh implementasi penulisan aplikasi yang menggunakan pustaka SQLite.

Sumber: Wikipedia-SQLite

MySQL

MySQL adalah sebuah perangkat lunak sistem manajemen basis data SQL (bahasa Inggris: database management system) atau DBMS yang multithread, multi-user, dengan sekitar 6 juta instalasi di seluruh dunia. MySQL AB membuat MySQL tersedia sebagai perangkat lunak gratis dibawah lisensi GNU General Public License (GPL), tetapi mereka juga menjual dibawah lisensi komersial untuk kasus-kasus dimana penggunaannya tidak cocok dengan penggunaan GPL.
Tidak sama dengan proyek-proyek seperti Apache, dimana perangkat lunak dikembangkan oleh komunitas umum, dan hak cipta untuk kode sumber dimiliki oleh penulisnya masing-masing, MySQL dimiliki dan disponsori oleh sebuah perusahaan komersial Swedia MySQL AB, dimana memegang hak cipta hampir atas semua kode sumbernya. Kedua orang Swedia dan satu orang Finlandia yang mendirikan MySQL AB adalah: David Axmark, Allan Larsson, dan Michael "Monty" Widenius.

MySQL adalah sebuah implementasi dari sistem manajemen basisdata relasional (RDBMS) yang didistribusikan secara gratis dibawah lisensi GPL (General Public License). Setiap pengguna dapat secara bebas menggunakan MySQL, namun dengan batasan perangkat lunak tersebut tidak boleh dijadikan produk turunan yang bersifat komersial. MySQL sebenarnya merupakan turunan salah satu konsep utama dalam basisdata yang telah ada sebelumnya; SQL (Structured Query Language). SQL adalah sebuah konsep pengoperasian basisdata, terutama untuk pemilihan atau seleksi dan pemasukan data, yang memungkinkan pengoperasian data dikerjakan dengan mudah secara otomatis.
Kehandalan suatu sistem basisdata (DBMS) dapat diketahui dari cara kerja pengoptimasi-nya dalam melakukan proses perintah-perintah SQL yang dibuat oleh pengguna maupun program-program aplikasi yang memanfaatkannya. Sebagai peladen basis data, MySQL mendukung operasi basisdata transaksional maupun operasi basisdata non-transaksional. Pada modus operasi non-transaksional, MySQL dapat dikatakan unggul dalam hal unjuk kerja dibandingkan perangkat lunak peladen basisdata kompetitor lainnya. Namun demikian pada modus non-transaksional tidak ada jaminan atas reliabilitas terhadap data yang tersimpan, karenanya modus non-transaksional hanya cocok untuk jenis aplikasi yang tidak membutuhkan reliabilitas data seperti aplikasi blogging berbasis web (wordpress), CMS, dan sejenisnya. Untuk kebutuhan sistem yang ditujukan untuk bisnis sangat disarankan untuk menggunakan modus basisdata transaksional, hanya saja sebagai konsekuensinya unjuk kerja MySQL pada modus transaksional tidak secepat unjuk kerja pada modus non-transaksional.

Sumber: Wikipedia-MySQL

Oracle


Oracle Corporation (NASDAQ: ORCL) adalah salah satu perusahaan utama pengembang sistem manajemen basis data (database management system), perangkat lunak untuk mengembangkan basis data, perangkat lunak manajemen hubungan pelanggan, enterprise resource planning dan perangkat lunak manajemen rantai pasok. Oracle Corporation didirikan pada tahun 1977. Perusahaan ini mempekerjakan 68.236 pekerja pada tahun 2007. Markasnya berada di Redwood City, California.

Basis data Oracle adalah basis data relasional yang terdiri dari kumpulan data dalam suatu sistem manajemen basis data RDBMS. Perusahaan perangkat lunak Oracle memasarkan jenis basis data ini untuk bermacam-macam aplikasi yang bisa berjalan pada banyak jenis dan merk perangkat keras komputer (platform).
Basis data Oracle ini pertama kali dikembangkan oleh Larry Ellison, Bob Miner dan Ed Oates lewat perusahaan konsultasinya bernama Software Development Laboratories (SDL) pada tahun 1977. Pada tahun 1983, perusahaan ini berubah nama menjadi Oracle Corporation sampai sekarang.

Sumber: Wikipedia-Oracle

Database Management System

Basis data merupakan kumpulan data yang saling berhubungan satu dengan yang lainnya yang diaorganisasikan sesuai struktur tertentu dan disimpan dengan baik.  Untuk mendapatkan informasi yang berguna dari kumpulan data maka diperlukan suatu perangkat lunak (software) untuk memanipulasi data sehingga mendapatkan informasi yang berguna. Database Manajement System (DBMS) merupakan software yang digunakan untuk membangun sebuah sistem basis data yang berbasis komputerisasi. DBMS membantu dalam pemeliharaan dan pengolahan kumpulan data dalam jumlah besar. Sehingga dengan menggunakan DBMS tidak menimbulkan kekacauan dan dapat digunakan oleh pengguna sesuai dengan kebutuhan.
DBMS merupakan perantara bagi pemakai dengan basis data. Untuk merinteraksi dengan DBMS (basis data) menggunakan bahasa basis data yang telah ditentukan oleh perusahaan DBMS. Bahasa basis data biasanya terdiri atas perintah-perintah yang di formulasikan sehingga perintah tersebut akan diproses olah DBMS. Perintah-perintah biasanya ditentukan oleh user. Ada 2 bahasa basis data:

  1. Data Definition Language (DDL)
DDL digunakan untuk menggambarkan desain basis data secara keseluruhan. DDL digunakan untuk membuat tabel baru, menuat indeks, ataupun mengubah tabel. Hasil kompilasi DDL disimpan di kamus data.
  1. Data Manipulation Language (DML)
DML digunakan untuk melakukan menipulasi dan pengambilan data pada suatu basis data seperti penambahan data baru ke dalam basis data, menghapus data dari suatu basis data dan pengubahan data di suatu basis data.
Dalam pembuatan DBMS diperlukan beberapa komponen fungsional penyusunnya sebagai berikut:
1.  DML Precompiler            : mengkonversi pernyataan-pernyataan DML yang dimasukkan di dalam program aplikasi ke dalam pemanggilan prosedur normal di dalam bahasa induknya. Procompiler harus berinteraksi dengan query processor untuk membuat kode-kode yang diperlukan.
2.  Query Processor             : menterjemahkan pernyataan-pernyataan bahasa query ke dalam instruksi-instruksi low-level yang dimengerti oleh database manager.
3.  DDL Compiler                : mengkonversi pernyataan DDL ke dalam sekumpulan table yang mengandung metadata atau “data mengenai data”
4.  Database Manager          : menyediakan interface antara data low-level yang disimpan didalam basisdata dengan program-program aplikasi dan queries yang dikirimkan ke system.

Salah satu tujuan dari DBMS adalah memberikan tampilan kepada pengguna dalam hal menyampaikan data. Untuk itu dalam DBMS terdapat Level Abstraksi Data. Level ini berguna untuk menyembunyikan detail atau kompleksitasnya basis data seperti bagaimana data disempan dan diolah. Sehingga pengguna hanya melihat tampilan yag dibutuhkan oleh pengguna.
  1. Level fisik
Level fisik merupakan level yang paling bawah. Pada level ini memperlihatkan bagaimana sesungguhnya data disimpan.
2. Level Konseptual
Level ini menggambarkan bagaimana sebenarnya basis dta disimpan dan berhubungan dengan data lainnya
3. Level View
Level abstaraksi ini hanya menunjukkan sebagian dari basis data.  Pada umumnya pengguna tidak melibatkan secara langsung sehingga pengguna hanya melihat data sesuai dengan yang dibutuhkan

Sumber: Konsep DBMS