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”.
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
Post a Comment