SISTEM MANAJEMEN BASIS DATA
Sistem Manajemen Basis-Data (Data Base Management System / DBMS) adalah perangkat lunak sistem yang memungkinkan para pemakai membuat, memelihara, mengontrol, dan meng-akses basis data dengan cara praktis dan efisien. DBMS dapat digunakan untuk meng-akomodasikan berbagai macam pemakai yang memiliki kebutuhan akses yang berbeda-beda. DBMS pada umumnya menyediakan fasilitas atau fitur-fitur yang memungkinkan data dapat diakses dengan mudah, aman, dan cepat. Beberapa fitur yang secara umum tersedia adalah:
• Keamanan : DBMS menyediakan sistem pengamanan data sehingga tidak mudah diakses oleh orang yang tidak memiliki hak akses.
• Independensi : DBMS menjamin independensi antara data dan program, data tidak bergantung pada program yang meng-akses-nya, karena struktur data-nya dirancang berdasarkan kebutuhan informasi, bukan berdasarkan struktur program. Sebaliknya program juga tidak bergantung pada data, sehingga walaupun struktur data diubah, program tidak perlu berubah.
• Konkruensi / data sharing : data dapat diakses secara bersamaan oleh beberapa pengguna karena manajemen data dilaksanakan oleh DBMS.
• Integritas : DBMS mengelola file-file data serta relasi-nya dengan tujuan agar data selalu dalam keadaan valid dan konsisten
• Pemulihan : DBMS menyediakan fasilitas untuk memulihkan kembali file-file data ke keadaan semula sebelum terjadi-nya kesalahan (error) atau gangguan baik kesalahan perangkat keras maupun kegagalan perangkat lunak.
• Kamus / katalog sistem : DBMS menyediakan fasilitas kamus data atau katalog sistem yang menjelaskan deskripsi dari field-field data yang terkandung dalam basisdata.
• Perangkat Produktivitas : DBMS menyediakan sejumlah perangkat produktivitas sehingga memudahkan para pengguna untuk menarik manfaat dari database, misalnya report generatorquery generator (pembangkit query / pencarian informasi). (pembangkit laporan) dan
Sistem Manajemen Basis-Data (DBMS) memiliki berbagai keunggulan dibandingkan dengan pengelolaan data tanpa DBMS, walaupun tidak terlepas dari beberapa kelemahan.
Keunggulan DBMS antara lain sbb:
• Mengurangi duplikasi data atau data redundancy
• Menjaga konsistensi dan integritas data
• Meningkatkan keamanan data
• Meningkatkan effisiensi dan effektivitas penggunaan data
• Meningkatkan produktivitas para pengguna data
• Memudahkan pengguna dalam menggali informasi dari kumpulan data
• Meningkatkan pemeliharaan data melalui independensi data
• Meningkatkan pemakaian bersama dari data
• Meningkatkan layanan backup dan recovery data
• Mengurangi konflik antar pengguna data
Kelemahan DBMS antara lain sbb:
• Memerlukan suatu skill tertentu untuk bisa melakukan administrasi dan manajemen database agar dapat diperoleh struktur dan relasi data yang optimal
• Memerlukan kapasitas penyimpanan baik eksternal (disk) maupun internal (memory) agar DBMS dapat bekerja cepat dan efisien.
• Harga DBMS yang handal biasanya sangat mahal
• Kebutuhan akan sumber daya (resources) biasanya cukup tinggi
• Konversi dari sistem lama ke sistem DBMS terkadang sangat mahal, disamping biaya pengadaan perangkat keras dan perangkat lunak, diperlukan pula biaya pelatihan.
• Apabila DBMS gagal menjalankan misinya maka tingkat kegagalan menjadi lebih tinggi karena banyak pengguna yang bergantung pada sistem ini.
Macam – Macam DBMS
1. Oracle
Oracle adalah DBMS hasil produksi dari Oracle Corporation yang berpusat di USA, yang sekaligus berperan sebagai vendor yang mengkhususkan diri pada produk-produk DBMS untuk berbagai jenis komputer dan mendukung system operasi dari berbagai vendor. Mulai dari PC yang berbasis Windows atau Linux sampai dengan komputer mainframe baik yang IBM compatible maupun yang berasal dari vendor lain seperti SUN Microsystems, Hewlett Packard, dan lain-lain. Sifat kompatibilitas dengan berbagai platform itulah yang membuat Oracle menjadi salah satu DBMS yang banyak digunakan dewasa ini.Oracle pertama kali diproduksi sekitar tahun 1984 dan terus mengalami perkembangan sampai sekarang ini. Oracle yang kita pelajari saat ini adalah versi9i dan kita hanya belajar Oracle yang berbasis Microsoft Windows.
Perkembangan Oracle
Oracle Corp didirikan pada tahun 1977 oleh tiga orang programmer, Bob Miner, Ed Oates dan Larry Ellison. Perusahaan ini berkonsentrasi pada pembuatan database server di mainframe. Kesuksesan Oracle Corp terkait dengan sejarah dan teori database relasional. Teori database relasional diperkenalkan hampir secara simultan oleh Edgar F. Codd (dalam artikelnya yang terkenal Large Shared Data Banks) pada tahun 1969. IBM adalah perusahaan pertama yang menerapkan model relasional ini dalam bahasa SQL, dengan produknya DB2. Oracle Corp melihat perkembangan teori model relational dan implementasi database relational dalam DB2 dan memutuskan untuk mengimplementasikan model relational di produk Oracle. Sebelumnya produk database Oracle memakai model nonrelational. Pertengahan tahun 1980-an, Oracle Corp mendeversifikasi produk Oracle (versi 6.x) ke luar mainframe, yakni ke sistem operasi Unix. Selanjutnya Oracle Corporation mendiversifikasi Oracle ke sistem operasi Novell Netware, Windows NT (versi Oracle 7.x, mulai tahun 1996), dan Linux (versi 8.x, sekitar tahun 1997). Mulai tahun 1998 Oracle menghentikan pembuatan produknya untuk sistem operasi MVS dan Novell Netware.
Pada pertengahan tahun 1990-an, Oracle Corporation mulai membuat juga produk-produk non database server seperti Application Server (WebDB, OAS), Development Tools (Oracle Developer, Oracle Designer) dan ApplicationSuite (Oracle Apps). Oracle versi 7.x adalah dianggap versi Oracle yang paling stabil (Oracle 7.3.4). Suatu perbedaan penting versi 7.3.4 dibanding pendahulunya adalah adanya bitmap index, index yang sangat efisien untuk menangani kolom yang variasi nilainya sempit. Di versi 7 terdapat perbaikan dukungan terhadap VARCHAR, dari batas maksimum 256 menjadi 2000. Versi 8 memperkenalkan partitioning (untuk mengelola database berukuran sangat besar : VLDB atau Very Large DataBase), advanced queue, recovery manager, dan user defined (composite) type. Mulai versi ini juga beberapa tools Oracle dibuat dengan memakai bahasa pemograman Java. Dukungan terhadap Java masih sangat terbatas di Oracle 8. Versi ini memperbesar batas VARCHAR dari 2000 menjadi 4000. Oracle 8i (i diartikan sebagai internet) memiliki dukungan yang lebih baik terhadap java, dukungan terhadap XML, two-level partitioning, Internet File System, Internet Directory (memakai Lightweight Directory Access Protocol atau LDAP), arsitektur 3-tier (CORBA, Common Object Request Broker Architecture) untuk konektivitas dan Enterprise Manager-nya, Managed Standby Database, serta perluasan kemampuan trigger. Kebanyakan dukungan tambahan ini terkait dengan internet. Oracle8i terdiri atas 3 rilis. Rilis 1 = versi 8.1.5, rilis 2 = versi 8.1.6, dan rilis 3 = versi 8.1.7. Reaplikasi pada rilis 1 memiliki keterbatasan hanya mampu menangani VARCHAR samapai 2000 karakter. Keterbatasan ini diperbaiki menjadi 4000 karakter pada rilis 2 dan 3. Pada tahun 2001 diperkenalkan Oracle9i. Fitur-fitur baru mencakup self-tuning memory, multiple database-block size serta database template. Kemudian pada tahun 2005 diperkenalkan Oracle 10g. Pada versi tersebut terdapat beberapa versi, antara lain : Enterprise Edition, Standard Edition, dan Standard Edition One.
Kehandalan dan Fitur Penting Database Oracle
Beberapa kehandalan dari database Oracle, antara lain:
1. Scalability, kemampuan menangani banyak user yang melakukan koneksi secara simultan tanpa berkurangnya performance secara signifikan. Dalam dokumentasi Oracle disebutkan bahwa database Oracle sanggup melayani puluhan ribu user secara simultan.
2. Reliability yang bagus, yaitu kemampuan untuk melindungi data dari kerusakan jika terjadi kegagalan fungsi pada system seperti disk failure.
3. Servicesability, yaitu kemampuan untuk mendeteksi masalah, kecepatan dalam mengoreksi kesalahan, dan kemampuan mengkonfigurasi ulang struktur data.
4. Stability, yaitu kemampuan untuk tidak crash karena beban kerja yang tinggi. Hal ini berkaitan dengan scalability.
5. Availability, yaitu kemampuan dalam penanganan crash atau failure agar services dapat tetap berjalan. Misalnya dengan tersedianya fasilitas pendistribusian database pada beberapa data server dan juga pemulihan database (recovery).
6. Multiplatform, dapat digunakan pada banyak Sistem Operasi seperti Windows, Unix, Linux dan Solaris.
7. Mendukung data yang sangat besar, menurut dokumentasi dapat menampung 512 petabytes (1 petabytes = 1.000.000 gigabytes).
8. Sistem Sekurity yang cukup handal.
9. Mendukung database Berorientasi Objek.
10. Dapat menampung hamper semua tipe data seperti teks, image, sound, video, dan time series.
Fitur penting dari database Oracle, yaitu:
• Oracle Real Application Clusters (RAC), merupakan suatu lingkungan komputasi yang memanfaatkan interkoneksi antar komputer dengan menggunakan teknologi cluster. Dengan hal tersebut maka dapat memberikan skalabilitas tidak terbatas dan juga tingkat ketersediaan yang tinggi bagi aplikasi apapun. Ini bisa dicapai dengan memanfaatkan konfigurasi hardware secara cluster berkat kemudahan dalam penggunaan single system image. Oracle RAC mengijinkan akses ke dalam single database dari beberapa titik dalam suatu konfigurasi sistem yang tercluster. Ini bertujuan untuk memisahkan antara aplikasi dan database dari kemungkinan adanya kesalahan operasi pada software maupun hardware.
• Oracle Partitioning, mampu untuk meningkatkan manajemen data bagi proses OLTP (Online Transaction Processing), data mart dan juga aplikasi data warehouse dengan menambahkan kemampuan pengaturan, ketersediaan dan juga performa pada struktur tabel dan index yang kompleks. Oracle Partitioning mengijinkan tabel yang besar untuk bisa dibagi ke dalam suatu potongan yang lebih kecil agar lebih mudah dikontrol.
• Oracle OLAP, merupakan mesin kalkulasi dengan skalabilitas dan performa yang tinggi untuk pemrosesan data. Dia juga dilengkapi dengan administrasi dan manajemen yang terintegrasi sebagai solusi aplikasi yang membutuhkan analisa. Oracle OLAP ini sudah secara penuh terintegrasi dalam database dan memberikan fungsi-fungsi yang lengkap seputar masalah data analisis. Dengan predictive analysis dapat dimanfaatkan untuk meramalkan tren pasar, prediksi keperluan dalam proses produksi dalam manufaktur atau juga membuat suatu analisa terhadap keuangan suatu perusahaan. Sistem OLAP ini menggunakan suatu perhitungan dan kalkulasi yang sangat kompleks dan juga melihat data secara multidimensional..
• Oracle Data Mining, mengijinkan perusahaan untuk membangun suatu sistem business intelligence yang canggih sehingga dapat digunakan untuk menggali informasi lebih dalam dari database yang ada, menemukan fakta-fakta baru dan juga mengintegrasikan informasi tersebut ke dalam aplikasi bisnis. Oracle Data Mining menyertakan fungsi data mining untuk membuat klasifikasi dan prediksi.
2. Firebird
Sejarah Firebird
o Firebird adalah salah satu aplikasi RDBMS (Relational Database Management System) yang bersifat open source. Awalnya adalah perusahaan Borland yang sekitar tahun 2000 mengeluarkan versi beta dari aplikasi database-nya InterBase 6.0 dengan sifat open source. Namun entah kenapa tiba-tiba Borland tidak lagi mengeluarkan versi InterBase secara open source, justru kembali ke pola komersial software. Tapi pada saat yang bersamaan programmer-progammer yang tertarik dengan source code InterBase 6.0 tersebut lalu membuat suatu team untuk mengembangkan source code database ini dan kemudian akhirnya diberinama Firebird.
o Pengembangan codebase Firebird 2 dimulai pada awal pengembangan Firebird 1, dengan memporting kode Firebird 1 berbasis C ke dalam bahasa C++ dan merupakan pembersihan kode secara besar-besaran. Firebird 1.5 merupakan rilis pertama dari codebase Firebird 2. Pengembangan ini merupakan satu kemajuan signifikan bagi para developer dan seluruh tim dalam project Firebird, namun tentu ini bukan akhir dari tujuan. Dengan dirilisnya Firebird 1.5, pengembangan lebih lanjut difokuskan pada Firebird versi 2.
o Pada bulan April 2003, Yayasan Mozilla memutuskan mengganti nama web browser mereka dari ”Phoenix” menjadi ”Firebird”. Keputusan ini ditanggapi dengan serius oleh proyek Firebird Database dengan asumsi bahwa hal tersebut bisa membingungkan user karena dua produk berbeda menggunakan nama yang identik. Protes atas hal ini berlanjut hingga para pengembang Mozilla membuat satu pernyataan yang jelas bahwa nama Firebird dalam kenyataannya adalah ”Mozilla Firebird”. Pernyataan ini juga membuat memperjelas bahwa nama Mozilla Firebird merupakan sebuah ”codename” atas proyek web browser yang tengah dikerjakan oleh Mozilla. Pada tanggal 9 Februari 2004, Mozilla akhirnya mengganti kembali nama browser mereka sebagai Mozilla Firefox, Dengan demikian hal tersebut secara otomatis menghilangkan kebingungan para pengguna.
o Firebird dan Interbase. 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 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.
o Namun dalam perkembangannya, Interbase yang komersial di-bundle oleh Borland menjadi Phoenix, sedangkan Firebird adalah interbase yang dikembangkan oleh komunitas Open Source, sehingga menjadikannya sebagai produk Database Server
o yang FREE. Kalau dikaitkan dengan support, tentunya jelas beda karena produk komersial dan free. Dalam konsep teknik programmingnya, ada banyak yang sama, namun pengayaan Firebird lebih banyak dan menjadikannya lebih luwes, terutama dalam koneksi client-server (port) dan integritasnya. Modul-modul kode baru ditambahkan pada Firebird dan berlisensi di bawah Initial Developer’s Public License (IDPL), sementara modul-modul aslinya dirilis oleh Inprise berlisensi di bawah InterBase Public License 1.0. Kedua lisensi tersebut merupakan versi modifikasi dari Mozilla Public License 1.1.
Pengguna Firebird
Open source DBMS ini dimotori oleh para developer Interbase 6.x open-source. Jika pernah menggunakan produk-produk RDBMS, seperti Ms-SQL Server, Oracle, DB2, Informix, dan lain-lain, kita tidak akan kesulitan dalam mengenal Firebird. Mengapa Firebird? banyak orang menggunakan produk RDBMS yang sudah populer, dan harganya pun sangat mahal, sehingga banyak yang ingin belajar harus mencari versi ‘bajakan’ dari produk tersebut untuk bisa belajar. Alasannya sederhana, ingin belajar RDBMS berkelas enterprise tetapi tidak usah membayar.
Kalangan-kalangan seperti inilah yang seringkali memanfaatkan Firebird. Produk ini gratis dan berkelas enterprise. Selain itu Firebird juga digunakan para pelaku bisnis, mereka ingin solusi sistem informasi berskala besar (enterprise), namun mereka juga ingin menghindari harga yang sangat mahal dan biaya maintenance yang juga sangat mahal. Produk ini mampu bersaing dengan produk-produk berkelas seperti Ms-SQL Server atau Oracle sekalipun, dalam segala hal fitur, kecepatan, performa, apapun anda menamakannya, Firebird benar-benar bisa dibandingkan,dan yang lebih penting Firebird is totally Free.
Kalau memang Firebird Hebat, berkelas, dan gratis, mengapa Firebird kurang populer saat ini? jawabannya sederhana, Firebird mempunyai developer yang tangguh, support yang tangguh, tetapi Firebird tidak mempunyai marketing yang tangguh.
Mengapa Firebird
Beberapa alasan yang menjadikan penulis memilih Firebird sebagai database pilihan diantaranya adalah:
1. Kemudahan installasi
2. Memiliki fitur standard yang lumayan lengkap (Stored Procedure, View, Trigger)
3. Database hanya 1 file atau multispan file
4. Memiliki fitur Embeded Server
5. Dukungan pada banyak platform (windows, linux, unix)
6. Footprint yang kecil
7. Dukungan pada UDF
8. Komunitas yang besar
9. Dukungan driver yang luas
Kemudahan penggunaaan dari firebird cukup memberikan banyak pilihan, baik untuk menjadikan Firebird sebagai database embeded seperti untuk aplikasi dalam CD Rom ataupun sebagai database enterprise. Meski diakui hingga firebird 1.5 belum banyak fitur yang mendukung kebutuhan enterprise secara built in, namun prospek ke depan dari database ini sangat baik.
Kemampuan dan Kelebihan Firebird
1) Kita bisa melihat berbagai macam aktivitas dan kemampuan Firebird pada situs officialnya yang beralamat di www.firebirdsql.org. Banyak sekali fasilitas menarik yang ditawarkan oleh Firebird (ini bisa dibandingkan dengan fasilitas yang ditawarkan oleh MySQL). Firebird memiliki rata-rata fasilitas yang dimiliki oleh sebuah komersial database misalnya seperti stored procedure, trigger, sistem backup, replikasi dan tools sql yang lengkap. Firebird juga support dengan ANSI SQL yang berarti akan semakin memudahkan Anda dalam proses migrasi antar database platform.
2) Beberapa kemampuan dari open source DBMS ini antara lain: (1) Firebird support dengan transaksi layaknya pada database komersial lainnya. Sebuah transaksi bisa di-commit atau di-rollback dengan mudah. Bahkan Firebird support dengan savepoint pada suatu transaksi dan kita bisa melakukan rollback kembali ke savepoint yang kita tentukan tadi (ini mirip seperti fasilitas pada Oracle).(2) Firebird menggunakan sintaks standard untuk menciptakan suatu foreign key.(3) Firebird support row level locks, secara default Firebird menggunakan apa yang disebut dengan multi-version
3) concurrency system. Ini artinya bahwa semua session pada database akan melihat data yang lama sampai data yang baru sudah di-commit ke dalam database. Sebagai alternative untuk locking juga bisa digunakan perintah select… for update with lock.(4) Firebird support stored procedure dan triggers dengan bahasa yang standard sehingga tidak akan membingungkan bagi Anda yang ingin belajar. Triggers pada Firebird mirip seperti yang dijumpai dalam Oracle yaitu menggunakan before atau after insert, update atau delete. Ini berbeda dengan sistem trigger pada Sybase atau MS SQL Server yang menggunakan tabel virtual inserted dan deleted.(5) Firebird bisa melakukan replikasi, solusi untuk replikasi kebanyakan dibuat oleh pihak ketiga, tetapi sebenarnya teknik replikasi ini seperti konsep trigger yang selalu memonitor adanya operasi insert, update atau delete ke dalam database. (6) Firebird support dengan multiple data file, ya, Firebird bisa menggunakan lebih dari satu file sebagai single logic database. Ini sangat berguna bagi para DBA (Database Administrator) untuk mengadministrasi database. (7) Software untuk mengadministrasi mudah didapat karena banyak sekali software untuk mengadministrasi database Firebird, misalnya saja EMS IB Manager, IBConsole, isql, FBManager, Marathon dan banyak lagi yang lainnya. Aplikasi tersebut ada yang komersial atau bahkan ada yang open source. (8) Library connection untuk Firebird yang sudah tersedia ada banyak, ada driver untuk ODBC, JDBC bahkan .NET database provider. Bahkan dari PHP juga sudah disediakan library untuk koneksi ke database Firebird ini. (9) Banyaknya fasilitas support dan maintenance karena banyaknya komunitas Firebird. Di Indonesia sendiri komunitas yang sering menggunakan Firebird biasanya adalah programmer Delphi. Kalau di luar negeri sudah sangat banyak sekali komunitasnya, mulai dari komunitas developer, Firebird architect, Firebird test dan lain sebagainya. Anda bisa mencarinya di Yahoo! Groups www.yahoogroups.com) dengan kata kunci Firebird.
Kekurangannya
Hingga Firebird 1.5.2, ada beberapa kelemahan yang ditemukan oleh penulis yang dirasakan cukup menganggu, namun sudah banyak yang telah diperbaiki di versi 2.0, diantaranya adalah:
1. Belum mendukung derived table (FB 2.0 sudah mendukung)
2. Query Plan yang kurang optimize (FB2.0 sudah diperbaiki). Disini saya telah melakukan pengujian kecil, yaitu dengan menjalankan suatu query yang melibatkan penggunaan correlated query dan fungsi coalesce, di FB1.5 membutuhkan waktu yang jauh lebih lama dari pada di FB2.0
3. Tidak dapat mempergunakan alias kolom dalam where clause sehingga cukup menyulitkan jika kita pergunakan corelated query. (FB 2.0 sudah diperbaiki)
4. Built in function yang masih sedikit.
3. Mysql
Pengertian MySQL
MySQL adalah sebuah perangkat lunak sistem manajemen basis data SQL (bahasa Inggris: database management system) atau DBMS yang multithread, multi-user, dengan sekitar 6 juta instalasi di seluruh dunia. MySQL AB membuat MySQL tersedia sebagai perangkat lunak gratis dibawah lisensi GNU General Public License (GPL), tetapi mereka juga menjual dibawah lisensi komersial untuk kasus-kasus dimana penggunaannya tidak cocok dengan penggunaan GPL.
Tidak sama dengan proyek-proyek seperti Apache, dimana perangkat lunak dikembangkan oleh komunitas umum, dan hak cipta untuk kode sumber dimiliki oleh penulisnya masing-masing, MySQL dimiliki dan disponsori oleh sebuah perusahaan komersial Swedia MySQL AB, dimana memegang hak cipta hampir atas semua kode sumbernya. Kedua orang Swedia dan satu orang Finlandia yang mendirikan MySQL AB adalah: David Axmark, Allan Larsson, dan Michael "Monty" Widenius.
MySQL adalah Relational Database Management System (RDBMS) yang didistribusikan secara gratis dibawah lisensi GPL (General Public License). Dimana setiap orang bebas untuk menggunakan MySQL, namun tidak boleh dijadikan produk turunan yang bersifat closed source atau komersial. MySQL sebenarnya merupakan turunan salah satu konsep utama dalam database sejak lama, yaitu SQL (Structured Query Language). SQL adalah sebuah konsep pengoperasian database, terutama untuk pemilihan atau seleksi dan pemasukan data, yang memungkinkan pengoperasian data dikerjakan dengan mudah secara otomatis. Keandalan suatu sistem database (DBMS) dapat diketahui dari cara kerja optimizer-nya dalam melakukan proses perintah-perintah SQL, yang dibuat oleh user maupun program-program aplikasinya. Sebagai database server, MySQL dapat dikatakan lebih unggul dibandingkan database server lainnya dalam query data. Hal ini terbukti untuk query yang dilakukan oleh single user, kecepatan query MySQL bisa sepuluh kali lebih cepat dari PostgreSQL dan lima kali lebih cepat dibandingkan Interbase.
Kelebihan MySQL
Sebagai software database dengan konsep database modern, MySQL memiliki banyak kelebihan.
• Protability
MySQL dapat digunakan dengan stabil tanpa kendala, berarti pada berbagai sistem operasi diantaranya seperti Windows, Linux, Mac OS X Server, Solaris, Amiga HP-UX dan masih banyak lagi.
• Open source
MySQL didistribusikan secara open source di bawah lisensi GPL, sehingga dapat memperoleh menggunakannya secara cuma-cuma tanpa dipungut biaya sepeserpun.
• Multiuser
MySQL dapat digunakan untuk menangani beberapa user dalam waktu yang bersamaan mengalami masalah atau konflik. Hal ini akan memungkinkan sebuah database server MySQL dapat diakses client secara bersamaan dalam waktu yang bersamaan pula.
• Performance Tuning
MySQL memiliki kecepatan yang cukup menakjubkan dalam menangani query sederhana, serta mampu memproses lebih banyak SQL persatuan waktu.
• Column Types
MySQL didukung tipe kolom(tipe data) yang sangat kompleks.
• Command dan Functions
MySQL memiliki operator dan fungsi secara penuh yang mendukung perintah SELECT dan WHERE dalam query.
• Scalability dan Limits
Dalam hal batas kemampuan, MySQL terbukti mampu menangani database dalam skala yang besar dengan jumlah record lebih dari 50 juta dan 60 ribu tabel serta 5 miliar baris. Selain itu batas indeks yang dapat ditampung mencapai 32 indeks pada setiap tabelnya.
Interface
Sama halnya dengan software database lainnya, MySQL memiliki interface (antarmuka) terhadap berbagai aplikasi dan bahasa pemrograman dengan menggunakan fungsi API (Aplication Programming Interface).
• Struktur tabel
Struktur tabel MySQL cukup baik, serta cukup fleksibel. Misalnya ketika menangani Alter Table, dibandingkan database lainnya semacam ProgresSQL ataupun Oracle.
SEJARAH SQL
Pada tahun 1988, Microsoft mengeluarkan versi pertama dari SQL Server. Pada saat itu masih didesain untuk platform OS/2 dan didevelop bersama antara Microsoft dengan Sybase. Selama awal tahun 1990an, Microsoft mulai untuk membuat versi baru dari SQL Server untuk platform NT-nya. Selama proses development tersebut Microsoft memutuskan bahwa Microsoft SQL Server ini harus bisa terintegrasi dengan kuat dengan sistem operasi NT-nya.
Pada tahun 1993, Windows NT 3.1 dan SQL Server 4.2 untuk NT dirilis oleh Microsoft. Target Microsoft untuk mengkombinasikan antara performa database server yang tinggi serta kemudahan cara penggunaan dan administrasinya rupanya tercapai melalui SQL Server ini. Microsoft terus berhasil memasarkan SQL Server dan menjadi database server yang terkenal. Pada tahun 1994, Microsoft dan Sybase secara resmi mengakhiri kerjasamanya.
Di tahun 1995 Microsoft merilis versi 6.0 dari SQL Server. Versi ini merupakan versi yang penting karena sebagian besar merupakan hasil tulis ulang dan juga redesain dari core technology sebelumnya. Versi 6.0 ini menawarkan peningkatan pada performa, built-in replication dan juga administrasi yang tersentralisasi. Pada tahun 1996, Microsoft merilis SQL Server versi 6.5 yang berisi berbagai macam kemampuan tambahan dan juga fitur-fitur baru.
Pada tahun 1997, Microsoft merilis SQL Server 6.5 Enterprise Edition. SQL Server 7.0 dirilis Microsoft pada tahun 1998 dan database engine-nya ditulis ulang agar lebih optimal. Akhirnya tahun 2000 Microsoft mengeluarkan SQL. Versi SQL Server 2000 ini berbasis pada framework yang ada pada versi 7.0 sebelumnya.
Sejarah SQL dimulai dari artikel seorang peneliti dari IBM bernama EF Codd yang membahas tentang ide pembuatan basis data relasional pada bulan Juni 1970. Artikel ini juga membahas kemungkinan pembuatan bahasa standar untuk mengakses data dalam basis data tersebut. Bahasa tersebut kemudian diberi nama SEQUEL (Structured English Query Language).
Setelah terbitnya artikel tersebut, IBM mengadakan proyek pembuatan basis data relasional berbasis bahasa SEQUEL. Akan tetapi, karena permasalahan hukum mengenai penamaan SEQUEL, IBM pun mengubahnya menjadi SQL. Implementasi basis data relasional dikenal dengan System/R.
Di akhir tahun 1970-an, muncul perusahaan bernama Oracle yang membuat server basis data populer yang bernama sama dengan nama perusahaannya. Dengan naiknya kepopuleran Oracle, maka SQL juga ikut populer sehingga saat ini menjadi standar de facto bahasa dalam manajemen basis data..
…Secara umum SQL terdiri dari dua bahasa….
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
1. 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.
2. DML (Data Manipulation Language)
DML digunakan untuk memanipulasi data yang ada dalam suatu tabel. Perintah yang
umum dilakukan adalah:
• SELECT untuk menampilkan data
• INSERT untuk menambahkan data baru
• UPDATE untuk mengubah data yang sudah ada
• DELETE untuk menghapus data
Sistem Manajemen Basis-Data (Data Base Management System / DBMS) adalah perangkat lunak sistem yang memungkinkan para pemakai membuat, memelihara, mengontrol, dan meng-akses basis data dengan cara praktis dan efisien. DBMS dapat digunakan untuk meng-akomodasikan berbagai macam pemakai yang memiliki kebutuhan akses yang berbeda-beda. DBMS pada umumnya menyediakan fasilitas atau fitur-fitur yang memungkinkan data dapat diakses dengan mudah, aman, dan cepat. Beberapa fitur yang secara umum tersedia adalah:
• Keamanan : DBMS menyediakan sistem pengamanan data sehingga tidak mudah diakses oleh orang yang tidak memiliki hak akses.
• Independensi : DBMS menjamin independensi antara data dan program, data tidak bergantung pada program yang meng-akses-nya, karena struktur data-nya dirancang berdasarkan kebutuhan informasi, bukan berdasarkan struktur program. Sebaliknya program juga tidak bergantung pada data, sehingga walaupun struktur data diubah, program tidak perlu berubah.
• Konkruensi / data sharing : data dapat diakses secara bersamaan oleh beberapa pengguna karena manajemen data dilaksanakan oleh DBMS.
• Integritas : DBMS mengelola file-file data serta relasi-nya dengan tujuan agar data selalu dalam keadaan valid dan konsisten
• Pemulihan : DBMS menyediakan fasilitas untuk memulihkan kembali file-file data ke keadaan semula sebelum terjadi-nya kesalahan (error) atau gangguan baik kesalahan perangkat keras maupun kegagalan perangkat lunak.
• Kamus / katalog sistem : DBMS menyediakan fasilitas kamus data atau katalog sistem yang menjelaskan deskripsi dari field-field data yang terkandung dalam basisdata.
• Perangkat Produktivitas : DBMS menyediakan sejumlah perangkat produktivitas sehingga memudahkan para pengguna untuk menarik manfaat dari database, misalnya report generatorquery generator (pembangkit query / pencarian informasi). (pembangkit laporan) dan
Sistem Manajemen Basis-Data (DBMS) memiliki berbagai keunggulan dibandingkan dengan pengelolaan data tanpa DBMS, walaupun tidak terlepas dari beberapa kelemahan.
Keunggulan DBMS antara lain sbb:
• Mengurangi duplikasi data atau data redundancy
• Menjaga konsistensi dan integritas data
• Meningkatkan keamanan data
• Meningkatkan effisiensi dan effektivitas penggunaan data
• Meningkatkan produktivitas para pengguna data
• Memudahkan pengguna dalam menggali informasi dari kumpulan data
• Meningkatkan pemeliharaan data melalui independensi data
• Meningkatkan pemakaian bersama dari data
• Meningkatkan layanan backup dan recovery data
• Mengurangi konflik antar pengguna data
Kelemahan DBMS antara lain sbb:
• Memerlukan suatu skill tertentu untuk bisa melakukan administrasi dan manajemen database agar dapat diperoleh struktur dan relasi data yang optimal
• Memerlukan kapasitas penyimpanan baik eksternal (disk) maupun internal (memory) agar DBMS dapat bekerja cepat dan efisien.
• Harga DBMS yang handal biasanya sangat mahal
• Kebutuhan akan sumber daya (resources) biasanya cukup tinggi
• Konversi dari sistem lama ke sistem DBMS terkadang sangat mahal, disamping biaya pengadaan perangkat keras dan perangkat lunak, diperlukan pula biaya pelatihan.
• Apabila DBMS gagal menjalankan misinya maka tingkat kegagalan menjadi lebih tinggi karena banyak pengguna yang bergantung pada sistem ini.
Macam – Macam DBMS
1. Oracle
Oracle adalah DBMS hasil produksi dari Oracle Corporation yang berpusat di USA, yang sekaligus berperan sebagai vendor yang mengkhususkan diri pada produk-produk DBMS untuk berbagai jenis komputer dan mendukung system operasi dari berbagai vendor. Mulai dari PC yang berbasis Windows atau Linux sampai dengan komputer mainframe baik yang IBM compatible maupun yang berasal dari vendor lain seperti SUN Microsystems, Hewlett Packard, dan lain-lain. Sifat kompatibilitas dengan berbagai platform itulah yang membuat Oracle menjadi salah satu DBMS yang banyak digunakan dewasa ini.Oracle pertama kali diproduksi sekitar tahun 1984 dan terus mengalami perkembangan sampai sekarang ini. Oracle yang kita pelajari saat ini adalah versi9i dan kita hanya belajar Oracle yang berbasis Microsoft Windows.
Perkembangan Oracle
Oracle Corp didirikan pada tahun 1977 oleh tiga orang programmer, Bob Miner, Ed Oates dan Larry Ellison. Perusahaan ini berkonsentrasi pada pembuatan database server di mainframe. Kesuksesan Oracle Corp terkait dengan sejarah dan teori database relasional. Teori database relasional diperkenalkan hampir secara simultan oleh Edgar F. Codd (dalam artikelnya yang terkenal Large Shared Data Banks) pada tahun 1969. IBM adalah perusahaan pertama yang menerapkan model relasional ini dalam bahasa SQL, dengan produknya DB2. Oracle Corp melihat perkembangan teori model relational dan implementasi database relational dalam DB2 dan memutuskan untuk mengimplementasikan model relational di produk Oracle. Sebelumnya produk database Oracle memakai model nonrelational. Pertengahan tahun 1980-an, Oracle Corp mendeversifikasi produk Oracle (versi 6.x) ke luar mainframe, yakni ke sistem operasi Unix. Selanjutnya Oracle Corporation mendiversifikasi Oracle ke sistem operasi Novell Netware, Windows NT (versi Oracle 7.x, mulai tahun 1996), dan Linux (versi 8.x, sekitar tahun 1997). Mulai tahun 1998 Oracle menghentikan pembuatan produknya untuk sistem operasi MVS dan Novell Netware.
Pada pertengahan tahun 1990-an, Oracle Corporation mulai membuat juga produk-produk non database server seperti Application Server (WebDB, OAS), Development Tools (Oracle Developer, Oracle Designer) dan ApplicationSuite (Oracle Apps). Oracle versi 7.x adalah dianggap versi Oracle yang paling stabil (Oracle 7.3.4). Suatu perbedaan penting versi 7.3.4 dibanding pendahulunya adalah adanya bitmap index, index yang sangat efisien untuk menangani kolom yang variasi nilainya sempit. Di versi 7 terdapat perbaikan dukungan terhadap VARCHAR, dari batas maksimum 256 menjadi 2000. Versi 8 memperkenalkan partitioning (untuk mengelola database berukuran sangat besar : VLDB atau Very Large DataBase), advanced queue, recovery manager, dan user defined (composite) type. Mulai versi ini juga beberapa tools Oracle dibuat dengan memakai bahasa pemograman Java. Dukungan terhadap Java masih sangat terbatas di Oracle 8. Versi ini memperbesar batas VARCHAR dari 2000 menjadi 4000. Oracle 8i (i diartikan sebagai internet) memiliki dukungan yang lebih baik terhadap java, dukungan terhadap XML, two-level partitioning, Internet File System, Internet Directory (memakai Lightweight Directory Access Protocol atau LDAP), arsitektur 3-tier (CORBA, Common Object Request Broker Architecture) untuk konektivitas dan Enterprise Manager-nya, Managed Standby Database, serta perluasan kemampuan trigger. Kebanyakan dukungan tambahan ini terkait dengan internet. Oracle8i terdiri atas 3 rilis. Rilis 1 = versi 8.1.5, rilis 2 = versi 8.1.6, dan rilis 3 = versi 8.1.7. Reaplikasi pada rilis 1 memiliki keterbatasan hanya mampu menangani VARCHAR samapai 2000 karakter. Keterbatasan ini diperbaiki menjadi 4000 karakter pada rilis 2 dan 3. Pada tahun 2001 diperkenalkan Oracle9i. Fitur-fitur baru mencakup self-tuning memory, multiple database-block size serta database template. Kemudian pada tahun 2005 diperkenalkan Oracle 10g. Pada versi tersebut terdapat beberapa versi, antara lain : Enterprise Edition, Standard Edition, dan Standard Edition One.
Kehandalan dan Fitur Penting Database Oracle
Beberapa kehandalan dari database Oracle, antara lain:
1. Scalability, kemampuan menangani banyak user yang melakukan koneksi secara simultan tanpa berkurangnya performance secara signifikan. Dalam dokumentasi Oracle disebutkan bahwa database Oracle sanggup melayani puluhan ribu user secara simultan.
2. Reliability yang bagus, yaitu kemampuan untuk melindungi data dari kerusakan jika terjadi kegagalan fungsi pada system seperti disk failure.
3. Servicesability, yaitu kemampuan untuk mendeteksi masalah, kecepatan dalam mengoreksi kesalahan, dan kemampuan mengkonfigurasi ulang struktur data.
4. Stability, yaitu kemampuan untuk tidak crash karena beban kerja yang tinggi. Hal ini berkaitan dengan scalability.
5. Availability, yaitu kemampuan dalam penanganan crash atau failure agar services dapat tetap berjalan. Misalnya dengan tersedianya fasilitas pendistribusian database pada beberapa data server dan juga pemulihan database (recovery).
6. Multiplatform, dapat digunakan pada banyak Sistem Operasi seperti Windows, Unix, Linux dan Solaris.
7. Mendukung data yang sangat besar, menurut dokumentasi dapat menampung 512 petabytes (1 petabytes = 1.000.000 gigabytes).
8. Sistem Sekurity yang cukup handal.
9. Mendukung database Berorientasi Objek.
10. Dapat menampung hamper semua tipe data seperti teks, image, sound, video, dan time series.
Fitur penting dari database Oracle, yaitu:
• Oracle Real Application Clusters (RAC), merupakan suatu lingkungan komputasi yang memanfaatkan interkoneksi antar komputer dengan menggunakan teknologi cluster. Dengan hal tersebut maka dapat memberikan skalabilitas tidak terbatas dan juga tingkat ketersediaan yang tinggi bagi aplikasi apapun. Ini bisa dicapai dengan memanfaatkan konfigurasi hardware secara cluster berkat kemudahan dalam penggunaan single system image. Oracle RAC mengijinkan akses ke dalam single database dari beberapa titik dalam suatu konfigurasi sistem yang tercluster. Ini bertujuan untuk memisahkan antara aplikasi dan database dari kemungkinan adanya kesalahan operasi pada software maupun hardware.
• Oracle Partitioning, mampu untuk meningkatkan manajemen data bagi proses OLTP (Online Transaction Processing), data mart dan juga aplikasi data warehouse dengan menambahkan kemampuan pengaturan, ketersediaan dan juga performa pada struktur tabel dan index yang kompleks. Oracle Partitioning mengijinkan tabel yang besar untuk bisa dibagi ke dalam suatu potongan yang lebih kecil agar lebih mudah dikontrol.
• Oracle OLAP, merupakan mesin kalkulasi dengan skalabilitas dan performa yang tinggi untuk pemrosesan data. Dia juga dilengkapi dengan administrasi dan manajemen yang terintegrasi sebagai solusi aplikasi yang membutuhkan analisa. Oracle OLAP ini sudah secara penuh terintegrasi dalam database dan memberikan fungsi-fungsi yang lengkap seputar masalah data analisis. Dengan predictive analysis dapat dimanfaatkan untuk meramalkan tren pasar, prediksi keperluan dalam proses produksi dalam manufaktur atau juga membuat suatu analisa terhadap keuangan suatu perusahaan. Sistem OLAP ini menggunakan suatu perhitungan dan kalkulasi yang sangat kompleks dan juga melihat data secara multidimensional..
• Oracle Data Mining, mengijinkan perusahaan untuk membangun suatu sistem business intelligence yang canggih sehingga dapat digunakan untuk menggali informasi lebih dalam dari database yang ada, menemukan fakta-fakta baru dan juga mengintegrasikan informasi tersebut ke dalam aplikasi bisnis. Oracle Data Mining menyertakan fungsi data mining untuk membuat klasifikasi dan prediksi.
2. Firebird
Sejarah Firebird
o Firebird adalah salah satu aplikasi RDBMS (Relational Database Management System) yang bersifat open source. Awalnya adalah perusahaan Borland yang sekitar tahun 2000 mengeluarkan versi beta dari aplikasi database-nya InterBase 6.0 dengan sifat open source. Namun entah kenapa tiba-tiba Borland tidak lagi mengeluarkan versi InterBase secara open source, justru kembali ke pola komersial software. Tapi pada saat yang bersamaan programmer-progammer yang tertarik dengan source code InterBase 6.0 tersebut lalu membuat suatu team untuk mengembangkan source code database ini dan kemudian akhirnya diberinama Firebird.
o Pengembangan codebase Firebird 2 dimulai pada awal pengembangan Firebird 1, dengan memporting kode Firebird 1 berbasis C ke dalam bahasa C++ dan merupakan pembersihan kode secara besar-besaran. Firebird 1.5 merupakan rilis pertama dari codebase Firebird 2. Pengembangan ini merupakan satu kemajuan signifikan bagi para developer dan seluruh tim dalam project Firebird, namun tentu ini bukan akhir dari tujuan. Dengan dirilisnya Firebird 1.5, pengembangan lebih lanjut difokuskan pada Firebird versi 2.
o Pada bulan April 2003, Yayasan Mozilla memutuskan mengganti nama web browser mereka dari ”Phoenix” menjadi ”Firebird”. Keputusan ini ditanggapi dengan serius oleh proyek Firebird Database dengan asumsi bahwa hal tersebut bisa membingungkan user karena dua produk berbeda menggunakan nama yang identik. Protes atas hal ini berlanjut hingga para pengembang Mozilla membuat satu pernyataan yang jelas bahwa nama Firebird dalam kenyataannya adalah ”Mozilla Firebird”. Pernyataan ini juga membuat memperjelas bahwa nama Mozilla Firebird merupakan sebuah ”codename” atas proyek web browser yang tengah dikerjakan oleh Mozilla. Pada tanggal 9 Februari 2004, Mozilla akhirnya mengganti kembali nama browser mereka sebagai Mozilla Firefox, Dengan demikian hal tersebut secara otomatis menghilangkan kebingungan para pengguna.
o Firebird dan Interbase. 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 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.
o Namun dalam perkembangannya, Interbase yang komersial di-bundle oleh Borland menjadi Phoenix, sedangkan Firebird adalah interbase yang dikembangkan oleh komunitas Open Source, sehingga menjadikannya sebagai produk Database Server
o yang FREE. Kalau dikaitkan dengan support, tentunya jelas beda karena produk komersial dan free. Dalam konsep teknik programmingnya, ada banyak yang sama, namun pengayaan Firebird lebih banyak dan menjadikannya lebih luwes, terutama dalam koneksi client-server (port) dan integritasnya. Modul-modul kode baru ditambahkan pada Firebird dan berlisensi di bawah Initial Developer’s Public License (IDPL), sementara modul-modul aslinya dirilis oleh Inprise berlisensi di bawah InterBase Public License 1.0. Kedua lisensi tersebut merupakan versi modifikasi dari Mozilla Public License 1.1.
Pengguna Firebird
Open source DBMS ini dimotori oleh para developer Interbase 6.x open-source. Jika pernah menggunakan produk-produk RDBMS, seperti Ms-SQL Server, Oracle, DB2, Informix, dan lain-lain, kita tidak akan kesulitan dalam mengenal Firebird. Mengapa Firebird? banyak orang menggunakan produk RDBMS yang sudah populer, dan harganya pun sangat mahal, sehingga banyak yang ingin belajar harus mencari versi ‘bajakan’ dari produk tersebut untuk bisa belajar. Alasannya sederhana, ingin belajar RDBMS berkelas enterprise tetapi tidak usah membayar.
Kalangan-kalangan seperti inilah yang seringkali memanfaatkan Firebird. Produk ini gratis dan berkelas enterprise. Selain itu Firebird juga digunakan para pelaku bisnis, mereka ingin solusi sistem informasi berskala besar (enterprise), namun mereka juga ingin menghindari harga yang sangat mahal dan biaya maintenance yang juga sangat mahal. Produk ini mampu bersaing dengan produk-produk berkelas seperti Ms-SQL Server atau Oracle sekalipun, dalam segala hal fitur, kecepatan, performa, apapun anda menamakannya, Firebird benar-benar bisa dibandingkan,dan yang lebih penting Firebird is totally Free.
Kalau memang Firebird Hebat, berkelas, dan gratis, mengapa Firebird kurang populer saat ini? jawabannya sederhana, Firebird mempunyai developer yang tangguh, support yang tangguh, tetapi Firebird tidak mempunyai marketing yang tangguh.
Mengapa Firebird
Beberapa alasan yang menjadikan penulis memilih Firebird sebagai database pilihan diantaranya adalah:
1. Kemudahan installasi
2. Memiliki fitur standard yang lumayan lengkap (Stored Procedure, View, Trigger)
3. Database hanya 1 file atau multispan file
4. Memiliki fitur Embeded Server
5. Dukungan pada banyak platform (windows, linux, unix)
6. Footprint yang kecil
7. Dukungan pada UDF
8. Komunitas yang besar
9. Dukungan driver yang luas
Kemudahan penggunaaan dari firebird cukup memberikan banyak pilihan, baik untuk menjadikan Firebird sebagai database embeded seperti untuk aplikasi dalam CD Rom ataupun sebagai database enterprise. Meski diakui hingga firebird 1.5 belum banyak fitur yang mendukung kebutuhan enterprise secara built in, namun prospek ke depan dari database ini sangat baik.
Kemampuan dan Kelebihan Firebird
1) Kita bisa melihat berbagai macam aktivitas dan kemampuan Firebird pada situs officialnya yang beralamat di www.firebirdsql.org. Banyak sekali fasilitas menarik yang ditawarkan oleh Firebird (ini bisa dibandingkan dengan fasilitas yang ditawarkan oleh MySQL). Firebird memiliki rata-rata fasilitas yang dimiliki oleh sebuah komersial database misalnya seperti stored procedure, trigger, sistem backup, replikasi dan tools sql yang lengkap. Firebird juga support dengan ANSI SQL yang berarti akan semakin memudahkan Anda dalam proses migrasi antar database platform.
2) Beberapa kemampuan dari open source DBMS ini antara lain: (1) Firebird support dengan transaksi layaknya pada database komersial lainnya. Sebuah transaksi bisa di-commit atau di-rollback dengan mudah. Bahkan Firebird support dengan savepoint pada suatu transaksi dan kita bisa melakukan rollback kembali ke savepoint yang kita tentukan tadi (ini mirip seperti fasilitas pada Oracle).(2) Firebird menggunakan sintaks standard untuk menciptakan suatu foreign key.(3) Firebird support row level locks, secara default Firebird menggunakan apa yang disebut dengan multi-version
3) concurrency system. Ini artinya bahwa semua session pada database akan melihat data yang lama sampai data yang baru sudah di-commit ke dalam database. Sebagai alternative untuk locking juga bisa digunakan perintah select… for update with lock.(4) Firebird support stored procedure dan triggers dengan bahasa yang standard sehingga tidak akan membingungkan bagi Anda yang ingin belajar. Triggers pada Firebird mirip seperti yang dijumpai dalam Oracle yaitu menggunakan before atau after insert, update atau delete. Ini berbeda dengan sistem trigger pada Sybase atau MS SQL Server yang menggunakan tabel virtual inserted dan deleted.(5) Firebird bisa melakukan replikasi, solusi untuk replikasi kebanyakan dibuat oleh pihak ketiga, tetapi sebenarnya teknik replikasi ini seperti konsep trigger yang selalu memonitor adanya operasi insert, update atau delete ke dalam database. (6) Firebird support dengan multiple data file, ya, Firebird bisa menggunakan lebih dari satu file sebagai single logic database. Ini sangat berguna bagi para DBA (Database Administrator) untuk mengadministrasi database. (7) Software untuk mengadministrasi mudah didapat karena banyak sekali software untuk mengadministrasi database Firebird, misalnya saja EMS IB Manager, IBConsole, isql, FBManager, Marathon dan banyak lagi yang lainnya. Aplikasi tersebut ada yang komersial atau bahkan ada yang open source. (8) Library connection untuk Firebird yang sudah tersedia ada banyak, ada driver untuk ODBC, JDBC bahkan .NET database provider. Bahkan dari PHP juga sudah disediakan library untuk koneksi ke database Firebird ini. (9) Banyaknya fasilitas support dan maintenance karena banyaknya komunitas Firebird. Di Indonesia sendiri komunitas yang sering menggunakan Firebird biasanya adalah programmer Delphi. Kalau di luar negeri sudah sangat banyak sekali komunitasnya, mulai dari komunitas developer, Firebird architect, Firebird test dan lain sebagainya. Anda bisa mencarinya di Yahoo! Groups www.yahoogroups.com) dengan kata kunci Firebird.
Kekurangannya
Hingga Firebird 1.5.2, ada beberapa kelemahan yang ditemukan oleh penulis yang dirasakan cukup menganggu, namun sudah banyak yang telah diperbaiki di versi 2.0, diantaranya adalah:
1. Belum mendukung derived table (FB 2.0 sudah mendukung)
2. Query Plan yang kurang optimize (FB2.0 sudah diperbaiki). Disini saya telah melakukan pengujian kecil, yaitu dengan menjalankan suatu query yang melibatkan penggunaan correlated query dan fungsi coalesce, di FB1.5 membutuhkan waktu yang jauh lebih lama dari pada di FB2.0
3. Tidak dapat mempergunakan alias kolom dalam where clause sehingga cukup menyulitkan jika kita pergunakan corelated query. (FB 2.0 sudah diperbaiki)
4. Built in function yang masih sedikit.
3. Mysql
Pengertian MySQL
MySQL adalah sebuah perangkat lunak sistem manajemen basis data SQL (bahasa Inggris: database management system) atau DBMS yang multithread, multi-user, dengan sekitar 6 juta instalasi di seluruh dunia. MySQL AB membuat MySQL tersedia sebagai perangkat lunak gratis dibawah lisensi GNU General Public License (GPL), tetapi mereka juga menjual dibawah lisensi komersial untuk kasus-kasus dimana penggunaannya tidak cocok dengan penggunaan GPL.
Tidak sama dengan proyek-proyek seperti Apache, dimana perangkat lunak dikembangkan oleh komunitas umum, dan hak cipta untuk kode sumber dimiliki oleh penulisnya masing-masing, MySQL dimiliki dan disponsori oleh sebuah perusahaan komersial Swedia MySQL AB, dimana memegang hak cipta hampir atas semua kode sumbernya. Kedua orang Swedia dan satu orang Finlandia yang mendirikan MySQL AB adalah: David Axmark, Allan Larsson, dan Michael "Monty" Widenius.
MySQL adalah Relational Database Management System (RDBMS) yang didistribusikan secara gratis dibawah lisensi GPL (General Public License). Dimana setiap orang bebas untuk menggunakan MySQL, namun tidak boleh dijadikan produk turunan yang bersifat closed source atau komersial. MySQL sebenarnya merupakan turunan salah satu konsep utama dalam database sejak lama, yaitu SQL (Structured Query Language). SQL adalah sebuah konsep pengoperasian database, terutama untuk pemilihan atau seleksi dan pemasukan data, yang memungkinkan pengoperasian data dikerjakan dengan mudah secara otomatis. Keandalan suatu sistem database (DBMS) dapat diketahui dari cara kerja optimizer-nya dalam melakukan proses perintah-perintah SQL, yang dibuat oleh user maupun program-program aplikasinya. Sebagai database server, MySQL dapat dikatakan lebih unggul dibandingkan database server lainnya dalam query data. Hal ini terbukti untuk query yang dilakukan oleh single user, kecepatan query MySQL bisa sepuluh kali lebih cepat dari PostgreSQL dan lima kali lebih cepat dibandingkan Interbase.
Kelebihan MySQL
Sebagai software database dengan konsep database modern, MySQL memiliki banyak kelebihan.
• Protability
MySQL dapat digunakan dengan stabil tanpa kendala, berarti pada berbagai sistem operasi diantaranya seperti Windows, Linux, Mac OS X Server, Solaris, Amiga HP-UX dan masih banyak lagi.
• Open source
MySQL didistribusikan secara open source di bawah lisensi GPL, sehingga dapat memperoleh menggunakannya secara cuma-cuma tanpa dipungut biaya sepeserpun.
• Multiuser
MySQL dapat digunakan untuk menangani beberapa user dalam waktu yang bersamaan mengalami masalah atau konflik. Hal ini akan memungkinkan sebuah database server MySQL dapat diakses client secara bersamaan dalam waktu yang bersamaan pula.
• Performance Tuning
MySQL memiliki kecepatan yang cukup menakjubkan dalam menangani query sederhana, serta mampu memproses lebih banyak SQL persatuan waktu.
• Column Types
MySQL didukung tipe kolom(tipe data) yang sangat kompleks.
• Command dan Functions
MySQL memiliki operator dan fungsi secara penuh yang mendukung perintah SELECT dan WHERE dalam query.
• Scalability dan Limits
Dalam hal batas kemampuan, MySQL terbukti mampu menangani database dalam skala yang besar dengan jumlah record lebih dari 50 juta dan 60 ribu tabel serta 5 miliar baris. Selain itu batas indeks yang dapat ditampung mencapai 32 indeks pada setiap tabelnya.
Interface
Sama halnya dengan software database lainnya, MySQL memiliki interface (antarmuka) terhadap berbagai aplikasi dan bahasa pemrograman dengan menggunakan fungsi API (Aplication Programming Interface).
• Struktur tabel
Struktur tabel MySQL cukup baik, serta cukup fleksibel. Misalnya ketika menangani Alter Table, dibandingkan database lainnya semacam ProgresSQL ataupun Oracle.
SEJARAH SQL
Pada tahun 1988, Microsoft mengeluarkan versi pertama dari SQL Server. Pada saat itu masih didesain untuk platform OS/2 dan didevelop bersama antara Microsoft dengan Sybase. Selama awal tahun 1990an, Microsoft mulai untuk membuat versi baru dari SQL Server untuk platform NT-nya. Selama proses development tersebut Microsoft memutuskan bahwa Microsoft SQL Server ini harus bisa terintegrasi dengan kuat dengan sistem operasi NT-nya.
Pada tahun 1993, Windows NT 3.1 dan SQL Server 4.2 untuk NT dirilis oleh Microsoft. Target Microsoft untuk mengkombinasikan antara performa database server yang tinggi serta kemudahan cara penggunaan dan administrasinya rupanya tercapai melalui SQL Server ini. Microsoft terus berhasil memasarkan SQL Server dan menjadi database server yang terkenal. Pada tahun 1994, Microsoft dan Sybase secara resmi mengakhiri kerjasamanya.
Di tahun 1995 Microsoft merilis versi 6.0 dari SQL Server. Versi ini merupakan versi yang penting karena sebagian besar merupakan hasil tulis ulang dan juga redesain dari core technology sebelumnya. Versi 6.0 ini menawarkan peningkatan pada performa, built-in replication dan juga administrasi yang tersentralisasi. Pada tahun 1996, Microsoft merilis SQL Server versi 6.5 yang berisi berbagai macam kemampuan tambahan dan juga fitur-fitur baru.
Pada tahun 1997, Microsoft merilis SQL Server 6.5 Enterprise Edition. SQL Server 7.0 dirilis Microsoft pada tahun 1998 dan database engine-nya ditulis ulang agar lebih optimal. Akhirnya tahun 2000 Microsoft mengeluarkan SQL. Versi SQL Server 2000 ini berbasis pada framework yang ada pada versi 7.0 sebelumnya.
Sejarah SQL dimulai dari artikel seorang peneliti dari IBM bernama EF Codd yang membahas tentang ide pembuatan basis data relasional pada bulan Juni 1970. Artikel ini juga membahas kemungkinan pembuatan bahasa standar untuk mengakses data dalam basis data tersebut. Bahasa tersebut kemudian diberi nama SEQUEL (Structured English Query Language).
Setelah terbitnya artikel tersebut, IBM mengadakan proyek pembuatan basis data relasional berbasis bahasa SEQUEL. Akan tetapi, karena permasalahan hukum mengenai penamaan SEQUEL, IBM pun mengubahnya menjadi SQL. Implementasi basis data relasional dikenal dengan System/R.
Di akhir tahun 1970-an, muncul perusahaan bernama Oracle yang membuat server basis data populer yang bernama sama dengan nama perusahaannya. Dengan naiknya kepopuleran Oracle, maka SQL juga ikut populer sehingga saat ini menjadi standar de facto bahasa dalam manajemen basis data..
…Secara umum SQL terdiri dari dua bahasa….
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
1. 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.
2. DML (Data Manipulation Language)
DML digunakan untuk memanipulasi data yang ada dalam suatu tabel. Perintah yang
umum dilakukan adalah:
• SELECT untuk menampilkan data
• INSERT untuk menambahkan data baru
• UPDATE untuk mengubah data yang sudah ada
• DELETE untuk menghapus data