0% menganggap dokumen ini bermanfaat (0 suara)
73 tayangan9 halaman

Bab 2. SQL Dan PostgreSQL

1. Dokumen membahas tentang SQL sebagai bahasa standar untuk mengakses dan memanipulasi database, serta sejarah perkembangan SQL dan PostgreSQL.

Diunggah oleh

arystayeni
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
73 tayangan9 halaman

Bab 2. SQL Dan PostgreSQL

1. Dokumen membahas tentang SQL sebagai bahasa standar untuk mengakses dan memanipulasi database, serta sejarah perkembangan SQL dan PostgreSQL.

Diunggah oleh

arystayeni
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 9

BAB II

SQL
SQL (dibaca SeQueL) merupakan kependekan dari Structured Query Language yaitu bahasa
yang dirancang khusus untuk komunikasi dengan database. Tidak seperti bahasa-bahasa
lainnya (seperti bahasa C, basic, pascal atau bahasa pemprograman yang lain) Bahasa SQL
sengaja dirancang untuk melakukan hal secara sederhana dan efisien untuk membaca dan
menulis data dari suatu database.
SQL adalah bahasa standar untuk mengakses dan memanipulasi server database.
Apa itu SQL?

SQL singkatan dari Structured Query Language


SQL memungkinkan Anda mengakses dan memanipulasi database
SQL adalah ANSI (American National Standards Institute) standar

Apa yang Bisa SQL lakukan?


SQL dapat mengeksekusi query terhadap database
SQL dapat mengambil data dari database
SQL catatan dapat menyisipkan dalam database
SQL dapat memperbarui catatan dalam database
SQL dapat menghapus data dari database
SQL dapat membuat database baru
SQL dapat membuat tabel baru pada database
SQL dapat membuat prosedur yang tersimpan dalam database
SQL dapat membuat tampilan dalam database
SQL dapat mengatur hak akses pada tabel, prosedur, dan pandangan
SQL adalah suatu standar - TAPI ....
Meskipun SQL adalah ANSI (American National Standards Institute) standar, ada versi yang
berbeda dari bahasa SQL.
Namun, untuk menjadi sesuai dengan standar ANSI, mereka mendukung semua setidaknya
perintah utama (seperti SELECT, UPDATE, DELETE, INSERT, WHERE) dengan cara yang
serupa.
Catatan:
Sebagian besar program database SQL juga memiliki ekstensi milik mereka sendiri di
samping standar SQL!
Sejarah SQL
Sejarah SQL dimulai dari artikel seorang peneliti dari IBM bernama EF Codd yang
membahas tentang ide pembuatan basis data relasional pada bulan Juni 1970. Artikel ini juga
membahas kemungkinan pembuatan bahasa standar untuk mengakses data dalam basis data
tersebut. Bahasa tersebut kemudian diberi nama SEQUEL (Structured English Query
Language).
Setelah terbitnya artikel tersebut, IBM mengadakan proyek pembuatan basis data relasional
berbasis bahasa SEQUEL. Akan tetapi, karena permasalahan hukum mengenai penamaan

Basisdata 2 ( Bab 2 )
Oleh : Muhammad Ichwanudin

SEQUEL, IBM pun mengubahnya menjadi SQL. Implementasi basis data relasional dikenal
dengan System/R.
Di akhir tahun 1970-an, muncul perusahaan bernama Oracle yang membuat server basis data
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.
Standarisasi SQL dimulai pada tahun 1986, ditandai dengan dikeluarkannya standar SQL
oleh ANSI. Standar ini sering disebut dengan SQL86.
Standar tersebut kemudian diperbaiki pada tahun 1989 kemudian diperbaiki lagi pada tahun
1992. Versi terakhir dikenal dengan SQL92.
Pada tahun 1999 dikeluarkan standar baru yaitu SQL99 atau disebut juga SQL99, akan tetapi
kebanyakan implementasi mereferensi pada SQL92.
Saat ini sebenarnya tidak ada server basis data yang 100% mendukung SQL92. Hal ini
disebabkan masing-masing server memiliki dialek masing-masing.
Lingkungan SQL
1. Katalog
Kumpulan skema yang merupakan descripsi database.
2. Skema
Struktur yang berisi descripsi obyek yang dibuat pengguna ( table, view, constraint).
3. Data Definition Language ( DDL )
Perintah yang digunakan untuk mendefinisikan basisdata. Termasuk : pembuatan (create),
pengubahan (alter) dan penghapusan (drop) table dan penetapan constraint.
4. Data Manipulation Language ( DML )
Perintah untuk merawat / memanipulasi data table dan query basisdata, meliputi :
menambah data (insert), menghapus data (delete), merubah data (update) dan
menampilkan data (select).
5. Data Control Language ( DCL )
Perintah yang mengontrol basisdata, termasuk administrasi hak akses dan commit data.

Basisdata 2 ( Bab 2 )
Oleh : Muhammad Ichwanudin

POSTGRESQL
PostgreSQL atau sering disebut Postgres merupakan salah satu dari sejumlah database besar
yang menawarkan skalabilitas, keluwesan, dan kinerja yang tinggi. Penggunaannya begitu
meluas di berbagai platform dan didukung oleh banyak bahasa pemrograman. Bagi
masyarakat TI (teknologi informasi) di Indonesia, Postgres sudah digunakan untuk berbagai
aplikasi seperti web, billing system, dan sistem informasi besar lainnya.
Object-Relational Database Management System (ORDBMS) yang sekarang kita kenal
sebagai PostgreSQL merupakan pengembangan dari package POSTGRES yang ditulis di
University of California, Berkeley. Dibalik semua dekade yang terlewati selama
pengembangannya, PostgreSQL sekarang adalah open-source database terbaik yang tersedia
dimanapun.
Sejarah dari POSTGRES dimulai dari proyek POSTGRES, dipimpin oleh Professor Michael
Stonebraker, dan disponsori oleh Defense Advanced Research Projects Agency (DARPA),
Army Research Office (ARO), National Science Foundation (NSF), dan ESL, Inc.
Pengimplementasian POSTGRES bermula pada tahun 1986.
POSTGRES telah digunakan untuk mengimplementasikan banyak penelitian dan
pengembangan aplikasi. Diantaranya : system analisis data finansial, package monitoring
performa mesin jet, database dari pelacakan asteroid, database informasi medis,
dan beberapa Sistem Informasi Geografi (SIG). POSTGRES juga digunakan sebagai
pendukung edukasi pada beberapa universitas. Pada akhirnya, Illustra Information
Technologies (kini melakukan merger menjadi Informix, yang saat ini dimiliki oleh IBM)
mengambil code POSTGRES dan mengkomersialkannya. Pada akhir 1992, POSTGRES
menjadi data manager utama untuk proyek Sequoia 2000 scientific computing.
Jumlah dari komunitas user eksternal hampir berlipat ganda selama 1993. Jumlah ini semakin
meningkat seiring maintenance dari prototype code dan support yang memakan banyak
waktu yang seharusnya digunakan untuk riset database. Sebagai usaha untuk mengurangi
support, proyek POSTGRES Berkeley secara resmi diakhiri dengan Versi 4.2.
Postgres95 :
Pada 1994, Andrew Yu dan Jolly Chen menambahkan interpreter SQL language untuk
POSTGRES. Dengan nama baru, Postgres95 secara subsequent dirilis ke web untuk
menemukan jalurnya sebagai sebuah open-source descendant dari kode awal POSTGRES
Berkeley.
Kode Postgres95 sudah sesuai dengan ANSI C dan ukurannya ditrim hingga 25%. Banyak
perubahan internal meningkatkan performance dan maintainabilitas. Rilis Postgres95 1.0.x
berjalan sekitar 30-50% lebih cepat pada Wisconsin Benchmark dibandingkan dengan
POSTGRES Versi 4.2.
PostgreSQL :
Pada 1996, Semakin jelas bahwa nama Postgres95 sudah tidak sesuai seiring berjalannya
waktu. Nama yang dipilih adalah PostgreSQL, untuk merefleksikan hubungan antara
POSTGRES asli dan versi terbarunya yang sudah SQL capable. Pada waktu yang sama,
penomoran versi selanjutnya dimulai pada 6.0, kembali pada sequence awal yang dibentuk
pada proyek POSTGRES Berkeley.
Emphasis selama pengembangan Postgres95 difokuskan pada indentifikasi dan pemahaman
problem-problem yang ada pada server code. Dengan PostgreSQL, emphasis dialihkan untuk
augmentasi fitur dan kapabilitas,meskipun masih berjalan disemua area.
Basisdata 2 ( Bab 2 )
Oleh : Muhammad Ichwanudin

Fitur PostgreSQL
1. PostgreSQL adalah sebuah object-relational database management system (ORDBMS)
2. Bersifat open source.
3. Mendukung standar SQL92 dan SQL99
4. Mendukung bahasa pemrograman C, C++, Java, Tcl, Perl, Python, PHP, dst.
5. Kapasitas penyimpanan 32 TeraByte.
6. Foreign Key Constraint
7. SubSELECT ( SubQuery )
8. Views dan Triggers
9. Function dan Stored Procedure
10. Replikasi dan Cluster
Arsitektur PostgreSQL
1. Berbasis Client-Server.
2. Backend software untuk database server (server-side): Postmaster
3. Frontend software (client-side):
a. psql (disediakan dalam paket PostgreSQL)
b. Client berbasis GUI (PgAdmin, PgAccess, ApplixWare, dsb.)
c. Client berbasis Web (phpPgAdmin)
d. Buat aplikasi sendiri (C, C++, Java, PHP, dsb.)
Perintah Dasar PostgreSQL
1. Login
Pada latihan kita, saya menggunakan PostgreSQL 8.3.7. Dalam latihan selanjutnya, kita
membutuhkan database yang ada didalam setiap user PostgreSQL, jalankan Command
Prompt yang ada di program PostgreSQL dengan cara Start Programs PostgreSQL
8.3 Command Prompt. Ketikkan perintah :
psql -U postgres -h 192.168.0.211 -d postgres
dan masukkan passwordnya.

Keterangan :
C:\PostgreSQL\bin

: C:\PostgreSQL Menunjukkan directory dimana database


PostgreSQL di install, dan C:\PostgreSQL\bin menunjukkan
lokasi program psql.exe tersimpan.

Basisdata 2 ( Bab 2 )
Oleh : Muhammad Ichwanudin

Psql

: Program yang disediakan oleh PostgreSQL untuk mengakses


database dengan menggunakan perintah SQL. Pada umumnya
program ini mempunyai bentuk text mode.
Untuk menjalankan program ini, kita harus menunjukkan
dimana lokasi penyimpanan program ini berada.

-U

: Perintah yang digunakan untuk menambahkan nama user yang


akan dijadikan connect ke database. Ingat, U yang dituliskan
adalah U character besar.

Postgres

: Nama user yang digunakan untuk connect ke database.

-h

: Perintah untuk mendefinisikan host / server tempat database


terinstall.

192.168.0.211

: IP Address atau nama Server database terinstall. Jadi


Pendefinisian server database tidak harus menggunakan IP
Address tetapi anda juga dapat menggunakan nama Server.

-d

: Perintah yang digunakan untuk mendefinikan database yang


akan diakses oleh user connect.

Postgres

: Berbeda dari definisi postgres yang pertama, Postgres yang


kedua adalah nama database yang akan diakses oleh user yang
akan connect.

2. User
User adalah pengguna yang diperbolehkan untuk mangakses database. Secara default
database PostgreSQL menyediakan user yang bisa langsung mengakses database dengan
nama postgres dan passwordnya telah ditentukan pada saat kita menginstall
PostgreSQL, user ini merupakan user Administrator.
Selain user postgres, PostgreSQL menyediakan fasilitas untuk membuat user baru. Untuk
dapat membuat user baru, hanya user yang mempunyai tinggkatan setara dengan
Administrator.
Untuk membuat user, ketikkan perintah :
CREATE ROLE ichwan LOGIN PASSWORD 'ichwan'
CREATEDB
VALID UNTIL 'INFINITY';
Perhatikan nama role dan password, karakter yang digunakan adalah karakter kecil. Anda
perlu memperhatikan setiap kali anda melakukan pengetikan dalam administrasi database
PostgreSQL karena PostgreSQL case-sensitive ( membedakan karakter besar dan karakter
kecil ). Untuk lebih amannya, gunakan saja karakter kecil.
Menghapus user :
drop user ichwan;
Basisdata 2 ( Bab 2 )
Oleh : Muhammad Ichwanudin

Login dengan user yang telah dibuat :


psql -U ichwan h 192.168.0.211 -d postgres

User ichwan login tapi masih menggunakan database postgres karena user ichwan
masih belum memiliki database. Selanjutnya kita akan membuat database dari user
ichwan.
3. Database
Database default yang kita peroleh saat kita mengistall PostgreSQL adalah database :
Name
|
Owner
|
----------------------------------postgres
| postgres
|
template0
| postgres
|
template1
| postgres
|
Database yang bisa kita gunakan adalah database postgres dan database template0 dan
template1 database yang di khususkan untuk system.
Selain database diatas, kita bisa membuat database baru dengan cara :
create database ichwan_db;

Membuka database :
Untuk membuka database, kita mempunyai 2 cara yaitu :
1. Jika kita sudah login kedalam aplikasi PostgreSQL, kita bisa menggunakan perintah :
\c ichwan_db;
Perinath \c adalah perintah untuk connect ke salah satu database.
2. Jika kita masih belum login kedalam aplikasi PostgreSQL, perintah yang digunakan
adalah :
psql -U ichwan h 192.168.0.211 -d ichwan_db;

Untuk melihat daftar database yang telah terbentuk, anda dapat mengetikkan perintah:
\l

Untuk menghapus database :


drop database ichwan_db;

Basisdata 2 ( Bab 2 )
Oleh : Muhammad Ichwanudin

4. Melihat daftar table


Untuk melihat daftar table apa saja yang telah terbentuk dalam database adalah dengan
perintah :
postgres=# \dt
List of relations
Schema | Name
| Type | Owner
--------+---------+-------+---------public | gambar | table | postgres
public | gambar2 | table | postgres
public | gambar3 | table | postgres
public | jam
| table | postgres
public | jur
| table | postgres
public | mhs
| table | postgres
(6 rows)
5. Melihat Struktur Table
Untuk melihat struktur table dapat menggunakan perintah :
postgres=# \d mhs
Table "public.mhs"
Column |
Type
| Modifiers
--------+-----------------------+----------nim
| character varying(15) | not null
nama
| character varying(30) |
kd_jur | character varying(5) |
Indexes:
"pk_mhs" PRIMARY KEY, btree (nim)
Foreign-key constraints:
"fk_mhs" FOREIGN KEY (kd_jur) REFERENCES jur(kd_jur)

6. Type Data PostgreSQL


a. Numeric
Type data numeric adalah type data yang dikhususkan untuk menampung data yang
bertipe angka.
Type data
smallint
integer

Ukuran
Keterangan
2 bytes Bilangan bulat kecil
4 bytes Bilangan bulat sedang

bigint

8 bytes

Bilangan bulat besar

decimal

variable

numeric

variable

real
double

4 bytes
8 bytes

Bilangan pecahan
Bilangan bulat /
pecahan
Bilangan pecahan
Bilangan pecahan

Basisdata 2 ( Bab 2 )
Oleh : Muhammad Ichwanudin

Nilai
-32768 32767
-2147483648 2147483647
-9223372036854775808
9223372036854775807
Tidak ada batasan
Tidak ada batasan
6 desimal point
15 desimal point
7

precision
serial

4 bytes

bigserial

8 bytes

Bilangan Bulat
(autoincrement)
Bilangan Bulat ukuran
besar (autoincrement)

1 2147483647
1 9223372036854775807

b. Monetary
Jenis data monetary menyimpan sejumlah mata uang dengan pecahan presisi tetap.
Type data
Money

Ukuran
8 bytes

Keterangan
Jumlah mata uang

Nilai
-92233720368547758.08
92233720368547758.07

c. Character
Type data character adalah type data yang menampung semua karakter.
Type data
character varying(n)
varchar(n)
character(n)
char(n)

Ukuran

Variable Character dengan batasan nilai


Variable Character dengan batasan nilai
1 byte
~

char
Text

Keterangan

Hanya mampu menampung 1 character


Menampung character tanpa batasan

d. Binary
Type data bytea memungkinkan penyimpanan string biner.
Type data
Bytea

Ukuran
1 atau 4

Keterangan
Panjang variable binary string dapat kita tentukan

e. Date / Time
Type data yang mampu menyimpan data tanggal dan jam.
Type data

Ukuran
8 byte

Keterangan
Tanggal dan jam tidak ada zona waktu

8 byte

Tanggal dan jam dengan zona waktu

4 byte
8 byte

Tanggal saja ( 2011-12-31)


Jam saja (00:00:00 24:00:00)

Time with
time zone

12 byte

Jam saja dengan zona waktu

Interval

12 byte

Interval waktu

timestamp
timestamp
with time zone
Date
Time

f. Boolean
Type data boolean hanya dapat menampung dua pilihan data yaitu true atau false.
Basisdata 2 ( Bab 2 )
Oleh : Muhammad Ichwanudin

Type data

Nilai valid
True

Boolean

TRUE, 't', 'true',


'yes', 'on', '1'

False
'y',

FALSE, 'f', 'false',


'no', 'off', '0'

'n',

g. Geometric
Type data geometric adalah type data yang mampu menampung obyek 2 dimensi.
Type data
point

Ukuran
16 bytes

line

32 bytes

lseg
box

32 bytes
32 bytes
16+16n
bytes
16+16n
bytes
40+16n
bytes

Keterangan
Koordinat titik
Garis yang tidak
terbatas
Ruas Garis
Kotak persegi panjang
Mirip polygon tertutup
(closed path)
Mirip polygon terbuka
( open path )
Polygon (similar to
closed path)

24 bytes

Circle

path
path
polygon
circle

Nilai
(x,y)
((x1,y1),(x2,y2))
((x1,y1),(x2,y2))
((x1,y1),(x2,y2))
((x1,y1),...)
[(x1,y1),...]
((x1,y1),...)
<(x,y),r> (center point and
radius)

h. Network Address
Type data yang mampu menyimpan data ip-address
Type data
cidr
inet
macaddr

Ukuran
7 atau 19 bytes
7 atau 19 bytes
6 bytes

Keterangan
IPv4 dan IPv6 networks
IPv4 dan IPv6 hosts dan networks
MAC addresses

i. Bit
Bit string adalah string yang terdiri dari bilangan 1 dan 0.
Type data
Bit (n)
bit varying(n)

Ukuran
Variable
Variable

Basisdata 2 ( Bab 2 )
Oleh : Muhammad Ichwanudin

Keterangan
Ukuran sesuai dengan nilai variable
Ukuran sesuai dengan nilai variable

Anda mungkin juga menyukai