SQL Pemrograman Web II Ganjil 2015 -‐ 2016
Review Database Structured Query Language
Apa itu database ? l
Kumpulan data terstruktur yang saling berelasi.
l
Definisi : Kumpulan data, yang terorganisir secara logika, dikelola menggunakan metode tertentu yang menjamin konsistensi data.
November 1 6, 2 015
Tim Dosen Pemrograman Web II 2 015 -‐ 2016 Teknik Informatika UNPAS
3
Penerapan Database l l
Meliputi hampir seluruh aspek kehidupan manusia. Contoh Penerapan : l l l l l l l l l
Perbankan : semua transaksi Penerbangan : reservasi, jadwal Universitas : registrasi, data perkuliahan Perdagangan : produk, pelanggan, transaksi pembelian Manufaktur : produksi, persediaan, pesanan, supply chain HRD : pegawai, gaji, pajak Telekomunikasi : routing, pelanggan, penggunaan layanan Akun komputer : member, hak akses, quota Dan masih banyak lagi....
November 1 6, 2 015
Tim Dosen Pemrograman Web II 2 015 -‐ 2016 Teknik Informatika UNPAS
4
Jenis-‐jenis Database l
CSV l
l
XML l
l
mysql, mysqli, PDO
SQLite l
l
simpleXML
MySQL l
l
Fgetscsv, fputcsv
PDO
...
November 1 6, 2 015
Tim Dosen Pemrograman Web II 2 015 -‐ 2016 Teknik Informatika UNPAS
5
Relational Database
November 1 6, 2 015
Tim Dosen Pemrograman Web II 2 015 -‐ 2016 Teknik Informatika UNPAS
6
Konsep Relational Database l
Table l
l
Record l
l
Kumpulan dari data mengenai suatu item.
Field l
l
Kumpulan dari beberapa record
Item data tunggal
Key field / Primary key l
Identitas unik setiap record.
November 1 6, 2 015
Tim Dosen Pemrograman Web II 2 015 -‐ 2016 Teknik Informatika UNPAS
7
Table Member ID
Record
Nama
Alamat
Status
2312
Donna
1029 Wolf Avenue
A
2313
Shannon
33099 Clark Street
A
2314
Adrian
15 Duluth Street
N
Primary Key
November 1 6, 2 015
Field
Tim Dosen Pemrograman Web II 2 015 -‐ 2016 Teknik Informatika UNPAS
8
Aplikasi Database l
Database Management System (DBMS) l
Aplikasi yang dirancang untuk menyimpan dan mengelola satu atau lebih database.
l
Fungsi : l
Buat database, tabel, dan struktur pendukung
l
Manipulasi data
l
Menjaga struktur database
l
Backup dan Recovery
November 1 6, 2 015
Tim Dosen Pemrograman Web II 2 015 -‐ 2016 Teknik Informatika UNPAS
9
Aplikasi Database l l l l l l l l l
IBM DB2 Oracle Informix Ingres Microsoft SQL Server (MS SQL) mSQL MySQL PostgreSQL Sybase
November 1 6, 2 015
Tim Dosen Pemrograman Web II 2 015 -‐ 2016 Teknik Informatika UNPAS
10
MySQL Konfigurasi
Menjalankan Server MySQL
November 1 6, 2 015
Tim Dosen Pemrograman Web II 2 015 -‐ 2016 Teknik Informatika UNPAS
12
Masuk ke MySQL (Command Prompt)
November 1 6, 2 015
Tim Dosen Pemrograman Web II 2 015 -‐ 2016 Teknik Informatika UNPAS
13
Masuk ke MySQL (Command Prompt) 1.
Jalankan server mysql lewat XAMPP Control Panel
2.
Buka Command Promt, lalu arahkan ke dalam folder :
xampp/mysql/bin 3.
Jalankan perintah: mysql
4.
Password default untuk mysql di windows adalah kosong,
-u root -p
jadi tekan enter saja ketika diminta password (bisa dikonfigurasi sendiri) November 1 6, 2 015
Tim Dosen Pemrograman Web II 2 015 -‐ 2016 Teknik Informatika UNPAS
14
MySQL Manipulasi Data http://dev.mysql.com/doc/refman/5.5/ en/sql-syntax.html
DDL (Data Definition Language) l l l l l
l l l l l
SHOW DATABASES CREATE DATABASE ALTER DATABASE DROP DATABASE USE DESCRIBE CREATE TABLE ALTER TABLE DROP TABLE RENAME TABLE
November 1 6, 2 015
Tim Dosen Pemrograman Web II 2 015 -‐ 2016 Teknik Informatika UNPAS
16
DML (Data Manipulation Language) l l l l
SELECT INSERT UPDATE DELETE
November 1 6, 2 015
Tim Dosen Pemrograman Web II 2 015 -‐ 2016 Teknik Informatika UNPAS
17
DML – Data Manipulation Language l
Rekam Data l
INSERT INTO nama_tabel (field1, field2, ...) VALUES (value1, value2, ...);
l
Jika field tidak dideklarasikan, data yang dimasukkan jumlahnya harus sama dengan jumlah field dari table tersebut.
November 1 6, 2 015
Tim Dosen Pemrograman Web II 2 015 -‐ 2016 Teknik Informatika UNPAS
18
DML – Data Manipulation Language l
Cari Data l
SELECT * FROM nama_tabel WHERE syarat1, syarat2 ORDER BY field ASC
l
Jika menggunakan *, semua field pada tabel tersebut di tampilkan.
l
Where dan order by optional
November 1 6, 2 015
Tim Dosen Pemrograman Web II 2 015 -‐ 2016 Teknik Informatika UNPAS
19
DML – Data Manipulation Language l
Manipulasi Data
l
Edit l
l
UPDATE nama_tabel SET field1=value1, field2=value2, ... WHERE syarat1, syarat2, ...
Hapus l
DELETE FROM nama_tabel WHERE syarat1, syarat2, ...
November 1 6, 2 015
Tim Dosen Pemrograman Web II 2 015 -‐ 2016 Teknik Informatika UNPAS
20
MySQL Latihan
Buat database ‘unpas’
November 1 6, 2 015
Tim Dosen Pemrograman Web II 2 015 -‐ 2016 Teknik Informatika UNPAS
22
Buat buat tabel ‘mahasiswa’
November 1 6, 2 015
Tim Dosen Pemrograman Web II 2 015 -‐ 2016 Teknik Informatika UNPAS
23
Isi 5 baris data
November 1 6, 2 015
Tim Dosen Pemrograman Web II 2 015 -‐ 2016 Teknik Informatika UNPAS
24
Ubah status baris 1 dan 2 jadi ‘tidak lulus’
November 1 6, 2 015
Tim Dosen Pemrograman Web II 2 015 -‐ 2016 Teknik Informatika UNPAS
25
Hapus baris terakhir
November 1 6, 2 015
Tim Dosen Pemrograman Web II 2 015 -‐ 2016 Teknik Informatika UNPAS
26
Hapus tabel mahasiswa
November 1 6, 2 015
Tim Dosen Pemrograman Web II 2 015 -‐ 2016 Teknik Informatika UNPAS
27
Hapus database unpas
November 1 6, 2 015
Tim Dosen Pemrograman Web II 2 015 -‐ 2016 Teknik Informatika UNPAS
28
phpmyadmin http://localhost/phpmyadmin
phpmyadmin
November 1 6, 2 015
Tim Dosen Pemrograman Web II 2 015 -‐ 2016 Teknik Informatika UNPAS
30
Lakukan hal yang sama seperti menggunakan command prompt
?
November 1 6, 2 015
Tim Dosen Pemrograman Web II 2 015 -‐ 2016 Teknik Informatika UNPAS
31
DBMS MySQL
Struktur Tabel
November 1 6, 2 015
Tim Dosen Pemrograman Web II 2 015 -‐ 2016 Teknik Informatika UNPAS
33
Tipe Data MySQL
November 1 6, 2 015
Tim Dosen Pemrograman Web II 2 015 -‐ 2016 Teknik Informatika UNPAS
34
Index l l
l
Agar pencarian data lebih cepat dan optimal. Diperlukan untuk membuat relasi (primary & foreign key) antar tabel Jenis Index
November 1 6, 2 015
Tim Dosen Pemrograman Web II 2 015 -‐ 2016 Teknik Informatika UNPAS
35
Index
November 1 6, 2 015
Tim Dosen Pemrograman Web II 2 015 -‐ 2016 Teknik Informatika UNPAS
36
RELATION mahasiswa
buku
November 1 6, 2 015
Tim Dosen Pemrograman Web II 2 015 -‐ 2016 Teknik Informatika UNPAS
37
RELATION mahasiswa (master)
buku (master)
peminjaman (transaksi)
November 1 6, 2 015
Tim Dosen Pemrograman Web II 2 015 -‐ 2016 Teknik Informatika UNPAS
38
RELATION
November 1 6, 2 015
Tim Dosen Pemrograman Web II 2 015 -‐ 2016 Teknik Informatika UNPAS
39
RELATION
November 1 6, 2 015
Tim Dosen Pemrograman Web II 2 015 -‐ 2016 Teknik Informatika UNPAS
40
RELATION
l
l
id_mhs merupakan foreign key di tabel peminjaman dan primary key di tabel mahasiswa id_buku merupakan foreign key di tabel peminjaman dan primary key di tabel buku
November 1 6, 2 015
Tim Dosen Pemrograman Web II 2 015 -‐ 2016 Teknik Informatika UNPAS
41
RELATION
November 1 6, 2 015
Tim Dosen Pemrograman Web II 2 015 -‐ 2016 Teknik Informatika UNPAS
42
RELATION
l
Tipe Relasi:
l
l
November 1 6, 2 015
Cascade : jika id_mhs di tabel mahasiswa diubah/dihapus, maka id_mhs di tabel peminjaman juga akan terubah/terhapus Restrict: operasi ubah/hapus id_mhs di tabel mahasiswa tidak diperbolehkan Tim Dosen Pemrograman Web II 2 015 -‐ 2016 Teknik Informatika UNPAS
43
JOIN l
Bagaimana cara menampilkan data peminjaman, tetapi menampilkan nama dan judul buku?
November 1 6, 2 015
Tim Dosen Pemrograman Web II 2 015 -‐ 2016 Teknik Informatika UNPAS
44
JOIN l
Bagaimana cara menampilkan data peminjaman, tetapi menampilkan nama dan judul buku?
November 1 6, 2 015
Tim Dosen Pemrograman Web II 2 015 -‐ 2016 Teknik Informatika UNPAS
45
JOIN
SELECT mahasiswa.nama, buku.judul, peminjaman.tanggal_pinjam, peminjaman.tanggal_kembali FROM mahasiswa, buku, peminjaman WHERE peminjaman.id_mhs = mahasiswa.id AND peminjaman.id_buku = buku.id;
November 1 6, 2 015
Tim Dosen Pemrograman Web II 2 015 -‐ 2016 Teknik Informatika UNPAS
46
JOIN
SELECT mahasiswa.nama, buku.judul, peminjaman.tanggal_pinjam, peminjaman.tanggal_kembali FROM mahasiswa INNER JOIN peminjaman ON mahasiswa.id = peminjaman.id_mhs INNER JOIN buku ON buku.id = peminjaman.id_buku; November 1 6, 2 015
Tim Dosen Pemrograman Web II 2 015 -‐ 2016 Teknik Informatika UNPAS
47
JOIN l
Tipe JOIN: l l l l
JOIN LEFT JOIN RIGHT JOIN INNER JOIN
November 1 6, 2 015
Tim Dosen Pemrograman Web II 2 015 -‐ 2016 Teknik Informatika UNPAS
48
Storage Engine
November 1 6, 2 015
Tim Dosen Pemrograman Web II 2 015 -‐ 2016 Teknik Informatika UNPAS
49
Backup and Recovery (import/export) Kenapa harus dilakukan Backup berkala ? l Ancaman j arang terjadi, tapi bisa saja terjadi. l Aplikasi DBMS error. l File tabel atau database rusak. l Komputer server sewaktu-‐waktu bisa rusak. l Harddisk bisa corrupt. l Kebakaran. l Bencana alam. l l l
Setidaknya pernah buat 1 file full database backup. Sebaiknya lakukan backup berkala. Simpan file backup setidaknya di 3 lokasi berbeda. l
Komputer yang sama, komputer berbeda atau DVD, dan gedung berbeda.
16 November 2 015
Tim Dosen Pemrograman Web II 2 015 -‐ 2016 Teknik Informatika UNPAS
50
Backup
16 November 2 015
Tim Dosen Pemrograman Web II 2 015 -‐ 2016 Teknik Informatika UNPAS
51
Recovery
16 November 2 015
Tim Dosen Pemrograman Web II 2 015 -‐ 2016 Teknik Informatika UNPAS
52
Terima Kasih Pemrograman Web 2 -‐ 20152016
[email protected] [email protected]