SINTAX SQL, INNER JOIN, LEFT JOIN, RIGHT JOIN, AND FULL JOIN

11 December 2012 19:30:58 Dibaca : 150

LEVEL DATABASE Membuat database Untuk membuat database baru, sehingga tidak berlaku jika database sudah ada atau anda tidak memiliki privilege. Sintaksnya : CREATE DATABASE nama_db

Menghapus database Untuk menghapus database beserta seluruh table di dalamnya. Perintah ini tidak berlaku jika database tidak ada atau anda tidak memiliki privilege. Sintaksnya : DROP DATABASE nama_db

Menggunakan database Untuk menjadikan database menjadi default dan referensi dari table yang nantinya anda gunakan. Perintah ini tidak berlaku jika database tidak ada atau anda tidak memiliki privilege. Sintaksnya : USE nama_db

Menampilkan database Untuk menampilkan daftar yang ada dalam system saat itu. Sintaksnya : SHOW DATABASES

LEVEL TABEL Membuat table Untuk membuat table minimal anda harus menentukan namanya dan tipe kolom yang anda inginkan. Sintaks yang paling sederhana (tanpa ada definisi lain) adalah :

CREATE TABLE nama_tbl (kolom1 tipekolom1(),kolom2 tipekolom2(), …)

Contoh : Anda ingin membuat table dengan nama profil yang memiliki kolom nama (bertipe char, lebar 20), kolom umur (bertipe integer), kolom jenis_kelamin (bertipe enum, berisi M dan F). Sintaksnya : REATE TABLE profil (nama CHAR(20), umur INT NOT NULL, jenis_kelamin ENUM(‘F’,’M’) )

Sedangkan perintah yang agak lengkap dalam membuat sebuah table adalah dengan menyertakan definisi tertentu. Misalnya perintah seperti ini : CREATE TABLE peserta ( No SMALLINT UNSIGNED NOT NULL AUTO_INCREMENT, Nama CHAR(30) NOT NULL, BidangStudi ENUM(‘TS’,’WD’) NOT NULL, PRIMARY KEY (No), INDEX (Nama, BidangStudi) )

Perintah di atas berarti membuat table peserta dengan kolom No sebagai PRIMARY KEY yaitu indeks table yang unik yang tidak bisa diduplikat dengan atribut AUTO_INCREMENT yaitu kolom yang otomatis dapat mengurutkan angka yang diisikan padanya. Sedangkan kolom Nama dan BidangStudi dijadikan indeks biasa.

Membuat indeks pada table Menambahkan indeks pada table yang sudah ada baik yang unik ataupun yang biasa. Sintaksnya : CREATE INDEX nama_index ON nama_tbl (nama_kolom) CREATE UNIQUE INDEX nama_index ON nama_tbl (nama_kolom)

Menghapus table Untuk menghapus table dalam database tertentu. Jika dilakukan maka semua isi, indeks dan atribut lain akan terhapus. Sintaksnya : DROP TABLE nama_tbl

Menghapus indeks Untuk menghapus indeks pada suatu table. Sintaksnya : DROP INDEX nama-index ON nama_tbl

Melihat informasi table Untuk melihat table apa saja yang ada di database tertentu. Sintaksnya : SHOW TABLES FROM nama_db

Sedangkan untuk melihat deskripsi table atau informasi tentang kolom gunakan sintaks : DESC nama_tbl nama_kolom atau SHOW COLUMNS FROM nama_tbl FROM nama_db

Mendapatkan atau menampilkan informasi dari table Untuk menampilkan isi table dengan option-option tertentu. Misalnya untuk menampilkan seluruh isi table digunakan : SELECT * FROM nama_tbl

Untuk menampilkan kolom-kolom tertentu saja : SELECT kolom1,kolom2,… FROM nama_tbl

Untuk menampilkan isi suatu kolom dengan kondisi tertentu SELECT kolom1 FROM nama_tbl WHERE kolom2=isikolom Modifikasi struktur table Dapat digunakan untuk mengganti nama table atau mengubah strukturnya seperti manambah kolom atau indeks, menghapus kolom atau indeks, mengubah tipe kolom dsb. Sintaks umum : ALTER TABLE nama_tbl action

Untuk menambah kolom baru di tempat tertentu dapat menggunakan : ALTER TABLE nama_tbl ADD kolom_baru type() definisi

Untuk menambah kolom_baru bertipe integer setelah kolom1 digunakan : ALTER TABLE nama_tbl ADD kolom_baru INT NOT NULL AFTER kolom1

Untuk menambah indeks baru pada table tertentu baik yang unik ataupun yang biasa: ALTER TABLE nama_tbl ADD INDEX nama_index (nama_kolom) ALTER TABLE nama_tbl ADD UNIQUE nama_indeks (nama_kolom) ALTER TABLE nama_tbl ADD PRIMARY KEY nama_indeks (nama_kolom)

Untuk mengubah nama kolom dan definisinya, misalnya mengubah nama kolom_baru dengan tipe integer menjadi new_kolom dengan tipe char dengan lebar 30 digunakan: ALTER TABLE nama_tbl CHANGE kolom_baru new_kolom CHAR(30) NOT NULL

Untuk menghapus suatu kolom dan seluruh atributnya, misal menghapus kolom1 : ALTER TABLE nama_tbl DROP kolom1

Untuk menghapus indeks baik yang unik ataupun yang biasa digunakan : ALTER TABLE nama_tbl DROP nama_index ALTER TABLE nama_tbl DROP PRIMARY KEY

Modifikasi informasi dalam table. Untuk menambah record atau baris baru dalam table, sintaksnya : INSERT INTO nama_tbl (nama_kolom) VALUES (isi_kolom) atau INSERT INTO nama_tbl SET nama_kolom=isi_kolom

Misalnya untuk menambah dua baris pada table profil dengan isi nama = deden & ujang dan isi umur = 17 & 18 adalah : INSERT INTO profil (nama,umur) VALUES (deden,17), (ujang,18) atau INSERT INTO profil SET nama=deden, umur=17 INSERT INTO profil SET nama=ujang, umur=18

Untuk memodifikasi record atau baris yang sudah ada yang bersesuaian dengan suatu kolom. Misalnya untuk mengubah umur deden menjadi 18 pada contoh di atas dapat digunakan sintaks : UPDATE profil SET umur=18 WHERE nama=qalit

Untuk menghapus record atau baris tertentu dalam suatu table. Misalnya untuk menghapus baris yang ada nama ujang digunakan

sintaks : DELETE FROM profil WHERE nama=ujang

Jika WHERE tidak disertakan maka semua isi dalam table profil akan terhapus.

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.

perintah dasar mysql

Membuat Database Baru di SQL

DDL (Data Definition Language) digunakan untuk mendefinisikan, mengubah, serta menghapus database dan objek-objek yang diperlukan. Membuat basis data di SQL cukup mudah, syntaxnya sebagai berikut.

1

CREATE DATABASE nama_db;

Membuat Tabel di SQL

1

CREATE TABLE nama_tabel;

Sedangkan untuk membuat tabel lengkap dengan fieldnya, perhatikan contoh di bawah ini:

1 2 3 4

CREATE TABLE user ( user_name VARCHAR(30) CONSTRAINT PRIMARY KEY, password VARCHAR(20) NOT NULL, date_of_birth DATETIME );

DML (Data Manipulation Language), digunakan untuk memanipulasi data dalam tabel. Perintahnya adalah:

  1. SELECT untuk menampilkan data
  2. INSERT untuk menambahkan data baru
  3. UPDATE untuk mengubah data yang sudah ada
  4. DELETE untuk menghapus data

Menampilkan Seluruh Data

1

SELECT * FROM user;

Menyimpan Data ke Tabel SQL

1

INSERT INTO user (user_name, password, date_of_birth) VALUES ('ALIYA HASSAN', 'Cengkareng', 'qwe');

Menghapus Data di Tabel

1

DELETE FROM user WHERE nama='ALIYA HASSAN';

Catatan: Setiap syntax pada SQL selalu diakhiri dengan tanda semicolon atau titik koma (;), abaikan kode ini jika kamu menggunakan PHPMyAdmin untuk mengakses database. Tapi jika kamu menggunakan terminal, ssh, cmd, atau program remote server lainnya perintah ini wajib diperhatikan. Selalu gunakan tanda bintang (*) untuk melihat isi tabel, tanda ini akan membaca baris (row). Pada dasarnya, perintah dasar mysql sama dengan postgre sql maupun oracle sql.

Perintah SQL dan Pengunaannya - SQL (Structured Query Language) adalah sebuah bahasa yang digunakan 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. 

Berikut perintah-perintah dari sql beserta contoh penggunaanya : 1. Create Database : Create database berguna untuk membuat database baru. Syntax dasar:

CREATE DATABASE database_nama

Contoh:

CREATE DATABASE databaseku

 2. Create Table : Berguna untuk membuat tabel data baru dalam sebuah database. Syntax dasar:

CREATE TABLE ( Column_name1 table_nama data_type Column_name2 table_nama data_type Column_name3 table_nama data_type )

Contoh menggunakan perintah create table :

CREATE TABLE registrasi ( Id int, Nama varchar (255), Email varchar(50), Kota varchar(255) )

 3. Select : Digunakan untuk memilih data dari table database. Syntax dasar :

SELECT column_name(s) FROM table_name

Atau

SELECT * FROM table_name

Contoh 1 :

SELECT nama,email FROM registrasi

Contoh 2 :

SELECT * FROM registrasi

4. Select Distinct : Digunakan untuk memilih data-data yang berbeda (menghilangkan duplikasi) dari sebuah table database. Syntax dasar :

SELECT DISTINCT column_name(s) FROM table_name

Contoh :

SELECT DISTINCT kota FROM registrasi

 5. Where : Digunakan untuk memfilter data pada perintah Select Syntax dasar :

SELECT column name(s) FROM table_name WHERE column_name operator value

Contoh :

SELECT * FROM registrasi WHERE nama=’KONOE’

6. Order By : Digunakan untuk mengurutkan data berdasarkan kolom (field) tertentu. Secara default, urutan tersusun secara ascending (urut kecil ke besar). Anda dapat mengubahnya menjadi descending (urut besar ke kecil) dengan menambahkan perintah DESC. Syntax dasar :

SELECT column_name(s) FROM table_name ORDER BY column_name(s) ASC|DESC

Contoh 1 :

SELECT * FROMregistrasi ORDER BY email

Contoh 2 :

SELECT * FROM registrasi ORDER BY id DESC

8. Like : Digunakan bersama dengan perintah Where, untuk proses pencarian data dengan spesifikasi tertentu. Syntax dasar :

SELECT column_name(s) FROM table_name WHERE column_name LIKE pattern

Contoh 1 :

SELECT * FROM registrasi WHERE nama LIKE ‘b%’

Keterangan Contoh di atas digunakan untuk pencarian berdasarkan kolom nama yang berhuruf depan “b”. Contoh 2 :

SELECT * FROM WHERE nama LIKE ‘b%’  

  Keterangan : Contoh di atas digunakan untuk pencarian berdasarkan kolom nama yang berhuruf belakang “b”. 9. In : Digunakan untuk pencarian data menggunakan lebih dari satu filter pada perintah Where. Syntax dasar :

SELECT column_name(s) FROM table_name WHERE column_name IN (value1,value2, . . .)

Contoh :

SELECT * FROM registrasi WHERE kota IN (‘Medan’,’Siantar’)

10. Between : Digunakan untuk menentukan jangkauan pencarian. Syntax dasar :

SELECT column_name(s) FROM table_name WHERE column_name BETWEEN value1 AND value2

Contoh :

SELECT * FROM registrasi WHERE id BETWEEN 5 and 15

Keterangan : Contoh di atas digunakan untuk mencari data yang memiliki nomor id antara 5 dan 15. 11.  Insert Into : Digunakan untuk menambahkan data baru di tabel database. Syntax dasar :

INSERT INTO table_name VALUES (value1,value2,value3, . . .)

Atau

INSERT INTO table_name (column1,column2,column3, . . .) VALUES (value1,value2,value3, . . .)

Contoh 1 :

INSERT INTO registrasi VALUES (1,’konoe’,’konoe@gmail.com’,’Medan’)

Contoh 2 :

INSERT INTO registrasi (id,nama,email,kota) VALUES (1,'konoe','konoe@gmail.com','Medan')

12.  Update : Digunakan untuk mengubah/memperbarui data di tabel database. Syntax dasar:

UPDATE table_name SET column1=value,column2=value, . . . WHERE some_column=some_value

Contoh :

UPDATE registrasi SET email=’konoe@yahoo.com’, kota=’Medan’ WHERE

13.  Delete : Digunakan untuk menghapus data di table database. Tambahkan perintah Where untuk memfilter data-data tertentu yang akan dihapus. Jika tanpa perintah Where, maka seluruh data dalam tabel akan terhapus. Syntax dasar :

DELETE FROM table_name WHERE some_column=some_value

Contoh :

DELETE FROM registrasi WHERE id=1

14.  Inner Join : Digunakan untuk menghasilkan baris data dengan cara menggabungkan 2 buah tabel atau lebih menggunakan pasangan data yang match pada masing-masing tabel. Perintah ini sama dengan perintah join yang sering digunakan. Syntax dasar :

SELECT column_name(s) FROM table_name1 INNER JOIN table_name2 ON table_name1.column_name=table_name2 column-name

contoh :

SELECT registrasi.nama,registrasi.email,order.no_order FROM registrasi INNER JOIN order ON registrasi.id=order.id ORDER BY registrasi.nama

15.  Left Join : Digunakan untuk menghasilkan baris data dari tabel kiri (nama tabel pertama) yang tidak ada pasangan datanya pada tabel kanan (nama tabel kedua). Syntax dasar :

SELECT column_name(s) FROM table_name1 LEFT JOIN table_name2 ON table_name1.column_name=table_name2. column_name

contoh :

SELECT registrasi.nama,registrasi.email,order.no_order FROM registrasi LEFT JOIN order ON registrasi.id=order.id ORDER BY registrasi.nama

16.  Right Join : Digunakan untuk menghasilkan baris data dari tabel kanan (nama tabel kedua) yang tidak ada pasangan datanya pada tabel kiri (nama tabel pertama). Syntax dasar :

SELECT column_name(s) FROM table_name1 RIGHT JOIN table_name2 ON table_name1.column_name=table_name2 column_name

contoh :

SELECT registrasi.nama,registrasi.emailmorder.no_order FROM registrasi RIGHT JOIN order ON registrasi.id=order.i ORDER BY registrasi.nama

17.  Full Join : Digunakan untuk menghasilkan baris data jika ada data yang sama pada salah satu tabel. Syntax dasar

SELECT column_name(s) FROM table_name1 FULL JOIN table_name2 ON table_name1.column_name=table_name2 column_name

Contoh :

SELECT registrasi.nama,registrasi.email,order.no_order FROM registrasi FULL JOIN order ON registrasi.id=order.id ORDER BY registrasi.nama

18.  Union : Digunakan untuk menggabungkan hasil dari 2 atau lebih perintah Select. Syntax dasar :

SELECT column_name(s)FROM table_name1 UNION column_name(s) FROM table_name2

Atau

SELECT column_name(s) FROM table_name1 UNION ALL SELECT column_name(s) FROM table_name2

Contoh :

SELECT nama FROM mhs_kampus1 UNION SELECT nama FROM mhs_kampus2

18.  Alter Table : Digunakan untuk menambah, menghapus, atau mengubah kolom (field) pada tabel yang sudah ada. Syntax untuk menambah kolom :

ALTAR TABLE table_name ADD column_name datatyoe

Contoh :

ALTER TABLE Persons ADD DateOfBirth date

Syntax untuk menghapus kolom :

ALTER TABLE table_name DROP COLUMN column_name

Contoh :

ALTER TABLE Persons DROP COLUMN DateOfBirth

Syntax untuk mengubah kolom :

ALTER TABLE table_name ALTER TABLE clumn_name datatype 

Contoh:

ALTER TABLE Persons ALTER COLUMN DateOfBirth year

19.  Now () : Digunakan untuk mendapatkan informasi waktu (tanggal dan jam saat ini.) Syntax dasar

Now()

Contoh :

SELECT NOW()

20.  Curdate : Digunakan unutk mendapatkan informasi tanggal saat ini. Syntax dasar :

Curdate()

Contoh :

SELECT CURDATE()

21.  Curtime() : Digunakan untuk mendapatkan informasi jam saat ini. Syntax dasar :

Curtime()

Contoh :

SELECT CURTIME()

22.  Extract() : Digunakan untuk mendapatkan informasi bagian-bagian dari data waktu tertentu, seperti tahun, bulan, hari, jam, menit, dan detik tertentu. Syntax dasar

Extract(unit FROM date)

INNER JOIN

Jika Anda telah memahami fungsi join pada database relasional untuk menghubungkan berbagai table, maka artikel berikut akan menjelaskan dan menunjukkan contoh penggunaan variasi join pada MySQL versi 5.0. JOIN sendiri merupa

NORMALISASI BASIS DATA

20 November 2012 19:17:28 Dibaca : 661

NORMALISASI BASIS DATA

       https://encrypted-tbn3.gstatic.com/images?q=tbn:ANd9GcRY5qkA3TTMV-zhsJTPOzJ60-ik_7C0OIuVtEw6Y-VjywmsGLyu

    Sebelum berbicara tentang normalisasi pada database, adakalanya kita mengetahui dahulu apa itu database. DataBase (basis data dalam bahasa indonesia) dapat diartikan sebagai kumpulan sejumlah data berupa informasi yang disimpan dengan struktur yang sedemikian rupa sehingga dapat diolah kemudian dengan mudah. Sedangkan untuk membuat suatu database yang harus diperhatikan adalah jenis data;

 

* Data Master, yaitu data yang sifatnya tidak selalu berubah-ubah. Data master ini digunakan sebagai pendukung di dalam proses input transaksi.

 

* Data Transaksi, yaitu data yang akan selalu muncul dan berubah. Data transaksi ini selalu bergantung kepada master.

      https://encrypted-tbn3.gstatic.com/images?q=tbn:ANd9GcTT5lcb3_pCNNfgxOCyYgHCB_yhUF8wZ-HOWxyaRvXV54V5-ndm

Normalisasi Pada Database,

Yang dimaksud dengan 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 * Penerima

Detail Transaksi * No. Nota * Kode Barang * Quantity

 Syarat perlunyya normalisasi:

·  Fleksibilitas

Struktur database harus menunjang semua cara untuk menampilan data, sehingga ketika user menjalankan aplikasi dan meminta sesuatu dalam datbase, database harus dapat berjlan memenuhi permintaan user.

·  integritas data

Semua data dalam database yang berkaitan harus terhubung dalam suatu relationship. Sehingga ketika suatu data berubah,maka semua data yang berkaitan dengan data tersebut harus dapat berubah secara otomatis.

·  Efficiency

Pada database, ukuran suatu database merupakan hal yang penting. Maka dalam database, kita harus mengurangi redudansi data yang bisa menyebabkan ukuran databse membengkak.

·  Menghindari modification anomaly

Desain database yang baik menyajikan suatu keyakinan bahwa ketika user melakukan perubahan dalam database, maka tidak terjadi hal yang tidak diinginkan.

Kapan tidak memakai normalisasi

·  ketika kita ingin mempertahankan kesederhanaan database, sehingga user dapat melakukan query sendiri.

·  jika tidak ingin melakukan query yang rumit. normalisasi biasanya akan membuat rumit query karena melibatkan banyak tabel.

·  tidak selamanya normalisasi membuat baik, malah akan menyebabkan database semakin buruk

Keuntungan dari normalisasi, yaitu :1. Meminimalkan ukuran penyimpanan yang diperlukan untuk menyimpan data.2. Meminimalkan resiko inkonsistensi data pada basis data3. Meminimalkan kemungkinan anomali pembaruan4. Memaksimalkan stabilitas struktur dataWELL STRUCTURE RELATION adalah sebuah relasi yang jumlah kerangkapan datanya sedikit (minimum Amount Of Redundancy), serta memberikan kemungkinan bagi user untuk melakukan INSERT, DELETE, dan MODIFY terhadap baris-baris data pada relation tersebut, yang tidak berakibat terjadinya ERROR atau INKONSESTENSI DATA, yang disebabkan oleh operasi –operasi tersebutContoh :Terdapat sebuah relation Course, dengan ketentuan sbb:Setiap mahasiswa hanya boleh mengambil satu matakuliah saja.Setiap matakuliah mempunyai uang kuliah yang standar (tidak tergantung pada mahasiswa yang mengambil matakuliah tsb).

Konsep Penting dalam Teknik Normalisasi !a. Field/ Atribut KunciKunci - kunci ini pun dipergunakan Komponen Basis Data Relasional ..Super keyYaitu himpunan dari satu atau lebih entitas yang digunakan untuk mengidentifikasikan secara unik sebuah entitas dalam entitas set.Candidate keyYaitu satu attribute atau satu set minimal atribute yang mengidentifikasikan secara unik suatu kejadian yang spesifik dari entity.Primary keyYaitu satu atribute atau satu set minimal atribute yang tidak hanya mengidentifikasikan secara unik suatu kejadian yang spesifik tapi juga dapat mewakili setiap kejadian dari suatu entityAlternate KeyYaitu kunci kandidat yang tidak dipakai sebagai primary keyForeign keyyaitu satu atribute (atau satu set atribute) yang melengkapi satu relationship (hubungan yang menunjukkan ke induknya.dari entity.

Kebergantungan Fungsi1. Ketergantungan Fungsional (Fungsional Dependent)Keterkaitan antar hubungan antara 2 atribute pada sebuah relasi. Dituliskan dengan cara : A -> B, yang berarti :Atribute B fungsionality Dependent terhadap atribute A atau Isi (value) atribute A menentukan isi atribute BDefinisi dari functional dependent :Diketahui sebuah relasi R, atribute Y dari R adalah FD pada atribute X dari R ditulis R.X -> R.Y jika dan hanya jika tiap harga X dalam R bersesuaian dengan tepat satu harga Y dalam R2. Fully Functinaly Dependent (FFD)Suatu rinci data dikatakan fully functional dependent pada suatu kombinasi rinci data jika functional dependent pada kombinasi rinci data dan tidak functional dependent pada bagian lain dari kombinasi rinci data.

Definisi dari FDD:Atribute Y pada relasi R adalah FFD pada atribute X pada relasi R jika Y FD pada X tida FD pada himpunan bagian dari X3. Ketergantungan PartialSebagian dari kunci dapat digunakan sebagai kunci utama4. Ketergantungan TransitifMenjadi atribute biasa pada suatu relasi tetapi menjadi kunci pada realasi lain5. DeterminanSuatu atribute (field) atau gabungan atribute dimana beberapa atribute lain bergantung sepenuhnya pada atribute tersebut

Normalisasi database biasanya jarang dilakukan dalam database skala kecil, dan dianggap tidak diperlukan pada penggunaan personal. Namun seiring dengan berkembangnya informasi yang dikandung dalam sebuah database, proses normalisasi akan sangat membantu dalam menghemat ruang yang digunakan oleh setiap tabel di dalamnya, sekaligus mempercepat proses permintaan data.

Proses normalisasi model data dapat diringkas sebagai berikut:

a.       Menemukan entitas-entitas utama dalam model data.

b.      Menemukan hubungan antara setiap entitas.

c.       Menentukan atribut yang dimiliki masing-masing entitas.

Normalisasi model data dilakukan dengan mengikuti langkah-langkah sederhana, mengubahnya agar memenuhi apa yang disebut sebagai bentuk normal pertama, kedua, lalu ketiga secara berturutan.

                                  https://encrypted-tbn1.gstatic.com/images?q=tbn:ANd9GcRIqNIS5aEHEbdiBtPNdoA86ekpfPBCnaP0qVgathKQ9Ghxx575hA

Langkah-Langkah Normalisasi

 1.Bentuk Normal Pertama ( 1NF )

https://lh3.googleusercontent.com/_lZYWOmn8v6c/TXinKeF1j1I/AAAAAAAAARk/DEBPnUi97kw/b.jpg

Sebuah model data dikatakan memenuhi bentuk normal pertama apabila setiap atribut yang dimilikinya memiliki satu dan hanya satu nilai. Apabila ada atribut yang memiliki nilai lebih dari satu, atribut tersebut adalah kandidat untuk menjadi entitas tersendiri.

 2.Bentuk Normal Kedua ( 2NF )

Tabel 1

https://lh6.googleusercontent.com/_lZYWOmn8v6c/TXinN_4yrqI/AAAAAAAAARw/wrdQiZ63DN8/c.jpg

Tabel 2

https://lh3.googleusercontent.com/_lZYWOmn8v6c/TXinLeT5zYI/AAAAAAAAARo/qnQEKRmEQbQ/d.jpg

Tabel 3

https://lh5.googleusercontent.com/_lZYWOmn8v6c/TXinMvcug0I/AAAAAAAAARs/h7fjXD8BNfU/e.jpg

Sebuah model data dikatakan memenuhi bentuk normal kedua apabila ia memenuhi bentuk normal pertama dan setiap atribut non-identifier sebuah entitas bergantung sepenuhnya hanya pada semua identifier entitas tersebut.

 

3.Bentuk Normal Ketiga (3NF)

          https://encrypted-tbn3.gstatic.com/images?q=tbn:ANd9GcT0rpDKHAbcjcU9rH754eLq6VSn5YQIrPnBqjO62VlRX53LHPtq

Tabel 1 dan 2 sudah memenuhi criteria bantuk 3NF, namun tidak untuk tabel 3, karena bila kita ingin merubah value bobot dari nilai, maka kita akan melakukan perubahan pada banyak record/baris yang lainnya. Sehingga pada bentuk 3NF, tabel 3 dapat dipecah lagi menjadi 2 tabel agar memenuhi kriteria bentuk 3NF.

Tabel 3a

https://lh3.googleusercontent.com/_lZYWOmn8v6c/TXinP3gvtaI/AAAAAAAAAR0/y-eYgNIfavo/f.jpg

Tabel 3b

https://lh6.googleusercontent.com/_lZYWOmn8v6c/TXinHfaQxwI/AAAAAAAAARc/3iixEQfSfSI/g.jpg

B.FIRST NORMAL FORM ( 1NF )

Implementasi 1-NF dari table data yang belum ternormalisasi di atas adalah dengan cara mengeliminasi keberadaan repeating groups dan dekomposisi relasi menjadi dua atau lebih dengan syarat “tidak boleh ada informasi yang hilang karena proses dekomposisi” Adapun caranya adalah :

1. Membuat 3 tabel yang memiliki fungsi sebagai berikut :

oTBFaktur, berfungsi untuk menyediakan atribut-atribut yang bersifat atomic dari tiap nomor faktur (ID_Faktur), seperti : Tanggal, Nama_Pelanggan, Total_Bayar, Diskon dan Nama_Petugas

oTBProduk, berfungsi untuk menyediakan atribut-atribut yang berulang atau tidak bernilai tunggal pada tiap nomor faktur (ID_Faktur), seperti : Nama_Barang dan harga

oTBTransaksiDetail, berfungsi sebagai penghubung antara nomor faktur (ID_Faktur) dengan kode barang (ID_Barang) agar proses dekomposisi tidak menyebabkan kerusakan informasi.

2. Menentukan type data dari tiap atribut dan membuat digram relasional sebagai berikut

3. Pada table TBTransaksiDetail terdapat atribut “Harga” yang berfungsi untuk menyimpan harga per transaksi, sedangkan atribut “Harga_Default” yang terdapat pada table TBProduk adalah atribut yang berfungsi untuk menyimpan harga barang terbaru dari tiap jenis barang.Hal ini berguna untuk mengantisipasi adanya perubahan harga dari waktu ke waktu.

4. Primary key yang digunakan pada TBTransaksiDetail adalah “ID_Transaksi”. Atribut kunci tersebut merupakan candidate key yang dibentuk dari superkey hasil penggabungan 2 atribut yaitu : ID_Faktur dan ID_Barang

C.SECOND NORMAL FORM( 2NF )

·  Suatu relasi berada dalam 2nd normal form jika dan hanya jika:

·  Berada dalam bentuk first normal form (1-NF)

·  Semua atribut bukan kunci memiliki dependensi sepenuhnya dengan kunci primer (Primary Key)

Jika kita lihat kembali relasi bentuk 1-NF yang telah dibuat sebelumnya, maka atribut bukan kunci pada table TBFaktur yang tidak memiliki dependensi sepenuhnya dengan primary key (ID_Faktur), yaitu : “Nama_Petugas”. Oleh sebab itu dekomposisi relasi perlu dilakukan kembali dengan cara :

1.      Mengeliminasi atribut “Nama_Petugas” dari table TBFaktur

2.      Membuat tabel TBPetugas, menyediakan atribut-atribut yang terkait dengan identitas dan data pelanggan

THIRD NORMAL FORM ( 3NF )

Pada Second Normal Form (2-NF) atribut yang terkait dengan “Nama_Pelanggan” tidak didekomposisi dari table TBFaktur karena atribut tersebut masih memiliki dependensi fungsional dengan primary key (ID_Faktur) karena tiap nomor faktur akan berbeda untuk tiap pembeli/pelanggan. Tetapi pada tahap 3-NF (Third Normal Form), atribut “Nama_Pelanggan” harus didekomposisi relasi karena pada tahap ini atribut bukan kunci tidak boleh ada yang berdependensi transitif dengan kunci primer.

Atribut “Nama_Pelanggan” dikatakan berdependensi transitif terhadap primary key (ID_Faktur) karena :

1.      ID_Pelanggan → Nama_Pelanggan (Nama_Pelanggan berdependensi fungsional terhadap ID_Pelanggan)

2.      ID_Faktur → ID_Pelanggan (ID_Pelanggan berdependensi fungsional terhadap ID_Faktur, karena tiap nomor faktur akan dikeluarkan untuk suatu ID_Pelanggan tertentu)

3.      Sehingga dikatakan bahwa ID_Faktur memiliki dependensi transitif terhadap atribut Nama_Pelanggan

 

 

 

 

 

 

 

 

 NORMALISASI BASIS DATA

       https://encrypted-tbn3.gstatic.com/images?q=tbn:ANd9GcRY5qkA3TTMV-zhsJTPOzJ60-ik_7C0OIuVtEw6Y-VjywmsGLyu

    Sebelum berbicara tentang normalisasi pada database, adakalanya kita mengetahui dahulu apa itu database. DataBase (basis data dalam bahasa indonesia) dapat diartikan sebagai kumpulan sejumlah data berupa informasi yang disimpan dengan struktur yang sedemikian rupa sehingga dapat diolah kemudian dengan mudah. Sedangkan untuk membuat suatu database yang harus diperhatikan adalah jenis data;

 

* Data Master, yaitu data yang sifatnya tidak selalu berubah-ubah. Data master ini digunakan sebagai pendukung di dalam proses input transaksi.

 

* Data Transaksi, yaitu data yang akan selalu muncul dan berubah. Data transaksi ini selalu bergantung kepada master.

      https://encrypted-tbn3.gstatic.com/images?q=tbn:ANd9GcTT5lcb3_pCNNfgxOCyYgHCB_yhUF8wZ-HOWxyaRvXV54V5-ndm

Normalisasi Pada Database,

Yang dimaksud dengan 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

Perintah dan contoh DML,DCL,DDL,DQL,dan SQL

03 October 2012 19:08:11 Dibaca : 3072

 

     DDL (DATA DEFINITION LANGUAGE)

 

 

 

 

 

 

 

DDL digunakan untuk mendefinisikan, mengubah, serta menghapus basis data dan objek-objek yang diperlukan dalam basis data, misalnya tabel, view, user, dan sebagainya.Secara umum, DDL yang digunakan adalah CREATE untuk membuat objek baru, USE untuk menggunakan objek, ALTER untuk mengubah objek yang sudah ada, dan DROP untuk menghapus objek. DDL biasanya digunakan oleh administrator basis data dalam pembuatan sebuah aplikasi basis data.

 

 

 

Objek-objek database pada yang dimaksud - pada MySQL - adalah sebagai berikut :

 

 

 

  • Database

  • Table

  • View

  • Index

  • Procedure (Stored Procedure)

  • Function

  • Trigger

 

 

 

 

 

o   Perintah yg di gunakan dalam DDL

 

 

 

 

 

 

 

 

 

·         Create: Merupakan perintah yang digunakan untuk membuat database ataupun tabel.

 

 

 

·         Alter: Merupakan perintah yang digunakan untuk  mengubah atau mengedit tabel.  Namun tidak semua kasus bisa dilakukan dengan perintah alter.

 

 

 

·           Drop: Merupakan perintah yang digunakan untuk menghapus tabel, procedure atau trigger dan  lainnya yang merupakan objek dari database.

 

 

 

 

 

2.      DML- Data Manipulation Language

 

 

 

 

 

 

 

 

Merupakan kumpulan perintah SQL yang digunakan untuk proses pengolahan isi data

 

dalam table seperti memasukkan, merubah, dan menghapus isi data dan tidak terkait

 

dengan perubahan struktur dan definisi tipe data dari objek data base.

 

 

 

Contoh penggunaan bahasa

 

 

 

  • 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

 

 

 

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

 

 

 

  • Memodifikasianggotalangsungdari base tables.

  • Memodifikasianggotarelasimelaluisuatu views.

 

 

 

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

 

 

 

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

  • 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

 

 

 


 

 

3.    Data query language

 

 

 

 

 

 

 

 

 

 

Statemen Data-Query language (DQL), sering disebut juga dengan statemen retrieval, yang digunakan untuk mengambil data pada suatu tabel dan mengatur bagaimana data tersebut ditampilkan dalam aplikasi. Reserved word SELECT merupakan verb yang paling umum digunakan dalam DQL ( bahkan dalam seluruh statemen SQL). Reserved word lain dalam kategori ini yang umum digunakan adalah WHERE, ORDER BY, GROUP BY dan HAVING. Reserved word ini biasanya digunakan bersama dengan kategori lain dalam statemen SQL.

 

 

 

 

 

 

 

4.     Data control language (DCL)

 

 

 

Perintah-perintah yang termasukdalam data control language (DCL) 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)      Grant: Merupakan perintah yang digunakan untuk member hak akses bagi seorang user terhadap suatu tabel atau view

 

d)     Revoke: Merupakan perintah yang digunakan untuk menghapus hak akses bagi seorang user terhadap suatu tabel atau view

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Type data pada database manajemen sistem

19 September 2012 08:18:11 Dibaca : 83

Relasional Basis Data Jenis


Database relasional dapat menangani semua jenis data.

Sebuah toko program database dan informasi mengambil. Sebuah sistem manajemen database relasional (RDBMS) menunjukkan struktur dan organisasi data dalam database. Industri menemukan database relasional menarik karena kesederhanaan dalam pemrograman, akses dan pemeliharaan. Penciptaan database relasional jenis, struktur dan sistem pada tahun 1970 membuka pintu untuk pengembangan penyimpanan, pencarian dan aplikasi data untuk semua jenis aplikasi komputer.

 


Relational Database Jejak Kecil


Database relasional footprint kecil yang dirancang untuk bekerja devices.They genggam dan tertanam dengan arsitektur perangkat embedded mobile dan lainnya dan memiliki ruang penyimpanan yang terbatas dan memori terbatas. Database ini footprint kecil relasional juga dapat menyinkronkan data dengan database pusat. Misalnya, perangkat genggam nirkabel mungkin perlu untuk berkomunikasi dengan database perusahaan di kantor pusat.

 

2.    Cepat dan Scalable Database Relasional

Skalabilitas berarti kinerja diprediksi sebagai jumlah pengguna atau meningkatnya ukuran database. Aplikasi sentris server seperti yang digunakan oleh organisasi ritel besar membutuhkan database relasional yang menyediakan kecepatan superior dan skalabilitas.

 

Luas Dukungan untuk Tipe Data Banyak

Jenis ketiga database relasional memberikan dukungan yang luas untuk berbagai jenis data. Ini database relasional memungkinkan pencarian data dengan kesalingterkaitan yang kompleks. Seperti yang Anda duga, mereka adalah server-centric database.

 


Oracle 11g


o        Tersedia dalam tiga edisi kompatibel-perusahaan, standar dan express-Oracle 11g menyediakan kemampuan database yang berjalan di Windows, Linux dan sistem operasi UNIX. Fitur khusus termasuk pemrosesan transaksi, intelijen bisnis dan aplikasi manajemen konten. Oracle 11g memberikan perlindungan dari kegagalan server, mengamankan enkripsi data dan recall total data, dan mudah mengelola terbesar dari database. Edisi Enterprise menawarkan berbagai pilihan yang mencakup data mining, data warehouse, OLAP, keamanan canggih dan manajemen. Pilihan lain adalah aplikasi pengujian nyata dan kompresi canggih. Oracle mempromosikan aplikasi database dengan menawarkan database gratis starter di Oracle Database 10g Express Edition yang pengguna bebas untuk men-download, mendistribusikan, mengembangkan dan menyebarkan.

 

Microsoft SQL Server


 

o    Microsoft SQL Server 2008 adalah perangkat lunak manajemen database scalable dalam empat edisi: Enterprise dan Standard dan edisi R2 (Paralel Data Warehouse dan Datacenter) dirancang untuk memenuhi kebutuhan pusat data skala besar dan gudang data. Secara umum empat edisi menyediakan manajemen infrastruktur basis data organisasi sementara juga menyediakan waktu-kritis intelijen bisnis. Data Warehouse Paralel dan edisi Datacenter biaya lebih dari perusahaan dan edisi standar. Edisi standar untuk organisasi kecil dan dapat menyimpan lebih dari 60 persen dari waktu yang dihabiskan untuk backup karena memiliki fitur kompresi cadangan. Microsoft menawarkan dua edisi gratis (kompak dan express) bagi siswa dan pengembang perangkat lunak selain versi percobaan SQL 2008.

 

o

MySQL


 

o     MySQL dianggap sebagai database open source paling populer yang memiliki kemudahan penggunaan dan biaya total kepemilikan terendah dibandingkan dengan sistem manajemen database lainnya. Tersedia dalam empat tingkatan meningkatnya biaya (dasar, perak, emas dan platinum), memberikan kinerja tinggi dan scalable proses transaksi online (OLTP) kemampuan dan aplikasi data multi-terabyte pergudangan. Mesin riil ini disebut MySQL Enterprise Server.

 

Beberapa fitur khusus MySQL Server 5.1 Perusahaan termasuk partisi yang membantu mengelola database yang sangat besar dan Event Scheduler untuk membantu membuat dan jadwal pekerjaan. Tiga fitur lainnya adalah Views, yang menjamin bahwa informasi sensitif tidak terganggu, Pemicu, yang memberlakukan aturan bisnis yang kompleks di tingkat database, dan Mesin Penyimpanan Arsip untuk data historis dan audit.

 

 




 

 Database Management System (DBMS)

1.    Pengertian Database Management system

Database (basis data) adalah kumpulan informasi yang disimpan didalam komputer secara sistematis sehingga dapat diperiksa menggunakan suatu program komputer untuk memperoleh informasi dari database tersebut.  Perangkat lunak untuk memanggil dan mengelola dan memanggil query database disebut sistem manajemen database (database management system/DBMS)

  Sebuah DBMS adalah perangkat lunak sistem paket yang membantu penggunaan koleksi terintegrasi catatan data dan file yang dikenal sebagai database. Dalam sistem yang besar, sebuah DBMS memungkinkan pengguna dan perangkat lunak lain untuk menyimpan dan mengambil data dengan terstruktur cara. Daripada harus menulis program komputer untuk mengekstrak informasi, pengguna dapat mengajukan pertanyaan sederhana dalam bahasa query. Dengan demikian, banyak paket DBMS menyediakan bahasa pemrograman generasi-Keempat (4GLs) dan pengembangan aplikasi fitur lainnya. Ini membantu untuk menentukan organisasi logis untuk database dan mengakses dan menggunakan informasi di dalam database.

 

Struktur hirarki digunakan dalam DBMS mainframe awal. Hubungan Records 'bentuk model treelike. Struktur ini sederhana namun nonflexible karena hubungan terbatas pada hubungan satu-ke-banyak. IBM sistem IMS dan Mobile RDM adalah contoh sistem basis data hirarki dengan beberapa hirarki atas data yang sama. RDM Mobile adalah embedded database baru dirancang untuk sistem komputer mobile. Struktur hirarkis digunakan terutama saat ini untuk menyimpan informasi geografis dan sistem file.

Struktur jaringan yang terdiri dari hubungan yang lebih kompleks. Berbeda dengan struktur hirarkis, dapat berhubungan dengan banyak catatan dan akses mereka dengan mengikuti salah satu dari beberapa jalan. Dengan kata lain, struktur ini memungkinkan untuk hubungan banyak-ke-banyak.

Struktur relasional adalah yang paling umum digunakan saat ini. Hal ini digunakan oleh mainframe, midrange dan sistem komputer mikro. Ini menggunakan dua dimensi baris dan kolom untuk menyimpan data.

Struktur multidimensi mirip dengan model relasional. Dimensi model kubus-seperti memiliki data yang berhubungan dengan unsur-unsur di setiap sel. Struktur ini memberikan tampilan spreadsheet seperti data.

Para berorientasi struktur obyek memiliki kemampuan untuk menangani grafik, gambar, suara dan teks, jenis data, tanpa difficultly tidak seperti struktur database lain. Struktur ini sangat populer untuk multimedia berbasis aplikasi Web.

2.    Macam – Macam Aplikasi Database Management System (DBMS)

Berikut ini beberapa aplikasi database diantaranya :

1. Komersial (Bayar)

- DB2

- Sybase

- Teradata

- Microsoft SQL Server 2000


Adalah perangkat lunak relational database management system (RDBMS) yang didesain untuk melakukan proses manipulasi database berukuran besar dengan berbagai fasilitas. Microsoft SQL Server 2000 merupakan produk andalan Microsoft untuk database server. Kemampuannya dalam manajemen data dan kemudahan dalam pengoperasiannya membuat RDBMS ini menjadi pilihan para database administrator. Istilah RDBMS, database server-software, dan database engine mengacu ke hal yang sama; sedangkan RDBMS bukanlah database. Beberapa contoh dari RDBMS diantaranya Oracle, Ms SQL Server, MySQL, DB2, Ms Access.

- Oracle


Adalah relational database management system (RDBMS) untuk mengelola informasi secara terbuka, komprehensif dan terintegrasi. Oracle Server menyediakan solusi yang efisien dan efektif karena kemampuannya dalam hal sebagai berikut:

  • Dapat bekerja di lingkungan client/server (pemrosesan tersebar)
  • Menangani manajemen space dan basis data yang besar
  • Mendukung akses data secara simultan
  • Performansi pemrosesan transaksi yang tinggi
  • Menjamin ketersediaan yang terkontrol
  • Lingkungan yang terreplikasi

Oracle merupakan DBMS yang paling rumit dan paling mahal di dunia, namun banyak orang memiliki kesan yang negatif terhadap Oracle. Keluhan-keluhan yang mereka lontarkan mengenai Oracle antara lain adalah terlalu sulit untuk digunakan, terlalu lambat, terlalu mahal, dan bahkan Oracle dijuluki dengan istilah “ora kelar-kelar” yang berarti “tidak selesai-selesai” dalam bahasa Jawa. Jika dibandingkan dengan MySQL yang bersifat gratis, maka Oracle lebih terlihat tidak kompetitif karena berjalan lebih lambat daripada MySQL meskipun harganya sangat mahal.

2. Free (Gratis)

- PostgreSQL


          Adalah tool untuk membuat database server yang bersifat open source yang memiliki licensi GPL (General Public License)

- Firebird


Adalah sistem manajemen basisdata relasional yang menawarkan fitur-fitur yang terdapat dalam standar ANSI SQL-99 dan SQL-2003. RDBMS ini berjalan baik di Linux, Windows, maupun pada sejumlah platform Unix. Firebird ini diarahkan dan di-maintain oleh FirebirdSQL Foundation. Ia merupakan turunan dari Interbase versi open source milik Borland. Karena itulah Interbase dan Firebird sebenarnya mempunyai CORE yang sama karena awalnya sama” dikembangkan oleh Borland.

- 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 . Tidak seperti Apache yang merupakan software yang dikembangkan oleh komunitas umum, dan cipta untuk code sumber dimiliki oleh penulisnya masing-masing, MySQL dimiliki dan disponsori oleh sebuah perusahaan komersial Swedia yaitu MySQL AB. MySQL AB memegang penuh 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 “monthy widenius.