Lab. Actvity 1: Database Design • Merancang Database
Database Systems:
– – – –
Tipe Tabel MySQL Tipe Filed/Kolom/Atribut My SQL Tipe Operator Aturan Merancang Database
• Dasar-dasar MySQL – – – –
Tipe Perintah SQL Data Definition Languange Data Manipulation Languange Data Control Languange
• Membuat Database Lab. Activity 1: Database Design |
1
Merancang Database Tipe Tabel MySQL. • MyISAM – MyISAM static. Jenis ini digunakan ketika semua kolom dalam tabel didefinisikan dengan ukuran yang pasti (fixed), karena sifatnya yang fixed, maka jenis ini akan lebih cepat, aman dan stabil. – MyISAM dymanic. Jenis ini digunakan ketika terdapat kolom dengan tipe yang dinamis. Keuntungan utama dari jenis ini adalah lebih efektif karena karena ukuran data (file) menyesuaikan isi dari masingmasing kolom (dinamis). Lab. Activity 1: Database Design |
3
Lab. Activity 1: Database Design |
2
Merancang Database – MyISAM Compressed. Kedua jenis MyISAM, static dan dynamic dapat dikompresi menjadi satu jenis yaitu MyISAM Compressed dengan perintah myisamchk. Tentunya hasilnya lebih kecil dari segi ukuran. Tabel yang terkompresi tidak dapat dikenakan operasi seperti INSERT, UPDATE dan DELETE.
Lab. Activity 1: Database Design |
4
Merancang Database • InnoDB
Merancang Database • HEAP
Tipe tabel InnoDB merupakan tipe tabel MySQL yang mendukung proses transaksi. Tipe ini memiliki beberapa keunggulan, antara lain: – Mendukung transaksi antar tabel. – Mendukung row-level-locking. – Mendukung Foreign-Key Constraints. – Crash recovery.
Lab. Activity 1: Database Design |
Tabel dengan tipe HEAP tidak menyimpan datanya di hardisk, tetapi menyimpan di RAM (memori). Tipe tabel ini biasanya digunakan sebagai tabel sementara (temporary). Tabel secara otomatis akan dihapus (hilang) dari MySQL saat koneksi ke server diputus atau server MySQL dimatikan.
5
Merancang Database • Tipe Tabel Lainnya
6
Merancang Database Tipe Atribut/Field/Kolom MySQL. 1. Tipe Numeric
– BDB. Tipe tabel ini mirip tipe tabel InnoDB, namun penggunaannya belum maksimal. – Archieve. Tipe ini tersedia sejak MySQL versi 4.1. Tipe ini digunakan untuk menyimpan tabel yang terkompresi, dimana biasanya digunakan dalam proses backup. – CSV. Tipe ini digunakan untuk menyimpan data dalam bentuk file text yang dibatasi dengan koma (delimiter). – NDB Table (MySQL Cluster). Tersedia sejak MySQL versi 4.1. – Federated (External Tables). Tipe ini tersedia sejak MySQL versi 5.0. Lab. Activity 1: Database Design |
Lab. Activity 1: Database Design |
Tipe data numerik digunakan untuk menyimpan data numerik (angka). Ciri utama data numerik adalah suatu data yang memungkinkan untuk dikenai operasi aritmatika seperti pertambahan, pengurangan, perkalian dan pembagian.
7
Lab. Activity 1: Database Design |
8
Merancang Database
Merancang Database 2. Tipe Date dan Time Tipe data date dan time digunakan untuk menyimpan data tanggal dan waktu.
Lab. Activity 1: Database Design |
9
Lab. Activity 1: Database Design |
Merancang Database 3. Tipe Date String (Text)
10
Merancang Database Tipe Operator.
Tipe data string digunakan untuk menyimpan data dalam bentuk teks dan karakter.
Lab. Activity 1: Database Design |
11
• “ = “, akan bernilai TRUE jika nilai yang dibandingkan sama. • “ != “ atau “ <> “, akan bernilai TRUE jika nilai yang dibandingkan TIDAK SAMA (berbeda). • “ > “, akan bernilai TRUE jika nilai yang pertama lebih besar dari nilai kedua. • “ >= “, akan bernilai TRUE jika nilai yang pertama lebih besar atau sama dengan nilai kedua. Lab. Activity 1: Database Design |
12
Merancang Database • “ < “, akan bernilai TRUE jika nilai yang pertama lebih kecil dari nilai kedua. • “ <= “, akan bernilai TRUE jika nilai yang pertama lebih kecil atau sama dengan nilai kedua. • “ && “ (AND), akan menghubungkan dua kondisi dimana akan bernilai TRUE jika kedua kondisi bernilai TRUE. • “ || “ (OR), akan menghubungkan dua kondisi dimana akan bernilai TRUE jika salah satu atau kedua kondisi bernilai TRUE. Lab. Activity 1: Database Design |
Merancang Database Aturan Merancang Database. • Tabel dalam database tidak boleh mengandung record (data) ganda, atau dengan kata lain tidak boleh ada redudancy data. Jika terdapat data yang sama, maka perlu dilihat kembali rancangan tabelnya. • Setiap tabel dalam database, harus memiliki field (kolom) yang unik sebagai primary key. • Tabel harus sudah normal.
13
Lab. Activity 1: Database Design |
Merancang Database • Besar atau ukuran database hendaknya dibuat seminimal mungkin. Hal ini ditentukan oleh pemilihan tipe data yang tepat. • Merancang database hendaknya memperhatikan apakah rancangan dapat menampung data (record) sesuai yang dibutuhkan oleh aplikasi.
Lab. Activity 1: Database Design |
15
14
Merancang Database Aturan Penamaan Identifier. • Penamaan identifier (database, tabel, kolom) di MySQL bersifat case sensitive. • Penamaan identifier hendaknya konsisten untuk semua tabel dalam suatu database. • Nama database, tabel dan kolom maksimal 64 karakter. • Hindari penggunaan karakter khusus. • Pilih nama untuk field (kolom) yang mencerminkan isi dari data yang disimpan. Lab. Activity 1: Database Design |
16
Dasar-Dasar MySQL
Dasar-Dasar MySQL
Tipe Perintah SQL.
Data Definition Languange (DDL).
• SQL merupakan singkatan dari Structured Query Language. SQL atau juga sering disebut sebagai query merupakan suatu bahasa (language) yang digunakan untuk mengakses database. • Terdapat 3 (tiga) jenis perintah SQL, yaitu:
• DDL merupakan perintah SQL yang berhubungan dengan pendefinisian suatu struktur database, dalam hal ini database dan table. • Beberapa perintah dasar yang termasuk DDL, adalah: – – – –
1. DDL atau Data Definition Language. 2. DML atau Data Manipulation Language. 3. DCL atau Data Control Language. Lab. Activity 1: Database Design |
CREATE ALTER RENAME DROP
17
Lab. Activity 1: Database Design |
Dasar-Dasar MySQL
Dasar-Dasar MySQL
Data Manipulation Languange (DML).
Data Control Languange.
• DML merupakan perintah SQL yang berhubungan dengan manipulasi atau pengolahan data atau record dalam table. • Perintah SQL yang termasuk dalam DML, adalah:
• DCL merupakan perintah SQL yang berhubungan dengan manipulasi user dan hak akses (priviledges). • Perintah SQL yang termasuk dalam DCL, adalah:
– – – –
SELECT INSERT UPDATE DELETE
18
– GRANT – REVOKE
Lab. Activity 1: Database Design |
19
Lab. Activity 1: Database Design |
20
Praktikum • Membuat Database
Praktikum • Membuka Database
Sintaks:
Sintaks: USE nama_database;
CREATE DATABASE [IF NOT EXISTS] nama_database;
• Menampilkan Database
• Menghapus Database
Sintaks:
Sintaks:
SHOW DATABASES;
DROP DATABASE [IF EXISTS] nama_database;
Lab. Activity 1: Database Design |
21
Lab. Activity 1: Database Design |
Praktikum • Membuat Tabel Database Baru
22
Praktikum Latihan.
Sintaks: CREATE TABLE nama_table ( field1 tipe(panjang), field2 tipe(panjang), ... fieldn tipe(panjang), PRIMARY KEY (field_key) );
Buatlah tabel data mahasiswa dengan struktur sebagai berikut:
Lab. Activity 1: Database Design |
23
Lab. Activity 1: Database Design |
24
Praktikum
Praktikum – ADD INDEX nama_index
• Mengubah Struktur Tabel Database
Option ini digunakan untuk menambahkan index dengan nama “nama_index” pada tabel.
Sintaks: ALTER TABLE nama_tabel alter_options;
– ADD PRIMARY KEY (field kunci) Option untuk menambahkan primary key pada tabel
• Opsi perintah ALTER yang dapat digunakan:
– CHANGE field_yang_diubah definisi_field_baru
– ADD definisi_field_baru
Option untuk mengubah field_yang_diubah menjadi definisi_field_baru
Option ini digunakan untuk menambahkan field baru dengan “definisi_field_baru” (nama field, tipe dan option lain).
– MODIFY definisi_field Option untuk mengubah suatu field menjadi definisi_field
Lab. Activity 1: Database Design |
25
Lab. Activity 1: Database Design |
Praktikum – DROP nama_field
26
Praktikum • Menghapus Tabel Database
Option untuk menghapus field nama_field
Sintaks:
– RENAME TO nama_tabel_baru
DROP TABLE nama_tabel;
Option untuk mengganti nama tabel
• Menambah Record Tabel Database
• Mengubah Nama Tabel Database
Sintaks: INSERT INTO nama_tabel VALUES (‘nilai1’,’nilai2’,...);
Sintaks: RENAME TABLE nama_tabel_awal TO nama_tabel_baru;
1
ALTER TABLE nama_tabel_lama RENAME TO nama_tabel_baru; Lab. Activity 1: Database Design |
27
Lab. Activity 1: Database Design |
28
Praktikum INSERT INTO nama_tabel(field1,field2,...) VALUES (‘nilai1’,’nilai2’,...);
2
INSERT INTO nama_tabel SET field1=’nilai1’, field2=’nilai2’,...;
3
• Mengubah (edit) Record Tabel Database dengan WHERE
Praktikum • Menampilkan Record Database dengan WHERE Sintaks: SELECT field_pilihan atau * FROM nama_tabel [WHERE [field_rujukan=‘nilai field_rujukan’]];
• Menghapus Record Tabel Database dengan WHERE
Sintaks:
Sintaks:
UPDATE nama_tabel SET field1=’nilaibaru’, field2=‘nilaibaru’,...,fieldn=‘nilaibaru’ [WHERE [field_rujukan=‘nilai field_rujukan’]];
DELETE FROM nama_tabel [WHERE [field_rujukan=‘nilai field_rujukan’];
Lab. Activity 1: Database Design |
29
Lab. Activity 1: Database Design |
Praktikum • Menampilkan Record Tabel Database dengan ORDER BY dan DESC. Sintaks:
30
Praktikum • Menampilkan Jumlah Record Tabel Database. Sintaks:
SELECT field1, field2,...,fieldn FROM nama_tabel [ORDER BY field_rujukan [DESC]];
SELECT COUNT(*) FROM nama_tabel;
• Menampilkan Record Tabel Database ORDER BY dan/atau LIMIT. Sintaks:
• Latihan.
SELECT field1, field2,...,fieldn FROM nama_tabel [ORDER BY field_rujukan [LIMIT x,y (batasan)]]; Lab. Activity 1: Database Design |
31
Lab. Activity 1: Database Design |
32
Database Systems:
Lab. Activity 1: Database Design |
33