Dalam Data Definition Language (DDL) perintah yang biasa digunakan seperti CREATE, DROP dan ALTER. Adapun penjelasan singkatnya sebagai berikut :
- CREATE,
merupakan perintah yang digunakan untuk membuat struktur objek pada database, yang dapat berupa database, table, view, procedure, trigger dan sebagainya.
- DROP
merupakan perintah yang digunakan untuk menghapus struktur objek pada database.
- ALTER,
merupakan perintah yang digunakan untuk mengubah struktur objek yang telah ada pada database.
CREATE
DATABASE
Sintaks Membuat Database
CREATE DATABASE name
[ [ WITH ] [ OWNER [=] dbowner ]
[ TEMPLATE [=] template ]
[ ENCODING [=] encoding ]
[ TABLESPACE [=] tablespace ]
[ CONNECTION LIMIT [=] connlimit ] ]
Masuk ke console PosgtresSQL, lalu ketik :
postgres=# CREATE DATABASE Penjualan
postgres-# WITH OWNER=postgres
postgres-# ENCODINg=’SQL-ASCII’
postgres-# TABLESPACE=pg_default;
CREATE DATABASE
Melihat database yang telah dibuat :
postgres=# \l
List of databases
Name | Owner | Encoding
——————+———-+———–
mahasiswa | postgres | SQL_ASCII
penjualan | postgres | SQL_ASCII
postgres | postgres | SQL_ASCII
template0 | postgres | SQL_ASCII
template1 | postgres | SQL_ASCII
template_postgis | postgres | SQL_ASCII
(6 rows)
TABLE
Sintaks Membuat Tabel
=======================================================================
CREATE [ [ GLOBAL | LOCAL ] { TEMPORARY | TEMP } ] TABLE table_name ( [
{ column_name data_type [ DEFAULT default_expr ] [ column_constraint [ ... ] ]
| table_constraint
| LIKE parent_table [ { INCLUDING | EXCLUDING } { DEFAULTS | CONSTRAINTS } ] … }
[, ... ]
] )
[ INHERITS ( parent_table [, ... ] ) ]
[ WITH ( storage_parameter [= value] [, ... ] ) | WITH OIDS | WITHOUT OIDS ]
[ ON COMMIT { PRESERVE ROWS | DELETE ROWS | DROP } ]
[ TABLESPACE tablespace ]
where column_constraint is:
[ CONSTRAINT constraint_name ]
{ NOT NULL |
NULL |
UNIQUE index_parameters |
PRIMARY KEY index_parameters |
CHECK ( expression ) |
REFERENCES reftable [ ( refcolumn ) ] [ MATCH FULL | MATCH PARTIAL | MATCH SIMPLE
]
[ ON DELETE action ] [ ON UPDATE action ] }
[ DEFERRABLE | NOT DEFERRABLE ] [ INITIALLY DEFERRED | INITIALLY IMMEDIATE ]
and table_constraint is:
[ CONSTRAINT constraint_name ]
{ UNIQUE ( column_name [, ... ] ) index_parameters |
PRIMARY KEY ( column_name [, ... ] ) index_parameters |
CHECK ( expression ) |
FOREIGN KEY ( column_name [, ... ] ) REFERENCES reftable [ ( refcolumn [, ... ] ) ]
[ MATCH FULL | MATCH PARTIAL | MATCH SIMPLE ] [ ON DELETE action ] [ ON
UPDATE action ] }
[ DEFERRABLE | NOT DEFERRABLE ] [ INITIALLY DEFERRED | INITIALLY IMMEDIATE ]
index_parameters in UNIQUE and PRIMARY KEY constraints are:
[ WITH ( storage_parameter [= value] [, ... ] ) ]
[ USING INDEX TABLESPACE tablespace
===========================================================================
VIEW
Sintaks Membuat View
CREATE [ OR REPLACE ] [ TEMP | TEMPORARY ] VIEW name [ ( column_name [, ...] ) ]
AS query Statement;
Masuk ke console PosgtresSQL, lalu ketik :
================================================
Membuat ViewPenjualan
penjualan=# CREATE VIEW viewjual AS
penjualan-# (
penjualan(# SELECT H.NoFaktur, H.Tanggal, H.KodePelanggan,
penjualan(# P.NamaPelanggan, D.KodeBarang, D.NamaBarang,
penjualan(# D.Harga, D.QTY, D.Total
penjualan(# FROM Barang B, Pelanggan P, JualHeader H, JualDetail
penjualan(# WHERE B.KodeBarang=D.KodeBarang AND
penjualan(# D.NoFaktur=H.Nofaktur AND
penjualan(# H.KodePelanggan=P.KodePelanggan
penjualan(# );
CREATE VIEW
===============================================
Melihat Struktur ViewPenjualan
penjualan=# \d viewjual
View “public.viewjual”
Column | Type | Modifiers
—————+———————–+————–
nofaktur | character(5) |
tanggal | date |
kodepelanggan | character(5) |
namapelanggan | character varying(50) |
kodebarang | character(5) |
namabarang | character varying(50) |
harga | double precision |
qty | smallint |
total | double precision |
===============================
DROP
Untuk menghapus Objek, maka perintah yang dapat digunakan adalah :
NAMA OBJEK SINTAKS
————————————————————
Database DROP DATABASE <nama_database>
Table DROP TABLE <nama_table>
View DROP VIEW <nama_view>
Index DROP INDEX <nama_index>
Procedure DROP PROCEDURE <nama_procedure>
Trigger DROP TRIGGER <nama_triger>
==================================