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
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.
Modul praktek database Mysql Pendapatan perusahaan selanjutnya di dapat dari menjual jasa “support” untuk perusahaan 2014 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.
Modul praktek database Mysql 5. Ragam tipe data. MySQL memiliki ragam tipe data yang sangat kaya, seperti signed 2014
/ 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
Modul praktek database Mysql pemrograman yang mendukung ODBC untuk berkomunikasi dengan basis data MySQL. 2014 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
Your browser does not support iframes.
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.
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).
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).
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)
Modul praktek database Mysql Tipe data string yaitu tipe data yang digunakan untuk menyimpan data string (text). 2014
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.
Modul praktek database Mysql 1. BIT (sejak versi 5.0.3) 2014 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).
Modul praktek database Mysql Jangkauan : sampai dengan 255 string anggotas. 2014
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 )
Modul praktek database Mysql DCL adalah sebuah metode Query SQL yang digunakan untuk memberikan hak otorisasi 2014 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)
Modul praktek database Mysql mysql> grant update,delete on *.* to ti..ar1@localhost identified by 'ti..ar1'; 2014
• 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 Select,Insert,Update,Delete,Create,Drop,References,Index,Alter)
adalah
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';
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
Modul praktek database Mysql mysql> grant select(harga), insert(harga), update(harga) 2014
–> 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]
Modul praktek database Mysql BAB 2 2014
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 :
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.
Modul praktek database Mysql 2.5.Memasukkan Record 2014
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.
Modul praktek database Mysql Contoh sintak Create view namaview (kolom1, kolom2, . . . .) as select statement from 2014 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
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 :
Modul praktek database Mysql SELECT * FROM nama_tabel WHERE LEFT(nama_kolom,jumlah_karakter)=”karakter”; 2014
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
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;
WHERE
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,
Modul praktek database Mysql 3.2.2 Inner Join 2014
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
Modul praktek database Mysql Mahasiswa.NIM = KRS.NIM 2014
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)
Modul praktek database Mysql Bila menggunakan perintah OR, maka perintah sqlnya akan seperti dibawah ini : 2014 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")
Modul praktek database Mysql BAB 4 2014
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
Modul praktek database Mysql 6. Selanjutnya hubungkan masing-masing tabel dan tentukan Referential Integritynya 2014 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
Modul praktek database Mysql 1. Field yang dihubungkan dari tabel utama haruslah berupa Primary Key. 2014 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.