Database Management System SQL Server, MySQL & SQL



MAKALAH
Database Management System
SQL Server, MySQL & SQL



Disusun Oleh :









KATA PENGANTAR

Puji dan Syukur kami panjatkan ke Hadirat Allah SWT, karena berkat limpahan Rahmat dan Karunia-nya sehingga kami dapat menyusun makalah ini dengan baik. Dalam makalah ini kami membahas mengenai Pengenalan SQL dan MySQL. Makalah ini dibuat atas bantuan dari  berbagai pihak untuk membantu menyelesaikan tantangan dan hambatan selama mengerjakan makalah ini. Oleh karena itu, kami mengucapkan terima kasih yang sebesar-besarnya kepada semua pihak dan referensi yang sangat membantu dalam penyusunan makalah ini.
Kami menyadari bahwa masih banyak kekurangan yang mendasar pada makalah ini. Oleh karena itu kami mengundang pembaca untuk memberikan saran serta kritik yang dapat membangun kami. Kritik konstruktif dari pembaca sangat kami harapkan untuk penyempurnaan makalah selanjutnya.
Akhir kata semoga makalah ini dapat memberikan manfaat bagi kita semua.

Jakarta,











DAFTAR ISI
                                                                                                                                                Hal.
KATA PENGANTAR                                                                                                           I
DAFTAR ISI                                                                                                                          II
BAB I PENDAHULUAN                                                                                                                 
I. Latar Belakang                                                                                                        1.
I.A.  Rumusan Masalah                                                                                               2.        

BAB II PEMBAHASAN                                                                                                       3.
II.A. Pengertian SQL                                                                                                  3.
A.1. Standarisasi                                                                                             3.
A.2. Pemakaian dasar                                                                                     4.
A.3. Fungsi Dasar SQL                                                                                  4.
A.4. Penggunaan SQL Dalam SQL-Server                                                    5.
A.5. Elemen Dasar SQL                                                                                 6.
II.B.     Pengertian MySQL                                                                 9-11.
B.1 Keunggulan MySQL                                                       
B.2. Tipe Data                                                                        12-15

BAB III PENUTUP                                                                                                               16.
III.A. Kesimpulan
III.B. Penutup

DAFTAR PUSTAKA                                                                                                            17.





BAB I
PENDAHULUAN

I.                   Latar Belakang
Bagi mahasiswa maupun web developer, kalau bicara database, kemungkinan besar akan membicarakan MySQL. Tapi, kenapa harus MySQL? Bagaimana dengan Oracle? Jawaban singkat, padat dan tepat adalah : gratis dan user friendly.  MySQL adalah salah satu aplikasi RDBMS (Relational Database Management System).
Pengertian sederhana RDBMS adalah: aplikasi database yang menggunakan prinsip relasional.  MySQL juga bukan satu-satunya RDBMS, list lengkapnya ada di wikipedia. Diantaranya yang banyak dikenal adalah: Oracle, Sybase, Microsoft Access, Microsoft SQL Server, dan PostgreSQL. MySQL bersifat gratis dan open source. Artinya setiap orang boleh menggunakan dan mengembangkan aplikasi ini. Namun walaupun gratis, MySQL di support oleh ribuan programmer dari seluruh dunia, dan merupakan sebuah aplikasi RDBMS yang lengkap, cepat, dan reliabel.
Sejarah penamaan MySQL sendiri agak unik. Monty berkata :
“It is not perfectly clear where the name MySQL derives from. TcX’s base directory and a large amount of their libraries and tools have had the prefix ‘My’ for well over ten years. However, my daughter (some years younger) is also named My. So which of the two gave its name to MySQL is still a mystery.”

Berbagai sumber menyatakan, bahkan juga di situs MySQL sendiri bahwa “My” dari MySQL berasal dari nama anak perempuan Monty. Namun seperti kutipan diatas, Monty pun mengakui bahwa selama ia di TcX, library dan aplikasi yang dikembangkan perusahaan itu juga banyak dimulai dengan awalan “My”.
MySQL 'Sakila' Logo

Logo lumba-lumba dalam lambang MySQL di namai Sakila, yang berasal dari sebuah kontest “Name the Doplhin” yang diadakan MySQL AB. Nama Sakila ini diajukan oleh  Ambrose Twebaze, seorang programmer open source dari Swaziland, Afrika. ‘Sakila‘ memiliki akar dari Bahasa Siswati, bahasa yang digunakan di Swaziland.


I.A.  Rumusan Masalah
1.      Apa Pengertian SQL?
2.      Apa Pengertian My SQL?












BAB II
PEMBAHASAN

II.A.    Pengertian 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.
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.

A.1. Standarisasi
Standarisasi SQL dimulai pada tahun 1986, ditandai dengan dikeluarkannya standar SQL oleh ANSI. Standar ini sering disebut dengan SQL86.Standar tersebut kemudian diperbaiki pada tahun 1989 kemudian diperbaiki lagi pada tahun 1992. Versi terakhir dikenal dengan SQL92. Pada tahun 1999 dikeluarkan standar baru yaitu SQL99 atau disebut juga SQL99, akan tetapi kebanyakan implementasi mereferensi pada SQL92.
Saat ini sebenarnya tidak ada server basis data yang 100% mendukung SQL92. Hal ini disebabkan masing-masing server memiliki dialek masing-masing.

A.2. Pemakaian dasar
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), namun secara umum implementasi tiap bahasa ini memiliki bentuk standar yang ditetapkan ANSI.
Tujuan dari pemakaian SQl dalam menyelesaikan tugas-tugas yang berkaitan dengan database, diantaranya :
§  Memanggil data dari satu table atau lebih
§  Memanipulasi data
§  Mendapatkan ringkasan informasi
§  Membuat, memodifikasi atau menghapus table
§  Membuat atau menghapus index

A.3. Fungsi Dasar SQL
MS SQL Server memiliki beberapa fungsi untuk manipulasi data antara lain,
·         Fungsi string atau karakter
·         Fungsi tanggal
·         Fungsi matematika
·         Fungsi system atau fungsi scalar
·         Fungsi User Defined
·         Fungsi tambahan yang dapat digunakan untuk mengubah (konversi) dari data yang satu ke data yang lain.



A.4. Penggunaan SQL Dalam SQL-Server
Microsoft SQL Server adalah sebuah Sistem Manajemen Basis Data Relasional  (RDBMS) produk Microsoft. Bahasa kueri utamanya adalah Transact-SQL yang merupakan implementasi dari SQL standar ANSI/ISO yang digunakan oleh Microsoft dan Sybase.
Umumnya SQL Server digunakan di dunia bisnis yang memiliki basis data berskala kecil sampai dengan menengah, tetapi kemudian berkembang dengan digunakannya SQL Server pada basis data besar.
Microsoft SQL Server dan Sybase/ASE dapat berkomunikasi lewat jaringan dengan menggunakan protokol TDS (Tabular Data Stream). Selain dari itu, Microsoft SQL Server juga mendukung ODBC (Open Database Connectivity), dan mempunyai driver JDBC untuk bahasa pemrograman Java. Fitur yang lain dari SQL Server ini adalah kemampuannya untuk membuat basis data mirroring dan clustering. Pada versi sebelumnya, MS SQL Server 2000 terserang oleh cacing komputer SQL Slammer yang mengakibatkan kelambatan akses Internet pada tanggal 25 Januari 2003.

Penggunaan dasar SQL dapat digunakan dengan 2 cara :
Ø  Interaktif SQL (SQL Interaksi)
Memasukkan sebuah pernyataan SQL melalui terminal / microkomputer dan langsung diproses atau diinteprestasikan, hasilnya bisa dilihat secara langsung.

Ø  Embedded SQL (SQL Sisipan)
Dengan menyisipkan pernyataan SQL ke dalam sebuah program yang ditulis dengan bahasa pemrograman lain. Hasil pernyataan SQL tidak dapat dilihat langsung oleh pemakai, tapi diproses oleh program lain.


A.5. Elemen Dasar SQL
Elemen Dasar SQL terdiri dari pernyataan,nama,tipe data,konstanta,ekspresi dan fungsi bawaan disini kita hanya membahas pernyataan:
a)      ALTER             : Mengubah struktur table
b)      COMMIT        : Mengakhiri sebuah eksekusi transaksi
c)      CREATE         : Menciptakan table,indeks
d)      DELETE         : Menghapus baris pada table
e)      DROP             : Menghapus table,indeks
f)       GRANT           : Menugaskan hak terhadap basis data kepada pengguna / group pengguna
g)      INSERT           : Menambahkan sebuah baris pada table
h)      REVOKE        : Membatalkan hak terhadap basis data
i)       ROLLBACK    : Mengembalikan ke dalam bentuk semula
j)       SELECT          : Memilih baris dan kolom pada tabel
k)      UPDATE        : Mengubah nilai pada sebuah baris.

SQL secara garis besar terdiri dari 4 macam, yaitu :

Ø   DDL (Data Definition Language) adalah suatu pernyataan untuk mendefinisikan struktur atau skema database.
§  Create , untuk membuat object dalam database, bisa berupa table, view, procedure, function, trigger, ataupun package (oracle).
Contoh :
create table mahasiswa (npm char(7) not null primary key,nama char(30), alamat char(50));
§  Alter, untuk mengubah structur dari suatu objek dalam database.
Contoh :
alter table mahasiswa add email char(30)
§  Drop, untuk menghapus objek dalam database.
Contoh :
drop table mahasiswa;
§  Truncate, untuk menghapus / membersihkan isi table beserta alokasi space yang ada di dalamnya.
Contoh :
Truncate table mahasiswa
§  Comment, memberikan keterangan/komentar pada ke dalam kamus data. berisi deskripsi dari sebuah objek dalam database.
§  Rename, mengganti nama objek dalam database.

Ø  DML (Data Manipulation Language) adalah pernyataan yang digunakan untuk mengorganisir data dengan menggunakan skema objek.
-          Select, untuk menyeleksi data dari dalam database.
Contoh :
select npm, nama, alamat from mahasiswa;
-          Insert, untuk menginputkan record ke dalam suatu table.
Contoh :
insert into mahasiswa(npm,nama,alamat) values(‘0401034’,’Abdul Malik Ikhsan’,’Jalan Jakarta No. 28’)
-          Update, untuk melakukan update dari table yang sudah dibuat.
Contoh :
update mahasiswa set npm=’001’ where npm=’0401034’;
-          Delete, untuk menghapus isi record baik semuanya ataupun sebagian dari suatu table.
Contoh :
delete from mahasiswa (menghapus semua isi ) -delete from mahasiswa where npm = ‘001’(hanya pada kondisionalnya saja).
-          Merge, penggabungan update, insert, delete pada suatu table berdasarkan kondisi yang cocok. (Oracle).
-          EXEC, memanggil procedure yang telah kita buat.
Contoh :
kita buat procedure seleksimhs: create procedure seleksimhs @npm char(7) as select * from mahasiswa where npm=@npm.
cara eksekusi : EXEC seleksimhs ‘001’;

Ø  DCL (Data Control Language) Terdiri dari 2 statement, yaitu Grant, Revoke, dan DENY, Grant untuk memberikan hak akses, dan Revoke untuk membuang hak yang telah dilarang dengan perintah Deny atau hak yang telah diberikan oleh perintah GRANT, sedangkan Deny adalah untuk membatalkan perintah.
Contoh :
GRANT : GRANT INSERT, UPDATE, DELETE On mahasiswa To public
Revoke SELECT On mahasiswa To Public
DENY SELECT On mahasiswa To Public

Ø  TCL (Transaction Control) Pernyataan untuk mengelola perubahan yang dilakukan oleh DML.
-          COMMIT : Menyimpan hasil perintah
-          SAVEPOINT : Identifikasi point transaksi yang akan digunakan nantinya.
-          ROLLBACK : Restore database ke kondisi commit terakhir.
-          SET TRANSACTION : Mengubah level transaksi.





II.B.    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.

B.1 Keunggulan MySQL :
a.       Speed
Sebuah studi dari eWeek di February 2002 yang membandingkan performa kecepatan MySQL dengan RDBMS lainnya, seperti Microsoft SQL Server 2000, IBM DB2, Oracle 9i dan Sybase :
“MySQL has the best overall performance and that MySQL scalability matches Oracle,
MySQL had the highest throughput, even exceeding the numbers generated by Oracle.”
Yang terjemahan bebasnya, MySQL memiliki kecepatan yang lebih dibandingkan pesaing yang berbayar. Bagi anda ingin membaca paper tersebut, tersedia di situs MySQL

b.      Reliability
Biasanya sesuatu yang gratis susah diandalkan, bahkan banyak bug dan sering hang. Tidak demikian dengan MySQL, karena sifatnya yang open source, setiap orang dapat berkontribusi memeriksa bug dan melakukan test case untuk berbagai skenario yang memerlukan sistem 24 jam online, multi-user dan data ratusan GB. Hasilnya, MySQL merupakan RDBMS yang reliabel namun memiliki performa diatas rata-rata.

c.       Skalability
MySQL dapat memproses data yang sangat besar dan kompleks, tanpa ada penurunan performa yang berarti, juga mendukung sistem multi-prosesor. MySQL juga dipakai oleh perusahaan-perusahaan besar di dunia, seperti Epson, New York Times, Wikipedia, Google, Facebook, bahkan NASA.

d.      User Friendly
Instalasi dan mempelajari MySQL cukup mudah dan tidak dipusingkan dengan banyak settingan. Cukup download aplikasi MySQL dan install, kita dapat menggunakan MySQL dalam waktu kurang dari 5 menit (dengan asumsi tidak mati lampu).

e.       Portability and Standard Compliance
Database MySQL dapat dengan mudah berpindah dari satu sistem ke sistem lainnya. Misalkan dari sistem Windows ke Linux. Aplikasi MySQL juga dapat berjalan di sistem Linux (RedHat, SuSE, Mandrake, Debian), Embedded Linux (MontaVista, LynuxWorks BlueCat),Unix (Solaris, HP-UX, AIX), BSD (Mac OS X, FreeBSD), Windows (Windows 2000, Windows NT) dan RTOS (QNX).

f.        Multiuser Support
Dengan menerapkan arsitektur client-server. Ribuan pengguna dapat mengakses database MySQL dalam waktu yang bersamaan.


g.      Internationalization
Atau dalam bahasa sederhananya, mendukung beragam bahasa. Dengan dukungan penuh terhadap unicode, maka aksara non-latin seperti jepang, cina, dan korea bisa digunakan di dalam MySQL.

h.      Wide Application Support
Biasanya database RDBMS tidak digunakan sendirian, namun ditemani dengan aplikasi atau bahasa pemograman lainnya untuk menyediakan interface, seperti C, C++, C#, Java, Delphi, Visual Basic,  Perl Python dan PHP. Kesemua itu di dukung oleh API (Application Programming Interface) oleh MySQL.

i.        Open Source Code
Kitapun bisa (jika mampu dan mengerti), mengembangkan MySQL dengan mempelajari kode programmnya. MySQL di kembangkan dengan bahasa C and C++. Bahkan sudah terdapat berbagai variasi rasa RDBMS baru yang dikembangkan dari code MySQL, diantaranya: Drizzle, MariaDB, Percona Server dan OurDelta.








B.2. Tipe Data
Secara umum, tipe data pada database engine dapat dibedakan menjadi: numerik, date time, string, dan json. Berikut merupakan tabel perbandingan antara tipe data pada MySQL dengan tipe data pada database engine lainnya.
Beberapa tipe data yang umum digunakan pada sistem atau aplikasi ecommerce, yaitu:
·         FLOAT
·         DECIMAL
·         BIGINT
·         ENUM
·         JSON
Untuk mempermudah pemahaman mengenai float dan decimal, simak contoh berikut. Ketika dibuat dua kolom, satu kolom dengan tipe data float, satu kolom dengan tipe data decimal. Pada kedua kolom tersebut dimasukkan nilai 1.95. Saat dilakukan pemanggilan sebagai integer, kolom dengan tipe data float akan menampilkan nilai 1, sedangkan kolom dengan tipe data decimal akan menampilkan nilai 2. Secara umum, nilai float cocok untuk perhitungan secara scientific. Untuk perhitungan secara bisnis, harus selalu menggunakan tipe data desimal.



Untuk tipe data integer, pada MySQL dibagi menjadi beberapa tipe spesifik berdasarkan range atau jangkauan datanya. Berikut merupakan range data integer dalam kondisi unsigned.
TINYINT: 1 Byte => 0 to 255
SMALLINT: 2 Bytes => 0 to 65535
MEDIUMINT: 3 Bytes => 0 to 16777215
INT: 4 Bytes => 0 to 4294967295 (> 4 B data)
BIGINT: 8 Bytes => 0 to 18446744073709551615

Secara default, tipe data yang digunakan pada kolom primary key (id) adalah int. Dalam beberapa kasus, nilai int tidak cukup untuk menangani jumlah data (jumlah baris) yang lebih besar. Tipe data int memiliki jangkauan dari 0 sampai 4.294.967.295 (lebih dari 4 milyar data). Untuk mengatasi lonjakan data yang lebih besar, sebaiknya tipe data yang digunakan adalah bigint. Contoh query yang digunakan adalah sbb:
CREATE TABLE Persons
(
ID int NOT NULL AUTO_INCREMENT,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255),
PRIMARY KEY (ID)
)

ENUM merupakan sebuah objek string yang membatasi input dengan nilai yang telah didefinisikan pada sebuah kolom pada saat pembuatan tabel.
Contoh query untuk ENUM:
CREATE TABLE shirts (
name VARCHAR(40),
size ENUM(‘x-small’, ‘small’, ‘medium’, ‘large’, ‘x-large’)
);

INSERT INTO shirts (name, size) VALUES (‘dress shirt’,’large’), (‘t-shirt’,’medium’),  (‘polo shirt’,’small’);
Pada query tersebut dapat dilihat bahwa nilai yang boleh dimasukkan ke kolom ‘size’ hanya ‘x-small’, ‘small’, ‘medium’, ‘large’, atau ‘x-large’. Jika ada proses memasukkan nilai yang tidak terdaftar, maka query tersebut akan gagal.











Kelebihan tipe data JSON, Pada sistem basis data MySQL, terdapat dukungan untuk tipe data JSON native sehingga memudahkan akses data dalam format JSON document. Validasi secara otomatis terhadap JSON document yang dimasukkan ke kolom JSON. Jika JSON document tidak valid akan menimbulkan error. Optimisasi penyimpanan, karena JSON bersifat fleksibel.
Contoh JSON value yang valid:
Ø   JSON Array
[“abc”, 10, null, true, false]
Ø  JSON Object
{“k1”: “value”, “k2”: 10}
Ø  Nesting (kombinasi antara JSON Array dan JSON Object)
[99, {“id”: “HK500”, “cost”: 75.99}, [“hot”, “cold”]]
{“k1”: “value”, “k2”: [10, 20]}











BAB III
PENUTUP

III.A. Kesimpulan
SQL (Structured Query Language) adalah bahasa query yang standard yang digunakan sebagai suatu bahasa sederhana dan dasar, yang memungkinkan Anda untuk berkomunikasi dengan database, membaca, menulis, dan memperoleh informasi yang berguna dari database.
Untuk penyimpanan data secara maksimal, gunakan tipe data yang tepat untuk setiap kebutuhan. Perhitungan/kalkulasi dasar (+, -, *, /) sebaiknya menggunakan tipe DECIMAL. Tetapi jika akurasi tidak menjadi masalah dan kecepatan perhitungan menjadi prioritas, tipe data DOUBLE cukup baik untuk digunakan. Untuk tingkat presisi yang tinggi, tipe data dapat dikonversikan menjadi fixed-point type (tanpa angka di belakang koma) dalam format BIGINT.

III.B. Penutup
kita masih bisa menggunakan MySQL sampai dengan 2015, sesuai dengan janji Oracle. Tetapi, apakah kedepannya MySQL masih dirilis dengan gratis, atau dijadikan salah satu produk berbayar oleh Oracle? .
Di lain pihak , Monty Widenius, diam-diam telah memulai sebuah proyek baru, MariaDB, yang memiliki kode dasar yang sama dengan MySQL 5.1. Apakah MariaDB merupakan “the next generation” dari RDBMS gratis penerus MySQL? atau MariaDB nantinya akan tenggelam diantara RDBMS lainnya yang juga banyak bermunculan?.
Kisah ini setidaknya juga menjadi gambaran, bagaimana perusahaan raksasa, seperti Oracle, menggunakan kakuatan kapitalisnya untuk “mencaplok” saingan-saingan untuk tumbuh lebih besar lagi. MySQL sekarang secara resmi menggunakan logo oracle dalam produk-produknya.

DAFTAR PUSTAKA

http://groups.google.com/group/MySQL-indonesia.
http://www.w3schools.com/sql/sql_syntax.asp
http://dev.mysql.com/doc/refman/5.0/en/history.html
http://docstore.mik.ua/orelly/weblinux2/mysql/ch01_02.htm
http://buytaert.net/the-history-of-mysql-ab
http://monty-says.blogspot.com/2009/12/help-saving-mysql.html
http://en.wikipedia.org/wiki/Database
http://en.wikipedia.org/wiki/Database_model
Michael J. Hernandez : Database Design for Mere Mortals, Addison Wesley, 2003
James R. Groff : SQL The Complete Reference, 3rd Edition,McGraw-Hill, 2010
 

Comments

Popular posts from this blog

Pengertian Interaksi Manusia & Komputer / HCI

Makalah Process Device

Pengertian Proyek, Pengertian Program Manajemen, dan Pengertian Project Stakeholder Management.