BAB
I
PENDAHULUAN
A.
Latar
Belakang
MySQL adalah multiuser database yang
menggunakan bahasa structured query language ( SQL ). MySQL dalam
operasi client-server melibatkan
serverdaemon MySQL disisi server dan berbagai macam program serta library
yang berjalan disisi client.
Dalam bahasa SQL pada umumnya
informasi tersimpan dalam table - tabel yang secara logic merupakan struktur
dua dimensi terdiri dari baris ( row atau record ) dan kolom (column atau field ). Sedangkan dalam sebuah database dapat terdiri dari beberapa
tabel.
Pada saat ini, pengelolaan database dengan menggunakan berbagai jenis perangkat lunak sudah mempengaruhi
kehidupan masyarakat modern. Hal tersebut dapat dilihat dari kegiatan sehari
- hari yang tidak terlepas dari penggunaan database
dengan menggunakan DBMS ( DataBase
Management System ).
Manajemen data adalah sekumpulan
berbagai disiplin ilmu yang berkaitan untuk mengelola data sehingga menjadi
sumberdaya yang sangat bernilai. Sumberdaya manajemen data adalah pengembangan
dan eksekusi dari arsitektur database, kebijakan, pelatihan dan prosedur
yang dikelola secara baik dan secara menyeluruh untuk kepentingan manajemen data ini adalah :
1.
Database : Kumpulan
data yang saling berhubungan secara logic, dirancang untuk memenuhi
kebutuhan akan informasi banyak pengguna.
2.
Table : Baris-baris data yang berada
dalam satu atau lebih kolom.
3.
Field : Merupakan kolom yang terdapat di dalam tabel atau disebut juga attribute.
4.
Record : Data yang berada
didalamdatabase tersebut.
5.
Tuple : Suatu baris dari suatu relasi.
Sebuah system basis data menyediakan
dua tipe bahasa yaitu : tipe untuk menspesifikasikan skema basis data, disebut
DDL, dan tipe untuk mengekspresikan
queri atau update basis data disebut
MDL.
B.
Tujuan
SQL (dibaca "ess-que-el") singkatan dari Structured
Query Language. SQL digunakan untuk berkomunikasi dengan database. Menurut ANSI
(American National StandardsInstitute), SQL merupakan bahasa standar untuk
sistem manajemen database relasional.
Perintah SQL digunakan untuk melakukan tugas-tugas seperti
update data atau mengambil data dari database. Beberapa sistem manajemen
database relasional umum yang menggunakan SQL adalah: Oracle, Sybase, Microsoft
SQL Server, Access, Ingres dan lain-lain.
Meskipun
sebagian besar sistem database menggunakan SQL, kebanyakan dari mereka juga
memiliki ekstensi tambahan milik mereka sendiri yang biasanya hanya digunakan
pada sistem mereka.
Meskipun demikian, perintah - perintah SQL standar seperti
"Select", "Insert", "Update", "Delete",
"Create", dan "Drop" dapat digunakan pada seluruh DBMS
tersebut.
BAB
II
PEMBAHASAN
A.
Data
Base
Bahasa database adalah bahasa khusus yang ditetapkan pembuat
DMBS ( database management system ), tentang cara berinteraksi atau
berkomunikasi antara pemakai dengan database.
Bahasa ini terdiri atas sejumlah perintah yang
diformulasikan untuk dapat diberikan oleh pengguna dan dikenali oleh DBMS.
Salah satu bahasa database yang populer adalah SQL.
B.
SQL
(Structured Query Language)
SQL ( dibaca "ess-que-el" ) singkatan dari
Structured Query Language. SQL( Structured
Query Language ) adalah sebuah bahasa
yang digunakan 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 serverbasis
data yang ada mendukung bahasa ini untuk melakukan manajemen datanya.
C.
SEJARAH
SQL (Structured Query Language)
SQL dimulai dari artikel seorang peneliti dari IBM bernama
EF Codd yang membahas tentang ide pembuatan basis data relasiona l pada bulan Juni
1970. Artikel ini juga membahas kemungkinan pembuatan bahasa standar untuk
mengakses data dalam basisdata tersebut. Bahasa tersebut kemudian diberi nama
SEQUEL ( Structured EnglishQuery 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 menjadiSQL .
Implementasi basis data relasional dikenal dengan System/R
.Di akhir tahun1970- an, muncul perusahaan bernama Oracle yang membuat server
basis data popular 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.
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 padatahun 1992. Versi terakhir dikenal dengan SQL92 .
Pada tahun 1999 dikeluarkanstandar baru yaitu SQL99 atau disebut juga SQL99,
akan tetapi kebanyakan mplementasi 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.
D. Kelebihan MySQL
·
Handal,
cepat dan mudah digunakan.
·
Dukungan SQL.
·
Multiplatform
dan portable.
MySQL dapat berjalan stabil pada berbagai sistemoperasi
seperti Windows, Linux, FreeBSD, Mac Os X Server, Solaris, Amiga, dan masih
banyak lagi.
·
Perangkat
lunak sumber terbuka.
MySQL di distribusikan sebagai perangkat lunak sumber
terbuka, dibawah 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 persatuan waktu.
·
Ragam
tipe data.
MySQL memiliki ragam tipe data yang sangat kaya, seperti
signed atau 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 database dalam skala besar, dengan
jumlah rekaman ( records ) lebih dari 50 juta dan 60 ribu tabel serta 5
milyarbaris. Selain itu batas indeks yang dapat ditampung mencapai 32 indeks
pada tiap tabelnya.
·
Konektivitas.
MySQL dapat melakukan koneksi dengan klien menggunakan
protokolTCP / IP, Unix soket ( UNIX ), atau Named Pipes ( NT ).
·
Lokalisasi.
MySQL dapat mendeteksi pesan kesalahan pada klien dengan
menggunakan lebih dari 20 bahasa. Meskipun 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 database, dan pada setiap peralatan yang ada
disertakan petunjuk online.
·
Struktur
tabel.
MySQL memiliki struktur tabel yang lebih fleksibel dalam
menangani ALTER TABLE dibandingkan database lainnya semacam PostgreSQL ataupun
Oracle.
·
Dapat dikoneksikan pada bahasa C, C++, Java, Perl, PHP
dan Python.
·
Memiliki
lebih banyak type data seperti : signed / unsigned integer yang memilikipanjang
data sebesar 1,2,3,4 dan 8 byte, FLOAT, DOUBLE, CHAR, VARCHAR, TEXT, BLOB,
DATE, TIME, DATETIME, TIMESTAMP, YEAR, SET dan tipeENUM.
·
Mendukung
penuh terhadap kalimat SQL GROUP BY dan ORDER BY. Mendukung terhadap fungsi
penuh COUNT, COUNT DISTINCT, AVG , STD, SUM, MAX AND MIN.
·
Mendukung
terhadap LEFT OUTHER JOIN dengan ANSI SQL dan sintak ODBC.
·
Mendukung
ODBC for Windows 95 (dengan source program). Semua fungsi ODBC2.5 dan sebagainya. Sebagai contoh kita dapat
menggunakan Access untuk connect ke MySQL server.
·
Menggunakn
GNU automake, autoconf, dan LIBTOOL untuk portabilitas.
·
Kita
dapat menggabungkan beberapa table dari database yang berbeda dalam query yang
sama.
·
Ditulis
dengan menggunakan bahasa C dan C++. Diuji oleh compiler yang sangat jauh berbeda.
·
Privilege
(hak) dan password sangat fleksibel dan aman serta mengujinkan ‘Host - Based’
Verifikasi.
E. Kekurangan MySQL
·
Untuk
koneksi ke bahasa pemrograman visual seperti vb, delphi, dan foxpro, MySQL kurang support, karena koneksi ini menyebabkan
field yang dibaca harus sesuai dengan koneksi dari program visual
tersebut, dan ini yang menyebabkan MySQL jarang dipakai dalam program visual.
·
Data
yang ditangani belum begitu besar.
·
Kelemahan
MySQL dari dulu sampai sekarang itu adalah 'feature-creep', artinya MySQL
berusaha kompatibel dengan beberapa standard serta berusaha memenuhinya.
Sampai sini terdengar bagus, namun kalau diungkapkan
kenyataannya bahwa fitur-fitur itu belum lengkap dan berperilaku sesuai
standar.
F. 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. Artikel ini akan menggunakan bentuk paling umum
yang dapat digunakan pada kebanyakan SMBD.
G. Perintah Dasar MySQL dengan
Menggunakan Query Select.
·
Select
Version.
Perintah query tersebut dipergunakan untuk menampilkan
server versi MySQL.
·
Select
Current_Date.
Perintah query tersebut dipergunakan untuk menampilkan
tanggal saat ini.
·
Select
Now.
Perintah query tersebut dipergunakan untuk menampilkan
tanggal dan jam saat ini
·
Select
User.
Perintah tersebut dipergunakan untuk mengetahui nama user
yang bersangkutan dannama client tempat user melakukan login. Dalam contoh di
atas user yangmelakukan login adalah root dan login melalui komputer lokal
server MySQL ( localhost ).
·
Select
Status.
Perintah query ini tidak digunakan dalam MySQL / menampilkan
pesan error saat dijalankan.
·
Status
Perintah query ini digunakan untuk menampilkan status MySQL
yang sedang digunakan.
·
Help.
Perintah query ini digunakan untuk menampilkan perintah -
perintah dos yang ada pada MySQL.
·
Select
(*,/,-,+).
Perintah query ini digunakan untuk operasi aritmatik ( kali,
bagi, kurang dan tambah ).
·
Select
SIN.
Perintah query ini digunakan untuk operasi dalam matematika
yang mengubah angka menjadi derajat Sinus.
·
Select
COS.
Perintah query ini digunakan untuk operasi dalam matematika
yang mengubah angka menjadi derajat Cosinus.
·
Select
TAN.
Perintah query ini digunakan untuk operasi dalam matematika
yang mengubah angka menjadi derajat Tangen.
·
Select
Least.
Fungsi Least digunakan untuk mendapatkan nilai terkecil dari
sederetan bilangan atau data yang ada.
Seberapapun jumlah bilangan atau data yang ada, fungsi Leasttetap akan
mendapatkan nilai terkecil.
·
Select
Greatest.
Fungsi Greatest digunakan untuk mendapatkan nilai terbesar
dari sederetan datayang ada.
·
Select
ABS.
Perintah query ini digunakan untuk mengubah setiap bilangan
negatif menjadi bilangan positif.
·
Select
MOD.
Perintah query ini digunakan untuk menampilkan sisa hasil
bagi1.
·
Select
POW.
Perintah query ini digunakan untuk memangkatkan bilangan.
H. Data Defination 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
dan SHOW Database digunakan untuk
melihat database yang sudah ada pada DBMS MySQL. DDL biasanya digunakan
oleh administrator basis data dalam pembuatan sebuah aplikasi basis data.
I.
Elemen SQL
Elemen dari SQL yang paling dasar antara lain pernyataan,
nama, tipe data, ekspresi, konstanta dan fungsi bawaan.
·
Pernyataan
Perintah dari SQL yang digunakan untuk meminta sebuah
tindakan kepada DBMS. Pernyataan dasar SQL antara lain :
1. ALTER : Merubah struktur tabel
2. COMMIT : Mengakhiri eksekusi transaksi
3. CREATE : Membuat tabel, indeks
4. DELETE : Menghapus baris pada sebuah tabel
5. DROP : Menghapus tabel, indeks
6. GRANT : Menugaskan hak terhadap basis data kepada user
7. INSERT : Menambah baris pada tabel
8. REVOKE : Membatalkan hak kepada basis data
9. ROLLBACK : Mengembalikan pada keadaan semula
apabila transaksi gagal
dilaksanakan
10. SELECT : Memilih baris dan kolom pada sebuah tabel
11. UPDATE : Mengubah value pada baris sebuah tabel
·
Nama
Nama digunakan sebagai identitas, yaitu identitas bagi objek
pada DBMS. Misal : tabel, kolom dan penggun
·
Tipe
data
Tipe data yang ada dalam MYSQL :
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.
2. Tipe data String antara lain :
Ø CHAR :
Karakter yang memiliki panjang tetap yaitu sebanyakn
Ø VARCHAR : Karakter yang memiliki panjang tidak tetap yaitu
maksimum
Ø 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
3. Tipe data tunggal dan jam :
Ø DATE :
date memiliki format tahun-bulan-tanggal
Ø TIME
: time memiliki format
jam-menit-detik
Ø DATETIME
: gabungan dari format date dan time
·
Ekspresi
Ekspresi digunakan untuk menghasilkan/menghitung nilai.
Misalnya : jumlah=harga-diskon. Ekspresi aritmatika antara lain :
1. + : tambah
2. – : kurang
3. / : bagi
4. * : kali
·
Konstanta
Nilai yang tetap
·
Fungsi
bawaan
Fungsi adalah subprogram yang dapat menghasilkan suatu nilai
apabila fungsi tersebut dipanggil. Fungsi Agregat adalah fungsi yang digunakan
untuk melakukan summary, statistik yang dilakukan pada suatu tabel/query.
1. AVG(ekspresi) : digunakan untuk mencari nilai rata-rata dalam kolom dari
tabel.
2. COUNT(x)
: digunakan untuk menghitung jumlah
baris dari sebuah kolom dari tabel
3. MAX(ekspresi) : digunakan untuk mencari nilai yang paling besar dari suatu
kolom dari tabel
4. MIN(ekspresi) : digunakan untuk mencari nilai yang paling
kecil dari suatu kolom dari tabel
5. SUM(ekspresi) : digunakan untuk mengitung jumlah
keseluruhan dari suatu kolom dari table
J. Kelompok
Penyataan SQL
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
( Field1 TipeData1 NOT NULL, Field2
TipeData2)
Ø Mendefinisikan Nilai Default
Syntax yang digunakan : CREATE TABLE
namatabel ( Field1 TipeData1, Field2 TipeData2 DEFAULT nilai )
Ø Mendefinisikan Primary Key pada
Tabel Dapat dilakukan dengan 3 Syntax :
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)
Ø Menghapus Primary Key pada Tabel Syntax
yang digunakan ada 2 :
1. ALTER TABLE namatabel DROP
CONSTRAINT NAMACONSTRAINT;
2. ALTER TABLE NAMATABEL DROP PRIMARY
KEY;
Ø 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 :
1. CREATE TABLE namatabel ( Field1
TipeData1, Field2 TipeData2, FOREIGN KEY (Field2) REFERENCES nama table induk (nama
kolom induk) ON UPDATE CASCADE ON DELETE NO ACTION)
2. ALTER TABEL namatabel ADD CONSTRAINT
nama constraint FOREIGN KEY (namakolom) REFERENCES nama table induk (nama kolom
induk) ON UPDATE CASCADE ON DELETE NO ACTION
Ø Menghapus Foreign Key
Syntak
yang digunakan : ALTER TABEL namatabel DROP FOREIGN KEY namaconstraint
2.DML
(Data Manipulation Language)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)
Ø DELETE
Menghapus
baris pada tabel. Syntax : DELETE FROM namatabel [where kondisi
Ø UPDATE
Mengubah
isi beberapa kolom pada tabel. Syntax : UPDATE namatabel SET kolom1=nilai1,
kolom2=nilai2 [where kondisi]
Ø SELECT
Ø Menampilkan isi dari suatu tabel
yang bisa dihubungkan dengan tabel yang lainnya
K.
Keunggulan
MySQL
·
Program
yang multi-threaded, sehingga dapat dipasang pada server yang memiliki
mulit-CPU
·
Didukung
bahasa pemrograman umum seperti C, C++, Java, Perl, PHP, Python, TCL, APls dls.
·
Bekerja
pada berbagai platform
·
Memiliki
jenis kolom yang cukup banyak sehingga memudahkan konfigurasi system database
·
Memiliki
jenis kolom yang cukup banyak sehingga memudahkan konfigurasi system database
·
Memiliki
system sekuriti yang cukup baik dengan verifikasi host
·
Mendukung
ODBC untuk OS Microsoft Windows
·
Mendukung
record yang memiliki kolom dengan panjang tetap
·
Software
yang free
·
Saling
terintegrasi dengan PHP
L.
Fitur MySQL
Kalau di seri 3.22 MySQL mulai diadopsi banyak orang dan
meningkat populasi penggunanya, maka di seri 3.23 dan 4.0-lah terjadi banyak
peningkatan dari sisi teknologi. Ini tidak terlepas dari tuntutan pemakai yang
semakin mengandalkan MySQL, namun membutuhkan fitur-fitur yang lebih banyak
lagi. Seri 3.23. Di seri 3.23 MySQL menambahkan tiga jenis tabel baru: pertama
MyISAM, yang sampai sekarang menjadi tipe tabel default; kedua BerkeleyDB, yang pertama kali menambahkan
kemampuan transaksi pada MySQL; dan ketiga InnoDB, primadona baru yang
potensial. Seri 4.x.
Di seri yang baru berjalan hingga 4.0 tahap alfa ini,
pengembang MySQL berjanji akan menjadikan MySQL satu derajat lebih tinggi lagi.
Fitur-fitur yang sejak dulu diminta akan dikabulkan, seperti subselek (di 4.1),
union (4.0), foreign key constraint (4.0 atau
4.1—meski InnoDB sudah menyediakan ini di 3.23.x), stored procedure (4.1), view
(4.2), cursor (4.1 atau 4.2), trigger (4.1). MySQL AB tetap
berdedikasi mengembangkan dan memperbaiki MySQL, serta mempertahankan MySQL
sebagai database open source terpopuler.
·
Char(M)
Tipe data ini digunakan untuk
menyimpan data string dengan
jumlah karakter tertentu. Panjang maksimum karakter tipe data Char harus dinyatakan secara
eksplisit seperti contoh berikut: Judul CHAR(50)
·
Varchar(M)
Tipe
data ini cocok digunakan untuk menyimpan data string dengan panjang yang bervariasi. Sama seperti tipe data Char, panjang maksimum karakter yang
akan ditampung dalam field harus
dinyatakan Tipe Data. Beberapa
jenis tipe data dalam MySQL memiliki tipe tersendiri dalam tiap field di table
databasenya.
MySQL mengenal beberapa type data
field, yaitu :
1.
Tipe
data numeric
Tipe data numerik dapat dibedakan
menajdi dua kelompok, yaitu tipe data integer dan tipe data floating point.
Tipe data integer untuk data bilangan bulat sedangkan tipe data floating point
digunakan untuk bilangan desimal. Tipe data numeric dapat kita sajikan dalam
table di bawah ini :
Tipe data Kisaran nilai
Tinyint (-128) – 127 atau 0-225
Smallint (-32768) – 32767 atau 0 –
65535
Mediumint (-8388608)-8388607 atau
0-16777215
Int (-2147683648)-(2147683647) atau
0-4294967295
Bigint
(-9223372036854775808)-(9223372036854775807)
Atau 0 – 18446744073709551615
Float(x)
(-3.402823466E+38)-(-1.175494351E-38),0,dan 1.175494351E-38 – 3.402823466E + 38
Float Idem Double
(-1.7976E+308)–(-2.22E-308),0,dan(2.22E-308)- (1.79E+308)
Besar kebutuhan memori penyimpanan
untuk masing-masing tipe data di atas sebagai berikut :
Ø Column
type Storage required
Ø TINYINT 1 byte
Ø SMALLINT 2 bytes
Ø MEDIUMINT 3 bytes
Ø INT 4 bytes
Ø INTEGER 4 bytes
Ø BIGINT 8 bytes
Ø FLOAT(4) 4 bytes
Ø FLOAT(8) 8 bytes
Ø FLOAT 4 bytes
Ø DOUBLE 8 bytes
Ø DOUBLE PRECISION 8 bytes
Ø REAL 8 bytes
Ø DECIMAL(M,D) M bytes (D+2, if M <
D)
Ø NUMERIC(M,D) M bytes (D+2, if M <
D)
2. Tipe data string
Yang
termasuk dalam tipe data string adalah tipe-tipe data berikut : Tipe kolom Kebutuhan memori penyimpanan
CHAR(M)
M bytes, 1 <= M <= 255
VARCHAR(M)
L+1 bytes, where L <= M and 1 <= M <= 255
TINYBLOB,
TINYTEXT L+1 bytes, where L < 2^8
BLOB,
TEXT L+2 bytes, where L < 2^16
MEDIUMBLOB,
MEDIUMTEXT
L+3
bytes, where L < 2^24
LONGBLOB,
LONGTEXT
L+4
bytes, where L < 2^32
ENUM
('value1','value2',...)
1
or 2 bytes, depending on the number of enumeration
values
(65535 values maximum)
SET
('value1','value2',...)
1,
2, 3, 4 or 8 bytes, depending on the number of set
members
(64 members maximum)
3.
Tipe
data waktu
Yang termasuk dalam tipe data tanggal dan waktu adalah
sebagai berikut :
Column type Storage require
DATETIME 8 bytes
DATE 3 bytes
TIMESTAMP 4 bytes
TIME 3 bytes
YEAR 1 byte
4.
Tipe
data char() dan varchar() pada prinsipnya sama. Yang menjadi perbedaannya
adalah pada jumlah memori yang dibutuhkan untuk penyimpanan. Memori penyimpanan
yang dibutuhkan tipe data char() bersifat statis, besarnya tergantung pada
berapa jumlah karakter yang ditetapkan pada saat field tersebut dideklarasikan.
Sebaliknya, tipe data varchar() besar memori penyimpanan tergantung terhadap
berapa karakter yang digunakan ditambah 1 byte yang berisi data jumlah karakter
yang digunakan.
N.
Pengantar Sintak Dasar Mysql
MySQL merupakan bahasa pemograman database di mana penulisan
sintaknya tidak serumit bahasa pemograman lainnya seperti java, C++ dan sebagainya.
Satu hal yang perlu diingat bahwa setiap penulisan script MySQL di Dos-Prompt
harus selalu diakhiri dengan tanda titik koma (;).
Di dalam source MySQL yang telah terinstal secara default
telah terisi sebuah database yang bernama mysql dan tes . Untuk
dapat menampilkan apa saja nama database yang telah ada maupun yang akan kita
buat, gunakan sintak :
Mysql>
show databases;
Perhatikan contoh di bawah ini :
Microsoft
Windows [Version 6.1.7600]
Copyright
(c) 2009 Microsoft Corporation. All rights reserved.
C:\Users\Fyrman>cd..\..
C:\>cd/xampp/mysql/bin
C:\xampp\mysql\bin>mysql
-u root -p
Enter
password:
Welcome to
the MySQL monitor. Commands end with ; or \g.
Your MySQL
connection id is 1
Server
version: 5.5.16 MySQL Community Server (GPL)
Copyright
(c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.
Oracle is
a registered trademark of Oracle Corporation and/or its
affiliates.
Other names may be trademarks of their respective
owners.
Type
'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>
show databases;
+--------------------+
|
Database |
+--------------------+
|
information_schema |
|
cdcol
|
|
firman
|
|
kampus
|
|
mysql
|
|
performance_schema |
|
perpustakaan |
|
perpustakaan2 |
|
perpustakaan_gaul |
|
phpmyadmin |
|
rental
|
|
rental_cd |
|
test
|
|
webauth |
+--------------------+
14 rows in
set (0.11 sec)
mysql>
Contoh di atas menunjukkan bahwa
dengan menggunakan sintak show databases; berarti kita dapat menampilkan seluruh nama database yang telah ada.
Sintak untuk bisa masuk kedalam salah
satu system database tersebut adalah :
mysql>
show databases;
+--------------------+
|
Database |
+--------------------+
|
information_schema |
|
cdcol
|
|
firman
|
|
kampus
|
|
mysql
|
|
performance_schema |
|
perpustakaan |
|
perpustakaan2 |
| perpustakaan_gaul
|
|
phpmyadmin |
|
rental
|
|
rental_cd |
|
test
|
|
webauth |
+--------------------+
14 rows in
set (0.11 sec)
mysql>
use perpustakaan;
Database
changed
mysql>
Dengan mengetikkan sintak use mysql; dan keluar kalimat
database change,
berarti kita telah masuk ke dalam
database mysql yang telah ada. Di
setiap database tentu ada terdapat beberapa table yang menjadi komponen dasar sebuah database. Sintak untuk menampilkan
seluruh table yang telah ada di dalam
database mysql adalah :
mysql>
use perpustakaan;
Database
changed
mysql>
show tables;
+------------------------+
|
Tables_in_perpustakaan |
+------------------------+
|
anggota
|
| buku
|
|
pinjam
|
+------------------------+
3 rows in
set (0.10 sec)
mysql>
di dalam database perpustakaan sudah ada beberapa table yang telah default dari mysql-nya sendiri.
Didalam database tersebut ada
table anggota,buku dan pinjam di
mana tiap tablenya memiliki fungsi tertentu yang dapat diakses oleh tiap user.
O. Membuat
Database Baru
Ø Membuat
database
Untuk
membuat sebuah database dengan nama ‘formulir’ kita tidak perlu harus keluar
terlebih dahulu dari salah satu database walau kita sebelumnya telah masuk ke
dalamnya, untuk membuatnya gunakan syntax berikut
create database Formulir;
mysql> create database Formulir -> ;
Query OK, 1 row affected (0.01 sec)
mysql>
Query OK, 1 row affected (0.01 sec) berarti kita telah berhasil membuat sebuah database yang
bernama formulir. Dan untuk
menghapusnya, gunakan sintak sebagai berikut :
mysql>drop database formulir;
Pada
kondisi di atas, apabila kita lupa meletakkan tanda titik koma (;) di akhir
kalimat maka pada baris setelahnya akan keluar tanda (->). Di samping tanda
tersebut harus kita beri tanda titik koma (;) agar dapat berjalan dengan baik.
Ø Membuat table
Setelah
kita memasuki sebuah database, kita dapat mulai membuat tabel – tabel sesuai
dengan keperluan kita. Dalam database dikenal primary key, yaitu field yang
menjadi acuan data terhadap field-field lainnya dan primary key tidak boleh
null.Misalkan nama tabelnya adalah ‘data’, maka sintaknya adalah :
create table data Perhatikan script di bawah ini :
mysql> create table data(
-> Nama char(30),
-> Alamat varchar(25),
-> id_formulir int(5));
Query OK,
0 rows affected (0.14 sec)
mysql>
untuk
mengecek tabel formulir yang kita buat diatas dengan cara
(mysql>desc
data;)
Lihatlah
contoh scrip dibawah ini!!!!!
mysql>
desc data;
+-------------+-------------+------+-----+---------+-------+
|
Field |
Type | Null | Key | Default | Extra |
+-------------+-------------+------+-----+---------+-------+
|
Nama | char(30) |
YES | | NULL
| |
|
Alamat | varchar(25) | YES
| | NULL
| |
|
id_formulir | int(5) | YES
| | 0
| |
+-------------+-------------+------+-----+---------+-------+
3 rows in
set (0.02 sec)
mysql>
Ø Mengisi table
Setelah tabel terbentuk, kita dapat memulai
pekerjaan mengisi database. Syntax yang digunakan adalah :
mysql>insert into data (field1,field2) values
(valuefield1,valuefield2);
perhatikan
contoh di bawah ini :
mysql>
insert into data values ('Fyrman','Bandung','12345');
Query OK,
1 row affected (0.09 sec)
mysql>
insert into data values ('Viola','Jakarta','12543');
Query OK,
1 row affected (0.12 sec)
mysql>
insert into data values ('Indah','Jogjakarta','12765');
Query OK,
1 row affected (0.07 sec)
mysql>
insert into data values ('Alex','Surabaya','12213');
Query
OK, row affected (0.06 sec)
mysql>
Untuk
melihat hasilnya yaitu dengan cara (mysql> select * from data;).
mysql>
select * from data;
+--------+------------+-------------+
|
Nama | Alamat | id_formulir |
+--------+------------+-------------+
|
Alex | Surabaya |
12213 |
| Fyrman |
Bandung | 12345 |
|
Viola | Jakarta |
12543 |
|
Indah | Jogjakarta | 12765 |
+--------+------------+-------------+
4 rows in
set (0.00 sec)
mysql>
Tanda (*)
merupakan perintah untuk menampilkan seluruh kolom beserta isinya. Jika kita ingin menampilkan hanya kolom nama saja, maka sintaknya
adalah: (mysql>select field from nama_table;). contoh :
select nama from data;
Perhatikan
script di bawah ini!!!!!
mysql>
select nama from data;
+--------+
|
nama |
+--------+
|
Alex |
| Fyrman |
|
Viola |
|
Indah |
+--------+
4 rows in
set (0.00 sec)
mysql>
Untuk
mengurutkan data berdasarkan ascending atau descending yaitu dengan cara:
(Select * from data from data order by field asc;), dan
sebaliknya.
mysql>
select * from data order by nama asc;
+--------+------------+-------------+
|
Nama | Alamat | id_formulir |
+--------+------------+-------------+
|
Alex | Surabaya |
12213 |
| Fyrman |
Bandung | 12345 |
|
Indah | Jogjakarta | 12765 |
|
Viola | Jakarta |
12543 |
+--------+------------+-------------+
4 rows in
set (0.04 sec)
mysql>
select * from data order by alamat desc;
+--------+------------+-------------+
|
Nama | Alamat | id_formulir |
+--------+------------+-------------+
|
Alex | Surabaya |
12213 |
|
Indah | Jogjakarta | 12765 |
|
Viola | Jakarta |
12543 |
| Fyrman |
Bandung | 12345 |
+--------+------------+-------------+
4 rows in
set (0.00 sec)
mysql>
P.
Kumpulan) Perintah-perintah Dasar MySQL
Ø Create
Database
Digunakan
untuk membuat database baru.
Syntax
dasar: CREATE DATABASE database_nama
Contoh:
CREATE DATABASE databaseku
Ø Create
Table
Digunakan untuk membuat tabel data
baru dalam sebuah database.
Syntax dasar: CREATE TABLE ( Column_name1
table_nama data_type Column_name2 table_nama data_type Column_name3 table_nama
data_type )
Contoh: CREATE TABLE bukutamu ( Id
int, Nama varchar (255), Email varchar(50), Kota varchar(255)
Ø Select
Digunakan untuk memilih data dari
table database.
Syntax dasar: SELECT column_name(s) FROM
table_name Atau SELECT * FROM table_name
Contoh 1: SELECT nama, email FROM
buku tamu
Contoh 2: SELECT * FROM buku tamu
Ø Select
Distinct
Digunakan untuk memilih data-data
yang berbeda (menghilangkan duplikasi) dari sebuah table database.
Syntax dasar: SELECT DISTINCT
column_name(s) FROM table_name
Contoh: SELECT DISTINCT kota FROM
buku tamu
Ø Where
Digunakan untuk memfilter data pada
perintah Select
Syntax dasar: SELECT column name(s) FROM
table_name WHERE column_name operator value
Contoh: SELECT * FROM buku tamu WHERE
kota=’PAMULANG’
Ø Order By
Digunakan untuk mengurutkan data
berdasarkan kolom (field) tertentu. Secara default, urutan tersusun secara
ascending (urut kecil ke besar). Anda dapat mengubahnya menjadi descending
(urut besar ke kecil) dengan menambahkan perintah DESC.
Syntax dasar: SELECT column_name(s) FROM
table_name ORDER BY column_name(s) ASC|DESC
Contoh 1: SELECT * FROM bukutamu ORDER
BY nama
Contoh 2: SELECT * FROM bukutamu ORDER
BY id DESC
Ø Like
Digunakan bersama dengan perintah
Where, untuk proses pencarian data dengan spesifikasi tertentu.
Syntax dasar: SELECT column_name(s) FROM
table_name WHERE column_name LIKE pattern
Contoh 1: SELECT * FROM bukutamu WHERE
nama LIKE ‘a%’
Keterangan : Contoh di atas
digunakan untuk pencarian berdasarkan kolom nama yang berhuruf depan “a”.
Contoh 2: SELECT * FROM bukutamu WHERE
nama LIKE ‘a%’
Keterangan : Contoh di atas
digunakan untuk pencarian berdasarkan kolom nama yang berhuruf belakang “a”.
Ø In
Digunakan untuk pencarian data
menggunakan lebih dari satu filter pada perintah Where.
Syntax dasar : SELECT column_name(s)
FROM table_name WHERE column_name IN (value1,value2, . . .)
Contoh: SELECT * FROM bukutamu WHERE
kota IN (‘Tangerang’,’Depok’)
Ø Between
Digunakan untuk menentukan jangkauan
pencarian.
Syntax dasar: SELECT column_name(s) FROM
table_name WHERE column_name BETWEEN value1 AND value2
Contoh : SELECT * FROM bukutamu WHERE
id BETWEEN 5 and 15
Keterangan : Contoh di atas
digunakan untuk mencari data yang memiliki nomor id antara 5 dan 15.
Ø Insert
Into
Digunakan untuk menambahkan data
baru di tabel database.
Syntax dasar : INSERT INTO
table_name VALUES (value1, value2, value3, . . .) Atau INSERT INTO table_name
(column1, column2, column3, . . .) VALUES (value1, value2, value3, . . .)
Contoh 1 : INSERT INTO buku tamu
VALUESm ( 1, ’Arlicious’, ’arly@arlicious.com’, ’Tangerang’)
Contoh 2: INSERT INTO buku tamu ( id
, nama , email , kota ) VALUES ( 1, ’Arlicious’, ’arly@arlicious.com’, ’Tangerang’)
Ø Update
Digunakan untuk mengubah/memperbarui
data di tabel database.
Syntax dasar: UPDATE table_name SET
column1=value,column2=value, . . . WHERE some_column=some_value
Contoh : UPDATE bukutamu SET
email=’arly@arlicious.com’, kota=’Tangerang’ WHERE
Ø Delete
Digunakan untuk menghapus data di
table database. Tambahkan perintah Where untuk memfilter data-data tertentu
yang akan dihapus. Jika tanpa perintah Where, maka seluruh data dalam tabel
akan terhapus
Syntax dasar : DELETE FROM
table_name WHERE some_column=some_value
Contoh: DELETE FROM bukutamu WHERE
id=1
Ø Inner Join
Digunakan untuk menghasilkan baris
data dengan cara menggabungkan 2 buah tabel atau lebih menggunakan pasangan
data yang match pada masing-masing tabel. Perintah ini sama dengan perintah
join yang sering digunakan.
Syntax dasar : SELECT column_name(s)
FROM table_name1 INNER JOIN table_name2 ON table_name1.column_name=table_name2 column-name
contoh : SELECT bukutamu.nama,bukutamu.email,order.no_order
FROM bukutamu INNER JOIN order ON bukutamu.id=order.id ORDER BY bukutamu.nama
Ø Left Join
Digunakan untuk menghasilkan baris
data dari tabel kiri (nama tabel pertama) yang tidak ada pasangan datanya pada
tabel kanan (nama tabel kedua).
Syntax dasar : SELECT column_name(s)
FROM table_name1 LEFT JOIN table_name2 ON table_name1.column_name=table_name2. column_name
contoh : SELECT
bukutamu.nama,bukutamu.email,order.no_order FROM bukutamu LEFT JOIN order ON
bukutamu.id=order.id ORDER BY bukutamu.nama
Ø Right Join
Digunakan untuk menghasilkan baris
data dari tabel kanan (nama tabel kedua) yang tidak ada pasangan datanya pada
tabel kiri (nama tabel pertama).
Syntax dasar : SELECT column_name(s)
FROM table_name1 RIGHT JOIN table_name2 ON table_name1.column_name=table_name2 column_name
contoh : SELECT
bukutamu.nama,bukutamu.emailmorder.no_order FROM bukutamu RIGHT JOIN order ON
bukutamu.id=order.i ORDER BY bukutamu.nama
Ø Full Join
Digunakan untuk menghasilkan baris
data jika ada data yang sama pada salah satu tabel.
Syntax dasar : SELECT column_name(s)
FROM table_name1 FULL JOIN table_name2 ON table_name1.column_name=table_name2 column_name
Contoh : SELECT bukutamu.nama,bukutamu.email,order.no_order
FROM bukutamu FULL JOIN order ON bukutamu.id=order.id ORDER BY bukutamu.nama
Ø Union
Digunakan untuk menggabungkan hasil
dari 2 atau lebih perintah Select.
Syntax dasar : SELECT
column_name(s)FROM table_name1 UNION column_name(s) FROM table_name2 Atau SELECT
column_name(s) FROM table_name1 UNION ALL SELECT column_name(s) FROM
table_name2
Contoh : SELECT nama FROM
mhs_kampus1 UNION SELECT nama FROM mhs_kampus2
Ø Alter
Table
Digunakan untuk menambah, menghapus,
atau mengubah kolom (field) pada tabel yang sudah ada.
Syntax untuk menambah kolom : ALTAR
TABLE table_name ADD column_name datatyoe
Contoh : ALTER TABLE Persons ADD
DateOfBirth date Syntax untuk menghapus kolom : ALTER TABLE table_name DROP
COLUMN column_name
Contoh : ALTER TABLE Persons DROP
COLUMN DateOfBirth
Syntax untuk mengubah kolom : ALTER
TABLE table_name ALTER TABLE clumn_name datatype
Contoh : ALTER TABLE Persons ALTER
COLUMN DateOfBirth year
Ø Now ()
Digunakan untuk mendapatkan
informasi waktu (tanggal dan jam saat ini.)
Syntax dasar : Now()
Contoh : SELECT NOW()
Ø Curdate
Digunakan unutk mendapatkan
informasi tanggal saat ini.
Syntax dasar : Curdate()
Contoh : SELECT CURDATE()
Ø Curtime()
Digunakan untuk mendapatkan
informasi jam saat ini.
Syntax dasar : Curtime()
Contoh : SELECT CURTIME()
Ø Extract()
Digunakan untuk mendapatkan
informasi bagian-bagian dari data waktu tertentu, seperti tahun, bulan, hari,
jam, menit, dan detik tertentu.
Syntax dasar : Extract(unit FROM
date)
Keterangan : Parameter unit dapat
berupa :
• MICROSECOND
• SECOND
• MINUTE
• HOUR
• DAY
• WEEK
• MONTH
• QUARTER
• YEAR
• SECOND_MICROSECOND
• MINUTE_SECOND
• HOUR_MICROSECOND
• HOUR_SECOND
• HOUR_MINUTE
• DAY_MICROSECOND
• DAY_SECOND
• DAY_MINUTE
• DAY_HOUR
• YEAR_MONTH
Contoh :
SELECT EXTRAXT (YEAR FROM tglorder(
AS Th_Order, EXTRACT (MONTH FROM tglorder) AS Bulan_Order,EXTRACT (FAY FROM
tglorder AS Hari_Order,
FROM order
WHERE
Ø Date_Add()
dan Date_Sub()
Fungsi Date_Add() digunakan unutk
menambahkan interval waktu tertentu pada sebuah tanggal, sedangkan fungsi
Date_Sub() digunakan untuk pengurangan sebuah tanggal dengan interval tertentu.
Syntax dasar :
DATE_ADD (date,INTERVAL expr type)
DATE_SUB (date,INTERVAL expr type)
Keterangan :
Tipe data parameter INTERVAL dapat
berupa :
• MICROSECOND
• SECOND
• MINUTE
• HOUR
• DAY
• WEEK
• MONTH
• QUARTER
• YEAR
• SECOND_MICROSECOND
• MINUTE_MICROSECOND
• MINUTE_SECOND
• HOUR_MICROSEDOND
• HOUR_SECOND
• HOUR_MINUTE
• DAY_MICROSECOND
• DAY_SECOND
• DAY_MINUTE
• DAY_HOUR
• YEAR_MONTH
Contoh 1:
SELECT id,DATE_ADD
(tglorder,INTERVAL 30 DAY)
AS Waktu_pembayaran
FROM order
Contoh 2:
SELECT id,DATE_SUB(tglorder,INTERVAL
5 DAY)
AS Pengurangan_Waktu
FROM order
Ø DateDiff()
Digunakan untuk mendapatkan
informasi waktu di antara 2 buah tanggal.
Syntax dasar :
DATEIFF(date1,date2)
Contoh :
SELECT
DATEIFF(‘2010-06-30’,’2010-06-29’)
AS Selisih_waktu
Ø Date_Format()
Digunakan untuk menampilkan
informasi jam dan tanggal dengan format tertentu.
Syntax dasar :
DATE_FORMAT(date,format)
Keterangan :
Parameter format dapat berupa :
• %a, nama hari yang disingkat
• %b, nama bulan yang disingkat
• %c, bulan (numerik)
• %D hari dalam sebulan dengan
format English
• %d, hari dalam sebulan (numerik
00-31)
• %e, hari dalam sebulan (numerik
0-31)
• %f, micro detik
• %H, jam (00-23)
• %h, jam (01-12)
• %I, jam (01-12)
• %i, menit (00-59)
• %j, hari dalam setahun (001-366)
• %k, jam (0-23)
• %l, jam (1-12)
• %M, nama bulan
• %m, bulan (numerik 00-12)
• %p, AM atau PM
• %r, waktu jam dalam format 12 jam
(hh:mm:ss AM or PM)
• %S, detik (00-59)
• %s, detik (00-59)
• %T, waktu jam dalam format 24 jam
(hh:mm:ss)
• %U, minggu (00-53) dimana Sunday
sebagai hari pertama dalam seminggu
• %u, minggu (00-53) dimana Monday
sebagai hari pertama dalam seminggu
• %W, nama hari kerja
• %w, hari dalam seminggu (0=Sunday,
6=Saturday)
• %X, tahun dalam seminggu dimana
Sunday sebagai hari pertama dalam seminggu (4 digits) digunakan dengan %V
• %x, tahun dalam seminggu di mana
Monday sebagai hari pertama dalam seminggu (4 digits) digunakan dengan %v
• %Y, tahun 4 digit
• %y, tahun 2 digit
Contoh :
DATA_FORMAT (NOW(),’%b %d %Y %h : %i
%p’)
DATE_FORMAT (NOW(),’%m-%d-%Y’)
DATE_FORMAT (NOW(),’%d %b %Y’)
DATE_FORMAT (NOW(),’%d %b %Y %T :
%f’)
Ø Drop Table
Digunakan untuk menghapus tabel
beserta seluruh datanya.
Syntax dasar :
DROP TABLE table_name
Contoh :
DROP TABLE mhs
Ø Drop
Database()
Digunakan untuk menghapus database.
Syntax
dasar :
DROP DATABASE database_name
Ø AVG()
Digunakan untuk menghitung
nilai-rata-rata dari suatu data.
Syntax dasar :
SELECT AVG (column_name) FROM table_name
Contoh :
SELECT AVG(harga) AS Harga_rata2FROM
order
Ø Count()
Digunakan untuk menghitung jumlah
(cacah) suatu data.
Syntax dasar :
SELECT COUNT (column_name) FROM
table_name
Contoh :
SELECT COUNT(id) AS Jumlah_tamu FROM
bukutamu
Ø Max()
Digunakan untuk mendapatkan nilai
terbesar dari data-data yang ada.
Syntax dasar :
SELECT MAX (column_name) FROM
table_name
Contoh :
SELECT MAX(harga) AS Harga_termahal
FROM order
Ø Min()
Digunakan untuk mendapatkan nilai
terkecil dari data-data yang ada.
Syntax dasar :
SELECT MIN (column_name) FROM
table_name
Contoh:
SELECT MIN(harga) AS Harga_termurah
FROM order
Ø Sum()
Digunakan untuk mendapatkan nilai
total penjumlahan dari data-data yang ada.
Syntax dasar :
SELECT SUM (column_name) FROM
table_name
Contoh :
SELECT SUM(harga) AS Harga_total
FROM order
Ø Group By()
Digunakan untuk mengelompokkan data
dengan kriteria tertentu.
Syntax dasar :
SELECT
column_name,aggregate_function(column_name)
FROM table_name
WHERE column_name operator value
GROUP BY column_name
Contoh :
SELECT nama_customer,SUM(harga) FROM
order GROUP BY nama_customer
Ø Having()
Digunakan untuk memfilter data
dengan fungsi tertentu.
Syntax dasar :
SELECT
column_name,aggregate_function(column_name)
FROM table_name
WHERE column_name operator value
GROUP BY column_name
HAVING
aggregate_function(column_name) operator value
Contoh :
SELECT nama_customer,SUM(harga) FROM
order
WHERE nama_customer=’Arlicious’ OR
nama_customer=’Dvallen’
GROUP BY nama_customer
HAVING SUM (harga)>25000
Ø Ucase()
Digunakan untuk mengubah huruf pada
data tertentu menjadi huruf besar.
Syntax dasar :
SELECT UCASE (column_name) FROM
table_name
Contoh :
SELECT UCASE(nama) as Nama FROM
bukutamu
Ø Lcase()
Digunakan untuk mengubah huruf pada
data tertentu menjadi huruf kecil.
Syntax dasar :
SELECT LCASE (column_name) FROM
table_name
Contoh :
SELECT LCASE(nama) as Nama FROM
bukutamu
Ø Mid()
Digunakan untuk mengambil beberapa
karakter dari field teks.
Syntax dasar:
SELECT
MID(column_name,start[,length]) FROM table_name
Contoh:
SELECT MID (kota,1,4) as
singkatan_kota FROM
Buku tamu
Ø Len()
Digunakan unutk mendapatkan
informasi jumlah karakter dari field teks.
Syntax dasar:
SELECT LEN (column_name) FROM
table_name
Contoh:
SELECT LEN(nama) as panjang_nama
FROM bukutamu
Ø Round()
Digunakan untuk pembuatan bilangan
pecahan.
Syntax dasar:
SELECT ROUND (column_name,decimals)
FROM table_name
Contoh:
SELECT no_mhs, ROUND (nilai,0) as
nilai_bulat
FROM tnilai
Q. Daftar Perintah DDL pada MySQL 5.0
Berikut
adalah contoh perintah DDL yang digunakan pada MySQL. Klik pada link untuk
melihat rincian penggunaan dari perintah tersebut.
·
Pembuatan
(CREATE)
o CREATE
DATABASE
o CREATE
FUNCTION
o CREATE
TABLE
·
Perubahan
(ALTER & RENAME)
o ALTER DATABASE
o ALTER FUNCTION
o ALTER PROCEDURE
o ALTER TABLE
o ALTER VIEW
o RENAME
TABLE
·
Penghapusan
(DROP)
o DROP
DATABASE
o DROP FUNCTION
o DROP
INDEX
o DROP
PROCEDURE
o DROP
TABLE
o DROP TRIGGER
o DROP
VIEW
R. Macam-macam
dari perintah DML adalah:
1. Insert
: untuk memasukkan / menambahkan data baru INSERT INTO nama_table (nama_kolom)
values (values);
contoh –> insert
into mahasiswa (nim, nama, alamat, jurusan) values
(12345,’andhi’,’yogya’,’informatika’);
keterangan:
insert
into –> perintah untuk menambah data
mahasiswa
–> nama table yang akan ditambahkan datanya
nim,
nama, alamat, jurusan –> nama kolom dari table mahasiswa
12345,’andhi’,’yogya’,’informatika’
–> data yang dimasukkan ke dalam table mahasiswa (sesuai dengan urutan kolom
yang telah disebutkan sebelumnya)
nb:
untuk data yang bertipe karakter harus diapit tanda petik tunggal (‘ ‘)
2. Select
: untuk menyeleksi / memilih data yang akan ditampilkan SELECT * | {nama_kolom}
FROM nama_table [WHERE condition];
contoh –> select
nim, nama, jurusan from mahasiswa;
keterangan: perintah di
atas menampilkan data nim, nama dan jurusan pada table mahasiswa.
nb: untuk menampilkan
semua kolom dapat menggunakan tanda (*) contoh: select * from mahasiswa,
sedangkan jika ada syarat/kondisi untuk data yang akan ditampilkan dapat
menggunakan klausa where contoh: select nim, nama from mahasiswa where
nama=’andhi’
3. Update
: untuk membperbaharui data yang sudah ada UPDATE nama_table SET nama_kolom =
value [WHERE condition];
contoh –> update
mahasiswa set jurusan =’kedokteran’ where nama=’andhi’;
keterangan: perintah di
atas akan mengubah data mahasiswa yang bernama andhi dengan mengganti data pada
kolom jurusan, yang sebelumnya informatika menjadi kedokteran.
Nb: kita dapat mengubah
lebih dari satu kolom dalam satu perintah update contoh: update mahasiswa set
nim=45678, jurusan=’kedokteran’ where nama=’andhi’;
Perhatian : Jika kita
tidak menggunakan klausa where maka semua baris pada kolom yang akan di update
akan berubah.
4. Delete
: untuk menghapus baris data DELETE [FROM] nama_table [ WHERE condition];
contoh –> delete
mahasiswa where nama=’andhi’;
keterangan: perintah di
atas menghapus baris data pada tabel mahasiswa yang bernaa andhi
Perhatian : Jika tidak
menggunakan klausa where maka semua baris data pada tabel tersebut akan
dihapus.
Database
MySQL diperuntuhkkan untuk PHP, dengan kata lain, pengaksesan melalui jaringan
adalah fitur utama dari database ini. Pengaksesan melalui jaringan pada
prinsipnya MySQL dijalankan di server (Server
Side) sehingga hak akses yang digunakan sebenarnya lokal. Hal yang
berbeda kalau kita ingin mengakses database tersebut secara Client Side.
Misalnya
ingin mengakses database dari sebuah PC dengan menggunakan Visual Basic. Kita harus
mempersiapkan MySQL yang bisa
menggunakan jaringan.
Untuk
kegiatan ini diperlukan requirement sebagai berikut:
- Antar muka MySQL seperti PHPMyAdmin
- Windows XP di Server (dan akses ke control panelnya)
Sedangkan
Langkah-langkah yang harus kita lakukan adalah:
- Atur firewall komputer server
- Menambahkan user MySQL untuk komputer klien
T.
Atur firewall komputer server
untuk melakukan
langkah ini, anda bisa membuka Control Panel, dengan mengklik Start > Control Panel > Network
Connections. Pada bagian kiri dari control panel klik Change
Windows Firewall Setting (lihat gambar di bawah ini).
Selanjutnya
dari tab yang ada pilih Exception.
Kemudian klik Add Program untuk
menambahkan program MySQL. Pada jendela Add Program Klik tombol Browse dan telusuri file mysql-nt di folder \Mysql\bin, seperti
di C:\Appserv\mysql\bin atau di C:\xampp\mysql\bin. lihat contoh
gambar berikut:
Langkah
yang kita lakukan diatas adalah untuk membuat windows Firewall mengizinkan
mysql untuk berkomunikasi dengan jaringan tanpa di blok. Dan kita bisa k tahap
selanjutnya!
U. Menambahkan user MySQL untuk komputer klien
Menambahkan
user berarti kita perlu perangkat pengelola MySQL seperti phpmyadmin dalam
gambar saya menggunakan phpMyAdmin - 2.10.3. Buka Localhost\phpmyadmin di browser komputer anda, dan klik Privileges seperti gambar
dibawah. Privileges adalah pengaturan user di MySQL, siapa yang berhak
mengakses dan hak apa saja yang mereka miliki, bisa mengakses dari komputer
mana saja dan seterusnya.
Pada
privileges, ternyata ada 3 user root yang bisa mengakses database dari
127.0.0.1, localhost dan production.mysql.com. 127.0.0.1 dan localhost menunjuk
pada komputer itu sendiri. sedangkan production.mysql.com mungkin untuk
kepentingan pengembang MySQL, saya kurang tahu. Nah disinilah kita akan
menambahkan 1 user lagi dengan klien yang bebas. Klik Add New User untuk menambahkan user baru.
Berdasarkan
layar input yang muncul berikutnya, isikan nama user dengan root, kemudian kosongkan bagian host
dengan combo Any host terpilih
seperti gambar dibawah. tambahkan password dan pada Global Privileges klik pada link Check All untuk memberikan semua akses pada root tersebut.
Setelah
proses produksi selesai, user root jaringan ini sebaiknya anda ganti dengan
user yang lebih terbatas kemampuannya, karena bisa mengakses root berarti bisa
mengakses semua sumberdaya MySQL anda.
V. Keterangan Data Type MySQL (Indonesia)
Kuliah
pertemuan Kedua (Basis Data) Membahas mengenai kesulitan - kesulitan yang di
hadapi ketika mengerjakan Tugas Basis Data (Part1) ternyata salah satu yang di
tanyakan adalah tentang Data Type. dalam postingan kali ini akan menjelaskan
mengenai Keterangan dari masing - masing Data Type.
Seperti
halnya dengan DBMS (Database Management System) maupun RDBMS
( Relasional Database Manajemen Sistem ) lainnya, MySQL juga memiliki tipe data
untuk melakukan pengaturan record data yang ditanganinya. Untuk itu, Anda dapat
melihat daftar dan penjelasannya pada ketiga tabel berikut:
1.
Tipe Data Numerik
Tipe data numerik
berisi sekumpulan tipe data sejenis yang mampu menangani data-data numerik.
Berikut ini beberapa tipe data yang digunakan dalam MySQL.
Tabel 1.1 Daftar Tipe Data Numerik
Tabel 1.1 Daftar Tipe Data Numerik
Type |
Bytes
|
Keterangan
|
TINYINT
|
1 |
Type
ini merupakan bentuk numerik yang paling kecil dalam menangani data di
dalamnya, yang dapat menangani data mulai dari anggka –128 sampai
dengan 127.
|
SMALLINT
|
2 |
Memiliki
kemampuan menyimpan data lebih besar dari TINYINT, yaitu mampu untuk
menangani data mulai dari -32768 sampai dengan 32767.
|
MEDIUMINT
|
3 |
Mampu
menangani data mulai dari -8388608 sampai dengan 8388607.
|
INT
|
4 |
Type
INT merupakan type yang sangat sering digunakan dalam pembuatan database,
karena type ini dirasakan sangat cukup menampung dalam menangani data, yaitu
mampu menyimpan data mulai dar i-2147483648 sampai 2147483647.
|
BIGINT
|
8 |
Bentuk
terbesar dalam menangani data Numerik, mampu menangani data mulai dari
-9223372036854775808 sampai 9223372036854775807.
|
2.
Tipe Data untuk Penanggalan dan Waktu
Untuk menangani
data-data yang berkaitan dengan waktu dan penanggalan, Anda dapat melihat
beberapat tipe pada tabel berikut:
Tabel 2.2 Daftar Tipe Data Tanggal dan Waktu
Type |
Keterangan
|
DATETIME
|
Bentuk
ini dapat menyimpan dua buah bentuk type data sekaligus, yaitu penanggalan
dan waktu. Bentuk yang dapat diciptakan oleh DATETIME adalah '0000-00-00
00:00:00'. '0000-00-00’ merupakan bentuk penanggalan yang dimulai dari tahun,
bulan, dan tanggal. Sedangkan 00:00:00 adalah tempat menyimpan waktu atau
jam. Misalnya: ‘2004-06-22 08:15:45’.
|
DATE
|
Bentuk
ini digunakan untuk menyimpan data penanggalan saja, dengan bentuk penulisan
'0000-00-00'. Penggunaan ini mirip seperti pada DATETIME, hanya saja yang ditampilkan
hanya penanggalan saja. Misalnya, ‘2004-06-22’.
|
TIMESTAMP
|
Bentuk
penanggalan dengan TIMESTAMP ditampilkan berjajar tanpa ada pembatasnya,
dengan bentuk penulisan 00000000000000 .
|
TIME
|
Bentuk
TIME hanya digunakan untuk menyimpan data berbentuk jam. Yaitu dimulai dari
tahun yang dibaca dari dua karakter terakhir dan selanjutnya diikuti bulan
dan tanggal .bentuk penulisanya adalah '00:00:00' . pada prototype pewaktuan
tersebut dapat dijabarkan bahwa 00 perma adalah jam yang diikuti menit dan detik.
Contoh 08:35:55 .
|
YEAR
|
Bentuk
yang paling sederhana adalah YEAR yang hanya menyimpan data berupa tahun
saja. Ditulis secara lengkap 4 digit, misalnya: 2004 atau 1999 .
|
3.
Tipe Data String
Dengan menyesuaikan
banyaknya data, MySQL telah membagi datanya menjadi beberapa tipe, sehingga
penggunaannya dapat disesuaikan. Perhatikan tabel berikut:
Tabel 3.3 Daftar Tipe Data String
Tabel 3.3 Daftar Tipe Data String
Type |
Bytes
|
Keterangan
|
TINYTEXT
|
255 |
Type
ini merupakan bentuk terkecil dari data String, yang mampu manangani data
sampai dengan 2^8-1 data .
|
TINYBLOB
|
255 |
Bentuk
TINYTEXT adalah bentuk yang sama dengan TINYBLOB , yaitu mampu menangani data
sampai dengan 2^8-1 data .
|
TEXT
|
65535 |
Bentuk
TEXT salah satu bentuk type String yang mampu menangani data sampai
dengan berukuran 2^16-1 (64K-1) data.
|
BLOB
|
65535 |
Memiliki
kemampuan sama dengan TEXT, yaitu sampai dengan 2^16-1 (64K-1) data.
|
MEDIUMTEXT
|
16777215 |
Dapat
menyimpan data dengan ukuran cukup besar, sampai dengan 2^24-1 (16M-1) data .
|
MEDIUMBLOB
|
16777215 |
Bentuk
MEDIUMTEXT dapat Anda ganti dengan bentuk data MEDIUMBLOB, yang mampu
menyimpan data sampai dengan 2^24-1 (16M-1) data.
|
LONGBLOB
|
4294967295 |
Type
data LONGBLOB adalah bentuk Type data yang paling besar dalam menangani data.
Data yang disimpan sampai dengan berukuran Giga Byte. Type ini memiliki
batasan penyimpanan sampai dengan 2^32-1 (4G-1) data.
|
Tabel 4.4
Daftar Tipe Data String yang Sering Digunakan
Type |
Keterangan
|
VARCHAR
|
Bentuk
ini dapat menyimpan data sampai dengan 225 karakter. Anda dapat menggunakan
type ini apabila data yang dimasukan tidak lebih dari batasan tersebut.
|
CHAR
|
Bentuk
CHAR hamper sama dengan VARCHAR, mampu menangani data sampai dengan 225
karakter. Namun, kedua type tersebut sangat signifikan dalam menyimpan data.
Misalnya, Anda membuat kolom dengan Type VARCHAR(25). Meskipun Anda memasukan
data kurang dari 25 digit, tetap dibaca sebanyak digit yang dimasukkan.
Namun, jika Anda menggunakan type data CHAR(4), meskipun Anda memasukkan digit kurang dari 4, akan tetap dibaca 4 digit. |
ENUM
|
Digunakan
untuk validasi. Type data seperti ini, biasanya, kolom ditentukan terlebih
dahulu. Misalnya, pada pembuatan kolom yang isinya mengenai golongan darah A,
B, AB, dan O, bentuk penulisanya adalah ENUM(‘A’,’B’,’AB’,’O’).
Jika memasukkan data tidak sesuai criteria, akan terjadi kesalahan atau tidak bisa dibaca (kosong). |
SET
|
Type
data SET sebenarnya memiliki fungsi yang sama dengan type ENUM, yaitu dengan
mendeklarasikan anggota dari isi kolom yang mungkin akan menjadi anggotanya.
|
W. Sistem Keamanan pada MySQL
Untuk keamanan pada MySQL, kita harus mengatur hak akses (privilage) dari setiap user karena tidak semua user dibolehkan untuk mengakses data yang ada.
Cara
kerja sistem privilege :
Sistem
privilege MySQL memastikan bahwa user dapat melakukan hanya hal-hal yang
diperbolehkan untuk mereka. Ketika anda connect ke server MySQL, identitas anda
ditentukan oleh host tempat anda melakukan koneksi dan username yang anda ingin
gunakan. Sistem memberi privilege sesuai dengan identitas anda dan apa yang
ingin ada lakukan.
MySQL
mempertimbangkan baik hostname dan username dalam mengidentifikasi karena
mungkin ada alasan untuk menganggap bahwa username yang diberikan adalah milik
orang yang sama dimanapun di Internet. Sebagai contoh, user bill yang connect
dari whitehouse.gov tidak harus orang yang sama dengan user bill yang connect
dari microsoft.com. MySQL menangani hal ini dengan mengijinkan anda untuk
menentukan user dari host yang berbeda yang mungkin namanya sama : anda dapat
memberi bill sebuah himpunan privilege untuk koneksi dari whitehouse.gov, dan
himpunan privilege yang lain untuk koneksi dari microsoft.com.
Kendali
akses MySQL melibatkan dua tingkat:
Ø
Tingkat
1: server mengecek apakah anda diijinkan untuk connect ke server.
Ø Tingkat 2: Dianggap anda dapat connect,
server mengecek tiap permintaan yang anda jalankan untuk melihat apakah
privilege anda cukup untuk menjalankannya. Contohnya, jika anda mencoba untuk
memilih baris dari tabel dalam database atau menghapus sebuah tabel dari
database, server memastikan bahwa anda memiliki privilege select untuk tabel
tersebut atau privilege drop untuk database.
Dalam
database mysql terdapat lima buah tabel yang dapat digunakan untuk mengatur
user dan izin akses masing-masing user-user privileges Yaitu : user, db, host,
tables_priv dan columns_priv. Kelima tabel ini disebut grant tables.
Fungsi dari kelima tabel tersebut :
a)
User
: Berisi data user yang mendapatkan izin akses MySQL, asal koneksi dan izin
akses kepada user Tingkatan akses : Global
b)
Db
:Mengatur database apa saja yang dapat diakses oleh seorang user dan jenis izin
aksesnya Tingkatan akses : Database
c)
Host
: Mengatur asal host yang diperkenankan bagi user untuk mengakses MySQL, jika
lebih dari satu host. Tingkatan akses : Database
d)
tables_priv
: Mengatur tabel apa saja yang dapat diakses oleh seorang user dan jenis izin
aksesnya Tingkatan akses : Tabel
e) columns_priv : Mengatur kolom (field)
apa saja yang dapat diakses oleh seorang user dan jenis izin aksesnya Tingkatan
akses : Kolom – field.
Jenis
Izin Akses User - User Privileges
Izin
akses bagi user terdirli dari tiga bagian, yaitu :
1. Tingkatan akses user biasa
Mencakup
izin akses kedalam database atau kolom, yaitu :
a. ALTER
b. CRETATE
c. DELETE
d. DROP
e. INDEX
f. INSERT
g. SELECT
h. UPDATE
i. REFERENCES
2. Tingkatan akses administrator
- Global administrative
Hanya digunakan oleh user setingkat
root atau administrator dan tidak diberikan kepada user biasa, yaitu :
a. FILE
b. PROCESS
c. RELOAD
d. SHUTDOWN
e. CREATE TEMPORARY TABLE
f. EXCUTE
g. LOCK TABLES
h. REPLICATION CLIENT
l. REPLICATION SLAVE
j. SHOW DATABASES
k. SUPER
3. Tingkatan Akses khusus —
Special privileges
Dapat diterapkan pada setiap user dengan
izin akses sebagai berikut :
a. ALL
b. USAGE
Memberikan
Password Untuk Root Dapat dilakukan dengan perintah Update. update user set
password:password(’xxxxxxxxxx’)
where
user=’root’ ;
Lanjutkan
dengan perintah FLUSH
flush
privileges
Fungsl
flush :
Mysql
membaca grant tables hanya satu kali pada saat server pertama kali dijalankan,
perintah flush akan memerintahkan kepada sistem untuk membaca ulang kelima
grant tables tanpa harus merestart server mysql.
1. Perintah GRANT
Grant
merupakan perintah untuk memberikan hak izin akses bagi user di MySQL agar
dapat mengakses database, tabel dan kolom. Selain itu juga dapat menambahkan
user baru dengan perintah Grant ini. Ada hal yang harus diperhatikan jika
melakukan perubahan izin akses pada user MySQL yang masih aktif bekerja tidak
langsung bisa menerapkan perubahan meski sudah melakukan flush privileges.
Konfigurasi ini berlaku ketika user sudah menutup koneksi kemudian melakukan
koneksi kembali. Izin akses penuh ini digunakan untuk mengakses seluruh
database dalam server.
Bentuk umum :
GRANT jenis_akses
(nama_kolom) ON nama_database
TO nama_user IDENTIFIED
BY ”nama_password”
[WITH GRANT pilihan_akses]
Perintah
diatas akan memberikan izin akses penuh setara dengan root. Sebaiknya hal ini
tidak boleh dilakukan.Option Identified By nama password akan menerapkan user
tersebut agar tetap memasukkan password saat mengakses database. Jika anda
tidak memberikan option password maka user tersebut dapat mengakses database
tanpa password.
Penyertaan With Grand Option akan
memberikan hak penuh pada user sehingga user tersebut juga mampu melakukan
perintah Grant tertentu pada user lainnya. Namun terdapat kekurangan ketika
kita sebelumnya tidak memilih database MySQL maka server akan mengabaikan akses
Reload, Shutdown, Process, File dan Grant.
2. Perintah
REVOKE
Revoke
merupakan kebalikan dari perintah grant yaitu menghapus atau mencabut kembali
izin akses user MySQL yang sebelumnya telah diberikan. Tingkat pilihan yang
dapat digunakan juga sama dengan perintah grant sehingga semua izin akses
dengan grant dapat dicabut kembali.
Bentuk
umum :
REVOKE jenis_akses ON nama_database
FROM nama_user
Perintah
diatas membuat salah satu user tidak mempunyai izin akses lagi. Meski sudah
dicabut aksesnya user tersebut masih dapat login ke database MySQL tapi tidak
perlu khawatir karena user tersebut tidak bisa berbuat apa-apa lagi.
3. Menghapus Akses Database
mysql> revoke all on nm_db.nm_tbl
from nm_user@localhost identified by ‘nm_passwd’;
Perintah diatas izin akses user pada
tabel tertentu telah dicabut sehingga tidak bisa mengakses kembali.
4. Menghapus Akses Kolom
mysql> revoke update(nama) on
nm_db.nm_tbl from nm_user@localhost identified by ‘nm_passwd’;
Perintah diatas akan mencabut akses
untuk kolom yang telah ditentukan sebelumnya.
X. SISTEM KEAMANAN PADA PostgreSQL
PostgreSQL merupakan salah satu database
yang memiliki kinerja yang sangat tinggi, karena telah didukung hampir berbagai
platform dan didukung oleh banyak bahasa pemrograman. PostgreSQL juga memiliki
dukungan standar SQL92, SQL99, dan SQL2003 yang digunakan untuk standar bahasa
yang digunakan. Oleh karena itu, PostgreSQL juga memilki sebuah fitur yang
berguna untuk menangani dalam hal keamanan data. Adapun keamanan yang dimiliki
untuk Keamanan PostgreSQL mulai dari Keamanan Saat Menjalankan PostgreSQL,
User, Password dan Hak Akses dalam PostgreSQL, File pg_hba.conf
Data Encryption:
Pada
Server Database PostgreSQL, memiliki suatu fitur kriptografi yang hanya
terbatas pada MD5 dan fungsi enkripsi dan deskripsi. Fitur – fitur yang
biasanya terdapat pada kriptografi biasanya adalah:
Ø
MD5,
yakni semacam cara mengenkripsi password yang disimpan di dalam storage yang
melintasi suatu jaringan tertentu, sehingga mengakibatkan seorang admin tidak
akan mengetahui password user yang telah disimpan.
Ø
SHA1,
semacam fitur hashing yang berguna untuk melindungi password diambil oleh user
yang tidak berhak mengakses database.
Ø
SHA224/256/384/512
Ø
Blowfish
Ø ES/3DES/CAST5*
Ø
PGP
Symmetric encryption
Ø PGP Public-Key encryption, yakni suatu
cara mengenkripsi data pada saat melintasi jaringan dengan menggunakan openSSL,
sehingga data tersebut berupa suatu password ataupun data hasil query.
Otentikasi SSL adalah ketika sertifikat pertukaran client dan server yang telah
ditandatangani oleh pihak ketiga yang telah dipertanyakan kredensial. Sambungan
ditolak baik oleh server atau client bila tidak menerima sertifikat yang sah
dari yang lain.
Authentication :
Otentikasi adalah merupakan sebuah proses
dimana server backend dan postmaster memastikan bahwa pengguna meminta
akses ke data. Semua user yang memakai PostgreSQL diperiksa melalui pg_user untuk memastikan bahwa mereka mempunyai
hak akses. Namun, verifikasi identitas pengguna yang
sebenarnya dilakukan dalam berbagai cara,
yaitu:
Ø
Dari
shell pengguna: Sebuah server backend dimulai dari user shell, user-id sebelum melakukan setuid ke user-id dari user postgres. User id-efektif digunakan sebagai dasar untuk cek kontrol akses. Tidak
ada otentikasi lainnya
yang dilakukan.
Ø Dari jaringan: PostgreSQL dibangun sebagai database
distribusi, akses
ke port TCP Internet dari
proses postmaster tersedia
untuk setiap
user. DBA mengkonfigurasi file pg_hba.conf dalam direktori PGDATA untuk menentukan sistem
otentikasi apa
yang akan digunakan
sesuai dengan host pembuat koneksi. pg_hba.conf untuk
penjelasan tentang sistem otentikasi yang
tersedia. Tentu
saja, otentikasi berbasis
host tidak bisa
dikelabui di Unix. Hal
ini dimaksudkan agar jika
penyusup bertekad ingin
mengetahui informasi dari
host. Isu-isu keamanan berada
di luar lingkup Postgres.
Privileges:
Pada PostgreSQL juga
memiliki hak akses (privilage) dari setiap user karena tidak semua user
dibolehkan untuk mengatur akses data yang ada. PostgreSQL juga sama dengan
MySQl yaitu menggunakan perintah Grant, selanjutnya untuk peran biasa, pengguna
biasa dapat:
Ø
Mengakses
database apabila cluster data menggunakan kebijakan otentikasi standar seperti
yang dijelaskan dalam pg_hba.conf.
Ø
Membuat
objek dalam skema PUBLIC dari setiap database pengguna dapat mengakses.
Ø
Buat
sesi (sementara) obyek dalam sesi sementara, seperti skema
Ø
Alter
parameter runtime.
Ø
Membuat
fungsi yang ditetapkan pengguna.
Ø Jalankan ditetapkan pengguna fungsi yang
dibuat oleh pengguna lain dalam skema PUBLIK (selama mereka berinteraksi hanya
dengan benda-benda yang pengguna telah diberikan hak untuk mengakses).
Adapun perintah user
biasa hanya bermaksud untuk melaksanakan perintah-perintah yang memanipulasi
data menggunakan perintah
INSERT
, UPDATE
, dan DELETE
. Namun, tindakan ini dikarenakan skema
UMUM terbuka untuk semua.
Menjadikan para
pengguna dapat menambahkan data yang ada di tabel, bahkan mungkinkan untuk
memodifikasinya dengan menambahkan aturan dan dapat, menyimpan data dalam tabel
yang terletak dalam skema PUBLIC, yang kemudian bisa di akses.
PostgreSQL juga memiliki control dasar yang bernama
control access-Host, dimana pada setiap cliet diijinkan untuk mengakses suatu
database dan client tersebut dapat mengotentikasikannya sendiri.
Dimana setiap sistem database akan berisi sebuah
file yang bernama pg_hba.conf yang akan di akses ole setiap client. Adapun
metode otentikasi pada TCP/IP socket domain, yakni :
1.
Unconditionally
: yakni sambungan diperbolehkan.
2.
Reject
: sambungan ditolak tanpa syarat.
3.
Crypt
: Client diminta untuk memasukkan password untuk memastikan, kalau cocok maka
sambungan akan diperbolehkan.
4. Password : hampir sama dengan sebelumnya
BAB
III
PENUTUP
A. Kesimpulan
SQL (Structured Query Language) adalah sebuah bahasa
yang digunakan 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), namun secara umum implementasi tiap bahasa
ini memiliki bentuk standar yang ditetapkan ANSI.
B. Saran
MySQL merupakan database yang sangat cepat, dapat
diandalkan dan mudah untuk digunakan. Jika hal itu
yang anda cari maka anda harus mencobanya. Selain itu, source programnya pun dapat anda dapatkan secara gratis
dan syntax - syntaxnya mudah untuk dipahami dan tidak rumit serta
pengaksesan database dapat dilakukan dengan mudah dan cepat.
DAFTAR
PUSTAKA
blog yang lengkap..
BalasHapussangat membantu.. thankz banget ya (Y)
sangat membant..terima kasih
BalasHapussangat berkesan,, terima kasih.
BalasHapusterimakasih ,informasinya bermanfaat sekali :)
BalasHapusMy blog
sangat bermanfaat,thanks
BalasHapusMy blog
Terimakasih.. sangat bermanfaat..
BalasHapusKunjungi my blog