Asslamualikum,Kali ini gue akan jelasin apa itu MYSQL? mari kita simak.....
MySQL adalah sebuah perangkat lunak system manajemen basis data SQL (DBMS) yang multithread, dan multi-user. MySQL adalah implementasi dari system manajemen basisdata relasional (RDBMS). MySQL dibuah oleh TcX dan telah dipercaya mengelola system dengan 40 buah database berisi 10.000 tabel dan 500 di antaranya memiliki 7 juta baris.
MySQL AB merupakan perusahaan komersial Swedia yang mensponsori dan yang memiliki MySQL. Pendiri MySQL AB adalah dua orang Swedia yang bernama David Axmark, Allan Larsson dan satu orang Finlandia bernama Michael “Monty”. Setiap pengguna MySQL dapat menggunakannya secara bebas yang didistribusikan gratis dibawah lisensi GPL(General Public License) namun tidak boleh menjadikan produk turunan yang bersifat komersial.
Pada saat ini MySQL merupakan database server yang sangat terkenal di dunia, semua itu tak lain karena bahasa dasar yang digunakan untuk mengakses database yaitu SQL. SQL (Structured Query Language) pertama kali diterapkan pada sebuah proyek riset pada laboratorium riset San Jose, IBM yang bernama system R. Kemudian SQL juga dikembangan oleh Oracle, Informix dan Sybase. Dengan menggunakan SQL, proses pengaksesan database lebih user-friendly dibandingan dengan yang lain, misalnya dBase atau Clipper karena mereka masih menggunakan perintah-perintah pemrograman murni.
SQL dapat digunakan secara berdiri sendiri maupun di lekatkan pada bahasa pemograman seperti C, dan Delphi.
Sejarah MySQL
MySQL pada awalnya diciptakan pada tahun 1979, oleh Michael "Monty" Widenius, seorang programmer komputer asal Swedia. Monty mengembangkan sebuah sistem database sederhana yang dinamakan UNIREG yang menggunakan koneksi low-level ISAM database engine dengan indexing. Pada saat itu Monty bekerja pada perusahaan bernama TcX di Swedia.TcX pada tahun 1994 mulai mengembangkan aplikasi berbasis web, dan berencana menggunakan UNIREG sebagai sistem database. Namun sayangnya, UNIREG dianggagap tidak cocok untuk database yang dinamis seperti web.
TcX kemudian mencoba mencari alternatif sistem database lainnya, salah satunya adalah mSQL (miniSQL). Namun mSQL versi 1 ini juga memiliki kekurangan, yaitu tidak mendukung indexing, sehingga performanya tidak terlalu bagus.
Dengan tujuan memperbaiki performa mSQL, Monty mencoba menghubungi David Hughes (programmer yang mengembangkan mSQL) untuk menanyakan apakah ia tertarik mengembangkan sebuah konektor di mSQL yang dapat dihubungkan dengan UNIREG ISAM sehingga mendukung indexing. Namun saat itu Hughes menolak, dengan alasan sedang mengembangkan teknologi indexing yang independen untuk mSQL versi 2.
Dikarenakan penolakan tersebut, David Hughes, TcX (dan juga Monty) akhirnya memutuskan untuk merancang dan mengembangkan sendiri konsep sistem database baru. Sistem ini merupakan gabungan dari UNIREG dan mSQL (yang source codenya dapat bebas digunakan). Sehingga pada May 1995, sebuah RDBMS baru, yang dinamakan MySQL dirilis.
David Axmark dari Detron HB, rekanan TcX mengusulkan agar MySQL di ‘jual’ dengan model bisnis baru. Ia mengusulkan agar MySQL dikembangkan dan dirilis dengan gratis. Pendapatan perusahaan selanjutnya di dapat dari menjual jasa “support” untuk perusahaan yang ingin mengimplementasikan MySQL. Konsep bisnis ini sekarang dikenal dengan istilah Open Source.
Pada tahun 1995 itu juga, TcX berubah nama menjadi MySQL AB, dengan Michael Widenius, David Axmark dan Allan Larsson sebagai pendirinya. Titel “AB” di belakang MySQL, adalah singkatan dari “Aktiebolag”, istilah PT (Perseroan Terbatas) bagi perusahaan Swedia.[3]
Kelebihan Dan kekurangan MySQL
Kelebihan
- Berlisensi GPL dan Multi Platform.
- Dapat diintegrasikan dengan beberapa bahasa Pemrograman seperti .Net, Java, Python, Perl yang merupakan bahasa pemrograman yang paling dominan di kalangan programmer.
- Mendukung ODBC untuk sistem operasi Windows sehingga bisa digunakan aplikasi yang berjalan diwindows.
- Bisa dijalankan pada spesifikasi hardware yang rendah karena lebih hemat resource memory (dibandingkan database lain) sehingga mudah digunakan untuk bahan pembelajaran.
- MySQL dapat mendeteksi pesan kesalahan pada klien dengan menggunakan lebih dari 20 bahasa meskipun bahasa indonesia belum termasuk didalamnya.
- MySQL dapat diintegrasikan dengan Hosting.
Kekurangan
- Banyak mengklaim kurang support terhadap pemrograman Visual/Desktop, sehingga sedikit yang menggunakan untuk aplikasi visual.
- Karena berlisensi GPL sehingga sulit mendapatkan update untuk problem yang urgent, sehingga perusahaan skala menengah keatas lebih memilih RDBMS berlisensi dan disupport seperti Oracle dan MS SQL Server
- Sangat diragukan dalam menangani data skala besar, karena ada beberapa opini yang pro dan kontra terhadap kemampuan MySQL terhadap pengolahan data yang besar.
Keistimewaan MySQL
MySQL memiliki beberapa keistimewaan, antara lain :- Portabilitas. MySQL dapat berjalan stabil pada berbagai sistem operasi seperti Windows, Linux, FreeBSD, Mac Os X Server, Solaris, Amiga, dan masih banyak lagi.
- Perangkat lunak sumber terbuka. MySQL didistribusikan sebagai perangkat lunak sumber terbuka, di bawah lisensi GPL sehingga dapat digunakan secara gratis.
- Multi-user. MySQL dapat digunakan oleh beberapa pengguna dalam waktu yang bersamaan tanpa mengalami masalah atau konflik.
- 'Performance tuning', MySQL memiliki kecepatan yang menakjubkan dalam menangani query sederhana, dengan kata lain dapat memproses lebih banyak SQL per satuan waktu.
- Ragam tipe data. MySQL memiliki ragam tipe data yang sangat kaya, seperti signed / unsigned integer, float, double, char, text, date, timestamp, dan lain-lain.
- Perintah dan Fungsi. MySQL memiliki operator dan fungsi secara penuh yang mendukung perintah Select dan Where dalam perintah (query).
- Keamanan. MySQL memiliki beberapa lapisan keamanan seperti level subnetmask, nama host, dan izin akses user dengan sistem perizinan yang mendetail serta sandi terenkripsi.
- 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 miliar baris. Selain itu batas indeks yang dapat ditampung mencapai 32 indeks pada tiap tabelnya.
- Konektivitas. MySQL dapat melakukan koneksi dengan klien menggunakan protokol TCP/IP, Unix soket (UNIX), atau Named Pipes (NT).
- Lokalisasi. MySQL dapat mendeteksi pesan kesalahan pada klien dengan menggunakan lebih dari dua puluh bahasa. Meski pun demikian, bahasa Indonesia belum termasuk di dalamnya.
- Antar Muka. MySQL memiliki antar muka (interface) terhadap berbagai aplikasi dan bahasa pemrograman dengan menggunakan fungsi API (Application Programming Interface).
- 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.
- Struktur tabel. MySQL memiliki struktur tabel yang lebih fleksibel dalam menangani ALTER TABLE, dibandingkan basis data lainnya semacam PostgreSQL ataupun Oracle.
1. Elemen SQL
Elemen dari SQL yang paling dasar antara lain pernyataan, nama, tipe data, ekspresi, konstanta dan fungsi bawaan.
- Pernyataan
Pernyataan dasar SQL antara lain :
- ALTER : Merubah struktur tabel
- COMMIT : Mengakhiri eksekusi transaksi
- CREATE : Membuat tabel, indeks
- DELETE : Menghapus baris pada sebuah tabel
- DROP : Menghapus tabel, indeks
- GRANT : Menugaskan hak terhadap basis data kepada user
- INSERT : Menambah baris pada tabel
- REVOKE : Membatalkan hak kepada basis data
- ROLLBACK : Mengembalikan pada keadaan semula apabila transaksi gagal dilaksanakan
- SELECT : Memilih baris dan kolom pada sebuah tabel
- UPDATE : Mengubah value pada baris sebuah tabel
- Nama
- Tipe data
1. Tipe data numerik antara lain :
- TINYINT : Nilai integer yang sangat kecil
- SMALLINT : Nilai integer yang kecil
- MEDIUMINT : Nilai integer yang sedang
- INT : Nilai integer dengan nilai standar
- BEGINT : Nilai integer dengan nilai besar
- FLOAT :Bilangan decimal dengan single-precission
- DOUBLE :Bilangan decimal dengan double-precission
- DECIMAL(M,D) : Bilangan float yang dinyatakan sebagai string. M : jumlah digit yang disimpan, D : jumlah angka dibelakang koma
- CHAR : Karakter yang memiliki panjang tetap yaitu sebanyak n
- VARCHAR : Karakter yang memiliki panjang tidak tetap yaitu maksimum n
- TINYBLOB : BLOB dengan ukuran sangat kecil
- BLOB : BLOB yang memiliki ukuran kecil
- MEDIUMBLOB : BLOB yang memiliki ukuran sedang
- LONGBLOB : BLOB yang memiliki ukuran besar
- TINYTEXT : teks dengan ukuran sangat kecil
- TEXT : teks yang memiliki ukuran kecil
- MEDIUMTEXT : teks yang memiliki ukuran sedang
- LONGTEXT : teks yang memiliki ukuran besar
- ENUM : kolom diisi dengan satu member enumerasi
- SET : Kolom dapat diisi dengan beberapa nilai anggota himpunan
- DATE : date memiliki format tahun-bulan-tanggal
- TIME : time memiliki format jam-menit-detik
- DATETIME : gabungan dari format date dan time
- Ekspresi
Misalnya : jumlah=harga-diskon
Ekspresi aritmatika antara lain :
- + : tambah
- – : kurang
- / : bagi
- * : kali
- Konstanta
- Fungsi bawaan
- AVG(ekspresi) : digunakan untuk mencari nilai rata-rata dalam kolom dari tabel.
- COUNT(x) : digunakan untuk menghitung jumlah baris dari sebuah kolom dari tabel
- MAX(ekspresi) : digunakan untuk mencari nilai yang paling besar dari suatu kolom dari tabel
- MIN(ekspresi) : digunakan untuk mencari nilai yang paling kecil dari suatu kolom dari tabel
- SUM(ekspresi) : digunakan untuk mengitung jumlah keseluruhan dari suatu kolom dari tabel
Pernyataan SQL dapat dikelompokan menjadi 3 kelompok, yaitu : DDL, DML dan DCL.
1.Pernyataan SQL kelompok DDL (Data Defination Language)
DDL berfungsi untuk mendefinisikan atribut basis data, table, atribut(kolom), batasan-batasan terhadap suatu atribut, serta hubungan antar tabel. Perintah yang digunakan biasanya : CREATE, ALTER, dan DROP
- Membuat Database Syntax yang digunakan : CREATE DATABASE namadatabase;
- Menghapus Database Syntax yang digunakan : DROP DATABASE namadatabase;
- Membuat Tabel Syntax yang digunakan : CREATE TABLE namatabel;
- Menghapus Database Syntax yang digunakan : DROP DATABASE namadatabase;
- Menghapus Tabel Syntax yang digunakan : DROP TABEL namatabel;
- Mendefinisikan null/not null Syntax yang digunakan : CREATE TABLE namatabel
- Mendefinisikan Nilai Default Syntax yang digunakan : CREATE TABLE namatabel
- Mendefinisikan Primary Key pada Tabel Dapat dilakukan dengan 3 Syntax :
- Menghapus Primary Key pada Tabel Syntax yang digunakan ada 2 :
- Menambah Kolom Baru pada Tabel Syntax yang digunakan : ALTER TABEL NAMATABEL ADD newfield tipe;
- Mengubah Tipe Data atau Lebar Kolom pada Tabel Syntax yang digunakan : ALTER TABEL namatabel MODIFY COLUMN field tipe;
- Mengubah Nama Kolom Syntax yang digunakan : ALTER TABEL namatabel CHANGE COLUMN namakolomlama namakolombaru tipe;
- Menghapus Kolom pada Tabel Syntax yang digunakan : ALTER TABEL namatabel DROP COLUMN namakolom;
- Mendefinisikan Foreign Key pada Tabel Dapat dilakukan dengan 2 Syntax :
- Menghapus Foreign KeySyntak yang digunakan : ALTER TABEL namatabel DROP FOREIGN KEY namaconstraint;
( Field1 TipeData1 NOT NULL,
Field2 TipeData2
);
( Field1 TipeData1,
Field2 TipeData2 DEFAULT nilai
);
1) CREATE TABLE namatabel
( Field1 TipeData1 NOT NULL PRIMARY KEY,
Field2 TipeData2
);
2) CREATE TABLE namatabel
( Field1 TipeData1,
Field2 TipeData2,
PRIMARY KEY(Field1)
);
3) ALTER TABEL namatabel ADD CONSTRAINT namaconstraint PRIMARY KEY (NAMAKOLOM)
1) ALTER TABLE namatabel DROP CONSTRAINT NAMACONSTRAINT;
2) ALTER TABLE NAMATABEL DROP PRIMARY KEY;
1) CREATE TABLE namatabel
( Field1 TipeData1,
Field2 TipeData2,
FOREIGN KEY (Field2) REFERENCES namatabelinduk
(namakolominduk) ON UPDATE CASCADE ON DELETE NO ACTION)
2) ALTER TABEL namatabel ADD CONSTRAINT namaconstraint FOREIGN KEY (namakolom) REFERENCES namatabelinduk (namakolominduk) ON UPDATE CASCADE ON DELETE NO ACTION;
DML berfungsi untuk memanipuladi data yang ada di dalam basis data, contohnya untuk pengambilan data, penyisipan data, pengubahan data dan penghapusan data.
Perintah yang digunakan biasanya adalah : INSERT, DELETE, UPDATE, dan SELECT.
- INSERT menambah baris pada tabel. Syntax yang paling sering digunakan : INSERT INTO namatabel VALUES (nilai1, nilai2, nilai-n);,Contoh Syntax:
1
| INSERT INTO [nama_tabel] (kolom1, kolom2, ...) VALUES (data1, data2, ...) |
1
| INSERT INTO data_penduduk (nama, umur) VALUES ('uwipow','25') |
- DELETE Menghapus baris pada tabel. Syntax : DELETE FROM namatabel [where kondisi];
Contoh Syntax:
1
| DELETE FROM [nama_tabel] WHERE [kondisi] |
1
| DELETE FROM data_penduduk WHERE nama = 'budi' |
- UPDATE Mengubah isi beberapa kolom pada tabel. Syntax : UPDATE namatabel SET kolom1=nilai1, kolom2=nilai2 [where kondisi];,Contoh Syntax :
1
| UPDATE [nama_tabel] SET kolom1 = data1, kolom2 = data2, ... WHERE [kondisi] |
1
| UPDATE data_penduduk SET nama = 'budi santosa', umur='30' WHERE id = 1 |
- SELECT Menampilkan isi dari suatu tabel yang bisa dihubungkan dengan tabel yang lainnya;Contoh syntax:
1
| SELECT [nama_kolom] FROM [nama_tabel] WHERE [kondisi] ORDER BY [nama_kolom] |
1
| SELECT * FROM data_kecamatan WHERE kota = 'Jakarta Utara' ORDER BY kecamatan |
Sumber:https://id.wikipedia.org/wiki/MySQL#Sejarah_MySQL
Cukup Sekian untuk Penjelasan Mysql & Sejarahnya Semoga Artikel ini Bermanfaat,Jika bermanfaat share lah kepada teman2 agar biar tahu apa itu MYSQL.
0 comments:
Post a Comment