921411237 tugas 5
Relasi Tabel Dalam Mysql
Relasi table pada database sangat diperlukan untuk menyederhanakan data-data kita,dan supaya mudah untuk diatur.Ada beberapa cara yang digunakan untuk merelasikan table.Pada pelajaran kali ini saya akan mengajarkan cara relasi database dengan menggunakan keluarga JOIN.Relasi table dengan Join ada 6 macam.
ï‚· CROSS JOIN
ï‚· STRAIGHT JOIN
ï‚· INNER JOIN
ï‚· RIGHT JOIN
ï‚· LEFT JOIN
ï‚· NATURAL JOIN
Contoh:
Anda membuat table namanya nilai dengan huruf kecil semua.untuk menampilkan isi dari table
gunakan query berikut
select * from nilai //work
select * from Nilai //don’t work
select * from NILAI //don’t work
SeLeCt * FroM nilai //work
Sekarang masuk ke mysql server anda jika memakai console ketik mysql –u root –p [enter] masukkan password. Setelah itu masuk ke database produk mysql> use produk Lalu untuk melihat table yang sudah dibuat ketik perintah berikut
mysql> show tables;
+------------------+
| Tables_in_produk |
+------------------+
| jenis |
| produk |
+------------------+
2 rows in set (0.00 sec)
Disitu terdapat dua table yang ingin kita relasikan yaitu table jenis dan produk.Untuk meliat deskripsi dari kedua table tersebut gunakan query berikut
mysql> desc produk;
+-----------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-----------+-------------+------+-----+---------+----------------+
| id_produk | int(11) | NO | PRI | NULL | auto_increment |
| nm_produk | varchar(40) | YES | | NULL | |
| no_jenis | int(3) | YES | | NULL | |
+-----------+-------------+------+-----+---------+----------------+
3 rows in set (0.01 sec)
mysql> desc jenis
-> ;
+----------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+----------------+
| no_jenis | int(11) | NO | PRI | NULL | auto_increment |
| nm_jenis | varchar(20) | YES | | NULL | |
+----------+-------------+------+-----+---------+----------------+
2 rows in set (0.01 sec)
Perhatikan pada table jenis dan produk terdapat field yang sama yaitu no_jenis.yang akan kita gunakan untuk merelasikan kedua table berikut.
Pada table produk primary key nya adalah id_produk sedangkan pada table jenis primary key nya adalah no_jenis.Nah,pada table jenis no_jenis adalah kunci primer(primary key),sedangkan pada table produk no_jenis adalah kunci tamu(foreign key).
Sekarang kita lihat isi dari masing-masing table berikut
mysql> select * from jenis;
+----------+------------+
| no_jenis | nm_jenis |
+----------+------------+
| 1 | Furniture |
| 2 | Elektronik |
| 3 | FOOD |
+----------+------------+
3 rows in set (0.00 sec)
mysql> select * from produk;
+-----------+-----------+----------+
| id_produk | nm_produk | no_jenis |
+-----------+-----------+----------+
| 1 | Lemari | 1 |
| 2 | Kulkas | 2 |
| 3 | Meja | 1 |
| 4 | Bangku | 1 |
| 5 | Televisi | 2 |
| 6 | Komputer | 2 |
+-----------+-----------+----------+
6 rows in set (0.00 sec)
Nah pada field/kolom no_jenis pada table jenis dan produk ,kita bermaksud menghubungkan.
JOIN TABLE
1.INNER JOIN
Inner Join konseprnya sama seperti Cross Join Tidak ada perbedaan apapun mysql> select id_produk,nm_produk,nm_jenis from produk inner join jenis on produk.no_jenis=jenis.no_jenis;
+-----------+-----------+------------+
| id_produk | nm_produk | nm_jenis |
+-----------+-----------+------------+
| 1 | Lemari | Furniture |
| 2 | Kulkas | Elektronik |
| 3 | Meja | Furniture |
| 4 | Bangku | Furniture |
| 5 | Televisi | Elektronik |
| 6 | Komputer | Elektronik |
+-----------+-----------+------------+
6 rows in set (0.00 sec)
mysql> select id_produk,nm_produk,nm_jenis from produk inner join jenis where produk.no_jenis=jenis.no_jenis;
+-----------+-----------+------------+
| id_produk | nm_produk | nm_jenis |
+-----------+-----------+------------+
| 1 | Lemari | Furniture |
| 2 | Kulkas | Elektronik |
| 3 | Meja | Furniture |
| 4 | Bangku | Furniture |
| 5 | Televisi | Elektronik |
| 6 | Komputer | Elektronik |
+-----------+-----------+------------+
6 rows in set (0.00 sec)
2.LEFT JOIN
Left Join digunakan untuk menampilkan semua record pada table di sebelah kiri .
mysql> select id_produk,nm_produk,nm_jenis from produk left join jenis on produk.no_jenis=jenis.no_jenis;
+-----------+-----------+------------+
| id_produk | nm_produk | nm_jenis |
+-----------+-----------+------------+
| 1 | Lemari | Furniture |
| 2 | Kulkas | Elektronik |
| 3 | Meja | Furniture |
| 4 | Bangku | Furniture |
| 5 | Televisi | Elektronik |
| 6 | Komputer | Elektronik |
+-----------+-----------+------------+
6 rows in set (0.00 sec)
Kita Lihat, Pada contoh diatas left join akan menampilkan semua record pada table di sebelah kiri yaitu table produk sedangkan table jenis berada disebelah kanan sehingga table jenis akan menyesuaikan .
3.RIGHT JOIN
Kebalikan dari left join ,right join digunakan untuk menampilkan semua record pada table di sebelah kanan.
mysql> select id_produk,nm_produk,nm_jenis from produk right join jenis on produk.no_jenis=jenis.no_jenis;
+-----------+-----------+------------+
| id_produk | nm_produk | nm_jenis |
+-----------+-----------+------------+
| 1 | Lemari | Furniture |
| 2 | Kulkas | Elektronik |
| 3 | Meja | Furniture |
| 4 | Bangku | Furniture |
| 5 | Televisi | Elektronik |
| 6 | Komputer | Elektronik |
| NULL | NULL | FOOD |
+-----------+-----------+------------+
7 rows in set (0.00 sec)
Dapat kita lihat Table jenis akan ditampilkan semua sehingga untuk field/kolom nm_jenis FOOD karena tidak ada pasangan di table produk maka table produk akan otomatis mengisinya dengan NULL.
9821411237 Tugas 4
TEKNIK NORMALISASI
Definisi :
Normalisasi adalah suatu teknik utnuk mengorganisasi data ke dalam tabel-tabel untuk memenuhi kebutuhan pamakai di dalam suatu organisasi.
Tujuan Normalisasi :
Untuk menghilangkan kerangkapan dataUntuk mengurangi kompleksitasUntuk 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 terebut perlu dipecah menjadi beberapa tabel yang lebih sederhanan sampai memenuhi bentuk yang optimal.
Langkah-langkah Pembentukan Normalisasi.
1. Bentuk tidak normal (Unnormalized Form):
Bentuk ini merupakan kumpulan data yang akan direkam, tidak ada keharusan mengikuti suatu format tertentu. Dapat saja data tidak lengkap atau terduplikasi. Data dikumpulkan apa adanya sesuai dengan saat menginput.
2. Bentuk Normal Ke Satu (1 NF/First NormalForm)
Suatu relasi 1NF jika dan hanya jika sifat dari setiap relasi atributnya bersifat atomik.
Atom adalah zat terkecil yang masih memiliki sifat induknya, bila dipecah lagi maka ia tidak memiliki sifat induknya.
Ciri-ciri 1 NF :
• Setiap data dibentuk dalam flat file, data dibentuk dalam satu record demi satu record nilai dari field berupa “atomic value
• Tidak ada set atribute yang berulang atau bernilai ganda
• Tiap field hanya satu pengertian
3. Bentuk Normal Ke Dua (2 NF /Second Normal Form)
Bentuk normal kedua mempunyai syarat yaitu bentuk data telah memenuhi kriteria bentuk normal kesatu. Atribute bukan kunci haruslah bergantung secara fungsi pada kunci utama/primary key. Sehingga utk membentuk normal kedua haruslah sudah ditentukan kunci-kunci field. Kunci field haruslah unik dan dapat mewakili atribute lain yg menjadi anggotanya.
4. Bentuk Normal Ke Tiga (3 NF / Third Normal Form)
Untuk menjadi bentuk normal ketiga maka relasi haruslah dalam bentuk normal kedua dan semua atribute bukan primer tidak punya hubungan yg transitif. Dengan kata lain,setiap atribute bukan kunci haruslah bergantung hanya pada primary key dan pada primary key secara menyeluruh.
5. Boyce-Codd Normal Form ( BCNF)
BCNF mempunyai paksaan yg lebih kuat dari bentuk normal ketiga. Untuk menjadi BCNF, relasi harus dalam bentuk normal kesatu dan setiap atribute harus bergantung fungsi pada atribute superkey
6. Bentuk Normal Ke Empat (4 NF)
Relasi R adalah bentuk 4 NF jika dan hanya jika relasi tersebut juga termasuk BCNF dan semua ketergantungan multivalue adalah juga ketergantungan fungsional
7. Bentuk Normal Ke Lima (5 NF)
Disebut juga PJNF (Projection Join Normal Form) dari 4 NF dilakukan dengan menghilangkan ketergantungan join yang bukan merupakan kunci kandidat.
Efek Normalisasi
Pada kenyataannya, penerapan normalisasi juga mengakibatkan efek samping yang tidak diharapkan,yaitu :
1. Proses dekomposisi relasi akan mengakibatkan munculnya duplikasi rinci data pada atribut kunci penghubung (foreign key).
2. Dekomposisi relasi membuka kemungkinan tidak terpenuhi integritas refernsial (referential integrity) dalam basis data.
3. Dekomposisi relasi akan menghasilkan semakin banyak jumpak relasi baru, sehingga mengakibatkan inefisiensi proses menampilkan kembali data-data dari dalam basis data.
Adanya batasan penerapan pada beberapa DBMS untuk ukuran computer pribadi/PC, berkaitan dengan batas maksimal relasi yang dapat dibuka secara bersamaan.
Tugas 3 (921411237)
Data Control Language (DCL)
Apa itu bahasa kontrol data ?
DCL adalah bagian Structured Query Language (SQL) yang digunakan untuk mengontrol akses ke data dalam database. Untuk setiap rumah atau outsourcing proses pengembangan perangkat lunak, Data Control Bahasa memainkan peran penting dalam menetapkan mekanisme otorisasi dari database.
Berikut adalah perintah atau bahasa dari DCL :
- GRANT : 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.
- REVOKE : Perintah ini memiliki kegunaan terbalik dengan GRAND, yaitu untuk menghilangkan atau mencabut hak akses yang telah diberikan kepada user oleh administrator.
Data-Manipulation Language ( DML )
Apa itu bahasa manipulasi data?
Bahasa manipulasi data (data manipulation language) merupakan bahasa yang digunakan untuk memanipulasi basis data. Manipulasi basis data dapat berupa menambah (append), menghapus (delete), mengganti (update), menyisip (insert), menarik informasi tertentu (query).
Ada dua tipe DML, yaitu :
- Procedural DML, mengharuskan pengguna untuk menentukan data yang dibutuhkan dan bagaimana mendapatkannya.
- Nonprocedural DML / Declarative DML, mengharuskan pengguna menentukan data yang dibutuhkan tanpa menentukan bagaimana mendapatkannya.
Berikut ini adalah bahasa manipulasi data:
• SELECT – mengambil data
• DELETE – menghapus data
• INSERT – menyisipkan data
• UPDATE – mengubah data
-
Insert
Berfungsi Untuk memasukkan sejumlah data kedalam table yang telah dibuat.Syntax:
insert into table_name (column1, column2, …, column_n)values (value1, value2, …, value_n);
Contoh:insert into pegawai (npk,nama)values (‘5106100032?, ‘Eko Susilo’);
-
Delete
Berfungsi untuk menghapus sejumlah data yang ada didalam table yang telah dibuat.
Syntax:delete table_name where column_name=column_content;
Contoh:delete mahasiswa where npk=’5106100032?;
-
Update
Berfungsi untuk melakukan perubahan terhadap sejumlah data yang ada didalam table yang telah dibuat.Syntax:
update table_nameset column1_name=column1_contentwhere column2_name=column2_content;
Contoh:update pegawaiset nama=’Eka Susila’, alamat=’U-144?
-
. Select
Berfungsi untuk melakukan pengambilan sejumlah data yang ada di dalam table untuk ditampilkan ataupun dimanipulasiSyntax:
Select column from table_name
Contoh:Select * from pegawai; where nrp=’5106100032?;
Beberapa daftar Perintah DML MySQL 5.0
- CALL
- DELETE
- DO
- HANDLER
- INSERT
- LOAD DATA INFILE
- REPLACE
- SELECT
- TRUNCATE
- UPDATE
Defenisi Data Language( DDL )
Bahasa defenisi data (data defeniton language) merupakan perintah-perintah yang digunakan untuk mendefenisikan suatu basis data. Umumnya bahasa defenisi data hanya dilakukan sekali saja yaitu pada tahap awal perancangan basis data.
Berikut ini adalah bahasa defenisi data:
- Create
Perintah Create dapat digunakan untuk menciptakan basis data, index atau view.
- Drop
Perintah Drop digunakan untuk menghapus basis data, index atau view.
- Alter
Perintah Alter digunkan untuk mengubah struktur tabel.
sebagai contoh, pernyataan berikut dalam bahasa SQL untuk mendefinisikan tabel mahasiswa :
Create table mahasiswa
(Kode char(3),
NPM char(13),
Nama varchar(30))
Daftar Perintah DDL pada MySQL 5.0
- Pembuatan (CREATE)
- CREATE DATABASE
- CREATE FUNCTION
- CREATE INDEX
- CREATE PROCEDURE
- CREATE TABLE
- CREATE TRIGGER
- CREATE VIEW
- Perubahan (ALTER & RENAME)
- ALTER DATABASE
- ALTER FUNCTION
- ALTER PROCEDURE
- ALTER TABLE
- ALTER VIEW
- RENAME TABLE
- Penghapusan (DROP)
- DROP DATABASE
- DROP FUNCTION
- DROP INDEX
- DROP PROCEDURE
- DROP TABLE
- DROP TRIGGER
- DROP VIEW
Tugas 2 (921411237)
DATA TYPE PADA MICROSOFT ACCES
Sebelum kita memulai membuat database sebaiknya kita perlu mengetahui type Data yang terdapat didalam tabel itu sendiri sehingga kita tahu peruntukannya untuk apa saja. Untuk mengetahui type data tersebut sekarang kita buka aja dulu Ms. Acces 2007 kemudian create Database dan kita simpan dengan nama database1. Maka Secara Otomatis akan muncul worksheet acces dengan tampilan awal yaitu table1, kita save table tersebut dan diberinama table1. Arahkan cursor ke table1 yang berada dibilah kiri, kemudian klik kanan dan pilih View - Design View dan ketika terbuka maka akan muncul Field Nama, Data Type dan Description.
Penjelasannya adalah sebagai berikut :
· Field Name adalah untuk nama kolom dalam tabel yang akan kita buat misalkan Nomor urut, nama, tanggal, alamat, jumlah dan lain sebagainya.
· Data type adalah jenis data yang disesuaikan fungsinya yang diberinama di Field name tersebut misalkan jika di Field Name kita beri judul Nomor Urut maka Type Datanya bisa dengan memilih Nomor yang muncul Secara Otomatis (maka pilih AutoNumber) atau manual dalam mengisinya (pilih Number).
· Description adalah sebagai penjelasan terhadap kolom yang dibuat tadi.
Mengenal dan memahami Data type itu penting agar tidak salah dalam pembuatan tabel nantinya. Adapun Type Data yang disediakan di ms. Acces 2007 adalah sebagai berikut :
1. Text adalah type data berupa teks atau huruf, angka, spasi dan tanda baca lainnya yang mampu menampung karakter dari huruf dan angka tersebut sebanyak 255 karakter.
2. Memo adalah type data yang hampir sama dengan Text tetapi karakter yang mampu ditampungnya sangat besar yaitu sampai dengan 65535 karakter. Memo, adalah tipe data yang berisikan huruf atau kombinasi huruf dan angka.
3. Number adalah type data yang diperuntukan untuk angka saja.
4. Date/Time adalah type data yang diperuntukan untuk menampilkan tanggal dan waktu.
5. Currency adalah type data yang hampir sama dengan number tapi diperuntukan untuk format mata uang.
6. Yes/No adalah type data untuk sebuah logika Ya atau Tidak.
7. OLE Object adalah type data yang dipergunakan untuk menampung gambar atau obyek dengan ukuran tidak lebih dari 128 MB.
8. Hyperlink adalah type data untuk menmapilkan alamat hyperlink dengan batas maksimum penampungannya adalah 2048 karakter
9. AutoNumber seperti yang telah dijelaskan diatas, adalah nilai angka atau variasi angka huruf (yang akan berubah hanya angka apabila formatnya perpaduan huruf dan angka) yang akan muncul Secara Otomatis ketika kita menginput data baru dan angka tersebut tidak bisa kita edit.
10. Lookup Wizard adalah type data untuk menampilkan data dari tabel atau record lainnya atau dengan akta lain data yang diulang.
11.Attachment adalah type data yang digunakan untuk menampung / menyimpan / menampilkan lampiran persis seperti dalam sebuah email dan semua type data bisa ditampung disini.
Tugas 1 (921411237)
BASIS DATA dan SISTEM MANAJEMEN BASIS DATA
A. Basis Data (Database)
Kata “Basis” dapat didefinisikan sebagai kumpulan data yang saling berhubungan. Sedangkan kata ”Data” dapat didefinisikan sebagai fakta yang direkam atau dicatat.
Basis data dapat didefinisikan dalam sejumlah sudut pandang, seperti menurut:
1. Connolly (2002,p14), definisi basis data adalah kumpulan data yang dihubungkan secara bersama-sama, dan gambaran dari data yang dirancang untuk memenuhi kebutuhan informasi dari suatu organisasi. Berbeda dengan sistem file yang menyimpan data secara terpisah, pada basis data data tersimpan secara terintegrasi. Basis data bukan menjadi milik dari suatu departemen tetapi sebagai sumber daya perusahaan yang dapat digunakan bersama.
2. Menurut Date (1990,p5), definisi dari basis data adalah kumpulan terintegrasi dari file yang merupakan representasi data dari suatu model enterprise.
3. Sedangkan menurut Fathansyah (1999,p2), basis data adalah :
a) Himpunan kelompok data (arsip) yang saling berhubungan yang diorganisasi sedemikian rupa agar kelak dapat dimanfaatkan kembali dengan cepat dan mudah.
b) Kumpulan data yang saling berhubungan yang disimpan secara bersama sedemikian rupa dan tanpa pengulangan (redudansi) yang tidak perlu, untuk memenuhi berbagai kebutuhan.
c) Kumpulan file/ tabel/ arsip yang saling berhubungan yang disimpan dalam media penyimpanan elektronis.
Jadi dapat disimpulkan bahwa Basis Data (Database) adalah kumpulan informasi yang disimpan di dalam komputer secara sistematik sehingga dapat diperiksa menggunakan suatu program komputer untuk memperoleh informasi dari basis data tersebut.
B. Sistem manajemen basis data (Bahasa Inggris: database management system, DBMS)
Data merupakan fakta mengenai suatu objek seperti manusia, benda, peristiwa, konsep, keadaan dan sebagainya yang dapat dicatat dan mempunyai arti secara implisit. Data dapat dinyatakan dalam bentuk angka, karakter atau simbol, sehingga bila data dikumpulkan dan saling berhubungan maka dikenal dengan istilah basis data (database).
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.
Perangkat-perangkat Lunak Database
1. Microsoft Access (atau Microsoft Office Access)
Microsoft Access (atau Microsoft Office Access) adalah sebuah program aplikasi basis data komputer relasional yang ditujukan untuk kalangan rumahan dan perusahaan kecil hingga menengah. Aplikasi ini merupakan anggota dari beberapa aplikasi Microsoft Office, selain tentunya Microsoft Word, Microsoft Excel, dan Microsoft Power Point. Aplikasi ini menggunakan mesin basis data Microsoft Jet Database Engine, dan juga menggunakan tampilan grafis yang intuitif sehingga memudahkan pengguna.
2. MySQL
MySQL adalah DBMS yang Multi-thread dan Multi-User, dengan 6 juta installasi di seluruh dunia, MySQL dikembangkan di MySQLAB, dan ditawarkan secara gratis dalam GNU General Public Lisence (GNU), namun mereka juga menjual dibawah lisensi komersial untuk kasus-kasus dimana penggunaannya tidak cocok dengan penggunaan GPL.Kedua orang Swedia dan satu orang Finlandia yang mendirikan MySQLAB adalah: David Axmark, Allan Larsson, danMichael “Monty” Widenius.
3. Oracle
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.
4. Microsoft SQL Server
Microsoft SQL Server Merupakan produk andalan microsoft untuk database server. Umum digunakan di dunia bisnis yang memiliki basis data berskala kecil hingga menengah, dan berkembang dengan digunakannya SQL Server pada basis data besar. Bahasa Query utamanya adalah Transact-SQL yang merupakan implementasi dari SQL standar ANSI/ISO yang digunakan oleh Microsoft dan Sybase. Microsoft SQL Server dan Sybase/ASE dapat berkomunikasi lewat jaringan dengan menggunakan protokol TDS (Tabular Data Stream). Selain dari itu, Microsoft SQL Server juga mendukung ODBC (Open Database Connectivity), dan mempunyai driver JDBC untuk bahasa pemrograman Java. Fitur yang lain dari SQL Server ini adalah kemampuannya untuk membuat basis data mirroring dan clustering.
5. Firebird
Firebird (juga disebut FirebirdSQL) 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 di diarahkan dan di-maintain oleh FirebirdSQL Foundation. Ia merupakan turunan dari Interbase versi open source milik Borland.
6. Visual Foxpro
Visual FoxPro adalah bahasa pemrograman berorientasi objek dan prosedural dari Microsoft. Awalnya bahasa pemrograman ini dikenal dengan nama FoxBASE yang diluncurkan oleh Fox Software pada awal 1984. Pada tahun 1989 foxbase berkembang menjadi foxpro dan memperkenalkan GUI. Fox Technologies kemudian bergabung dengan Microsoft pada 1992 sehingga di depan nama Foxpro ditambahkan awalan "Visual". Pada tahun 1995 Foxpro berkembang menjadi Visual Foxpro dan dilengkapi dengan pemrograman berorientasi objek, serta dapat membangun aplikasi berbasis web.
7. Postgre SQL
Postgre SQL adalah sebuah sistem basis data yang disebarluaskan secara bebas menurut Perjanjian lisensi BSD. Piranti lunak ini merupakan salah satu basis data yang paling banyak digunakan saat ini, selain MySQL dan Oracle. PostgreSQL menyediakan fitur yang berguna untuk replikasi basis data. Fitur-fitur yang disediakan PostgreSQL antara lain DB Mirror, PGPool, Slony, PGCluster, dan lain-lain. Awal tahun 1982 Michael Stonebraker dari University of California Barkeley membuat sebuah ORDBMS dan merupakan software open source yang gratis. PostgreSQL adalah sistem database yang kuat untuk urusan relasi.
8. dBase
dBASE adalah sebuah sistem manajemen basisdata (DBMS) yang secara luas digunakan pada mikrokomputer yang dikenalkan oleh Ashton-Tate untuk komputer CP/M, dan kemudian untuk platform Apple II, Apple Macintosh dan IBM PC dengan DOS yang menjadi salah satu perangkat lunak yang paling laris selama beberapa tahun pada saat itu. Ketidakmampuan dBASE untuk bertransisi dengan sistem operasi yang lebih baru, Microsoft Windows pada akhirnya membuat penggunaan dBASE tergantikan oleh produk-produk lainnya yang lebih baru seperti Paradox, Clipper, FoxPro, dan Microsoft Access.
9. IBM DB/2
IBM DB/2, DB2 memiliki sejarah panjang dan ditenggarai sebagai perangkat lunak basisdata pertama yang mengimplementasikan SQL, meski demikian, umumnya Oracle lebih dikenal sebagai perangkat lunak basisdata pertama yang dikomersilkan secara luas dengan menyertakan dukungan atas SQL. IBM DB2 Enterprise Server Edition merupakan sebuah perangkat lunak sistem manajemen basisdata relasional yang dikembangkan oleh IBM. Perangkat lunak tersebut utamanya berjalan pada sistem operasiUnix (sebut saja AIX), Solaris, Linux, IBM i/OS/400, z/OS, dan Microsoft Windows. DB2 juga diketahui digunakan sebagai sistem basis data pada IBM InfoSphere Warehouse edition.