tutorial singkat postgresql updatemaret2010
TRANSCRIPT
Tutorial PostgreSQLModul I Pengenalan PostgreSQL
1. Introduction
PostgreSQL adalah server basisdata tingkat tinggi yang open source dan juga freeware. PostgreSQL dikembangkan oleh tim Berkeley University of California pada tahun 1977-1985. Perkembangan PostgreSQL sangat cepat, setiap hari selalu di update oleh tim pengembang. Sampai hari ini PostgreSQL merupakan saingan dari server database lainnya yang komersil.
Salah satu alasan mengapa memilih PostgreSQL sebagai server database ialah software tersebut open source. Pengembangan software open source tidak memerlukan perusahaan yang terstruktur sehingga factor ekonomi tidak membatasinya. Terdapat juga fasilitas feedback untuk user, user dapat melaporkan dengan cepat ketika terdapat bug dan fasilitas yang kurang pada software. Pendistribusian software ke user pun dengan cepat dapat dilakukan.
2. Basic SQL Command
Untuk bisa mengikuti tutorial ini diasumsikan sudah memenuhi beberapa syarat, yaitu:
a. PostgreSQL sudah terinstall berikut menjalankannya sebagai server.
b. PgAdmin sudah terinstall (optional).
SQL Command dapat ditulis dalam sebuah command line, juga dapat di lakukan dalam Query Tool pada aplikasi PgAdmin.
Copyright 2010
By: IMG06049
Tutorial PostgreSQL2.1 Mengakses PostgreSQL melalui command line
• Membuat database pertama kali
createdb -U postgres pelatihan
• Koneksi ke PostgreSQL
psql -U postgres -d pelatihan
• Melihat list database yang sudah ada
\l
2.2 Membuat Database
• Membuat database dengan nama basisdata:
CREATE DATABASE basisdata;
• Koneksi ke database
\c basisdata
2.3 Membuat tabel
• Membuat tabel mahasiswa:
CREATE TABLE mahasiswa (
nim CHAR(8) PRIMARY KEY,
nama CHAR(35),
alamat VARCHAR(50)
);
Ilustrasi Tabel Mahasiswa
nim nama alamat15106049 RIKI BANDUNG19107087 ISIL DUMAI
Copyright 2010
By: IMG06049
Tutorial PostgreSQL• Membuat tabel dosen:
CREATE TABLE dosen (
nip CHAR(9) PRIMARY KEY,
nama CHAR(35),
alamat VARCHAR(50)
);
Ilustrasi Tabel Dosen
nip nama alamat
130528324 Ishak Hanafiah Ismullah Bandung131690328 Wedyanto Bandung
• Melihat list tabel yang sudah ada
\d
• Melihat tipe data setiap kolom dari tabel
\d mahasiswa
2.4 Input data kedalam tabel
Input data ke tabel mahasiswa
INSERT INTO mahasiswa (nim,nama,alamat) VALUES (
'15106049',
'Riki Oktapiana',
'Bandung');
Copyright 2010
By: IMG06049
Tutorial PostgreSQLInput data ke tabel dosen
INSERT INTO dosen (nip,nama,alamat) VALUES (
'130528324',
'Ishak Hanafiah Ismullah',
'Bandung');
2.5 Menampilkan Record
• Menampilkan Record pada tabel mahasiswa
SELECT * FROM mahasiswa;
• Menampilkan Record pada tabel dosen
SELECT nip, nama FROM dosen;
2.6 Menambah Kolom
ALTER TABLE mahasiswa ADD tgl_lahir DATE;
2.7 Menambah Record
UPDATE mahasiswa SET tgl_lahir ='19/10/1987' WHERE nim='15106049';
2.8 Search data
SELECT nama FROM dosen WHERE nip=’ 130528324’;
2.9 Menghapus Table
DROP TABLE mahasiswa;
2.10 Menghapus database
DROP DATABASE basisdata;
Copyright 2010
By: IMG06049
Tutorial PostgreSQL3. Constraint
3.1 Primary Key
• Membuat database labtek
CREATE DATABASE labtek;
• Membuat tabel lantai
CREATE TABLE lantai (
id_lantai CHAR(9) ,
nm_lantai VARCHAR(35),
luas CHAR(5)
);
• Membuat Primary Key
ALTER TABLE lantai ADD CONSTRAINT pkey_lantai PRIMARY KEY (id_lantai);
3.2 Foreign Key
• Membuat tabel ruang
CREATE TABLE ruang (
id_ruang CHAR(9) ,
kapasitas CHAR(5),
id_lantai CHAR(9)
);
• Membuat Foreign Key
ALTER TABLE ruang ADD CONSTRAINT fkey_ruang FOREIGN KEY (id_lantai) REFERENCES lantai(id_lantai) MATCH FULL ON DELETE CASCADE ON UPDATE CASCADE;
*****************************************************************************
Copyright 2010
By: IMG06049
Tutorial PostgreSQLPada sebuah basisdata setiap tabel harus memiliki hubungan dengan tabel lain.
Tugas 1
Buatlah hubungan antara tabel mahasiswa dan dosen dengan konsep basisdata:
Aturan Pertama(Perwalian):
1. Setiap dosen menjadi wali banyak mahasiswa.
2. Setiap Mahasiswa hanya memiliki satu dosen wali.
Aturan Kedua (Belajar Mengajar)
1. Setiap dosen dapat mengajar banyak mahasiswa.
2. Setiap mahasiswa dapat belajar dari beberapa dosen.
Jawaban
Setelah tabel dosen dan mahasiswa dibuat pada contoh sebelumnya, berikut langkah-langkahnya:
Aturan Pertama
1. Buat kolom baru pada tabel mahasiswa (Foreign Key) yang mempunyai referensi pada Primary Key pada tabel dosen,misalnya kolom nip.
ALTER TABLE mahasiswa ADD nip CHAR(9);
ALTER TABLE mahasiswa
ADD CONSTRAINT fkey_mahasiswa
FOREIGN KEY (nip) REFERENCES dosen(nip)
MATCH FULL ON DELETE CASCADE ON UPDATE CASCADE;
2. Masukan NIP dosen yang menjadi wali pada Foreign Key tabel mahasiswa.
Copyright 2010
By: IMG06049
Tutorial PostgreSQLAturan Kedua
1. Buat tabel baru yang menghubungkan antara tabel dosen dan tabel mahasiswa, misalnya tabel belajar_mengajar.
2. Buat kolom baru (nip dan nim) pada tabel belajar_mengajar yang mempunyai referensi pada tabel dosen untuk nip dan pada tabel mahasiswa untuk nim.
3. Masukkan NIP dan NIM pada tabel kolom nip dan nim tabel belajar_mengajar untuk mahasiswa dan dosen yang mempunyai hubungan belajar dan mengajar.
CREATE TABLE belajar_mengajar (
nim CHAR(8) ,
nip CHAR(9),
PRIMARY KEY (nim,nip)
);
ALTER TABLE belajar_mengajar
ADD CONSTRAINT fkey_belajar_mengajar_nip
FOREIGN KEY (nip) REFERENCES dosen(nip)
MATCH FULL ON DELETE CASCADE ON UPDATE CASCADE;
ALTER TABLE belajar_mengajar
ADD CONSTRAINT fkey_belajar_mengajar_nim
FOREIGN KEY (nim) REFERENCES mahasiswa(nim)
MATCH FULL ON DELETE CASCADE ON UPDATE CASCADE;
Copyright 2010
By: IMG06049
Tutorial PostgreSQL4. Menampilkan data dari beberapa tabel yang berhubungan
SELECT m.nim AS NIM ,m.nama AS Nama_Mahasiswa,d.nama
AS Dosen_Pengajar
FROM mahasiswa m, dosen d, belajar_mengajar b
WHERE m.nim = b.nim AND d.nip = b.nip AND m.nim ='15106049';
5. Membuat Table View
CREATE VIEW belajar_view AS
SELECT m.nim AS NIM ,m.nama AS Nama_Mahasiswa,d.nama
AS Dosen_Pengajar
FROM mahasiswa m, dosen d, belajar_mengajar b
WHERE m.nim = b.nim AND d.nip = b.nip ;
Copyright 2010
By: IMG06049
Tutorial PostgreSQL6 Membuat Tabel dari SELECT
CREATE TABLE belajar_copy AS
SELECT m.nim AS NIM ,m.nama AS Nama_Mahasiswa,d.nama
AS Dosen_Pengajar
FROM mahasiswa m, dosen d, belajar_mengajar b
WHERE m.nim = b.nim AND d.nip = b.nip ;
7 Large Objects dalam PostgreSQL
- Membuat tabel baru
CREATE TABLE gambar (nama CHAR(32), image OID);
- Memasukkan data ke database
INSERT INTO gambar VALUES (‘gunung’,lo_import(‘d:/multimedia/krenceng/krenceng3.jpg’));
- Memanggil data dari database
SELECT lo_export(gambar.image,’ d:/multimedia/krenceng/tmp/output01.jpg’) FROM gambar WHERE nama = ‘gunung’ ;
Jika query berhasil, file krenceng3.jpg akan di copy ke direktori d:/multimedia/krenceng/tmp/ dengan nama file output01.jpg
Copyright 2010
By: IMG06049