Top Banner
Modul praktek database Mysql 2014 MODUL PRAKTEK DATABASE created by : Kom E‟ 13 Asri Muharina (132406060) Asri widyadhari (132406210) Nia Aulia sitorus (132406214) Sheila Ulfa H (132406215) D3 Teknik informatika,Universitas Sumatera Utara
28

modul pembelajaran sistem database Mysql

Feb 22, 2023

Download

Documents

Ara Auza
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: modul pembelajaran sistem database Mysql

Modul praktek database Mysql

2014

MODUL

PRAKTEK

DATABASE

created by : Kom E‟ 13

Asri Muharina (132406060)

Asri widyadhari (132406210)

Nia Aulia sitorus (132406214)

Sheila Ulfa H (132406215)

D3 Teknik informatika,Universitas Sumatera Utara

Page 2: modul pembelajaran sistem database Mysql

Modul praktek database Mysql

2014

BAB 1

PENGENALAN DATABASE

Sejarah MySQL

MySQL pada awalnya diciptakan pada tahun 1979, oleh Michael "Monty" Widenius, seorang

programmer komputer asal Swedia. Monty mengembangkan sebuah sistem database

sederhana yang dinamakan UNIREG yang menggunakan koneksi low-level ISAM database

engine dengan indexing. Pada saat itu Monty bekerja pada perusahaan bernama TcX di

Swedia.

TcX pada tahun 1994 mulai mengembangkan aplikasi berbasis web, dan berencana

menggunakan UNIREG sebagai sistem database. Namun sayangnya, UNIREG dianggagap

tidak cocok untuk database yang dinamis seperti web.

TcX kemudian mencoba mencari alternatif sistem database lainnya, salah satunya adalah

mSQL (miniSQL). Namun mSQL versi 1 ini juga memiliki kekurangan, yaitu tidak

mendukung indexing, sehingga performanya tidak terlalu bagus.

Dengan tujuan memperbaiki performa mSQL, Monty mencoba menghubungi David Hughes

(programmer yang mengembangkan mSQL) untuk menanyakan apakah ia tertarik

mengembangkan sebuah konektor di mSQL yang dapat dihubungkan dengan UNIREG ISAM

sehingga mendukung indexing. Namun saat itu Hughes menolak, dengan alasan sedang

mengembangkan teknologi indexing yang independen untuk mSQL versi 2.

Dikarenakan penolakan tersebut, David Hughes, TcX (dan juga Monty) akhirnya

memutuskan untuk merancang dan mengembangkan sendiri konsep sistem database baru.

Sistem ini merupakan gabungan dari UNIREG dan mSQL (yang source codenya dapat bebas

digunakan). Sehingga pada May 1995, sebuah RDBMS baru, yang dinamakan MySQL

dirilis.

David Axmark dari Detron HB, rekanan TcX mengusulkan agar MySQL di „jual‟ dengan

model bisnis baru. Ia mengusulkan agar MySQL dikembangkan dan dirilis dengan gratis.

Page 3: modul pembelajaran sistem database Mysql

Modul praktek database Mysql

2014

Pendapatan perusahaan selanjutnya di dapat dari menjual jasa “support” untuk perusahaan

yang ingin mengimplementasikan MySQL. Konsep bisnis ini sekarang dikenal dengan istilah

Open Source.

Pada tahun 1995 itu juga, TcX berubah nama menjadi MySQL AB, dengan Michael

Widenius, David Axmark dan Allan Larsson sebagai pendirinya. Titel “AB” dibelakang

MySQL, adalah singkatan dari “Aktiebolag”, istilah PT (Perseroan Terbatas) bagi perusahaan

Swedia.[3]

MySQL adalah Sebuah program database server yang mampu menerima dan

mengirimkan datanya sangat cepat, multi user serta menggunakan peintah dasar SQL (

Structured Query Language ).

MySQL Merupakan sebuah database server yang free, artinya kita bebas

menggunakan database ini untuk keperluan pribadi atau usaha tanpa harus membeli atau

membayar lisensinya. MySQL pertama kali dirintis oleh seorang programmer database

bernama Michael Widenius . Selain database server, MySQl juga merupakan program yang

dapat mengakses suatu database MySQL yang berposisi sebagai Server, yang berarti program

kita berposisi sebagai Client. Jadi MySQL adalah sebuah database yang dapat digunakan

sebagai Client mupun server

Keistimewaan MySQL

MySQL memiliki beberapa keistimewaan, antara lain :

1. Portabilitas. MySQL dapat berjalan stabil pada berbagai sistem operasi seperti

Windows, Linux, FreeBSD, Mac Os X Server, Solaris, Amiga, dan masih banyak

lagi.

2. Perangkat lunak sumber terbuka. MySQL didistribusikan sebagai perangkat lunak

sumber terbuka, dibawah lisensi GPL sehingga dapat digunakan secara gratis.

3. Multi-user. MySQL dapat digunakan oleh beberapa pengguna dalam waktu yang

bersamaan tanpa mengalami masalah atau konflik.

4. 'Performance tuning', MySQL memiliki kecepatan yang menakjubkan dalam

menangani query sederhana, dengan kata lain dapat memproses lebih banyak SQL per

satuan waktu.

Page 4: modul pembelajaran sistem database Mysql

Modul praktek database Mysql

2014

5. Ragam tipe data. MySQL memiliki ragam tipe data yang sangat kaya, seperti signed

/ unsigned integer, float, double, char, text, date, timestamp, dan lain-lain.

6. Perintah dan Fungsi. MySQL memiliki operator dan fungsi secara penuh yang

mendukung perintah Select dan Where dalam perintah (query).

7. Keamanan. MySQL memiliki beberapa lapisan keamanan seperti level subnetmask,

nama host, dan izin akses user dengan sistem perizinan yang mendetail serta sandi

terenkripsi.

8. Skalabilitas dan Pembatasan. MySQL mampu menangani basis data dalam skala

besar, dengan jumlah rekaman (records) lebih dari 50 juta dan 60 ribu tabel serta 5

miliar baris. Selain itu batas indeks yang dapat ditampung mencapai 32 indeks pada

tiap tabelnya.

9. Konektivitas. MySQL dapat melakukan koneksi dengan klien menggunakan protokol

TCP/IP, Unix soket (UNIX), atau Named Pipes (NT).

10. Lokalisasi. MySQL dapat mendeteksi pesan kesalahan pada klien dengan

menggunakan lebih dari dua puluh bahasa. Meski pun demikian, bahasa Indonesia

belum termasuk di dalamnya.

11. Antar Muka. MySQL memiliki antar muka (interface) terhadap berbagai aplikasi dan

bahasa pemrograman dengan menggunakan fungsi API (Application Programming

Interface).

12. Klien dan Peralatan. MySQL dilengkapi dengan berbagai peralatan (tool)yang dapat

digunakan untuk administrasi basis data, dan pada setiap peralatan yang ada

disertakan petunjuk online.

13. Struktur tabel. MySQL memiliki struktur tabel yang lebih fleksibel dalam

menangani ALTER TABLE, dibandingkan basis data lainnya semacam PostgreSQL

ataupun Oracle.

Bahasa pemrograman

Terdapat beberapa API (Application Programming Interface) tersedia yang memungkinkan

aplikasi-aplikasi komputer yang ditulis dalam berbagai bahasa pemrograman untuk dapat

mengakses basis data MySQL antara lain: bahasa pemrograman C, C++, C#, bahasa

pemrograman Eiffel, bahasa pemrograman Smalltalk, bahasa pemrograman Java, bahasa

pemrograman Lisp, Perl, PHP, bahasa pemrograman Python, Ruby, REALbasic dan Tcl.

Sebuah antarmuka ODBC memanggil MyODBC yang memungkinkan setiap bahasa

Page 5: modul pembelajaran sistem database Mysql

Modul praktek database Mysql

2014

pemrograman yang mendukung ODBC untuk berkomunikasi dengan basis data MySQL.

Kebanyakan kode sumber MySQL dalam ANSI C.

Penggunaan

MySQL sangat populer dalam aplikasi web seperti MediaWiki (perangkat lunak yang dipakai

Wikipedia dan proyek-proyek sejenis) dan PHP-Nuke dan berfungsi sebagai komponen basis

data dalam LAMP. Popularitas sebagai aplikasi web dikarenakan kedekatannya dengan

popularitas PHP, sehingga seringkali disebut sebagai Dynamic Duo.

Tipe – tipe Data pada MySQL

<p>Your browser does not support iframes.</p>

Macam-macam Tipe Data pada MySQL (Mai Se Kuel) sebenarnya mempunyai beberapa

jenis, secara umum tipe-tipe data MySQL ini ada empat (4), diantaranya yaitu:

1. Tipe Data Numeric.

2. Tipe Data String.

3. Tipe Data Date.

4. Tipe Data Kelompok Himpunan.

Jenis-jenis tipe data pada MySQL diatas merupakan tipe data yang harus kita pelajari dimana

kita sedang belajar Database, karena sebagai modal awal dalam pembelajaran Database

menggunakan MySQL, maka lebih baik kita harus tahu dan mengerti masing-masing

kegunaan tipe-tipe data pada MySQL tersebut.

Page 6: modul pembelajaran sistem database Mysql

Modul praktek database Mysql

2014

Tipe Data Numeric

Tipe data numerik yaitu tipe data yang digunakan untuk menyimpan data numeric (angka).

1. TINYINT

Penggunaan : digunakan untuk menyimpan data bilangan bulat positif dan negatif.

Jangkauan : -128 s/d 127

Ukuran : 1 byte (8 bit).

2. SMALLINT

Penggunaan : digunakan untuk menyimpan data bilangan bulat positif dan negatif.

Jangkauan : -32.768 s/d 32.767

Ukuran : 2 byte (16 bit).

3. MEDIUMINT

Penggunaan : digunakan untuk menyimpan data bilangan bulat positif dan negatif.

Jangkauan : -8.388.608 s/d 8.388.607

Ukuran : 3 byte (24 bit).

4. INT

Penggunaan : digunakan untuk menyimpan data bilangan bulat positif dan negatif.

Jangkauan : -2.147.483.648 s/d 2.147.483.647

Ukuran : 4 byte (32 bit).

Page 7: modul pembelajaran sistem database Mysql

Modul praktek database Mysql

2014

5. BIGINT

Penggunaan : digunakan untuk menyimpan data bilangan bulat positif dan negatif.

Jangkauan : ± 9,22 x 1018

Ukuran : 8 byte (64 bit).

6. FLOAT

Penggunaan : digunakan untuk menyimpan data bilangan pecahan positif dan negatif presisi

tunggal.

Jangkauan : -3.402823466E+38 s/d -1.175494351E-38, 0, dan

1.175494351E-38 s/d 3.402823466E+38.

Ukuran : 4 byte (32 bit).

7. DOUBLE

Penggunaan : digunakan untuk menyimpan data bilangan pecahan positif dan negatif presisi

ganda.

Jangkauan : -1.79...E+308 s/d -2.22...E-308, 0, dan 2.22...E-308 s/d 1.79...E+308.

Ukuran : 8 byte (64 bit).

8. REAL

Penggunaan : digunakan untuk menyimpan data bilangan pecahan positif dan negatif presisi

ganda.

Jangkauan : -1.79...E+308 s/d -2.22...E-308, 0, dan 2.22...E-308 s/d 1.79...E+308.

Ukuran : 8 byte (64 bit).

9. DECIMAL

Penggunaan : digunakan untuk menyimpan data bilangan pecahan positif dan negatif.

Jangkauan : -1.79...E+308 s/d -2.22...E-308, 0, dan 2.22...E-308 s/d 1.79...E+308.

Ukuran : 8 byte (64 bit).

10. NUMERIC

Penggunaan : digunakan untuk menyimpan data bilangan pecahan positif dan negatif.

Jangkauan : -1.79...E+308 s/d -2.22...E-308, 0, dan 2.22...E-308 s/d 1.79...E+308.

Ukuran : 8 byte (64 bit).

Page 8: modul pembelajaran sistem database Mysql

Modul praktek database Mysql

2014

----------------------------------------------------------------------------------------------------------------

------------------

Tipe Data Date dan Time

Tipe data date dan time yaitu tipe data yang digunakan untuk menyimpan data tanggal dan

waktu.

1. DATE

Penggunaan : digunakan untuk menyimpan data tanggal.

Jangkauan : 1000-01-01 s/d 9999-12-31 (YYYY-MM-DD)

Ukuran : 3 byte.

2. TIME

Penggunaan : digunakan untuk menyimpan data waktu.

Jangkauan : -838:59:59 s/d +838:59:59 (HH:MM:SS)

Ukuran : 3 byte.

3. DATETIME

Penggunaan : digunakan untuk menyimpan data tanggal dan waktu.

Jangkauan : '1000-01-01 00:00:00' s/d '9999-12-31 23:59:59'

Ukuran : 8 byte.

4. YEAR

Penggunaan : digunakan untuk menyimpan data tahun dari tanggal.

Jangkauan : 1900 s/d 2155

Ukuran : 1 byte.

----------------------------------------------------------------------------------------------------------------

------------------

Tipe Data String (Text)

Page 9: modul pembelajaran sistem database Mysql

Modul praktek database Mysql

2014

Tipe data string yaitu tipe data yang digunakan untuk menyimpan data string (text).

1. CHAR

Penggunaan : digunakan untuk menyimpan data string ukuran tetap.

Jangkauan : 0 s/d 255 karakter

2. VARCHAR

Penggunaan : digunakan untuk menyimpan data string ukuran dinamis.

Jangkauan : 0 s/d 255 karakter (versi 4.1), 0 s/d 65.535 (versi 5.0.3)

3. TINYTEXT

Penggunaan : digunakan untuk menyimpan data text.

Jangkauan : 0 s/d 255 karakter (versi 4.1), 0 s/d 65.535 (versi 5.0.3)

4. TEXT

Penggunaan : digunakan untuk menyimpan data text.

Jangkauan : 0 s/d 65.535 (216 - 1) karakter

5. MEDIUMTEXT

Penggunaan : digunakan untuk menyimpan data text.

Jangkauan : 0 s/d 224 - 1 karakter

6. LONGTEXT

Penggunaan : digunakan untuk menyimpan data text.

Jangkauan : 0 s/d 232 - 1 karakter

----------------------------------------------------------------------------------------------------------------

------------------

Tipe Data BLOB (Biner)

Tipe data blob digunakan untuk menyimpan data biner.

Page 10: modul pembelajaran sistem database Mysql

Modul praktek database Mysql

2014

1. BIT (sejak versi 5.0.3)

Penggunaan : digunakan untuk menyimpan data biner.

Jangkauan : 64 digit biner

2. TINYBLOB

Penggunaan : digunakan untuk menyimpan data biner.

Jangkauan : 255 byte

3. BLOB

Penggunaan : digunakan untuk menyimpan data biner.

Jangkauan : 216 - 1 byte

4. MEDIUMBLOB

Penggunaan : digunakan untuk menyimpan data biner.

Jangkauan : 224 - 1 byte

5. LONGBLOB

Penggunaan : digunakan untuk menyimpan data biner.

Jangkauan : 232 - 1 byte

----------------------------------------------------------------------------------------------------------------

------------------

Tipe Data yang Lain

Selain tipe data di atas, MySQL juga menyediakan tipe data yang lain, diantaranya adalah :

1. ENUM

Penggunaan : enumerasi (kumpulan data).

Jangkauan : sampai dengan 65535 string.

2. SET

Penggunaan : combination (himpunan data).

Page 11: modul pembelajaran sistem database Mysql

Modul praktek database Mysql

2014

Jangkauan : sampai dengan 255 string anggotas.

1.1. Mengenal SQL ( Structured Query Language )

SQL ( Structured Query Language ) adalah sebuah bahasa permintaan database yang

terstruktur. Bahasa SQL ini dibuat sebagai bahasa yang dapat merelasikan beberapa tabel

dalam database maupun merelasikan antar database. SQL dibagi menjadi tiga bentuk Query,

yaitu :

1.1.1. DDL ( Data Definition Language )

DDL adalah sebuah metode Query SQL yang berguna untuk mendefinisikan data

pada sebuah Database, Query yang dimiliki DDL adalah :

· CREATE : Digunakan untuk membuat Database dan Tabel

· Drop : Digunakan untuk menghapus Tabel dan Database

· Alter : Digunakan untuk melakukan perubahan struktur tabel yang telah dibuat, baik

menambah Field ( Add ), mengganti nama Field ( Change ) ataupun menamakannya kembali

( Rename ), dan menghapus Field ( Drop ).

1.1.2. DML ( Data Manipulation Language )

DML adalah sebuah metode Query yang dapat digunakan apabila DDL telah terjadi, sehingga

fungsi dari Query DML ini untuk melakukan pemanipulasian database yang telah dibuat.

Query yang dimiliki DML adalah :

· INSERT : Digunakan untuk memasukkan data pada Tabel Database

· UPDATE : Digunakan untuk pengubahan terhadap data yang ada pada Tabel Database

· DELETE : Digunakan untuk Penhapusan data pada tabel Database

1.1.3. DCL ( Data Control Language )

Page 12: modul pembelajaran sistem database Mysql

Modul praktek database Mysql

2014

DCL adalah sebuah metode Query SQL yang digunakan untuk memberikan hak otorisasi

mengakses Database, mengalokasikan space, pendefinisian space, dan pengauditan

penggunaan database. Query yang dimiliki DCL adalah :

· GRANT : Untuk mengizinkan User mengakses Tabel dalam Database.

· REVOKE : Untuk membatalkan izin hak user, yang ditetapkan oleh perintah

GRANT

· COMMIT : Mentapkan penyimpanan Database

· ROLLBACK : Membatalkan penyimpanan Database

Administrasi User dengan Grant dan Revoke

(catatan : mendefinisikan user dengan grant tidak perlu menggunakan database mysql dan

bila username yang kita tuliskan dalam perintah grant sudah ada berarti menambah hak, bila

belum ada maka dibuat user baru)

•Mendefinisikan user dengan hak penuh (sama dengan user root)

mysql> grant all on *.* to ti..ar1@localhost identified by 'ti..ar1' with grant option;

•Menghapus hak penuh

mysql> revoke all on *.* from ti..ar1@localhost identified by 'ti..ar1';

mysql> update user set grant_priv='N' where user='ti..ar1';

•Menghapus definisi user

mysql> delete from user where user='ti..ar1';

• Mendefinisikan user dan hak ke semua database (select dan insert)

mysql> grant select,insert on *.* to ti..ar1@localhost identified by 'ti..ar1';

• Menambah hak (update dan delete)

Page 13: modul pembelajaran sistem database Mysql

Modul praktek database Mysql

2014

mysql> grant update,delete on *.* to ti..ar1@localhost identified by 'ti..ar1';

• Menghapus hak (insert dan update)

mysql> revoke insert,update on *.* from ti..ar1@localhost identified by 'ti..ar1';

• Mendefinisikan user dan hak ke database tertentu

mysql> grant select,delete on pjual.* to ti..ar2@localhost identified by 'ti..ar2';

(catatan : haknya hanya select dan delete ke semua tabel pada database pjual)

mysql> grant all on xpjual.* to ti..ar2@localhost identified by 'ti..ar2';

(catatan : haknya select, insert, update, dst. ke semua tabel pada database pjual)

•Menghapus hak (select, insert, update, dst. )

mysql> revoke all on xpjual.* from ti..ar2@localhost identified by 'ti..ar2';

• Mendefinisikan user dan hak ke tabel tertentu

mysql> grant all on pjual.barang to ti..ar3@localhost identified by 'ti..ar3';

(catatan : haknya adalah

Select,Insert,Update,Delete,Create,Drop,References,Index,Alter)

mysql> grant all on pjual.detrans to ti..ar3@localhost identified by 'ti..ar3';

mysql> grant select, insert on pjual.pelanggan to ti..ar3@localhost identified by 'ti..ar3';

(catatan : haknya hanya select dan insert)

•Menambah hak (update dan delete)

mysql> grant update, delete on pjual.pelanggan to ti..ar3@localhost identified by

'ti..ar3';

Page 14: modul pembelajaran sistem database Mysql

Modul praktek database Mysql

2014

•Menghapus hak (insert dan update)

mysql> revoke insert,update on pjual.pelanggan from ti..ar3@localhost identified by

'ti..ar3';

• Mendefinisikan user dan hak ke kolom (field) tertentu

mysql> grant select(kode,nama), insert(kode,nama)

–> on pjual.barang to ti..ar4@localhost identified by 'ti..ar4';

Untuk pengujian dapat dilakukan dengan :

mysql> select * from barang; (error)

mysql> select kode,nama from barang;

mysql> insert into barang(kode,nama,harga)

–> values('C22','CELANA',150000); (error)

mysql> insert into barang(kode,nama)

–> values('C22','CELANA');

mysql> update barang set nama='T SHIRT'

–> where kode='C22'; (error)

•Menambah hak (update)

mysql> grant update(kode,nama) on pjual.barang

–> to ti..ar4@localhost identified by 'ti..ar4';

Untuk pengujian dapat dilakukan dengan :

mysql> update barang set nama='T SHIRT' where kode='C22';

•Menambah hak ke kolom lain

Page 15: modul pembelajaran sistem database Mysql

Modul praktek database Mysql

2014

mysql> grant select(harga), insert(harga), update(harga)

–> on pjual.barang to ti..ar4@localhost identified by 'ti..ar4';

Untuk pngujian dapat dilakukan dengan :

mysql> update barang set harga=150000 where kode='C22';

•Menghapus hak dari suatu kolom (update)

mysql> revoke update(nama,harga) on pjual.barang

–> from ti..ar4@localhost identified by 'ti..ar4';

•Menghapus hak dari suatu kolom (semua hak)

mysql> revoke select(harga), insert(harga) on pjual.barang

–> from ti..ar4@localhost identified by 'ti..ar4';

Query Data (Select)

Bentuk umum select :

SELECT daftar_select

FROM daftar_tabel

[WHERE kondisi_pencarian]

[GROUP BY daftar_group_by]

[HAVING kondisi_pencarian]

[ORDER BY daftar_order [ASC|DESC]]

[LIMIT daftar_limit]

Page 16: modul pembelajaran sistem database Mysql

Modul praktek database Mysql

2014

BAB 2

MACAM-MACAM FUNGSI MYSQL

2.1. Mengaktifkan direktori mysql server

Untuk dapat menggunakan MySQL terlebih dahulu aktifkan Server MySQL dengan

menghidupkan MySQL. Program MySQL yang digunakan pada modul ini adalah XAMPP V

3.2.1.Untuk masuk kedalam server MySQL, bukalah command Prompt. Maka anda dapat

masuk ke dalam direktori MySQL. seperti dibawah ini.

2.2. Membuat database baru

Dalam kasus ini sebagai contoh pembuatan database baru adalah membuat database

rumah sakit.maka akan tampak seperti dibawah ini :

Page 17: modul pembelajaran sistem database Mysql

Modul praktek database Mysql

2014

2.3.Mengaktifkan database

Untuk mengaktifkan database tersebut kita menggunakan use .seperti yang terlihat

pada gambar :

2.4.Memasukkan Field kedalam database

Setelah masuk ke dalam database anda dapat membuat sebuah tabel yang berisi

field.seperti dibawah ini:

Maka hasilnya akan seperti ini :

Untuk menampilkan struktur yang tadi kita buat kita menggunakan Desc.

Page 18: modul pembelajaran sistem database Mysql

Modul praktek database Mysql

2014

2.5.Memasukkan Record

Setelah melihat struktur table tadi tentunys kita akan memasukkan record didalamnya,dengan

cara seperti dibawah ini :

2.6.Menampilkan data dari sebuah tabel

2.7. Membuat view

view merupakan bentuk alternatif penyajian data dari satu tabel atau lebih, beberapa

tujuan membuat view adalah meningkatkan keamanan data serta penyederhanaan bagi para

pengguna.

Page 19: modul pembelajaran sistem database Mysql

Modul praktek database Mysql

2014

Contoh sintak Create view namaview (kolom1, kolom2, . . . .) as select statement from

namatabel [with check option]

Keterangan : Namaview : nama view yang dibuat Column : nama atribut untuk view

Statement : atribut yang dipilih dari tabel database Namatabel : nama tabel yang ada pada

basis data

2.8.Drop

pada SQL adalah perintah yang di gunakan untuk menghapus data – data yang telah di

simpan pada database.

Drop tabel yaitu menghapus tabel Contoh sintak Drop table namatabel Drop view

menghapus view yang telah di buat Contoh sintak Drop view namaview

Drop index Menghapus index Contoh sintak Drop index namaindex hal yang perlu di

ingat adalah penghapusan atau penggunaan perintah view tidak dapat di urungkan.

2.9. ALTER

kegunaan dari perintah alter adalah untuk merubah atribut pada suatu tabel Contoh

sintak : Alter table namatabel Modify (namakolom typekolom) untuk mengganti type

kolom dan nama kolom. alter table namatabel add (namakolom type kolom[[before,

namakolom]]) menambah kolom. alter table namatabel drop (namakolom typekolom) untuk

menghapus kolom pada sebuah tabel.

2.10. Menampilkan Data dengan Pengurutan Sorting (ORDER BY)

Fungsi ini digunakan untuk melakukan pengurutan data, sehingga data dari sebuah atau

beberapa tabel dapat tampil berurutan sesuai keinginan. Pengurutan data terbagi menjadi dua:

· ASC (pengurutan dengan Ascending)

· DESC (pengurutan dengan Descending)

Sintax yang digunakan adalah :

SELECT * FROM nama_tabel ORDER BY kolom Type

Page 20: modul pembelajaran sistem database Mysql

Modul praktek database Mysql

2014

2.11. Menampilkan Data dengan Pengelompokkan data (GROUP BY)

Group By adalah fungsi untuk mengelompokkan data dalam sebuah kolom yang ditunjuk.

Fungsi ini akan menghasilkan kelompok data dengan menghilangkan data yang sama dalam

satu tabel. Maka apabila dalam satu kolom terdapat beberapa data yang sama maka data yang

akan ditampilkan

hanya salah satu. Sintax yang digunakan seperti berikut :

SELECT * FROM nama_tabel GROUP BY nama_kolom;

2.12. Menampilkan sesuai dengan Fungsi Stastistic

2.12.1. Fungsi COUNT

Fungsi ini biasanya digunakan untuk melakukan pengecekan jumlah data dalam sebuah tabel

yang isinya ratusan hingga ribuan, sehingga kita tidak dapat menghitungnya secara manual.

MySQL memiliki perintah untuk mengatasinya yaitu dengan menggunakan COUNT().

Sintaxnya seperti berikut :

SELECT COUNT (*) FROM nama_tabel;

2.12.2. Fungsi SUM

SUM berfungsi untuk mencari nilai total dalam suatu kolom pada sebuah tabel didalam

database. Query pada MySQL adalah SUM(). SIntax yang digunakan seperti berikut :

SELECT SUM(nama_kolom) FROM nama_tabel;

2.13. Menampilkan Data Sesuai dengan Fungsi String

2.13.1 Fungsi LEFT (x,n)

Berfungsi mengambil data berdasarkan string dari sejumlah n karakter dari string X dari kiri.

Sintax yang digunakan seperti berikut :

Page 21: modul pembelajaran sistem database Mysql

Modul praktek database Mysql

2014

SELECT * FROM nama_tabel WHERE LEFT(nama_kolom,jumlah_karakter)=”karakter”;

2.13.2. Fungsi RIGHT (x,n)

Fungsi Right hamper sama dengan fungsi LEFT hanya Query RIGHT Berfungsi mengambil

data berdasarkan string dari sejumlah n karakter dari string X dari Kanan. Sintax yang

digunakan seperti berikut :

SELECT * FROM nama_tabel WHERE

RIGHT(nama_kolom,jumlah_karakter)=”karakter”;

2.13.3. Fungsi MID (x,n,z)

Berfungsi mengambil data berdasarkan string dari sejumlah dari string X n karakter sejumlah

n karakter dari posisi kiri. Sintax yang digunakan seperti berikut :

SELECT * FROM nama_tabel WHERE

MID(nama_kolom,posisi_n,jumlah_karakter)=”karakter”;

2.13.4. Menampilkan data dengan nilai tertinggi dalam sebuah tabel (MAX)

Untuk mencari nilai tertinggi pada suatu data didalam database. SQL menyediakan

fungsi MAX. Query yang digunakan seperti berikut :

SELECT MAX(nama_kolom) FROM nama_tabel;

2.13.5. Menampilkan data dengan nilai terendah dalam sebuah tabel (MIN)

Untuk mencari nilai terendah pada suatu data didalam database. SQL menyediakan

fungsi MIN. Query yang digunakan seperti berikut :

SELECT MIN(nama_kolom) FROM nama_tabel;

Page 22: modul pembelajaran sistem database Mysql

Modul praktek database Mysql

2014

BAB 3

JOIN ANTAR TABLE

3.1 PENDAHULUAN

Join merupakan sebuah operasi yang digunakan untuk mendapatkan data gabungan dari dua

buah tabel atau lebih. Operasi ini digunakan dalam perintah SELECT dan biasanya dipakai

untuk memperoleh detail data dari tabel – tabel yang saling terkait (memiliki relasi).

Misalnya karena tabel mahasiswa hanya memuat kode_kelas saja tanpa nama kelas maka kita

harus melakukan join antara tabel mahasiswa dengan tabel kelas yang memuat kolom

nama_kelas.

3.2 JENIS OPERASI JOIN

Secara umum terdapat tiga jenis operasi join, yaitu: Cross join, Inner join dan Outer join.

3.2.1 Cross Join / Cartesian Join

Join jenis ini menghasilkan kombinasi semua baris yang terdapat dalam tabel – tabel yang

digabungkan baik yang berpasangan maupun yang tidak berpasangan. Pada kenyataan join

jenis ini tidak akan pernah dipakai. Meskipun begitu join jenis inilah yang merupakan dasar

dari perintah join. Berikut ini contoh dari perintah cross join:

SELECT * FROM Mahasiswa, KRS

SELECT Mahasiswa.Nama, Mata_Kuliah.Nama_MK FROM

Mahasiswa, Mata_Kuliah

SELECT A.NIM, A.Nama, B.Nama_MK, C.Nilai FROM Mahasiswa A,

Page 23: modul pembelajaran sistem database Mysql

Modul praktek database Mysql

2014

3.2.2 Inner Join

Join jenis ini hanya menghasilkan kombinasi semua baris yang memiliki pasangan saja. Baris

yang tidak memiliki pasangan tidak akan ditampilkan. Cara penulisan perintah inner join ada

beberapa cara, yaitu:

1. SELECT Daftar_Kolom FROM Tabel1, Tabel2 WHERE

Tabel1.Primary_key = Tabel2.Foreign_key

SELECT * FROM Mahasiswa, KRS WHERE Mahasiswa.NIM =

KRS.NIM

2. SELECT Daftar_Kolom FROM Tabel1 INNER JOIN Tabel2 ON

Tabel1.Primary_key = Tabel2.Foreign_key

SELECT * FROM Mahasiswa INNER JOIN KRS ON

Mahasiswa.NIM = KRS.NIM

3. SELECT Daftar_Kolom FROM Tabel1 JOIN Tabel2 ON

Tabel1.Primary_key = Tabel2.Foreign_key

SELECT * FROM Mahasiswa JOIN KRS ON Mahasiswa.NIM =

KRS.NIM

3.2.3 Outer Join

Hampir sama denagn inner join, hanya saja baris yang tidak memiliki pasangan tetap akan

ditampilkan. Join jenis ini di bagi lagi menjadi 3, yaitu:

a. Left Outer Join

_ Baris – baris yang tidak memiliki pasangan pada tabel yang ada

disebelah kiri kata “JOIN” akan tetap ditampilkan. Contoh:

SELECT * FROM Mahasiswa LEFT OUTER JOIN KRS ON

Mahasiswa.NIM = KRS.NIM

b. Right Outer Join

_ Baris – baris yang tidak memiliki pasangan pada tabel yang ada

disebelah kanan kata “JOIN” akan tetap ditampilkan.

SELECT * FROM Mahasiswa LEFT OUTER JOIN KRS ON

Page 24: modul pembelajaran sistem database Mysql

Modul praktek database Mysql

2014

Mahasiswa.NIM = KRS.NIM

c. Full Outer Join

_ Baris – baris yang tidak memiliki pasangan pada semua tabelakan

tetap ditampilkan.

SELECT * FROM Mahasiswa FULL OUTER JOIN KRS ON

Mahasiswa.NIM = KRS.NIM

Catatan:

Untuk penulisan sintak OUTER JOIN, kata OUTER bisa dihilangkan /

tidak disertakan.

3.2.4. Union Join

Union didukung oleh MySQL mulai dari versi 4.0. Pemakaian union dapat

menyederhanakan perintah persyaratan OR yang bertingkat. Bila dalam sebuah query

menghasilkan pemakaian perintah OR yang lebih dari satu sehingga dapat membuat bingung,

sebagai gantinya digunakan perintah UNION.

Union dapat dikatakan sebagai perintah untuk menggabungkan hasil query sql yang

fungsinya sama dengan perintah OR. Agar lebih jelas, perhatikan contoh berikut ini.

Contoh :

– Tampilkan nip, nama dan gaji dari pegawai yang bekerja di bagian akuntansi dan SDM.

(anggap

saja perintah sql yang digunakan sudah kompleks)

Page 25: modul pembelajaran sistem database Mysql

Modul praktek database Mysql

2014

Bila menggunakan perintah OR, maka perintah sqlnya akan seperti dibawah ini :

select i.nip,i.nama,p.gaji from infoprib i join pekerjaan p on

i.nip=p.nip where p.kode_bag="3" or p.kode_bag="4";

Tetapi perintah OR dapat diganti dengan perintah UNION dan bila di jalankan akan

menghasilkan hal yang sama.

(select i.nip,i.nama,p.gaji from infoprib i join pekerjaan p on

i.nip=p.nip where p.kode_bag="3") UNION

(select i.nip,i.nama,p.gaji from infoprib i join pekerjaan p on

i.nip=p.nip where p.kode_bag="4")Union Join

Union didukung oleh MySQL mulai dari versi 4.0. Pemakaian union dapat menyederhanakan

perintah

persyaratan OR yang bertingkat. Bila dalam sebuah query menghasilkan pemakaian perintah

OR yang lebih dari satu sehingga dapat membuat bingung, sebagai gantinya digunakan

perintah UNION.

Union dapat dikatakan sebagai perintah untuk menggabungkan hasil query sql yang

fungsinya sama dengan perintah OR.

Agar lebih jelas, perhatikan contoh berikut ini.

Contoh :

– Tampilkan nip, nama dan gaji dari pegawai yang bekerja di bagian akuntansi dan SDM.

(anggap

saja perintah sql yang digunakan sudah kompleks)

Bila menggunakan perintah OR, maka perintah sqlnya akan seperti dibawah ini :

select i.nip,i.nama,p.gaji from infoprib i join pekerjaan p on

i.nip=p.nip where p.kode_bag="3" or p.kode_bag="4";

Tetapi perintah OR dapat diganti dengan perintah UNION dan bila di jalankan akan

menghasilkan hal yang sama.

(select i.nip,i.nama,p.gaji from infoprib i join pekerjaan p on

i.nip=p.nip where p.kode_bag="3") UNION

(select i.nip,i.nama,p.gaji from infoprib i join pekerjaan p on

i.nip=p.nip where p.kode_bag="4")

Page 26: modul pembelajaran sistem database Mysql

Modul praktek database Mysql

2014

BAB 4

RELASI ANTAR TABLE

4.1. Jenis Relasi

Merupakan hubungan yang terjadi pada suatu tabel dengan tabel yang lainnya,

yang berfungsi untuk mengatur operasi suatu database. Hubungan yang dapat dibentuk

dapat mencakupi 3 (tiga) macam hubungan yaitu ;

a. One-To-One (1 – 1)

Mempunyai pengertian “Setiap baris data pada tabel pertama dihubungkan hanya ke satu

baris data pada tabel ke dua”.

b. One-To-Many (1 – )

Mempunyai pengertian “Setiap baris data dari tabel pertama dapat dihubungkan ke satu

baris atau lebih data pada tabel ke dua “.

c.Many-To-Many ( – )

Mempunyai pengertian “Satu baris atau lebih data pada tabel pertama bisa dihubungkan

ke satu atau lebih baris data pada tabel ke dua “.

4.2. Membuar Relasi

1. Bukalah database PENJUALAN.MDB, anda yang disimpan pada folder kerja anda

masing-masing.

2. Klik menubar Tools à Klik Relationship atau Klik icon Relationship [ ] pada

database toolbar

4. Tampilkan tabel satu persatu dengan cara klik tombol Add.

5. Jika semua tabel berada pada jendela Relationships klik tombol Close, maka akan

Page 27: modul pembelajaran sistem database Mysql

Modul praktek database Mysql

2014

6. Selanjutnya hubungkan masing-masing tabel dan tentukan Referential Integritynya

a. Tabel Barang dengan Tabel DataJual

b. Tabel Penjualan dengan Tabel DataJual

4.3. Referential Integrity

Referential Integrity merupakan suatu aturan terhadap relasi antar tabel untuk menjamin

validasi hubungan antara record-record didalam tabel-tabel yang terkait. Dan secara otomatis

akan memastikan relasi tersebut ada atau tidaknya record pada sisi Many (tabel yang

terhubung dengan tabel Utama ) yang foregn key nya tidak memiliki pasangan ditabel sisi

One (Tabel Utama)

4.3.1. Model Relasi Referential Integrity

Ada dua model relasi terhadap Referential Integrity, dengan memilih salah satu atau

kedua pilihan, yaitu :

· Cascade Update Related Fields

· Cascade Delete Related Records

a. Cascade Update Related Fields

Setiap perubahan pada Primary Key, pada tabel Utama , maka secara otomatis

mengubah nilai pada record-record yang berkesesuaian didalam tabel yang memiliki

relasi dengan tabel Utama

b. Cascade Delete Related Records

Setiap penghapusan record Primary Key pada tabel Utama, maka akan

mengakibatkan penghapusan record-record yang berkesesuaian didalam tabel yang

memiliki relasi dengan tabel Utama.

4.3.1. Aturan-Aturan Referential Integrity

Page 28: modul pembelajaran sistem database Mysql

Modul praktek database Mysql

2014

1. Field yang dihubungkan dari tabel utama haruslah berupa Primary Key.

2. Kedua field yang saling behubungkan harus memiliki Tipe data dan lebar data yang

sama.

3. Tidak dibenarkan penghapusan record pada tabel utama yang telah dihubungkan

dengan tabel yang direlasikan.

4. Tidak diperbolehkan melakukan penambahan record pada tabel relasi bila record

tersebut berisi data atau fakta yang belum ada pada tabel utama.