MODUL 7
PENGGUNAAN SELECT STATEMENT 1
A. Tujuan
1. Mahasiswa mampu menggunakan
instruksi Create Table dan options-nya menggunakan PostgreSQL untuk membuat
tabel-tabel basis data sesuai kebutuhan.
2. Mahasiswa mampu memasukkan records
ke dalam tabel-tabel basis data.
B. Dasar Teori
SELECT
STATEMENTS digunakan untuk menentukan atau memilih data yang akan ditampilkan
ketika melakukan query terhadap basis data. Struktur select statements di
PostgreSQL adalah sebagai berikut:
SELECT [ALL]
| DISTINCT [ON (expression) [, ...] ) ] ]
*|
expression [ AS output_name ] [, ...]
[ FROM
from_item [, ...] ]
[ WHERE
condition ]
[ GROUP BY
expression [, ...] ]
[ HAVING
condition [, ...] ]
[ { UNION |
INTERSECT | EXCEPT } [ ALL ] select ]
[ ORDER BY
expression [ ASC | DESC | USING operator ] [, ...]
[ FOR UPDATE
[ OF tablename [, ...] ] ]
[ LIMIT {
count | ALL } ]
[ OFFSET
start ]
Contoh
SELECT:
-
Untuk
melihat semua kolom dari suatu tabel:
SELECT* FROM nasabah;
-
Untuk
melihat kolom (-kolom) tertentu:
SELECT nama_nasabah FROM nasabah;
SELECT id_nasabah, nama_nasabah FROM nasabah;
-
Secara umum:
-
SELECT FROM
;
·
Column Alias
(AS)
-
AS digunakan
untuk mengganti nama kolom pada tampilan SELECT.
Contoh:
-
SELECT
nama_nasabah AS “Nama Nasabah” FROM nasabah;
-
SELECT
nama_nasabah AS “Nasabah”, alamat_nasabah AS “Alamat Nasabah” FROM nasabah;
·
WHERE
-
Digunakan
untuk membatasi hasil SELECT yang ditampilkan berdasarkan kondisi yang
ditentukan.
Contoh:
SELECT nama_nasabah FROM nasabah WHERE nama_nasabah=’Ali
Topan’ ;
SELECT nama_nasabah, alamat_nasabah
FROM nasabah WHERE id_nasabah=2;
-
Bisa
menggunakan >, <, < > (atau !=), >=, <=
-
Gunakan AND
atau OR untuk lebih dari satu kondisi:
SELECT* FROM nasabah WHERE
nama_nasabah = ‘Rina Marsudi’ AND alamat_nasabah = ‘Jl. Kusumanegara 30’;
SELECT* FROM nasabah WHERE
nama_nasabah = ‘Ali Topan’ OR id_nasabah=2;
·
Pencarian
NULL
Gunakan IS
NULL untuk mencari NULL:
-
SELECT* FROM
rekening WHERE kode_cabang IS NULL;
Gunakan IS NOT
NULL untuk mencari yang tidak NULL:
-
SELECT* FROM
rekening WHERE kode_cabang IS NOT NULL;
·
Pencarian
String
Gunakan LIKE
untuk mencari string tertentu:
-
SELECT* FROM
nasabah WHERE nama_nasabah LIKE ‘Ali Topan’;
Bisa menggunakan
%:
-
SELECT* FROM
nasabah WHERE alamat_nasabah LIKE ‘%negara%’;
Bisa
menggunakan _ untuk 1 huruf:
-
SELECT* FROM
nasabah WHERE nama_nasabah LIKE ‘Ali T_p_n’;
Untuk
pencarian yang case insensitive (tidak mempedulikan huruf besar atau kecil),
gunakan ILIKE:
-
SELECT* FROM
nasabah WHERE nama_nasabah ILIKE ‘%marsudi’;
·
ORDER BY
Digunakan
untuk mengurutkan hasil SELECT.
Untuk
mengurutkan dari kecil ke besar:
-
SELECT* FROM
nasabah ORDER BY nama_nasabah;
Untuk
mengurutkan dari besar ke kecil:
-
SELECT* FROM
nasabah ORDER BY nama_nasabah DESC;
Perhatian:
jika ada WHERE, maka ORDER BY ditaruh sesudah WHERE.
Untuk
melakukan pengurutan lebih dari satu kolom, pisahkan dengan tanda koma:
-
SELECT* FROM
nasabah_has_rekening ORDER BY no_rekening, id_nasabah;
Bisa
menentukan DESC untuk kolom (-kolom) tertentu, misalnya:
-
SELECT* FROM
nasabah_has_rekening ORDER BY no_rekening, id_nasabah DESC;
-
SELECT* FROM
nasabah_has_rekening ORDER BY no_rekening DESC, id_nasabah;
·
LIMIT &
OFFSET
Digunakan
untuk membatasi jumlah baris yang ditampilkan dalam SELECT.
Contoh: Hanya
menampilkan 3 baris pertama:
-
SELECT* FROM
nasabah ORDER BY id_nasabah LIMIT 3;
Menampilkan
2 baris setelah melewati 2 baris pertama:
-
SELECT* FROM
nasabah ORDER BY id_nasabah LIMIT 2 OFFSET 2;
Perhatian:
penggunaan LIMIT sebaiknya selalu digunakan bersama dengan ORDER BY, sehingga
urutan yang ditampilkan akan selalu konsisten.
LIMIT dan
OFFSET sangat berguna dalam tampilan yang berbasis web (melalui web browser
dengan menggunakan PHP atau JSP) agar tampilan data tidak terlalu besar dan
bisa lebih rapi. Tampilan data yang banyak bisa diatur dan dibagi menjadi
beberapa halaman (pages).
·
TABLE JOIN
Macam tabel
join:
Cross Join
-
Menggabungkan
semua record dari tabel pertama dengan semua record di tabel kedua.
-
Banyaknya
record dari cross join = jumlah record tabel pertama x jumlah record tabel
kedua.
Contoh:
SELECT* FROM rekening CROSS JOIN
cabang_bank;
Inner Join
-
Menggabungkan
dua (atau lebih) tabel berdasarkan attribute penghubung.
-
Metode 1:
SELECT* FROM rekening INNER JOIN
cabang_bank USING(kode_cabang);
-
Metode 2:
SELECT* FROM rekening INNER JOIN
cabang_bank ON rekening.kode_cabang = cabang_bank.kode_cabang;
-
Metode 3:
SELECT* FROM rekening NATURAL INNER
JOIN cabang_bank;
-
Metode 4:
SELECT* FROM rekening, cabang_bank
WHERE rekening.kode_cabang = cabang_bank.kode_cabang;
-
Perhatian:
untuk INNER JOIN, kita dapat menghilangkan kata ‘INNER’. Jadi, cukup dengan
kata ‘JOIN’ saja.
-
Dengan
metode 4, jika kolo yang ingin ditampilkan ada di lebih dari 2 tabel, maka
harus menentukan tabel mana yang diinginkan.
Contoh:
SELECT nasabah.id_nasabah,
nama_nasabah, no_rekening FROM nasabah, nasabah_has_rekening WHERE
nasabah.id_nasabah = nasabah_has_rekening.id_nasabah;
Table Alias
Untuk kemudahan penulisan SQL, kita bisa membuat table
alias.
Contoh:
-
SELECT* FROM
nasabah A, nasabah_has_rekening B WHERE A.id_nasabah = B.id_nasabah;
-
SELECT* FROM
A.id_nasabah, nama_nasabah, no_rekening FROM nasabah A, nasabah_has_rekening B WHERE
A.id_nasabah = B.id_nasabah;
Distinct
-
Dalam table
join, kadang-kadang ada informasi yang berulang. Untuk menghilangkan
pengulangan tersebut, gunakan DISTINCT.
Contoh:
SELECT DISTINCT nama_nasabah,
alamat_nasabah FROM nasabah NATURAL JOIN nasabah_has_rekening;
-
Perhatikan
perbedaan dengan berikut:
SELECT nama_nasabah, alamat_nasabah
FROM nasabah NATURAL JOIN nasabah_has_rekening;
Right Outer Join
-
Menampilkan
hasil join tabel pertama (sisi kiri) dengan tabel kedua (sisi kanan), serta
semua record di tabel kedua (sisi kanan/right):
SELECT* FROM rekening NATURAL RIGHT
OUTER JOIN cabang_bank;
-
Ketiga
metode pertama yang telah disebutkan untuk INNER JOIN juga berlaku untuk RIGHT
OUTER JOIN, yaitu dengan menggunakan USING, ON, atau NATURAL.
Left Outer
Join
-
Menampilkan
hasil join tabel pertama (sisi kiri) dengan tabel kedua (sisi kanan), serta
semua record di tabel pertama (sisi kiri/left):
SELECT* FROM rekening NATURAL LEFT
OUTER JOIN cabang_bank;
-
Ketiga
metode yang telah disebutkan untuk RIGHT OUTER JOIN juga berlaku untuk LEFT
OUTER JOIN, yaitu dengan menggunakan USING, ON, atau NATURAL.
Full Outer
Join
-
Menampilkan
hasil join tabel pertama dengan tabel kedua, serta semua record di tabel
tersebut:
SELECT* FROM rekening NATURAL FULL
OUTER JOIN cabang_bank;
-
Ketiga
metode yang telah disebutkan untuk LEFT/RIGHT OUTER JOIN juga berlaku untuk
FULL OUTER JOIN, yaitu dengan menggunakan USING, ON, atau NATURAL.
Outer Join
-
Untuk LEFT
OUTER JOIN, RIGHT OUTER JOIN, dan FULL OUTER JOIN, bisa menghilangkan kata
‘OUTER’. Jadi, cukup menggunakan LEFT JOIN, RIGHT JOIN, atau FULL JOIN saja.
·
Inner Join
vs. Outer Join
Dalam Inner
Join: yang ditampilkan hanyalah hasil dari table join yang berhasil, yaitu
semua record yang berhubungan di kedua tabel yang digabungkan.
Dalam Outer
Join: selain menampilkan hasil dari Inner Join, Outer Join juga menampilkan
semua record yang tidak berhubungan di kedua tabel yang digabungkan.
·
Multiple
Joins
-
Untuk lebih
dari 2 tabel, tinggal diteruskan saja JOINnya. Misalnya:
SELECT* FROM nasabah NATURAL
JOIN nasabah_has_rekening NATURAL JOIN rekening;
Cara lain:
SELECT* FROM nasabah A,
nasabah_has_rekening B, rekening C where A.id_nasabah = B.id_nasabah AND
B.no_rekening = C.no_rekening;
-
Jika
melakukan multiple join (lebih dari 2 tabel), harus memperhatikan urutan join.
Urutan table join perlu mengikuti alur relationship yang tertera di ER Diagram.
-
Oleh karena
itu, sebaiknya menggunakan ER Diagram agar bisa menghasilkan table join yang
benar.
C. Alat dan Bahan
1. Komputer dengan sistem operasi
Windows 7.
2. Program aplikasi PostgreSQL.
3. Modul Praktikum Sistem Basis Data.
D. Langkah Kerja
1. Jalankan program PostgreSQL dan
melakukan perintah sampi terhubung dengan database yang dibuat pada modul 4
yaitu Perbankan.
2. Tampilkan nama bank dan alamat bank
untuk semua cabang bank dan diurutkan berdasarkan nama bank dengan kode
berikut:
-
SELECT
nama_cabang, alamat_cabang FROM cabang_bank ORDER BY nama_cabang;
3. Tampilkan nomor rekening, pin dan
jumlah saldo untuk semua rekening dan diurutkan berdasarkan jumlah saldo dari
yang paling besar ke yang paling kecil dengan kode berikut:
-
SELECT
no_rekening, pin, saldo FROM rekening ORDER BY saldo DESC;
4. Tampilkan nomor rekening, nama
nasabah, dan alamat nasabah dari semua nasabah yang memiliki rekening dan
diurutkan berdasarkan nama nasabah dengan kode berikut:
-
SELECT
rekening.no_rekening, nasabah.nama_nasabah, nasabah.alamat_nasabah FROM
rekening, nasabah, nasabah_has_rekening WHERE nasabah.id_nasabah =
nasabah_has_rekening.id_nasabahFK AND rekening.no_rekening =
nasabah_has_rekening.no_rekeningFK ORDER BY nasabah.nama_nasabah;
5. Tampilkan nomor rekening, nama
nasabah, dan jumlah saldo untuk semua rekening yang dimiliki oleh nasabah dan
diurutkan berdasarkan nama nasabah dengan kode berikut:
-
SELECT
rekening.no_rekening, nasabah.nama_nasabah, rekening.saldo FROM rekening,
nasabah, nasabah_has_rekening WHERE nasabah.id_nasabah =
nasabah_has_rekening.id_nasabahFK AND rekening.no_rekening =
nasabah_has_rekening.no_rekeningFK ORDER BY nasabah.nama_nasabah;
E. Analisa
Dari
percobaan di atas dapat saya simpulkan bahwa kita dapat menampilkan data sesuai
kebutuhan kita dengan menggunakan perintah yang tepat guna. Untuk menampilkan
data dari dua tabel yang berbeda kita perlu melihat relasi apa yang terdapat di
antara dua tabel tersebut. Dengan demikian kita bisa mengetahui atribut
penghubungnya untuk kemudian diatur seperti pada percobaan.
F. Tugas
1. Tampilkan nama nasabah, alamat
nasabah, jenis transaksi dan jumlah transaksi di mana jenis transaksinya adalah
kredit dan diurutkan berdasarkan nama nasabah!
Jawab:
2. Tampilkan nomor rekening, nama
nasabah, jenis transaksi dan jumlah transaksi yang melakukan transaksi pada
tanggal 21 November 2009 dan diurutkan berdasarkan nama nasabah!
Jawab:
Diposkan
oleh sigid Udin di 09.12 Tidak ada komentar:
Selasa, 06 Mei 2014
MODUL 6
IMPLEMENTASI TABEL-TABEL BASIS DATA (2)
(PENGGUNAAN INSTRUKSI CREATE TABLE & OPTIONS-NYA
SERTA MEMASUKKAN RECORD KE DALAM TABEL-TABEL BASIS
DATA
A. Tujuan
Mahasiswa
mampu membuat struktur tabel-tabel basis data berdasarkan perancangan di modul
3 dan mengimplementasikan tabel-tabel tersebut di basis data.
B. Dasar Teori
Basis data
dapat diimplementasikan berdasarkan E-R diagram yang telah dibuat. Implementasi
database bisa:
1. Secara manual (dengan perintah SQL
‘CREATE TABLE’)
2. Secara semi-manual dengan bantuan client berbasis GUI (MySQL Front, PgAccess, phpPgAdmin, dst.)
2. Secara semi-manual dengan bantuan client berbasis GUI (MySQL Front, PgAccess, phpPgAdmin, dst.)
3. Secara otomatis dengan CASE Tools
(DBDesigner)
·
Pengenalan
PostgreSQL
PostgreSQL adalah sebuah object-relational database
management system (ORDBMS), bersifat open source, mendukung standar SQL92 dan
SQL99 serta mendukung bahasa pemrograman C, C++, Java, Tcl, Perl, Python, PHP,
dst. Fitur penting PostgreSQL: Inheritance, Data types, Functions, Constraints,
Triggers, Rules, dan Transactional Integrity. Arsitektur PostgreSQL berbasis
Client-Server. Backend Software untuk database server (server-side) adalah
Postmaster. Frontend software (client-side):
•
Psql
(disediakan dalam paket PostgreSQL)
•
Client
berbasis GUI (PgAdmin, PgAccess, ApplixWare)
•
Buat
aplikasi sendiri (C, C++, Java, PHP, dsb.)
Beberapa URL
untuk PostgreSQL:
•
www.postgresql.org
•
www.postgresql.org/docs
•
techdocs.postgresql.org
•
Tahap
Pembuatan Tabel
•
1.
Membuat
semua tabel yang paling utama (yang tidak memiliki FK).
2.
Membuat
semua tabel yang berhubungan langsung (atau memiliki relationship) dengan tabel
yang dibuat di tahap sebelumnya. Mulailah secara urut dari tabel dengan jumlah
FK yang paling ssedikit ke ang paling banyak.
3.
Ulangi tahap
2 sampai semua tabel selesai dibuat.
•
Implementasi
Manual
Contoh untuk
menetukan Primary Key (PK):
-
CREATE TABLE
dosen (nip INTEGER PRIMARY KEY, nama_dosen VARCHAR(45), alamat_dosen
VARCHAR(255));
Contoh untuk
menentukan Foreign Key (FK):
-
CREATE TABLE
mahasiswa (nim INTEGER PRIMARY KEY, nip INTEGER REFERENCES dosen(nip), nama_mhs
VARCHAR(45), alamat_mhs VARCHAR(255));
•
Referential
Integrity
1.
1Integritas
databse mengacu pada hubungan antar tabel melalui Foreign Key yang
bersangkutan.
2.
Pada insert,
record harus dimasukkan di tabel utama dahulu, kemudian baru di tabel
kedua.
3.
Pada delete,
record harus dihapus di tabel kedua dahulu, kemudian baru di tabel utama.
4.
Secara
default, PostgreSQL akan menolak insert atau delete yang melanggar integritas
database.
•
Insert Table
1.
Perintah SQL
untuk memasukkan data di tabel untuk semua kolom:
INSERT INTO
VALUES (, ...);
2.
Untuk
memasukkan data pada kolom-kolom tertentu:
INSERT INTO (, ...)
VALUES (, ...);
C. Tahap Insert Table
1.
Tahap insert
table mengikuti tahap pembuatan tabel
2.
Tahap 1:
Lakukan insert pada semua tabel yang paling utama (yang tidak memiliki FK).
3.
Tahap 2:
Lakukan insert pada semua tabel yang langsung berhubungan dengan tabel yang
di-insert di tahap sebelumnya, secara urut dari tabel dengan jumlah FK yang
paling sedikit ke yang paling banyak.
4.
Tahap 3:
ulangi tahap 2 sampai semua insert selesai dilakukan.
D. Tahap Delete Table
1.
Untuk
menjaga integritas database, maka tahap untuk melakukan delete table adalah
kebalikan dari tahapinsert table.
2.
Secara
default, PostgerSQL akan menolak delete yang melanggar integritas database.
Dengan kata lain,record di tabel utama tidak akan dihapus jika masih ada record
di tabel kedua yang berhubungan denganrecord utama tersebut.
Advanced Create Table Options:
E. Default
Untuk
menentukan nilai default kolom jika tidak ada data yang di-insert untuk kolo
itu:
-
CREATE TABLE
mahasiswa (nim integer PRIMARY KEY, nama_mhs VARCHAR(45), fakultas VARCHAR(5)
DEFAULT ‘FKI’:
Contoh
insert:
-
INSERT INTO
mahasiswa (nim, nam_mhs) VALUES (1, ‘Ali Topan’);
F. Not Null
Untuk
membatasi agar nilai kolom tidak boleh NULL:
-
CREATE TABLE
ruang (kode_ruang VARCHAR(20) PRIMARY KEY, lokasi_ruang VARCHAR(255) NOT NULL,
kapasitas_ruang INTEGER NOT NULL);
Jika kolom
ditentukan NOT NULL, maka insert harus memasukkan nilai untuk kolom tersebut.
Bisa menggunakan DEFAULT sehingga nilai kolom ditambahkan secara otomatis.
Pengertian
NULL
Khusus untuk tipe string (varchar atau char), NULL
tidak sama dengan kosong. Jika nilai kolom adalah NULL, artinya nilai tidak
diketahui atau nilai tidak ada sama sekali. Jika nilaikolom adalah kosong,
artinya kolom tersebut memang diketahui nilainya (ada nilainya), yaitu nilai
kosong (empty string).
Contoh:
-
CREATE TABLE
test (kode INTEGER PRIMARY KEY, nama VARCHAR(20));
-
INSERT INTO
test (kode) VALUES (1);
-
INSERT INTO
test VALUES (2, ‘ ’);
Perhatikan hasil berikut:
-
SELECT* FROM
test WHERE nama IS NULL;
-
SELECT* FROM
test WHERE nama = ‘ ‘;
G. Unique
Untuk
memastikan bahwa nilai kolom unik:
-
CREATE TABLE
mata_kulaih (kode_mk INTEGER PRIMARY KEY, nama_mk VARCHAR(45) UNIQUE);
Untuk
multikolom yang unik:
-
CREATE TABLE
dosen (nip INTEGER PRIMARY KEY, nama_dosen VARCHAR(45), alamat_dosen
VARCHAR(255), UNIQUE (nama_dosen, alamat_dosen));
H. Check
Untuk
membatasi nilai kolom, misalnya:
-
CREATE TABLE
produk (kode_produk INTEGER PRIMARY KEY, nama_produk VARCHAR(45), harga
INTEGER, CHECK (harga <= 100000 AND kode_produk > 100));
Check di
atas membatasi bahwa harga harus maksimal Rp 100000, dan kode_produk harus di
atas 100.
I. Penentuan Referential Integrity
Contoh:
-
CREATE TABLE
pemasok (kode_pemasok INTEGER PRIMARY KEY, nama_pemasok VARCHAR(45),
kode_produk INTEGER REFERENCES produk ON DELETE CASCADE ON UPDATE CASCADE);
Untuk contoh
di atas, jika ada update atau delete di tabel utama, maka tabel kedua secara
otomatis disesuaikan.
J. Macam action:
-
NO ACTION
atau RESTRICT: update atau delete tidak dilakukan. Ini merupakan pilihan
default.
-
CASCADE:
nilai kolom di tabel kedua disesuaikan dengan nilai kolom di tabel utama.
-
SET NULL:
nilai kolom di tabel kedua dijadikan NULL.
-
SET DEFAULT:
nilai kolom di tabel kedua dijadikan nilai DEFAULT (nilai DEFAULT harus
ditentukan pada waktu pembuatan tabel).
K. Autoincrement
Untuk fitur
autoincrement, gunakan “serial”:
-
CREATE TABLE
nasabah (id_nasabah SERIAL PRIMARY KEY, nama_nasabah VARCHAR(45));
Untuk contoh
di atas, id_nasabah tidak perlu di-insert, karena database secara otomatis akan
menambahkannya secara urut. Kita cukup hanya memasukkan nam_nasabah saja:
-
INSERT INTO
nasabah (nama_nasabah) VALUES (‘Ali Topan’);
Serial hanya bisa dari 1 sampai 232. Jika tidak cukup,
gunakan bigserial yang bisa dari 1 sampai 264. Penghapusan record tidak akan
mempengaruhi urutan untuk serial dan bigserial. Nilai untuk kolom yang
menggunakan serial/bigserial akan selalu bertambah 1, tidak akan pernah kembali
mundur. Misalnya:
-
DELETE FROM
nasabah WHERE id_nasabah=1;
-
INSERT INTO
nasabah (nama_nasabah) VALUES (‘Ali Topan’);
-
Perhatikan
id_nasabah: SELECT* FROM nasabah;
L. Alat dan Bahan
1.
Komputer
dengan sistem operasi Windows 7.
2.
Program
aplikasi PostgreSQL 9.3
3.
Modul
Praktikum Sistem Berkas dan Basis Data.
4.
M. Langkah-langkah
Kerja
1. Jalankan pgAdmin III pada PostgreSQL
9.3, caranya dengan membuka Start > All Programs > PostgreSQL 9.3 >
pgAdmin III.
2. Pada tab object browser (sebelah
kiri), double klik pada PostgreSQL 9.3 (localhost:5432), kemudian klik kanan
pada Databases (1) > New Database, beri nama pada kolom nama, karena ingin
membuat database bank, maka beri nama bank, misal “perbankan”, kemudian klik
OK.
3. Pada tab properties, klik pada
perbankan, lalu pilih ikon gambar puzzle warna kuning dan hijau) lalu
pilih PSQL Console.
4. Membuat tabel nasabah, cabang_bank,
rekening, dan transaksi, nasabah_has_rekening dan mengecek hasil pembuatan
tabel gunakan perintah \dt:
5. Selanjutnya, memasukkan
record-record ke dalam tabel yang telah dibuat dengan perintah insert into.
Pada tabel nasabah:
Pada tabel cabang_bank:
Pada tabel rekening:
Pada tabel nasabah_has_rekening:
Pada tabel transaksi:
6. Melihat hasil pada
masing-masing tabel.
Pada tabel nasabah:
Pada tabel rekening, cabang_bank:
Pada tabel nasabah_has_rekening,
transaksi:
N. Analisa
Dari percobaan di atas, dapat saya simpulkan bahwa
membuat database menggunakan PostgreSQL 9.3 dengan PSQL console, sepenuhnya
berbasis teks. Jadi untuk membuat, memasukkan, dan menghapus data menggunakan
perintah tertentu yang telah dibakukan oleh SQL. Dalam percobaan ini,
dibutuhkan kemampuan menghafal yang baik, namun selain menghafal kita juga
harus teliti dalam penulisan sintak, karena jika salah sedikit sintak idak mau
dijalankan.
O. Tugas
Implementasikan hasil rancangan database yang
menangani data kuliah pada tugas modul 3 ke dalam program pgAdmin III. Masukkan
beberapa record ke setiap tabel dalam database yang telah dibuat. Print out
hasil implemenatasi rancangan tersebut dan analisa hasilnya.
Langkah-langkah pembuatan database kuliah:
1. Jalankan pgAdmin III pada PostgreSQL 9.3, caranya
dengan membuka Start > All Programs > PostgreSQL 9.3 > pgAdmin III.
2. Pada tab object browser (sebelah kiri), double klik
pada PostgreSQL 9.3 (localhost:5432), kemudian klik kanan pada Databases (2)
> New Database, beri nama pada kolom nama, karena ingin membuat database
kuliah, maka beri nama universitas, misal “fki”, kemudian klik OK.
3. Pada tab properties, klik pada fki, lalu pilih ikon
gambar puzzle warna kuning dan hijau) lalu pilih PSQL Console.
4. Membuat tabel mahasiswa, dosen, mata_kuliah,
ruang_kelas, mahasiswa_has_mata_kuliah dan mengecek hasil pembuatan tabel
dengan perintah \dt:
5. Selanjutnya memasukkan record-record ke dalam
masing-masing tabel yang telah dibuat dengan perintah insert into Dan Melihat
hasil input pada masing-masing tabel :
Pada tabel
mahasiswa:
Pada tabel
dosen:
Pada tabel
mata_kuliah:
Pada tabel
ruang_kelas:
Pada tabel
mahasiswa_has_mata_kuliah:
Dari implementasi database data-data kuliah untuk
setiap relasi dari satu ke banyak (1:n) akan ada atribut primary key dari tabel
(dengan relasi satu) yang ditambahkan ke tabel dengan relasi banyak. Misalnya
untuk relasi dari dosen ke mata_kuliah (1:n), pada tabel mata_kuliah akan
ditambahkan primary key dari dosen, yaitu nik. Kemudian untuk relasi dari
banyak ke banyak (m:n), kita harus membuat tabel baru yang menghubungkan dua
tabel yang saling berelasi tadi. Misal, dari relasi mahasiswa ke mata_kuliah
(m:n), dibuat tabel baru dengan nama mahasiswa_has_mata_kuliah yang berisikan
atribut primary key dari kedua tabel (mahasiswa dan mata_kuliah) yaitu nim dan
kode_mk.
Database
perpustakaan
1. Jalankan pgAdmin III pada PostgreSQL 9.3, caranya
dengan membuka Start > All Programs > PostgreSQL 9.3 > pgAdmin III.
2. Pada tab object browser (sebelah kiri), double klik
pada PostgreSQL 9.3 (localhost:5432), kemudian klik kanan pada Databases (2)
> New Database, beri nama pada kolom nama “perpustakaan”, kemudian klik OK.
3. Pada tab properties, klik pada perpustakaan, lalu
pilih ikon gambar puzzle warna kuning dan hijau) lalu pilih PSQL Console.
4. Membuat tabel membercard, anggota, rak_buku, buku dan
mengecek hasil pembuatan tabel dengan perintah \dt:
5. Selanjutnya memasukkan record-record ke dalam
masing-masing tabel yang telah dibuat dengan perintah insert into Dan Melihat
hasil input pada masing-masing tabel :
Pada tabel
anggota:
Pada tabel
buku:
Pada tabel
membercard:
Pada tabel
rak_buku: