Syntax SQL

16 January 2013 13:42:09 Dibaca : 141

SQL adalah kependekan dari Structured Query Language, merupakan sebuah bahasa yang digunakan untuk mengakses data dalam basis data (database) relasional. SQL banyak diterapkan pada pemrograman berbasis client-server seperti PHP, ASP, Java J2EE, dan sebagainya.

Contoh software SQL yang terkenal adalah MySQL, MsSQL (Microsoft), Oracle SQL, Postgre SQL (open source).

Masing-masing software mempunyai keunggulan sendiri-sendiri, sejauh yang saya tahu Oracle SQL handal dalam hal keamanan dan ukuran database yang bisa mencapai tera byte, sedang MsSQL lebih banyak bermain di Memory untuk processing. Dari ketiga software ini, Oracle SQl bisa dikatakan sebagai pemegang pertama. Perintah dasar SQL pada dasarnya hampir sama baik MySQL, Postgre SQL, MsSQL atau Oracle SQL

1. Inner Join / Join : Operasi Join tipe ini akan hanya menampilkan tabel sisi kiri yang datanya sama dengan data di pasangan joinnya yg disisi kanan.

Contoh script inner join : select d.area_id, d.nama_area, d.luas_area, p.penduduk_id, p.nama_penduduk from cpenduduk p inner join carea d on p.area_id = d.area_id atau select d.area_id, d.nama_area, d.luas_area, p.penduduk_id, p.nama_penduduk from cpenduduk p, carea d where p.area_id = d.area_id

2.Left Outer Join / Left Join : Operasi Join tipe ini akan menampilkan semua isi tabel sisi kiri, walaupun data di pasangan joinnya yg disisi kanan nilainya tidak sama ataupun bernilai null.

Contoh script left join(left outer join) select d.Area_id, d.nama_area, d.luas_area, p.penduduk_id, p.nama_penduduk from cpenduduk p left outer join carea d on d.area_id=p.area_id Penjelasan : Operasi left join akan menampilkan semua isi tabel sisi kiri, walaupun data di pasangan joinnya yang disisi kanan nilainya tidak sama ataupun berisi null.

3. Right Outer Join / Right Join : Operasi Join tipe ini akan menampilkan semua isi tabel sisi Kanan, walaupun data di pasangan joinnya yg disisi kiri nilainya tidak sama ataupun bernilai null.

Contoh script right join(right outer join) select d.Area_id, d.nama_area, d.luas_area, p.penduduk_id, p.nama_penduduk from cpenduduk p right outer join carea d on d.area_id=p.area_id

Penjelasan : Operasi right join akan menampilkan semua isi tabel sisi kanan, walaupun data di pasangan joinnya yang di sisi kiri nilainya tidak sama ataupun berisi null.

4. Full Outer Join / Full Join : Operasi Join tipe ini akan menampilkan semua isi tabel sisi kiri, walaupun data di pasangan joinnya yg disisi kanan nilainya null.dan sebaliknya.

Contoh script Full join select d.area_id, d.nama_area, d.luas_area, p.penduduk_id, p.nama_penduduk from cpenduduk p full join carea d on p.area_id = d.area_id Penjelasan : Operasi full join akan menampilkan semua isi tabel sisi kiri, walaupun data di pasangan joinnya yang disisi kanan nilainya null dan sebaliknya.

5. Cross Join

Operasi Join tipe ini akan menampilkan semua isi tabel sisi Kiri akan memiliki pasangan semua data disisi kanan. Banyaknya Record Cross Join = jumlah record tabel pertama x jumlah record tabel kedua

Contoh script cross join select d.area_id, d.nama_area, d.luas_area, p.penduduk_id, p.nama_penduduk from cpenduduk p cross join carea d Penjelasan : Operasi cross join akan menampilkan semua isi tabel sisi sebelah kiri akan memiliki pasangan semua data sisi sebelah kanan. Banyaknya record cross join = jumlah record tabel pertama X jumlah record tabel kedua.

NORMALISASI DATABASE

20 November 2012 20:26:42 Dibaca : 649

NORMALISASI Database

NORMALISASI

Definisi
Normalisasi adalah suatu teknik untuk mengorganisasi data ke dalam tabel-tabel untuk memenuhi kebutuhan pemakai di dalam suatu organisasi.

Tujuan dari normalisasi

 Untuk menghilangkan kerangkapan data
 Untuk mengurangi kompleksitas
 Untuk mempermudah pemodifikasian data

Proses Normalisasi

 Data diuraikan dalam bentuk tabel, selanjutnya dianalisis berdasarkan persyaratan tertentu ke beberapa tingkat.

 Apabila tabel yang diuji belum memenuhi persyaratan tertentu, maka tabel tersebut perlu dipecah menjadi beberapa tabel yang lebih sederhana sampai memenuhi bentuk yang optimal.

Normalisasi pada database adalah proses pernormalan suatu database yang disusun agar menghindari terjadinya redudancy (kemubaziran data). Dalam melakukan normalisasi, ada beberapa tahap yang harus dilakukan,

1. Unnormalized

Pada tahap ini, kita mengambil seluruh data yang ada dan diperlukan dalam database itu sendiri. Misalnya pada contoh bon faktur di bawah ini,

Kita ambil data-data yang diperlukan pada database nantinya, sperti * Nama Supplier * Alamat Supplier * No. Telp. * No. Nota * Tanggal Transaksi * Kode Barang * Nama Barang * Harga * Quantity * Total * Subtotal * Pemberi * Penerima

2. Normal Satu

Pada tahap ini, kita bagi seluruh data yang diperlukan menjadi beberapa bagian berdasarkan jenis data tersebut,

Supplier * Nama Supplier * Alamat * No. Telp.

Transaksi * No. Nota * Kode Barang * Tanggal Transaksi * Nama Barang * Harga Barang * Satuan * Quantity * Total * Sub Total

3. Normal Dua

Pada tahap ini, kita bagi berdasarkan jenis dan memberikan primary key pada masing-masing tabel,

Supplier * Kode Supplier * Nama Supplier * Alamat * No. Telp.

Master Barang * Kode Barang * Nama Barang * Harga * Satuan

Transaksi * No. Nota * Tanggal Transaksi * Kode Barang * Nama Barang * Harga * Satuan * Quantity * Pemberi * Penerima

4. Normal Tiga

Pada tahap ini, kita bagi menjadi lebih terperinci untuk menghindari terjadinya redudancy,

Supplier * Tetap

Master Barang * Tetap

Transaksi Dibagi menjadi: Header Transaksi * No. Nota * Tanggal Transaksi * Kode Supplier * Pemberi * Penerimaan

Detail Transaksi * No. Nota * Kode Barang * Quantity

Ketergantungan Fungsional

Definisi :
Atribut Y pada relasi R dikatakan tergantung fungsional pada atribut X (R.X —> R.Y), jika dan hanya jika setiap nilai X pada relasi R mempunyai tepat satu nilai Y pada R.

Misal, terdapat skema database Pemasok-barang :
Pemasok (No-pem, Na-pem)

Tabel PEMASOK-BARANG

No-pem Na-pem

P01 Baharu
P02 Sinar
P03 Harapan

Ketergantungan fungsional dari tabel PEMASOK-BARANG adalah :
No-pem —> Na-pem

Ketergantungan Fungsional Penuh
Definisi :
Atribut Y pada relasi R dikatakan tergantung fungsional penuh pada atribut X pada relasi R, jika Y tidak tergantung pada subset dari X ( bila X adalah key gabungan)

Contoh :
KIRIM-BARANG( No-pem, Na-pem, No-bar, Jumlah)

No-pem Na-pem No-bar Jumlah

P01 Baharu B01 1000
P01 Baharu B02 1500
P01 Baharu B03 2000
P02 Sinar B03 1000
P03 Harapan B02 2000

Ketergantungan fungsional :
No-pem –> Na-pem
No-bar, No-pem –> Jumlah (Tergantung penuh thd keynya)

Ketergantungan Transitif
Definisi :
Atribut Z pada relasi R dikatakan tergantung transitif pada atribut X , jika atribut Y tergantung pada atribut X pada relasi R dan atribut Z tergantung pada atribut Y pada relasi R. ( X Y, Y Z , maka X Z )

Contoh :

No-pem Kode-kota Kota No-bar Jumlah
P01 1 Jakarta B01 1000
P01 1 Jakarta B02 1500
P01 1 Jakarta B03 2000
P02 3 Bandung B03 1000
P03 2 Surabaya B02 2000

Ketergantungan fungsional :
No-pem Kode-kota
Kode-kota Kota , maka
No-pem Kota

Bentuk Normal Kesatu (1NF)
Suatu relasi dikatakan sudah memenuhi Bentuk Normal Kesatu bila setiap data bersifat atomik yaitu setiap irisan baris dan kolom hanya mempunyai satu nilai data

Tabel KIRIM-1 (Unnormal)

No-pem Kode-kota Kota No-bar Jumlah

P01 1 Jakarta B01 1000
B02 1500
B03 2000
P02 3 Bandung B03 1000
P03 2 Surabaya B02 2000

Tabel KIRIM-2 (1NF)

No-pem Kode-kota Kota No-bar Jumlah

P01 1 Jakarta B01 1000
P01 1 Jakarta B02 1500
P01 1 Jakarta B03 2000
P02 3 Bandung B03 1000
P03 2 Surabaya B02 2000
Diagram Ketergantungan Fungsional

Kode-kota
No-pem
Kota
Jumlah

No-bar

Bentuk Normal Kedua (2NF)
Suatu relasi dikatakan sudah memenuhi Bentuk Normal Kedua bila relasi tersebut sudah memenuhi bentuk Normal kesatu, dan atribut yang bukan key sudah tergantung penuh terhadap keynya.

Tabel PEMASOK-1 (2NF)

No-pem Kode-kota Kota

P01 1 Jakarta
P02 3 Bandung
P03 2 Surabaya

Bentuk Normal Ketiga (3NF)
Suatu relasi dikatakan sudah memenuhi Bentuk Normal ketiga bila relasi tersebut sudah memenuhi bentuk Normal kedua dan atribut yang bukan key tidak tergantung transitif terhadap keynya.

Tabel KIRIM-3 (3NF)

No-pem No-bar Jumlah

P01 B01 1000
P01 B02 1500
P01 B03 2000
P02 B03 1000
P03 B02 2000

Tabel PEMASOK-2 (3NF) Tabel PEMASOK-3 (3NF)

No-pem Kode-kota Kode-kota Kota

P01 1 1 Jakarta
P02 3 2 Surabaya
P03 2 3 Bandung

Normalisasi pada database perkuliahan

Asumsi :
 Seorang mahasiswa dapat mengambil beberapa mata kuliah
 Satu mata kuliah dapat diambil oleh lebih dari satu mahasiswa
 Satu mata kuliah hanya diajarkan oleh satu dosen
 Satu dosen dapat mengajar beberapa mata kuliah
 Seorang mahasiswa pada mata kuliah tertentu hanya mempunyai satu nilai

Tabel MAHASISWA-1 ( Unnormal )

No-Mhs Nama- Mhs Jurusan Kode- MK Nama-MK Kode-Dosen Nama-Dosen Nilai
2683 Welli MI MI350 Manajamen DB B104 Ati A
MI465 Analsis Prc. Sistem B317 Dita B
5432 Bakri Ak. MI350 Manajemen DB B104 Ati C
AKN201 Akuntansi Keuangan D310 Lia B
MKT300 Dasar Pemasaran B212 Lola A

Tabel MAHASISWA-2 ( 1NF )
No-Mhs Nama- Mhs Jurusan Kode-MK Nama-MK Kode-Dosen Nama- Dosen Nilai
2683 Welli MI MI350 Manajamen DB B104 Ati A
2683 Welli MI MI465 Analsis Prc. Sistem B317 Dita B
5432 Bakri Ak. MI350 Manajemen DB B104 Ati C
5432 Bakri Ak. AKN201 Akuntansi Keuangan D310 Lia B
5432 Bakri Ak. MKT300 Dasar Pemasaran B212 Lola A

Diagram Ketergantungan Fungsional

Nama_Mhs

No-Mhs Jurusan

Nilai
Nama-MK

Kode-MK Kode-Dosen

Nama-Dosen

Tabel KULIAH (2NF)
Kode-MK Nama-MK Kode-Dosen Nama-Dosen
MI350 Manajamen DB B104 Ati
MI465 Analsis Prc. Sistem B317 Dita
AKN201 Akuntansi Keuangan D310 Lia
MKT300 Dasar Pemasaran B212 Lola

Tabel MAHASISWA-3 (3NF)
No-Mhs Nama-Mhs Jurusan
2683 Welli MI
5432 Bakri Ak.

Tabel NILAI (3NF)
No-Mhs Kode MK Nilai
2683 MI350 A
2683 MI465 B
5432 MI350 C
5432 AKN201 B
5432 MKT300 A

Tabel MATAKULIAH (3NF)
Kode-MK Nama-MK Kode-Dosen
MI350 Manajamen DB B104
MI465 Analsis Prc. Sistem B317
AKN201 Akuntansi Keuangan D310
MKT300 DasarPemasaran B212

Tabel DOSEN (3NF)
Kode- Dosen Nama-Dosen
B104 Ati
B317 Dita
B310 Lia
B212 Lola

PERINTAH/BAHASA BASIS DATA

03 October 2012 18:28:14 Dibaca : 199

1.        Bahasa Definisi Data (Data Definition Language/ DDL)

 

DDL adalah perintah-perintah yang biasa digunakan oleh administrator basis data (DBA) utnuk mendefinisikan skema ke DBMS. Skema adalah deskripsi lengkap tentang struktur medan, rekaman, dan hubungan data pada basis data Index merupakan suatu mekanisme yang lazim digunakan pada basis data, yang memungkinkan pengambilan data dapat dilakukan dengan cepat.

 

DDL Digunakan untuk mespesifikasikan struktur/skema basis data yang menggambarkan/mewakili desain basis data secara keseluruhan.

 

Hasil kompilasi perintah DDL adalah kamus data (File yang berisi metadata (data yang mendeskripsikan data sesungguhnya).

 

Struktur penyimpan dan metode akses yang digunakan oleh sistem basis data disebut dengan data storage and definition language.

 

Perintah-perintah yang termasuk dalam data Definition Language/ DDL):

 

•CREATE (untuk membentuk basis data, table atau index)•• DROP (untuk mengubah struktur table)

• ALTER (untuk menghapus basis data, table atau index)

• SELECT – mengambil data

• DELETE – menghapus data

• INSERT – menyisipkan data

• UPDATE – mengubah data

 

Data Manipulation laguage (DML)

 

DML adalah perintah-perintah yang digunakan untuk mengubah, manipulasi dan mengambil data pada basis data. Tindakan seperti menghapus, mengubah, dan mengambil data menjadi bagian dari DML.

 

   DML pada dasarnya dibagi menjadi dua :

 

   Prosedural, yang menuntut pengguna menentukan data apa saja yang diperlukan dan bagaimana cara mendapatkannya.

 

-  Nonprosedural, yang menuntut pengguna menentukan data apa saja yang diperlukan, tetapi tidak perlu menyebutkan cara mendapatkannya.

 

Perintah-perintah yang termasuk dalam data manipulation language adalah :

 

a)      Insert: Merupakan perintah yang dilakukan untuk melakukan penyisipan.  Umunya penyisipan dilakukan langsung ke base table yaitu tabel utama,tabel dasar atau fisik. Ada dua jenis penyisipan yaitu :

-   Menambah anggota relasi langsung lewat base tables

-   Menambah suatu relasi melalui suatu views sehingga mungkin menghasilkan penambahan lebih dari satu baris pada base tables

 

b) Update Merupakan perintah yang digunakan untukmengubah data yang memenuhikondisitertentu yang dideskripsikandengan  where.Adaduajenis update yaitu :

-   Memodifikasianggotalangsungdari base tables.

-   Memodifikasianggotarelasimelaluisuatu views.

 

c)      Delete: Merupakanperintah yang digunakan untuk menghapus data yang memenuhi kondisi tertentu yang dideskripsikan dengan:

-          Menghapus anggota langsung dari base tables.

-          Menghapus anggota relasi melalui suatu views.

 

d)     Select: Merupakan perintah yang digunakan untuk melakukan operasi seleksi yang dinyatakan dalam bentuk suatu query dalam bahasa tertentu dengan operasi model data relasional.

 

e)      Views: Merupakan perintah yang digunakan untuk memudahkan proses untuk dapat membuat tabel virtual ataumaya yang dapat merupakan kombinasi berbagai base tables yang dihubungkan dengan kesamaan kondisi tertentu.View adalah tabel semu yang berarti secara fisik data tidak tersimpan dalam basis data,tetapi secara lojik dapat berfungsi seolah-olah tabel.Pada dasarnya tabel virtual adalah :

 

-  Merupakan hasil proses seleksi yang mewakili kacamata user tertentu.

-  Dapat digunakan untuk melakukan retrieval,insert,delete dan update

-  Data Control Language

 

Data Control Language (DCL)

 

Data Control Language (DCL) merupakan sub bahasa SQL yang digunakan untuk melakukan pengontrolan data dan server databasenya.

 

Perintah-perintah yang termasukdalam data control language adalah :

 

a)      Commit: Merupakan perintah yang digunakan untuk memindahkan transaksi dari memory   pemrosesan ke database atau menyimpan secara permanen perubahan-perubahan kedalam database.

 

 b)      Rollback: Merupakan perintah yang digunakan untuk membatalkan transaksi yang belum di commit atau membatalkan perubahan-perubahan terakhir dari perintah commit/rollback terakhir.

 

c) Grand: Perintah ini digunakan untuk memberikan hak/ijin akses oleh administrator (pemilik utama) server kepada user (pengguna biasa). Hak akses tersebut berupa hak membuat (CREATE), mengambil (SELECT), menghapus (DELETE), mengubah (UPDATE), dan hak khusus berkenaan dengan sistem databasenya.

 

d) Revoke       : Perintah ini memiliki kegunaan terbalik dengan GRAND, yaitu untuk menghilangkan atau mencabut hak akses yang telah diberikan kepada user oleh administrator.

 

DQL ( Data Query Language)

 

Query sesungguhnya berarti pertanyaan atau permintaan. Istilah ini tetap dipertahankan dalam bentuk asli, karena telah populer di kalangan pengguna DBMS di Indonesia.

Tipe Data pada Database Management System (DBMS)

19 September 2012 09:44:48 Dibaca : 1392

Tipe Data Oracle

Varchar2(size) : string yang memiliki panjang karakter vaiable dengan panjang maxial sebesar size. Tipe data ini memperbolehkan penyimpanan semua karakter yang dapat dimasukkan melalui keyboad. Maksimum size yang dapat disimpan sebesar 4000 bytes (karakter). Tipe data ini juga memungkinkan untuk mneyimpan data numerik. Biasanya space akan langsung dieliminasi jika menggunakan tipe ini.

Char(size): string dengan panjan gkarakter tetap sebesar ukuran size. Tipe data ini mempunyai kemampuan yang hampir sama yakni menyimpan karakter, hanya saja maksimum size yang disimpan hanya sebesar 2000 bytes.

Number(p,s) : tipe data number memiliki presisi p dan s digit dibelakan koma jika kita abaikan p dan s berarti dianggap sebagai tipe number floating point. Tipe data ini menyimpan bilangan interger sampai maksimum dari digit integer tersebut. misal untuk spesifikasi (5,2) berarti 3 digit sebelum koma dan 2 digit dibelakang koma.

Long : data karakter dengan ukuran panjang bervariasi, hingga mencapai 2 GB.(tipe data seperti ini tidak dapat digunakan sebagai primary key).

Raw(size) : tipe data berupa binary data dengan ukuran maksimal 255 bytes

Long Raw : Tipe data berupa binary data dengan ukuran maksimal 2 GigaBytes tidak dikonversi oleh oracle (data mentah apa adanya, spasi dihitung 1 karakter).

Date : Tipe data ini menyimpan waktu dan tanggal dari sebuah informasi, dengan komponen waktu yang dibulatkan ke detik terdekat. Untuk menampilkannya dalam teks harus menggunakan fungsi to_char.

Timestamp : tipe ini mirip dengan date. Di dalam tipe ini terdapat komponen waktu yang dapat langsung ditampilkan tanpa harus mengubahnya terlebih dahulu dengan fungsi to_char.

Clob : Tipe data ini memperbolehkan penyimpanan objek dengan ukuran yang sangat besar sekitar 4 GB.Clob mirip sekali dengan varchar2 hanya saja tipe data ini mempunyai kapasitas maksimum yang lebih besar.

Blob : tipe ini memperbolehkan penyimpanan objek bbinary yang besar dan tidak terstruktur. Contoh dari tipe data blob adalah suara dan video.

TIPE DATA MySQL

1.Tipe data untuk bilangan

-NUMERIC : Tipe data ini digunakan untuk menyimpan data berupa numeric (angka)    

-TINYINT : Penggunaan : digunakan untuk menyimpan data bilangan bulat positifdan negatif.
 Jangkauan : -128 s/d 127
 Ukuran : 1 byte (8 bit).    

-SMALLINT : Penggunaan : digunakan untuk menyimpan data bilangan bulat positifdan negatif.
 Jangkauan : -32.768 s/d 32.767
 Ukuran : 2 byte (16 bit).      

-MEDIUMINT : Penggunaan : digunakan untuk menyimpan data bilangan bulat positif
 dan negatif.
 Jangkauan : -8.388.608 s/d 8.388.607
 Ukuran : 3 byte (24 bit).      

-INT  : Penggunaan : digunakan untuk menyimpan data bilangan bulat positif
 dan negatif.
 Jangkauan : -2.147.483.648 s/d 2.147.483.647
 Ukuran : 4 byte (32 bit).      

 

-BIGINT : Penggunaan : digunakan untuk menyimpan data bilangan bulat positif
 dan negatif.
 Jangkauan : ± 9,22 x 1018
 Ukuran : 8 byte (64 bit).       

-FLOAT : Penggunaan : digunakan untuk menyimpan data bilangan pecahan
 positif dan negatif presisi tunggal.
 Jangkauan : -3.402823466E+38 s/d -1.175494351E-38, 0, dan
 1.175494351E-38 s/d 3.402823466E+38.
 Ukuran : 4 byte (32 bit).

 -DOUBLE : Penggunaan : digunakan untuk menyimpan data bilangan pecahan
 positif dan negatif presisi ganda.
 Jangkauan : -1.79...E+308 s/d -2.22...E-308, 0, dan
 2.22...E-308 s/d 1.79...E+308.
 Ukuran : 8 byte (64 bit).      

 -DECIMAL :  Penggunaan : digunakan untuk menyimpan data bilangan pecahan
 positif dan negatif.
 Jangkauan : -1.79...E+308 s/d -2.22...E-308, 0, dan
 2.22...E-308 s/d 1.79...E+308.
 Ukuran : 8 byte (64 bit).     

 2. Tipe data untuk tanggal dan jam

 -DATETIME : Penggunaan : digunakan untuk menyimpan data tanggal dan waktu.
 Ukuran 8 byte. Kombinasi tanggal dan jam
 dengan jangkauan dari ‘1000-01-01 00:00:00’ sampai dengan ‘9999-12-31
 23:59:59’      

 -DATE :  Penggunaan : digunakan untuk menyimpan data tanggal.
 Ukuran 8 byte. Kombinasi tanggal dan jam
 dengan jangkauan dari ‘1000-01-01’ sampai dengan ‘9999-12-31 ’      

 -TIMESTAMP : Ukuran 4 byte. Kombinasi tanggal dan jam
dengan jangkauan dari ‘1970-01-01’ sampai dengan ‘2037 ’      

 -TIME : Penggunaan : digunakan untuk menyimpan data waktu.Ukuran 3 byte.waktu dengan jangkauan dari
 -838:59:59 sampai dengan 838:59:59      

 -YEAR :  Penggunaan : digunakan untuk menyimpan data tahun dari tanggal.
 Ukuran 1 byte. Data tahun antara 1901 sampai
 dengan 2155     

3. Tipe data untuk karakter dan lain-lain

 -CHAR(M) :  Ukuran M byte, 1<=M<=255. Data string
 dengan panjang yang tetap. CHAR(1) cukup ditulis dengan CHAR.      

 -VARCHAR(M) :  Ukuran L+1 byte dengan L<=M dan
 1<=M<=255. Data string dengan panjang bervariasi tergantung datanya.      

 -TINYBLOB,
    
-ENUM(’nilai1’,’nilai2’,..) :  Ukuran 1 atau 2 byte tergantungnilai
enumerasinya maks 65535 nilai      

 -SET(’nilai1’,’nilai2’,..) :  Ukuran 1,2,3,4 atau 8 byte tergantung jumlah
anggota himpunan maks 64 anggota.     

 

 

 

Database Management System (DBMS)

12 September 2012 18:04:57 Dibaca : 392

1. Pengertian management system

    DBMS adalah perangkat lunak yang menangani semua akses terhadap database dan menyediakan user interface terhadap sistem database.

    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.
 

2. Aplikasi-aplikasi database diantaranya :

- DB2 adalah keluarga sistem manajemen database relasional (RDBMS) produk dari IBM yang melayani sejumlah sistem operasi yang berbeda platform. Menurut IBM, DB2 memimpin dalam hal pangsa pasar database dan kinerja.

- Sybase

- Teradata adalah perangkat lunak perusahaan-perusahaan yang mengembangkan dan menjual sistem database relasional dengan nama yang sama.

- Oracle adalah relational database management system (RDBMS) untuk mengelola informasi secara terbuka, komprehensif dan terintegrasi.

- PostgreSQL adalah sebuah object-relational database management system (ORDBMS) yang bersifat open source.

- Firebird adalah salah satu aplikasi RDBMS (Relational Database Management System) yang bersifat open source.
 
- MySQL merupakan sebuah perangkat lunak system manajemen basis data SQL (bahasa inggris : data management system) atau DNMS yang multithread, multi-user, dengan sekitar 6 juta instalasi di seluruh dunia. MySQL AB membuat MySQL tersedia sebagai perangkat lunak gratis di bawah lisensi GNU General Public Licenci (GPL), tetapi mereka juga menjual dibawah lisensi komersial untuk kasus-kasus dimana penggunaannya tidak cocok dengan penggunaan GPL .