Anda di halaman 1dari 52

PostgreSQL RDBMS

Basic Concept and Practice

Created.By: Agus Zulvani


Email: agotekom@gmail.com
Blog: http://zulvani.wordpress.com
PT. Abdi Sistematika
Tujuan
j Pembelajaran
j
Asisten memahami dan mampu mengoperasikan
perangkat software PostgreSQL dan dapat
mengembangkan aplikasi sistem informasi
berbasis PostgreSQL.
Practice
• Implementation Database Design on
PostgreSQL

▫ Create New Database


▫ CRUD Table + Constraint
▫ CR View
Introduction to PostgreSQL
PostgreSQL
g ?
• PostgreSQL is an object-relational database
management system (RDBMS),
(RDBMS) developed at the
University of California at Berkeley Computer
Science Department. POSTGRES pioneered
many concepts that only became available in
some commercial database systems much later.

Reference: PostgreSQL Manual Reference


Database Management System (DBMS) ?
• A Software system that facilitates the creation
and maintenance and use of an electronic
database.

Reference: http://wordnetweb.princeton.edu/perl/webwn
Database ?
• Database adalah kumpulan file (arti sempit) dan
secara umum pengertian database adalah
kumpulan data pada satu perusahaan (McLeod
& Schell, 2007).

• Database adalah kumpulan


p dari ffile-file
f yyang
g
saling berhubungan (Bentley & Whitten, 2007).
Fitur-fitur PostgreSQL
g
• Complex Queries
• Foreign Keys
• Views
• Transactional Integrity

Reference: PostgreSQL Manual Reference


Lingkungan
PostgreSQL
Lingkungan
PostgreSQL
C t
Cont..
Technical Skill With
PostgreSQL
Database Analysis
y & Design
g
• Entity Relationship Diagram (ERD)
▫ Alat memodelkan hasil analisis data
▫ Alat memodelkan data konseptual/lojikal
(Conceptual Data Modeling)
▫ Alat memodelkan object
object-object
object dalam suatu
sistem (dasar dari Object Diagram / Class
Diagram)
• Normalisasi
▫ Untuk menentukan data-data yang dibutuhkan
dalam sistem, sehingga informasi yang dihasilkan
dapat terpenuhi dengan baik dan menghindari
pengulangan data.
Whyy Database Analysis
y & Design?
g
• Minimalisir Duplikasi (Redudansi Data)

• Penanganan Anomali Data

• Menjaga Konsistensi Data

• Kemudahan dalam pengembangan selanjutnya


Example:
p
Nilai

Mahasiswa
Bagaimana Jika Terjadi Pemutakhiran
Data?

• Menghapus Mahasiswa pada tabel Mahasiswa

• Mengubah Nama Mahasiswa (Kesalahan tulis)


Database Implementation
p
Structure Queryy Language
g g (SQL)
( )
• Structure Query Language (SQL): Bahasa yang
digunakan untuk mengakses/mengelolah
(Create Read Update Delete/CRUD) Relational
Database.
• SQL stands for Structured Query Language
• SQL
Q lets yyou access and manipulate
p databases
• SQL is an ANSI (American National Standards
Institute) standard
Reference: http://www. www.w3schools.com
SQL Cont….
• What Can SQL do ?
▫ SQL can execute qqueries against
g a database
▫ SQL can retrieve data from a database
▫ SQL can insert records in a database
▫ SQL
Q can update
p records in a database
▫ SQL can delete records from a database
▫ SQL can create new databases
▫ SQL
Q can create new tables in a database
▫ SQL can create stored procedures in a database
▫ SQL can create views in a database
▫ Q can set p
SQL permissions on tables,, procedures,
p , and
views
Reference: http://www. www.w3schools.com
SQL Historyy
• Sejarah SQL dimulai dari artikel seorang peneliti dari IBM bernama EF Codd
yang membahas tentang ide pembuatan database relasional pada bulan Juni
1970. Artikel ini juga membahas kemungkinan pembuatan bahasa standar
untukk mengakses
k d
data d l
dalam b i d
basis data tersebut.
b Bahasa
B h tersebut
b kemudian
k di
diberi nama SEQUEL (Structured English Query Language).

• Setelah terbitnya artikel tersebut, IBM mengadakan proyek pembuatan basis


data relasional berbasis bahasa SEQUEL.
SEQUEL Akan tetapi,
tetapi karena permasalahan
hukum mengenai penamaan SEQUEL, IBM pun mengubahnya menjadi SQL.
Implementasi basis data relasional dikenal dengan System/R.

• Di akhir tahun 1970-an,


97 , muncul perusahaan
p bernama Oracle yang
y g membuat
server database populer yang bernama sama dengan nama perusahaannya.
Dengan naiknya kepopuleran Oracle, maka SQL juga ikut populer sehingga saat
ini menjadi standar de facto bahasa dalam manajemen basis data.

Reference: http://id.wikipedia.org/wiki/SQL
SQL Standarization
• Standarisasi SQL dimulai pada tahun 1986, ditandai
dengan dikeluarkannya standar SQL oleh (American
N ti
Nationall Standards
St d d IInstitute)ANSI.
tit t )ANSI Standar
St d ini
i i sering
i
disebut dengan SQL-86. Standar tersebut kemudian
diperbaiki pada tahun 1989 kemudian diperbaiki lagi
pada tahun 1992.
1992 Versi terakhir dikenal dengan SQL92.
SQL92
Pada tahun 1999 dikeluarkan standar baru yaitu SQL99
atau disebut juga SQL99, akan tetapi kebanyakan
implementasi
p mereferensi p
pada SQL92.
Q 9

• Saat ini sebenarnya tidak ada server basis data yang


100% mendukung g SQL92. Hal ini disebabkan masing- g
masing server memiliki
l k dialek
d l k masing-masing.
Database Implementation
p ((Cont..))
• Data Definition Language (DDL): SQL yang
digunakan
g untuk mendefinisikan,, mengubah,
g b , serta
menghapus database dan objek-objek yang
diperlukan dalam basis data, misalnya tabel, view,
user dan sebagainya
user,

• Command:
▫ CREATE
▫ ALTER
▫ DROP
Example:
p
• Create New Database on PostgreSQL

CREATE DATABASE "Penjualan"


WITH ENCODING='UTF8'
ENCODING= UTF8
OWNER=amik
TEMPLATE template0
TEMPLATE=template0
TABLESPACE=pg_default;
Example
p Cont…
• Create New Table on PostgreSQL

CREATE TABLE "Customer"


(
customer_id character(3),
customer_name character varying(25),
city character varying(20),
CONSTRAINT pk PRIMARY KEY (customer_id)
_
) WITH (OIDS=FALSE)

TABLESPACE pg_default;
ALTER TABLE "Customer" OWNER TO amik;
Example
p Cont…
• Create New Table With Constraint Integrity

CREATE TABLE penjualan


(
no_faktur character(3),
tgl
g _faktur date,
,
customer_id character(3),
CONSTRAINT pkhp PRIMARY KEY (no_faktur),
CONSTRAINT fk FOREIGN KEY (customer_id)
REFERENCES "Customer"
Customer (customer_id)
(customer id) ON UPDATE
CASCADE ON DELETE RESTRICT
) WITH (OIDS=FALSE)

TABLESPACE pg_default;
ALTER TABLE penjualan OWNER TO amik;
Example
p Cont…
• Alter Table Item (Add new Field Price)

ALTER TABLE item ADD COLUMN price


double precision;
Example
p Cont…
• Drop Table

DROP TABLE “test_table”;


Example
p Cont…
• Create New View

CREATE OR REPLACE VIEW "public"."v" (


customer_id,
customer_name,
no_faktur,
tgl_faktur,
item name
item_name,
item_id,
jumlah)
AS
SELECT c.customer_id, c.customer_name, pp.no_faktur, p
p.tgl
g _faktur,
i.item_name,
dp.item_id, dp.jumlah
FROM ((("Customer" c JOIN penjualan p ON ((c.customer_id =
p.customer_id)))
JOIN det_penjualan
det penjualan dp ON ((p.no
((p.no_faktur
faktur = dp.no_faktur)))
dp.no faktur))) JOIN
item i ON
((dp.item_id = i.item_id)));
Database Implementation
p ((Cont..))
• Data Manipulation Language (DML): SQL yang
digunakan untuk memanipulasi data yang ada
dalam suatu tabel.

• Command:
▫ SELECT
▫ INSERT
▫ UPDATE
▫ DELETE
Example:
p
• Insert New Customer

INSERT INTO public."Customer"


(customer id, customer_name,
(customer_id, customer name, city)
VALUES ('C02', 'PT. DINAMIKA
SEJAHTERA', 'Bandung');
Example
p Cont…
• Update Customer

UPDATE public."Customer" SET


customer name = 'PT
customer_name PT. LINKSIS
INTERMEDIA' WHERE customer_id =
'C02';
Example
p Cont…
• Delete Customer

DELETE FROM public."Customer" WHERE


customer id = 'C02';
customer_id C02 ;
Example
p Cont…
• Transaction Read Committed Isolation Level

BEGIN;

INSERT INTO public


public."Customer"
Customer (customer_id,
(customer id
customer_name, city) VALUES ('C04', 'PT.
LINKSYS INTERMEDIA', 'Bandung');
INSERT INTO public."Customer"
bli "C t " (
(customer_id,
t id
customer_name, city) VALUES ('C03', 'PT.
ANGIN RIBUT', 'Jakarta', '123');

COMMIT;
Example
p Cont…
• Select (Retrieve Data) From 1 Table

SELECT * FROM public."Customer“;

SELECT customer_id, customer_name


FROM
O pub
public."Customer“;
c. Custo e ;
Example
p Cont…
Customer Penjualan

Det Penjualan
Det_Penjualan Item
Example
p Cont…
• CROSS JOIN

SELECT * FROM public."Customer" CROSS


JOIN public.
public "penjualan";
penjualan ;
Example
p Cont…
Example
p Cont…
• INNER JOIN

SELECT * FROM public."Customer" c


INNER JOIN public.
public "penjualan"
penjualan p ON
(p.customer_id = c.customer_id);
Example
p Cont…
• NATURAL JOIN

SELECT * FROM public."Customer" c


NATURAL JOIN public
public."penjualan"
penjualan p;
Example
p Cont…
• LEFT OUTER JOIN

SELECT * FROM public."Customer" c


NATURAL LEFT OUTER JOIN
public."penjualan" p;

SELECT * FROM public."Customer" c


LEFT OUTER JOIN public."penjualan" p
ON (c.customer_id = p.customer_id);
Example
p Cont…
• RIGHT OUTER JOIN

SELECT * FROM public."det_penjualan"


dp RIGHT OUTER JOIN public.
public "item"
item i
ON (i.item_id = dp.item_id);

SELECT * FROM public."det_penjualan"


dp NATURAL RIGHT OUTER JOIN
public."item" i;
Example
p Cont…
• FULL OUTER JOIN

SELECT * FROM public."Customer" c


NATURAL FULL OUTER JOIN
public."penjualan" p;
Example
p Cont…
• Tampilkan Data Pemblian Customer

SELECT
c.customer_id,
c.customer_name,
p.no_faktur,
p.tgl_faktur,
i item name
i.item_name,
dp.item_id,
dp.jumlah
FROM
public."Customer" c
p
INNER JOIN public.penjualan p ON (c.customer_id = p.customer_id)
INNER JOIN public.det_penjualan dp ON (p.no_faktur = dp.no_faktur)
INNER JOIN public.item i ON (dp.item_id = i.item_id)
Example
p Cont…
Example
p Cont…
• CLAUSA WHERE

SELECT
c.customer_id,
c.customer_name,
p.no_faktur,
p.tgl_faktur,
i item name
i.item_name,
dp.item_id,
dp.jumlah
FROM
public."Customer" c
p
INNER JOIN public.penjualan p ON (c.customer_id = p.customer_id)
INNER JOIN public.det_penjualan dp ON (p.no_faktur = dp.no_faktur)
INNER JOIN public.item i ON (dp.item_id = i.item_id)
WHERE
c.customer_id
t id = 'C01'
Database Implementation
p ((Cont..))
• Data Control Language (DCL): SQL yang
digunakan untuk mengontrol akses objek ke
Database.

• Command:
▫ GRANT
▫ REVOKE
Example
p
• Memberikan Akses Insert kepada User
Training 1
Training_1

GRANT INSERT
ON "public"."Customer" TO
“training
g_1";
Example
p Cont…
• Mencabut Hak Akses Insert pada user
training 1
training_1

REVOKE INSERT
ON "public"."Customer" FROM
"akuntansi";
Import & Export Data From Other
Resource
• EMS Data Export
▫ Excel Datasheet
▫ Access Database
▫ CSV or Plain Text File

• EMS Data Import


▫ SQL SERVER
▫ ORACLE
▫ MySQL
▫ Interbase/Firebird
▫ DB2
▫ PostgreSQL
Advance PostgreSQL
Data Warehouse ?
• Gudang data (data warehouse) adalah suatu sistem
p
komputer untuk mengarsipkan
g p dan menganalisis
g data
historis suatu organisasi seperti data penjualan, gaji, dan
informasi lain dari operasi harian. Pada umumnya suatu
organisasi
g menyalin
y informasi dari sistem
operasionalnya (seperti penjualan dan SDM) ke gudang
data menurut jadwal teratur, misalnya setiap malam
atau setiap
p akhir minggu.
gg Setelah itu,, manajemen
j dapat
p
melakukan query kompleks dan analisis (contohnya
penambangan data, data mining) terhadap informasi
p membebani sistem yyang
tersebut tanpa g operasional.
p
Reference: http://id.wikipedia.org/wiki/Gudang_data
Business Intelligent (OLAP) and Data
Mining
• Online Analytical Processing, atau disingkat OLAP
adalah sebuah pendekatan secara cepat menyediakan
j
jawaban-jawaban
b j b terhadap
t h d kueri
k i analitik
litik yang
multidimensi di dalam alam. OLAP adalah bagian dari
kategori yang lebih global dari pemikiran bisnis, yang
juga merangkum hubungan antara pelaporan dan
penggalian data. Aplikasi khusus dari OLAP adalah
pelaporan bisnis untuk penjualan, pemasaran,
manajemen
j pelaporan,
p p , manajemen
j proses bisnis ((MPB),
p ),
penganggaran dan peramalan, laporan keuangan dan
bidang-bidang yang serupa. Istilah OLAP merupakan
perampingan dari istilah lama database OLTP (Online
T
Transaction
ti P Processing).
i )
Reference: http://id.wikipedia.org/wiki/OLAP
Terima Kasih

Anda mungkin juga menyukai