Tugas 4_NORMALISASI
NORMALISASI
Definisi
Normalisasi adalah suatu proses untuk mengubah suatu tabel yang memiliki masalah tertentu ke dalam dua buah tabel atau lebih, yang tidak lagi memiliki masalah tersebut (Abdul Kadir, 2002: 52). Masalah tersebut biasanya merupakan suatu ketidakkonsistenan (tidak normal) apabila dilakukan penghapusan (delete), pengubahan (update) dan pembacaan (retrieve) pada suatu basis data.
Bentuk normalisasi adalah suatu aturan yang dikenakan pada tabel-tabel dalam basis data dan harus dipenuhi oleh tabel-tabel tersebut pada level-level normalisasi. Ada macam-macam bentuk normalisasi, diantaranya adalah bentuk tidak normal, bentuk normal pertama, bentuk normal kedua dan bentuk normal ketiga.
Normalisasi adalah suatu teknik untuk mengorganisasi data kedalam tabel-tabel untuk memenuhi kebutuhan pemakai di dalam suatu organisasi.
Tujuan dari 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 tersebut perlu dipecah menjadi beberapa tabel yang lebih sederhana sampai memenuhi bentuk yang optimal.
Aturan-aturan dalam masing-masing bentuk normalisasitersebut adalah sebagai berikut (Abdul Kadir, 2002: 54) :
a. Bentuk tidak normal
Bentuk ini merupakan kumpulan data yang akan disimpan, tidak ada keharusan mengikuti suatu format tertentu, dapat saja data tidak lengkap atau terduplikasi dan data dikumpulkan apa adanya.
b. Bentuk normal pertama
Suatu tabel dikatakan dalam bentuk normal pertama (1NF) bila setiap kolom bernilai tunggal untuk setiap baris. Ini berarti bahwa nama kolom yang berulang cukup diwakili oleh sebuah nama kolom (tidak perlu ada indeks dalam memberi nama kolom).
c. Bentuk normal kedua
Suatu tabel berada dalam bentuk normal kedua (2NF) jika tabel berada dalam bentuk normal pertama, semua kolom bukan kunci primer tergantung sepenuhnya terhadap kunci primer. Suatu kolom disebut tergantung sepenuhnya terhadap kunci primer jika nilai pada suatu kolom selalu bernilai sama untuk suatu nilai kunci primer yang sama.
d. Bentuk normal ketiga
Suatu tabel berada dalam bentuk normal ketiga (3NF) jika tabel berada dalam bentuk normal kedua, setiap kolom bukan kunci primer tidak memiliki ketergantungan secara transitif terhadap kunci primer.
Ada beberapa kunci (key function) yang digunakan dalam normalisasi, meliputi :
a. Kunci Calon ( Candidate Key )
Suatu atribut atau satu set minimal atribut yang mengidentifikasikan secara unik suatu kejadian yang spesifik dari suatu entity.
b. Kunci Primer (Primary Key)
Suatu atribut atau satu set minimal atribut yang tidak hanya mengidentifikasikan secara unik suatu kejadian yang spesifik, akan tetapi juga dapat mewakili setiap kejadian dari suatu entity.
c. Kunci alternatif (Alternatif Key )
Mempunyai syarat yaitu bentuk data telah memenuhi kriteria bentuk normal kesatu. Atribut bukan kunci haruslah bergantung secara fungsi pada kunci utama atau primary key.
d. Kunci tamu (Foreign Key)
Satu atribut atau satu set atribut yang melengkapi satu relationship atau hubungan yang menunjukkan keinduknya.
Sumber :
- http://blog.re.or.id/normalisasi.htm
- http://gwgoblogs.blogspot.com/2011/06/pengertian-normalisasi.html
- http://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&cad=rja&ved=0CC0QFjAA&url=http%3A%2F%2Ffikri.staff.gunadarma.ac.id%2FDownloads%2Ffiles%2F11917%2FSBD1Pertemuan10dan11.pdf&ei=wkb1UMWrHIXEkgXZjIDYBg&usg=AFQjCNGiJtKr5hCbmJti0vUK_8wDA2ZWmA&bvm=bv.41018144,d.dGI
Tugas Kelompok
DIAGRAM ENTITAS RELASI
PADA Sistem informasi nilai siswa
Oleh :
Erma Luneto & Rachmat Abdullah
------------------------------------------------------------------------------------------
PENGERTIAN ENTITAS RELASI
} Entitas Relasi adalah suatu cara memodelkan suatu data ditingkat konseptual dalam perancangan basis data.
} Komponen-Kompenen ER:
Entitas
Relasi
Atribut
Garis
* Primary key
_ foreigen key
Komponen-Komponen ER
} Entitas/Entity adalah sesuatu yang dibedakan dalam dunia nyata, diman informasi yang berkaitan dengannya dikumpulkan. Entity set (Himpunan entitas) adalah kumpulan dari entity yang sejenis, berupa Siswa, Nilai, Matpel, Guru, dan Kelas.
} Relasi merupakan hubungan yang terjadi antara entity. Yang berupa memiliki, menempati, mengampuh, mengajar dan mempelajari.
} Atribut merupakan informasi tertentu yang disimpan pada tiap entitas tertentu. Yang berupa: nama, id tertentu, nis, nip, dll.
} Garis merupakan bentuk hubungan antar entitas ke entitas, entitas ke relasi,entitas ke atribut, maupun sebaliknya.
PENENTUAN RELASI
Relasi Yang Terjadi Antara Entitas Satu Dengan Entitas Lainnya, Sebagai Berikut :
} Entitas Guru dan Entitas Kelas memiliki relasi Banyak ke Satu (M:1).
} Entitas MatPel dan Entitas Nilai memiliki relasi Banyak ke Banyak (M:M),
Kamus Data
} Siswa = {nis, nama, alamat, tgl lahir}
} Nilai = {nis, id_mapel, nilai}
} Mapel = {nama, id mapel}
} Guru = {nama, nip, alamat}
} Kelas = {id kelas, nama}
} Memperoleh = {nis, id mapel}
} Memiliki = {id mapel, nilai, nama kelas, id kelas}
} Mengampuh = {nama guru, id mapel}
} Mempelajari = {nis, id mapel, nilai}
} Mengajar = {id mapel, nama guru, tempat, waktu}
} Menempati = {nama guru, nama siswa, id kelas}
Tugas 3 Tipe Data pada Basis Data
Tipe Data pada Basis Data
Tipe data (data type) selalu digunakan untuk menentukan jenis data dari suatu field dalam sebuah tabel. Terdapat sepuluh jenis tipe data dalam database yang disediakan Ms Access, yaitu :
· AutoNumber
Menampilkan angka secara otomatis dimulai dari angka 1, dan dilanjutkan dengan angka 2, 3, 4, dan seteusnya.
· Currency
Memnampung data digit, tanda minus, dan tanda titik desimal dengan 15 digit di sebelah kiri tanda titik desimal dan 4 digit di sebelah kanan titik desimal.
· Date / Time
Menampung data tanggal, waktu, dan tahun dimulai dari 100 sampai dengan 9999.
· Hyperlink
Menampung data teks berwarna, bergaris bawah, dan grafik.
· Lookup Wizard
Menampilakan suatu tipe data dari banyak tipe data yang diambil dari tabel dan Query.
· Memo
Menampung data teks (huruf, bilangan, tanda baca, dan simbol grafik) sebanyak 65535 karakter. Tipe ini tidak dapat diindeks.
· Number
Menampung digit, tanda minus, dan titik desimal. Tipe ini memiliki 5 ukuran bilanngan dan jumlah digit.
· OLE object
Menampung foto/gambar grafik, rekaman suara dan video, dan spreadsheet. Kapasitas maksimum data tipe ini adalah 1 Gb. Tipe ini tidak dapat diindeks.
· Text
Menampung data teks (huruf, angka, dan simbol grafik) sebanyak 255 karakter. Standar karakter terpasang sebesar 50 karakter.
· Yes / No
Menmpung salah satu dari dua yang ada Yes/No, True/False, dan On/Off.
Terdapat 10 data type didalam table Microsoft Access 2010, diantaranya:
1. Text, yaitu data yang bisa diisi dengan nilai kombinasi antara text dan number, dengan maximum karakter sebanyak 255 karakter.
2. Memo, sama saja dengan jenis Text, hanya saja memiliki jumlah karakter maksimum yang lebih banyak, yaitu 63,999 karakter.
3. Number, yaitu data dengan jenis number (angka) yang digunakan untuk kalkulasi matematika dan keperluan lainnya. Umumnya number ini terdiri dari 1, 2, 4 dan 8 bytes data. Khusus untuk number jenis Replication ID mempunyai 16 bytes data. Silahkan pelajari table berikut ini untuk lebih jelasnya:
Jenis |
Keterangan |
Jumlah desimal |
Ukuran |
Byte |
Terdiri dari angka 0 s/d 255 (tidak ada pecahan). |
Tidak ada |
1 byte |
Decimal |
Untuk jenis decimal, dibagi lagi menjadi dua macam: * Terdiri dari angka -10^38 -1 s/d 10^38 -1 (untuk SQL Server Database) * Terdiri dari angka -10^28 -1 s/d 10^28 -1 (untuk Ms Access Database) |
28 |
12bytes |
Integer |
Terdiri dari angka –32,768 s/d 32,767 (tidak ada pecahan). |
Tidak ada |
2 bytes |
Long Integer |
Terdiri dari angka –2,147,483,648 s/d 2,147,483,647 (tidak ada pecahan). Long integer ini merupakan pilihan default ketika jenis number dipilih sebagai data type suatu field. |
Tidak ada |
4 bytes |
Single |
Terdiri dari angka –3.402823E38 s/d –1.401298E–45 untuk bilangan negatif dan dari 1.401298E–45 s/d 3.402823E38 untuk bilangan positif dan bilangan 0. |
7 |
4 bytes |
Double |
Terdiri dari angka –1.79769313486231E308 s/d –4.94065645841247E–324 untuk bilangan negatif dan dari 1.79769313486231E308 s/d 4.94065645841247E–324 untuk bilangan positif dan bilangan 0. |
15 |
8 bytes |
Replication ID |
Globally unique identifier (GUID), yaitu jenis number yang mempunyai format {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx} dimana masing-masing x merupakan bilangan hexa decimal dari 0 s/d F. Misalnya {003A84CF-96E2-40D8-9023-04324F208C2A}. Replication ID ini umumnya digunakan untuk jenis field AutoNumber pada database replikasi (tiruan). |
Tidak ada |
16 bytes |
4. Date/Time, yaitu data dengan jenis tanggal, waktu atau penggabungan dari tanggal dan waktu.
5. Currency, yaitu data dengan jenis number, hanya saja pada awal angka selalu disertakan symbol currency default sesuai dengan regional setting yang digunakan, misalnya Rp, $, dll. Currency dapat menggunakan angka dengan 15 digit dibelakang desimal dan 4 digit sesudah desimal.
6. AutoNumber, yaitu data yang tidak dapat kita isi secara manual melainkan ia terisi secara otomatis oleh Access, baik secara menjumlah ataupun random (acak).
7. Yes/No, yaitu data dengan jenis hanya 2 pillihan yaitu Yes (-1 atau True) atau No (0 atau False). Format yang tersedia adalah : Yes/No, True/False, dan On/Off.
8. OLE Object, yaitu data yang diambil dari system OLE seperti Microsoft Excel spreadsheet, Microsoft Word document, graphics, sounds, atau data-data biner lainnya baik yang dilink ataupun dimasukkan secara permanen (embedded) kedalam table Microsoft Access.
9. Hyperlink, yaitu type data yang digunakan untuk menyimpan alamat internet atau file yang ditunjukkan melalui alamat URL.
10. Attachment, yaitu data type yang digunakan untuk menyimpan attachment file yang berformat apa saja (bebas, bisa file gambar, file suara, dll).
Selain 10 data type diatas, ada dua fasilitas tambahan khusus untuk field di dalam Microsoft Access, yakni:
· Calculated, yaitu fasilitas yang berguna untuk menghitung operasi matematika antara field yang satu dengan field yang lainnya. Misalnya, kita bisa menjumlahkan field A dengan field B, dll.
· Lookup Wizards, yaitu fasilitas combo box (list) yang dibuat secara wizard sehingga kita dapat memilih (lookup) suatu data dari daftar pada table lainnya.
DBMS masa kini mendukung berbagai jenis data, dari teks, suara, hingga gambar. Contoh berbagai nama tipe data pada berbagai DBMS adalah sebagai berikut
Contoh berbagai jenis data
Tipe Data |
Keterangan |
Character (Visual dBASE) Char (SQL) Text (Access) Alpha (Paradox) |
Menyatakan tipe data untuk menyimpan deretan karakter seperti nama orang atau nama mobil |
Memo (Access dan Visual dBASE) Text (PostgresSQL) |
Untuk menyimpan deretan karakter dengan ukuran yang besar (melebihi 256 karakter) |
Number (Access) Numeric (Visual dBASE) |
Untuk menyimpan data bilangan |
Date/Time (Access) |
Untuk menyimpan data jam dan tanggal |
Date (Visual dBASE) Date (PostgresSQL) |
Untuk menyimpan tanggal |
Time (PostgresSQL) |
Untuk menyimpan data jam |
Currency (Access) Money (Paradox) |
Untuk menyimpan data uang |
Yes/No (Access) Logical (Visual dBASE) Bool (PostgresSQL) |
Untuk menyimpan data logika (benar atau salah) |
OLE (Visual dBASE) OLE Object (Access) |
Untuk menyimpan OLE. Dapat berupa objek seperti gambar atau bahkan suara |
Binary (Visual dBASE) |
Untuk menyimpan data gambar atau suara |
Graphics (Paradox) |
Untuk menyimpan data gambar |
Hyperlink (Access) |
Untuk menyimpan data hyperlink |
Sumber :
http://luzcie.blogspot.com/2010/02/mengidentifikasi-tipe-data-dalam.html
http://imopi.wordpress.com/2012/02/21/data-type-table-di-dalam-microsoft-access-2010/
Tugas 2, Perintah Bahasa SQL
SQL (Structured Query Language) adalah sebuah bahasa yang dipergunakan untuk mengakses data dalam basis data relasional. Bahasa ini secara de facto merupakan bahasa standar yang digunakan dalam manajemen basis data relasional. Saat ini hampir semua server basis data yang ada mendukung bahasa ini untuk melakukan manajemen datanya.
Secara umum, SQL terdiri dari dua bahasa, yaitu Data Definition Language (DDL) dan Data Manipulation Language (DML). Implementasi DDL dan DML berbeda untuk tiap sistem manajemen basis data (SMBD)[1], namun secara umum implementasi tiap bahasa ini memiliki bentuk standar yang ditetapkan ANSI. Artikel ini akan menggunakan bentuk paling umum yang dapat digunakan pada kebanyakan SMBD.
A. DATA DEFINITION LANGUAGE (DDL)
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.
Jadi gampangnya DDL digunakan ketika kita ingin membuat, mengubah, dan menghapus object pada database. oleh karena itu DDL lebih berhubungan pada object bukan pada isi atau data. kata-kata yang akan sering kita jumpai dalam DDL antara lain : Create, Use, Alter, dan Drop.
Data Definition Language (DDL) merupakan sub bahasa SQL yang digunakan untuk membangun kerangka database. Ada tiga perintah yang termasuk dalam DDL, yaitu:
· CREATE : Perintah ini digunakan untuk membuat, termasuk di antaranya membuat database baru, tabel baru, view baru, dan kolom. Create diantaranya :
ü CREATE DATABASE
ü CREATE FUNCTION
ü CREATE INDEX
ü CREATE PROCEDURE
ü CREATE TABLE
ü CREATE TRIGGER
ü CREATE VIEW
· ALTER : Perintah ini digunakan untuk mengubah struktur tabel yang telah dibuat. Pekerjaannya mencakup mengganti nama tabel, menambah kolom, mengubah kolom, menghapus kolom, maupun memberikan atribut pada kolom.
ü ALTER DATABASE
ü ALTER FUNCTION
ü ALTER PROCEDURE
ü ALTER TABLE
ü ALTER VIEW
ü RENAME TABLE
· DROP : Perintah ini digunakan untuk menghapus database dan tabel.
ü DROP DATABASE
ü DROP FUNCTION
ü DROP INDEX
ü DROP PROCEDURE
ü DROP TABLE
ü DROP TRIGGER
ü DROP VIEW
B. DATA MANIPULATION LANGUAGE (DML)
DML atau Data manipulation Language merupakan perintah-perintah yang berfungsi untuk melakukan manipulasi data ataupun objek-objek yang ada didalam table. Definisi lainnya tentang DML adalah Perintah-perintah untuk memanipulasi data pada basis data, misalnya perintah untuk memilih data (query), menyisipkan, mengubah dan menghapus data dalam basis data.
Bentuk manipulasi yang dapat dilakukan oleh DML diantaranya adalah untuk keperluan pencarian kembali data lama, penyisipan data baru, penghapusan data, pengubahan data, dll. Sedangkan DML sendiri menurut jenisnya dapat dibagi menjadi 2 jenis yaitu procedural dan non procedural.
Beberapa manfaat atau kegunaan dari DML diantaranya adalah sebagai berikut :
1. Pengambilan informasi yang disimpan dalam basis data
2. Penyisipan informasi baru ke basis data
3. Penghapusan informasi dari basis data
4. Modifikasi informasi yang disimpan dalam basis data
5. Query adalah perintah yang ditulis untuk mengambil informasi. Bagian dari DML yang menangani pengambilan informasi ini disebut bahasa query.
Data Manipulation Language (DML) merupakan sub bahasa SQL yang digunakan untuk memanipulasi data dalam database yang telah terbuat. Perintah yang digunakan, di antaranya:
· INSERT : Perintah ini digunakan untuk menyisipkan atau memasukkan data baru ke dalam tabel. Penggunaannya setelah database dan tabel selesai dibuat.
· SELECT : Perintah ini digunakan untuk mengambil data atau menampilkan data dari satu tabel atau beberapa tabel dalam relasi. Data yang diambil dapat kita tampilkan dalam layar prompt MySQL secara langsung maupun ditampilkan pada tampilan aplikasi.
· UPDATE : Perintah ini digunakan untuk memperbarui data lama menjadi data terkini. Jika Anda memiliki data yang salah atau kurang up to date dengan kondisi sekarang, maka dapat diubah isi datanya menggunakan perintah UPDATE.
· DELETE : Perintah ini digunakan untuk menghapus data dari tabel. Biasanya data yang dihapus merupakan data yang sudah tidak diperlukan lagi. Pada saat menghapus data, perintah yang telah dijalankan tidak dapat digagalkan, sehingga data yang telah hilang tidak dapat dikembalikan lagi
C. DATA CONTROL LANGUAGE (DCL)
Data Control Language (DCL) merupakan sub bahasa SQL yang digunakan untuk melakukan pengontrolan data dan server databasenya. Perintah DCL, di antaranya:
· Grant
GRANT : Digunakan untuk memberikan hak 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.
- Grant berfungsi juga untuk membuat user baru dan memberikan hak istimewa.
- Grant digunakan untuk memberikan privilege kepada tabel yang didefinisikan kepada pemakai lain.
- Privilege untuk pemakai dalam perintah grant didefinisikan dengan menggunakan nama-nama privilege. Nama privilege memudahkan admin untuk dapat memberikan privilege tanpa harus tahu apa nama field dan tabel yang harus diisi.
- Perintah grant secara otomatis akan menambah data pemakai apabila data nama pemakai yang disertakan pada perintah tersebut belum ada dalam tabel user. Perintah grant memudahkan administrator untuk tidak perlu melakukan perintah pendefinisian privilege dengan menggunakan sql. Karena dengan menggunakan sql, kita harus hafal nama tabel yang harus diisi, field apa saja yang harus diisi, jumlah field yang harus diisi.
Sintak Umum : GRANT hak_akses ON nama_tabel TO pemakai;
GRANT ALL PRIVILEGES ON database_name.* TO ‘myuser’
IDENTIFIED BY ‘mypassword’;
Contoh Penggunaan :
1. GRANT SELECT ON Point_Of_Sales.jenis TO Febe;
2. GRANT SELECT ON Point_Of_Sales.jenisTO Winda;
3. GRANT SELECT ON Point_Of_Sales.item TO Elfrida;
4. GRANT ALL PRIVILEGES ON Point_Of_Sales.User TO Admin;
5. GRANT ALL ON Point_Of_Sales.jualDetail TO Admin
6. SHOW GRANTS FOR root@localhost;
7. SHOW GRANTS FOR Admin;
8. GRANT SELECT,INSERT ON Point_Of_Sales.jualDetail TO kasir;
9. GRANT SELECT(Kode,Nama) ON Point_Of_Sales.jenis TO Elfrida;
10. GRANT UPDATE (kodeItem,NmItem,kategori,Harga) ON Point_Of_Sales.item TO Elfrida;
· Revoke
REVOKE : Perintah ini memiliki kegunaan terbalik dengan GRANT, yaitu untuk menghilangkan hak akses yang telah diberikan kepada user oleh administrator atau mencabut hak-hak dari seorang user terhadap database tertentu atau sebagian isi dari database.
Sintak Umum Revoke :
REVOKE hak_akses ON nama_tabel FROM namaAccount@namaHost;
Menghapus batasan hak akses utk database & tabel :
REVOKE hak_akses ON nama_database.nama_tabel
FROM user;
Menghapus batasan hak akses untuk kolom tertentu :
REVOKE hak_akses(field1,field2, field3,…) ON
nama_database.nama_tabel FROM user
Penulisan perintah revoke :
- Hak akses(field) : kita harus memberikan sedikitnya satu hak akses. Untuk setiap hak akses yang diberikan, dapat juga diberikan daftar field yang diletakkan dalam kurung, dan dipisahkan dengan tanda koma. Contoh : REVOKE select (nim, nama), update, insert(nim), …
- NamaTabel : merupakan nama tabel yang dikenal hak akses tersebut, harus ada sedikitnya satu nama tabel. Dan dapat menggunakan simbol asterik (*) untuk mewakili semua tabel pada database aktif. Penulisan namaTabel dapat juga diikuti oleh nama database diikuti nama tabel yang dipisahkan dengan tanda titik. Menggunakan simbol *.* berarti semua database dan semua tabel yang dikenai hak akses tersebut.
Perintah-perintah lain yang termasuk dalam data control language adalah :
a. Commit
Merupakan perintah yang digunakan untuk memindahkan transaksi dari memory pemrosesan ke database atau menyimpan secara permanen perubahan-perubahan kedalam database.
b. Rollback
Merupakan perintah yang digunakan untuk membatalkan transaksi yang belum di commit atau membatalkan perubahan-perubahan terakhir dari perintah commit/rollback terakhir.
Tugas 2 Macam-Macam Aplikasi DBMS
Macam-macam Aplikasi Database
1. 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.
Sistem Manajemen Basis Data Relasiona
MySQL adalah sebuah implementasi dari sistem manajemen basisdata relasional (RDBMS) yang didistribusikan secara gratis dibawah lisensi GPL (General Public License). Setiap pengguna dapat secara bebas menggunakan MySQL, namun dengan batasan perangkat lunak tersebut tidak boleh dijadikan produk turunan yang bersifat komersial. MySQL sebenarnya merupakan turunan salah satu konsep utama dalam basisdata yang telah ada sebelumnya; SQL (Structured Query Language). SQL adalah sebuah konsep pengoperasian basisdata, terutama untuk pemilihan atau seleksi dan pemasukan data, yang memungkinkan pengoperasian data dikerjakan dengan mudah secara otomatis.
Kehandalan suatu sistem basisdata (DBMS) dapat diketahui dari cara kerja pengoptimasi-nya dalam melakukan proses perintah-perintah SQL yang dibuat oleh pengguna maupun program-program aplikasi yang memanfaatkannya. Sebagai peladen basis data, MySQL mendukung operasi basisdata transaksional maupun operasi basisdata non-transaksional. Pada modus operasi non-transaksional, MySQL dapat dikatakan unggul dalam hal unjuk kerja dibandingkan perangkat lunak peladen basisdata kompetitor lainnya. Namun demikian pada modus non-transaksional tidak ada jaminan atas reliabilitas terhadap data yang tersimpan, karenanya modus non-transaksional hanya cocok untuk jenis aplikasi yang tidak membutuhkan reliabilitas data seperti aplikasi blogging berbasis web (wordpress), CMS, dan sejenisnya. Untuk kebutuhan sistem yang ditujukan untuk bisnis sangat disarankan untuk menggunakan modus basisdata transaksional, hanya saja sebagai konsekuensinya unjuk kerja MySQL pada modus transaksional tidak secepat unjuk kerja pada modus non-transaksional.
Keistimewaan MySQL
MySQL memiliki beberapa keistimewaan, antara lain :
1. Portabilitas. MySQL dapat berjalan stabil pada berbagai sistem operasi seperti Windows, Linux, FreeBSD, Mac Os X Server, Solaris, Amiga, dan masih banyak lagi.
2. Perangkat lunak sumber terbuka. MySQL didistribusikan sebagai perangkat lunak sumber terbuka, dibawah lisensi GPL sehingga dapat digunakan secara gratis
3. Multi-user. MySQL dapat digunakan oleh beberapa pengguna dalam waktu yang bersamaan tanpa mengalami masalah atau konflik.
4. Performance tuning', MySQL memiliki kecepatan yang menakjubkan dalam menangani query sederhana, dengan kata lain dapat memproses lebih banyak SQL per satuan waktu.
5. Ragam tipe data. MySQL memiliki ragam tipe data yang sangat kaya, seperti signed / unsigned integer, float, double, char, text, date, timestamp, dan lain-lain.
6. Perintah dan Fungsi. MySQL memiliki operator dan fungsi secara penuh yang mendukung perintah Select dan Where dalam perintah (query).
7. Keamanan. MySQL memiliki beberapa lapisan keamanan seperti level subnetmask, nama host, dan izin akses user dengan sistem perizinan yang mendetail serta sandi terenkripsi.
8. Skalabilitas dan Pembatasan. MySQL mampu menangani basis data dalam skala besar, dengan jumlah rekaman (records) lebih dari 50 juta dan 60 ribu tabel serta 5 milyar baris. Selain itu batas indeks yang dapat ditampung mencapai 32 indeks pada tiap tabelnya.
9. Konektivitas. MySQL dapat melakukan koneksi dengan klien menggunakan protokol TCP/IP, Unix soket (UNIX), atau Named Pipes (NT).
10. Lokalisasi. MySQL dapat mendeteksi pesan kesalahan pada klien dengan menggunakan lebih dari dua puluh bahasa. Meski pun demikian, bahasa Indonesia belum termasuk di dalamnya.
11. Antar Muka. MySQL memiliki antar muka (interface) terhadap berbagai aplikasi dan bahasa pemrograman dengan menggunakan fungsi API (Application Programming Interface).
12. Klien dan Peralatan. MySQL dilengkapi dengan berbagai peralatan (tool)yang dapat digunakan untuk administrasi basis data, dan pada setiap peralatan yang ada disertakan petunjuk online.
13. Struktur tabel. MySQL memiliki struktur tabel yang lebih fleksibel dalam menangani ALTER TABLE, dibandingkan basis data lainnya semacam PostgreSQL ataupun Oracle.
MySQL sangat populer dalam aplikasi web seperti MediaWiki (perangkat lunak yang dipakai Wikipedia dan proyek-proyek sejenis) dan PHP-Nuke dan berfungsi sebagai komponen basis data dalam LAMP. Popularitas sebagai aplikasi web dikarenakan kedekatannya dengan popularitas PHP, sehingga seringkali disebut sebagai Dynamic Duo.
2. Microsoft 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 PowerPoint. Aplikasi ini menggunakan mesin basis data Microsoft Jet Database Engine, dan juga menggunakan tampilan grafis yang intuitif sehingga memudahkan pengguna.
Microsoft Access dapat menggunakan data yang disimpan di dalam format Microsoft Access, Microsoft Jet Database Engine, Microsoft SQL Server, Oracle Database, atau semua kontainer basis data yang mendukung standar ODBC. Para pengguna/programmer yang mahir dapat menggunakannya untuk mengembangkan perangkat lunak aplikasi yang kompleks, sementara para programmer yang kurang mahir dapat menggunakannya untuk mengembangkan perangkat lunak aplikasi yang sederhana. Access juga mendukung teknik-teknik pemrograman berorientasi objek, tetapi tidak dapat digolongkan ke dalam perangkat bantu pemrograman berorientasi objek.
Salah satu keunggulan Microsoft Access dilihat dari perspektif programmer adalah kompatibilitasnya dengan bahasa pemrograman Structured Query Language (SQL); query dapat dilihat dan disunting sebagai statemen-statemen SQL, dan statemen SQL dapat digunakan secara langsung di dalam Macro dan VBA Module untuk secara langsung memanipulasi tabel data dalam Access. Para pengguna dapat mencampurkan dan menggunakan kedua jenis bahasa tersebut (VBA dan Macro) untuk memprogram form dan logika dan juga untuk mengaplikasikan konsep berorientasi objek.
Microsoft SQL Server Desktop Engine (MSDE) 2000, yang merupakan sebuah versi mini dari Microsoft SQL Server 2000, dimasukkan ke dalam Office XP Developer Edition dan dapat digunakan oleh Microsoft Access sebagai alternatif dari Microsoft Jet Database Engine.
Tidak seperti sebuah sistem manajemen basis data relasional yang komplit, Microsoft JET Database Engine tidak memiliki fitur trigger dan stored procedure. Dimulai dari Microsoft Access 2000 yang menggunakan Microsoft Jet Database Engine versi 4.0, ada sebuah sintaksis yang mengizinkan pembuatan kueri dengan beberapa parameter, dengan sebuah cara seperi halnya sebuah stored procedure, meskipun prosesur tersebut dibatasi hanya untuk sebuah pernyataan tiap prosedurnya. Access juga mengizinkan form untuk mengandung kode yang dapat dieksekusi ketika terjadi sebuah perubahan terhadap tabel basis data, seperti halnya trigger, selama modifikasi dilakukan hanya dengan menggunakan form tersebut, dan merupakan sesuatu hal yang umum untuk menggunakan kueri yang akan diteruskan (pass-through dan teknik lainnya di dalam Access untuk menjalankan stored procedure di dalam RDBMS yang mendukungnya.
Dalam berkas Access Database Project (ADP) yang didukung oleh Microsoft Access 2000 dan yang selanjutnya, fitur-fitur yang berkaitan dengan basis data berbeda dari versi format/struktur data yang digunakan Access (*.MDB), karena jenis berkas ini dapat membuat koneksi ke sebuah basis data MSDE atau Microsoft SQL Server, ketimbang menggunakan Microsoft JET Database Engine. Sehingga, dengan menggunakan ADP, adalah mungkin untuk membuat hampur semua objek di dalam server yang menjalankan mesin basis data tersebut (tabel basis data dengan constraints dan trigger, view, stored procedure, dan UDF). Meskipun demikian, yang disimpan di dalam berkas ADP hanyalah form, report, macro, dan modul, sementara untuk tabel dan objek lainnya disimpan di dalam server basis data yang membelakangi program tersebut.
3. PostgreSQL
PostgreSQL adalah sebuah sistem basis data yang disebarluaskan secara bebas menurut perjanjian lisensi BSD. Piranti lunak ini merupakan 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.
PostgreSQL adalah sistem database yang kuat untuk urusan relasi, open source. Memiliki lebih dari 15 tahun pengembangan aktif dan sudah terbukti segala rancangan arsitekturnya telah mendapat reputasi tentang "kuat", "handal", "integritas data", dan "akurasi data".
Beberapa fitur PostgreSQL adalah sebagai berikut :
- Inheritance, dimana satu table dapat diturunkan model dan beberapa karakteristik dari table lainnya.
- Multi-Version Concurrency Contrl (MVCC), dimana user diberi data sanpshot ketika suatu perubahan dilakukan sampai commit.
- Rules, dimana suatu query DML yang dikirimkan ke server akan mengalami penulisan ulang (rewrite). Ini terjadi sebelum diproses oleh query planner.
- dan berbagai fitur lainnya.
Kategori
Blogroll
- Masih Kosong