Tugas 6 921411076
Relasi Tabel dalam My-SQL :
1. INNER JOIN
Syntax:
SELECT column_list
FROM table_reference
[INNER] JOIN table_reference ON predicate
[[INNER] JOIN table_reference ON predicate...]
Fungsinya sama dengan operator Equi-Join hanya saja kolom untuk setiap tabel dibandingkan dalam klausa ON untuk nilai-nilai yang sama. Contoh pernyataan pertama dan kedua dalam operator Equi-Join, jika dideklarasikan dengan operator INNER JOIN menjadi :
SELECT *
FROM Customer C
INNER JOIN Orders O ON (C.CustNo = O.CustNo)
SELECT *
FROM Source S
INNER JOIN Joining J ON (S.ID = J.ID1 || J.ID2)
Untuk database Ms Access, pernyataan INNER JOIN harus menyertakan tanda kurung jika menggabungkan lebih dari dua tabel, seperti berikut ini
SELECT *
FROM (Customer C
INNER JOIN Orders O ON (C.CustNo = O.CustNo))
INNER JOIN AddCusPrice A ON (C.CustNo = A.CustNo)
2. LEFT OUTER JOIN
Penggunaan relasi LEFT OUTER JOIN adalah untuk menampilkan kedua table yang direlasikan dengan menampilkan semua record meskipun tidak bersesuaian dengan table yang lain dengan jumlah record tergantung jumlah record sebelah KIRI. Sedangkan syntak ON berfungsi menampilkan kedua table lengkap dengan semua fieldnya tanpa menyingkat tampilan field yang direlasikan dengan menampilkan satu kali (field yang berelasi ditampilkan dua kali yaitu saat di deret table pertama lalu di deret table kedua).
Syntax dari Left Outer Join adalah sebagai berikut :
LEFT [OUTER] JOIN[] ::= ON [{ }...] | USING ( [{, }...])
3. RIGHT OUTER JOIN
Penggunaan relasi RIGHT OUTER JOIN adalah untuk menampilkan kedua table yang direlasikan dengan menampilkan semua record meskipun tidak bersesuaian dengan table yang lain dengan jumlah record tergantung jumlah record sebelah KANAN dan table kedua (dituliskan setelah join) ditampilkan lebih dulu setelah field yang direlasikan. Sedangkan syntak ON berfungsi menampilkan kedua table lengkap dengan semua fieldnya tanpa menyingkat tampilan field yang direlasikan dengan menampilkan satu kali (field yang berelasi ditampilkan dua kali yaitu saat di deret table pertama lalu di deret table kedua).
Syntax dari Right Outer Join adalah sebagai berikut :
RIGHT [OUTER] JOIN[] ::= ON [{ }...] | USING ( [{, }...])
http://echo-corner.blogspot.com/2011/08/mengakses-data-pada-beberapa-tabel_01.html
Tugas 5 (921411076)
NORMALISASI DATABASE
Normalisasi database ini dilakukan agar kita dapat menentukan foreign key secara tepat dan juga agar redundancy dalam suatu database menjadi minimal.
Normalisasi basis data ini juga digunakan agar anomali tidak terjadi dalam suatu basis data.
Anomali terjadi karena ada proses insert, delete dan modifikasi suatu data.
Contoh dalam anomali :
Tabel PegawaiCabang.
NIK Nama IdCabang AlmtCabang Telp 100 Beno 001 Jl. Kariman 0218999 200 Niknu 002 Jl. Pecangan 0219999 300 Anik 001 Jl. Kariman 0218999
Perhatikan tabel diatas :
Anomali bisa saja terjadi ketika adanya proses insert.
“bayangkan ketika ada suatu cabang baru dalam kantor tersebut, maka boleh jadi kantor cabang tersebut belum mempunyai pegawai, akan tetapi jika tabelnya seperti itu, maka idCabang, AlmtCabang, Telp tidak akan dapat di masukkan dalam tabel tersebut” inilah yang dinamakan anomali karena proses insert
Anomali bisa saja terjadi ketika adanya proses delete
“bayangkan jika Niknu keluar dari kantor tersebut (misal mengundurkan diri atau seperti itu). Maka Kantor cabang 002 seolah-olah akan menjadi hilang, padahal secara fakta kantor cabat 002 itu masih ada hanya saja memang belum ada pegawai lagi”. Inilah yang dinamakan anomali karena proses delete.
Anomali bisa saja terjadi ketika adanya proses modifikasi
“Ketika kita mengedit alamat suatu kantor cabang 001, maka semua alamat yang mempunyai id 001 harus diedit sedemikian hingga, hal ini tentu tidak efektif dan juga rawan akan perbedaan data” inilah yang dinamakan anomali karena proses modifikasi
Normal Form yang biasa digunakan ada 3 yaitu 1 NF (First Normal Form), 2NF(Second Normal Form), dan 3NF(Third Normal Form)
Mari kita bahas Normal Form pertama
Normal Form pertama kita hanya melihat satu baris dan satu kolom. Jika kita mengiris satu baris dan satu kolom dan hanya mendapatkan satu nilai dalam suatu cell tersebut maka tabel itu sudah memenuhi normalForm pertama. Akan tetapi jika ada dua data dalam cell tersebut, maka kita harus memecah tabel tersebut.
Contoh :
IdCabang NamaCabang AlmtCabang Telp 001 MawarOffice Jl. Kariman 0218999, 0219888 002 MelatiOffice Jl. Pecangan 0219999
Dalam tabel diatas terlihat bahwa Telp ada yang mempunyai dua nilai, oleh karena itu harus dipecah menjadi dua tabel baru.
IdCabang NamaCabang AlmtCabang 001 MawarOffice Jl. Kariman 002 MelatiOffice Jl. Pecangan
Telp IdCabang 0218999 001 0219888 001 0219999 002
Nah jika seperti yang diatas sudah memenuhi normal yang pertama
Ok, setelah di check dengan Normal yang pertama, sekarang langkah selanjutnya yaitu dengan mengecekNormal kedua.
Disebut Normal kedua jika ada composite key(Primary key yang dibentuk oleh dua primary key atau lebih), attribut yang lain harus bergantung penuh terhadap composite key tersebut, tidak boleh bergantung parsial terhadap salah satu primary key.
Contoh :
NIK IdCabang Jabatan Nama AlmtCabang Telp 100 001 Tukang Sapu Beno Jl. Kariman 0218999 100 002 Direktur Beno Jl. Pecangan 0219999 200 002 Manajer Niknu Jl. Pecangan 0219999 300 001 Sopir Anik Jl. Kariman 0218999
Dalam hal ini, Kita bisa saja mendapatkan Nama dari PK NIK saja tanpa perlu mengetahui IdCabang. Seperti juga AlmtCabang, gak harus menggunakan PK NIK, sudah dapat mengetahuinya, ok untuk mbenerinnya sekarang kita lakukan normalisasi. Hasilnya adalah seperti ini :
NIK IdCabang Jabatan 100 001 Tukang Sapu 100 002 Direktur 200 002 Manajer 300 001 Sopir
NIK Nama 100 Beno 100 Beno 200 Niknu 300 Anik
IdCabang AlmtCabang Telp 001 Jl. Kariman 0218999 002 Jl. Pecangan 0219999 002 Jl. Pecangan 0219999 001 Jl. Kariman 0218999
Nah ketika sudah di normalkan seperti yang diatas berarti, sehingga attribut-attribut yang lainnya itu bergantung penuh terhadap PK.
Normal Ketiga
Setelah dilakukan Normal satu dan Normal dua, yang terakhir kita lakukan adalah melakukan Normal ketiga, yaitu menghilangkan bergantung transitif. Apa jal iku ?
Gini, Jika B Bergantung penuh pada A (A -> B) dan C bergantung pada B (B->C) maka C adalah bergantung transitif terhadap A dan B( A tidak bergantung penuh pada B dan C). <<Tambah mumed mesti haha.
Contoh :
NIK Nama IdCabang AlmtCabang Telp 100 Beno 001 Jl. Kariman 0218999 200 Niknu 002 Jl. Pecangan 0219999 300 Anik 001 Jl. Kariman 0218999
AlmtCabang dan Telp itu kan bisa didapat hanya dari IdCabang, sehingga IdCabang itu berarti bergantung Transitif (berarti bisa jadi bergantung transitif itu sakjane PK, tapi nggak jadi PK).
Normalnya gini
NIK Nama 100 Beno 200 Niknu 300 Anik
IdCabang AlmtCabang Telp 001 Jl. Kariman 0218999 002 Jl. Pecangan 0219999
Ok selesai, yang tadi gak PK, dipisah dijadiin PK.
TUGAS 3 921411076
Contoh Penggunaan Bahasa Database (DCL, DDL, DML, dan SQL) :
1. DDL (Defiition Data Language)
Berikut adalah contoh perintah DDL yang digunakan pada MySQL. Klik pada link untuk melihat rincian penggunaan dari perintah tersebut :
- 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 (http://mysql.phi-integration.com/sql/apa-itu-dml-ddl)
2. DML (Data Manpulation Language) Berikut adalah contoh perintah DML yang digunakan pada MySQL. Klik pada link untuk melihat rincian penggunaan dari perintah tersebut :
- CALL
- DELETE
- DO
- HANDLER
- INSERT
- LOAD DATA INFILE
- REPLACE
- SELECT
- TRUNCATE
- UPDATE (http://mysql.phi-integration.com/sql/apa-itu-dml-ddl)
3. DCL (Data Control Language)
Berikut adalah contoh perintah DCL yang digunakan pada MySQL. Klik pada link untuk melihat rincian penggunaan dari perintah tersebut :
1. GRANT
Fungsi : digunakan untuk memberikan izin akses kepada user
Sintaks : GRANT privileges ON tbname TO user
Contoh :
GRANT SELECT ON CLUB TO PUBLIC
GRANT SELECT, INSERT, UPDATE, DELETE ON CLUB TO USER01
2. REVOKE
Fungsi : digunakan untuk mencabut izin akses kepada user
Sintaks : REVOKE privileges ON tbname FROM user
Contoh :
REVOKE INSERT, UPDATE, DELETE ON CLUB FROM USER01
REVOKE ALL ON CLUB FROM PUBLIC
SQL
4. DQL (Data Query Language)
Berikut adalah contoh perintah DQL yang digunakan pada MySQL. Klik pada link untuk melihat rincian penggunaan dari perintah tersebut :
Query sesungguhnya berarti pertanyaan atau permintaan. Istilah ini tetap dipertahankan dalam bentuk asli, karena telah populer di kalangan pengguna DBMS di Indonesia.
Bahasa query (query language) adalah bahasa khusus yang digunakan untuk melakukan query pada basis data. Contoh penggunaan bahasa query adalah: SELECT ALL WHERE kota=”Yogyakarta” AND umur<40. Query tersebut meminta semua record dari basis data yang sedang digunakan (misalkan basisdata konsumen) yang bertempat tinggal di Yogyakarta dan berumur lebih dari 40 tahun (kota dan umur adalah nama field yang telah didefinisikan). Standar bahasa query yang banyak digunakan adalah SQL (structured query language). Metode ini paling rumit tetapi paling fleksibel dibandingkan metode query yang lain, query dengan parameter yang telah tersedia dan query by example.
Tugas 2 921411076
Tipe-tipe Data DBMS pada MS.Accses
Text, maksimum berisi 255 karakter termasuk huruf, angka, dan karakter-karakter khusus.
Memo, maksimum berisi 65.536 karakter. Untuk menyimpan jenis data memo ini, Access hanya membutuhkan ruang harddisk sebanyak jumlah karakter yang di ketikkan.
Number, menyimpan angka-angka yang biasa digunakan dalam perhitungan (baik bulat maupun pecahan).
Date/Time, menyimpan tanggal dan waktu. Tipe data ini memiliki panjang 8 byte
Currency, menyimpan angka yang menyatakan jumlah uang atau angka sembarang, dengan ketelitian sampai empat decimal.tipe data yang berisikan angka yang melibatkan 1 sampai 4 angka di belakang koma (desimal). Tipe data ini mampu terlibat dalam perhitungan sampai 15 digit di depan koma, dan 4 digit di belakang koma. Panjangnya 8 byte.
AutoNumber, menyimpan nomor-nomor berurutan secara otomatis bagi record. Defaultnya adalah 1. Panjangnya 4 byte.
Yes/No, hanya ada 2 kemungkinan data, Yes/no, True/false, on/off, bergantung format yang dipilih dibagian property. Panjangnya hanya 1 bit (bukan byte).
OLE Object, menyimpan data dari aplikasi windows lain yang mendukung kemampuan OLE (Object Linking and Embedding).
Hyperlinks, bentuk teks atau kombinasi teks yang dapat digunakan sebagai alamat hyperlink (path menuju object atau dokumen lain pada hard disk atau jaringan, Web Page Internet, dsb). Panjangnya 2048 karakter.
Lookup Wizard, dapat membuat field yang mempunyai pilihan isian data berbentuk daftar. Akan muncul wizard yang akan menuntun menyelesaikan tahapan pembuatannya.
Tipe-tipe Data Pada MySQL
MySQL adalah pangkalan data RDBMS (Relational Database Management System) yang akan menyimpan data-data sistem yang dibangunkan. Terdapat banyak pangkalan data RDMS lain yang ada dipasaran seperti Oracle, Informix, Sybase, DBase, MS SQL, MS Access dan banyak lagi.Pangkalan data tersebut kesemuanya perlu dibeli dengan kos yang tinggi. Tetapi, MySQL tetap menjadi pilihan kerana ia adalah Sumber Terbuka (Open Source) yang boleh digunakan tanpa perlu membelinya.
1. Tipe Data Bilangan.
a. TINYINT :
Ukuran 1 byte. Bilangan bulat terkecil, dengan jangkauan untuk bilangan bertanda -128 sampai dengan 127 dan untuk yang tidak bertanda 0 sampai dengan 255. Bilangan tak bertanda ditandai dengan kata UNSIGNED.
b. SMALLINT :
Ukuran 2 byte. Bilangan bulat dengan jangkauan untuk bilangan bertanda -32768 sampai dengan 32767 dan untuk yang tidak bertanda 0 sampai dengan 65535.
c. MEDIUMINT :
Ukuran 3 byte. Bilangan bulat dengan jangkauan untuk bilangan bertanda -8388608 sampai dengan 8388607 dan untukyang tidak bertanda 0 sampai dengan 16777215.
d. INT :
Ukuran 4 byte. Bilangan bulat dengan jangkauan untuk bilangan bertanda -2147483648 sampai dengan 2147483647 dan untuk yang tidak bertanda 0 sampai dengan 4294967295
e. Integer :
Sama dengan INT.
f. BIGINT :
Ukuran 8 byte. Bilangan bulat dengan jangkauan untuk bilangan bertanda -9223372036854775808 sampai dengan 9223372036854775807 dan untuk yang tidak bertanda 0 sampai dengan 184467440737079551615
g. FLOAT :
Ukuran 4 byte. Biilangan pecahan.
h. DOUBLE :
Ukuran 8 byte. Bilangan pecahan.
i. DOUBLE PRECISION :
Ukuran 8 byte. Bilangan pecahan berpresisi ganda.
j. REAL :
Ukuran 8 byte. Sinonim dari DOUBLE.
k. DECIMAL(M,D) :
Ukuran M byte. Bilangan pecahan. Misalnya DECIMAL(5,2) dapat digunakan untuk menyimpan bilangan -99,99 sampai dengan 99,99
l. NUMERIC(M,D) :
Ukuran M byte. Sama dengan Decimal.
2. Tipe data untuk tanggal dan jam.
a. DATETIME :
Ukuran 8 byte. Kombinasi tanggal dan jam dengan jangkauan dari ‘1000-01-01 00:00:00’ sampai dengan ‘9999-12-31 23:59:59’
b. DATE :
Ukuran 8 byte. Kombinasi tanggal dan jam dengan jangkauan dari ‘1000-01-01’ sampai dengan ‘9999-12-31’
c. TIMESTAMP
Ukuran 4 byte. Kombinasi tanggal dan jam dengan jangkauan dari ‘1970-01-01’ sampai dengan ‘2037’
d. TIME :
Ukuran 3 byte.waktu dengan jangkauan dari -838:59:59 sampai dengan 838:59:59
3. Tipe data untuk karakter dan lain-lain
a. CHAR(M) :
Ukuran M byte, 1<=M<=255. Data string dengan panjang yang tetap. CHAR(1) cukup ditulis dengan CHAR.
b. VARCHAR(M) :
Ukuran L+1 byte dengan L<=M dan 1<=M<=255. Data string dengan panjang bervariasi tergantung datanya.
c. TINYBLOB,TINYTEXT :
L+1 byte, dengan L
d. BLOB, TEXT :
L+2 byte, dengan L
e. MEDIUMBLOB, MEDIUMTEXT :
L+3 byte, dengan L<224. Tipe TEXT atau BLOB dengan panjang maksimum 1677215 karakter.
f. LONGBLOB, LONGTEXT :
L+4 byte, dengan L<232. Tipe TEXT atau BLOB dengan panjang maksimum 4294967295 karakter.
g. ENUM(’nilai1’,’nilai2’,..) :
Ukuran 1 atau 2 byte tergantung nilai enumerasinya maks 65535 nilai
h. SET(’nilai1’,’nilai2’,..) :
Ukuran 1,2,3,4 atau 8 byte tergantung jumlah anggota himpunan maks 64 anggota.
Tugas 1 921411076
BASIS DATA DAN SISTEM MANAJEMEN BASIS DATA
A.Basis Data
Basis data atau database, berasal dari kata basis dan data, adapun pengertian dari kedua pengertian tersebut adalah sebagai berikut :
Basis dapat diartikan sebagai markas atau gudang, tempat bersarang atau berkumpul.
Data adalah representasi fakta dunia nyata yang mewakili suatu objek seperti manusia (pegawai, siswa, pembeli, pelanggan), barang, hewan peristiwa, konsep, keadaan, dan sebagainya yang direkam dalam bentuk angka, huruf, simbol, teks, gambar, bunyi, atau kombinasinya.
Basis data dapat diartikan sebagai kumpulan file / table yang saling berhubungan (dalam sebuah basis data di sebuah sistem komputer), dan sekumpulan program (DBMS / Database Management System) yang memungkinkan beberapa user (pemakai), dan / atau program lain untuk mengakses dan memanipulasi file (table) tersebut:
Komponen – komponen utama dari sebuah sistem basis data adalah sebagai berikut :
1). Perangkat keras (hardware)
2). Sistem operasi (operating system)
3). Basis data (database)
4). Sistem (aplikasi/perangkat lunak) pengelola basis data (DBMS)
5). Pemakai (user)
6). Aplikasi (perangkat lunak) lain (bersifat optional)
B. Sistem Manajemen Basis Data (DBMS)
DBMS adalah koleksi terpadu dari program-program (sistem perangkat lunak) yang digunakan untuk mendefinisikan, menciptakan, mengakses dan merawat database (basis data). Tujuannya adalah menyediakan lingkungan yang mudah dan aman untuk penggunaan dan perawatan database
Sebagaimana kita telah ketahui tentang database dan fungsi database, yaitu sekumpulan informasi yang disimpan secara sistematik yang dan hanya bisa dibuka oleh beberapa software tertentu. beberapa software untuk membuat database dan yaitu sebagai berikut :
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.