RDBMS

RDBMS adalah singkatan dari  “Relational Database Management System”. Data RDBMS disimpan dalam objek database yang disebut tabel. Tabel adalah tempat penyimpanan utama pada setiap RDBMS dan pada dasarnya mereka adalah koleksi entri data terkait. Sebagai contoh tabel yang disebut Users mungkin menyimpan informasi tentang banyak orang, dan setiap entri dalam tabel ini akan mewakili satu pengguna yang unik. Meskipun semua entri pengguna dalam tabel Pengguna yang unik, mereka terkait dalam arti bahwa mereka menggambarkan objek serupa.

 Table Users

FirstName

LastName

DateOfBirth

John

Smith

12/12/1969

David

Stonewall

01/03/1954

Susan

Grant

03/03/1970

Setiap tabel database terdiri dari kolom dan baris. Setiap kolom tabel mendefinisikan tipe data yang disimpan di dalamnya, dan tipe data ini berlaku untuk semua baris dalam tabel ini. Sebuah baris tabel adalah kumpulan data memiliki 1 entri untuk setiap kolom dalam tabel ini (setiap baris ini disebut dengan satu record).

PENGENALAN DB2

Pengertian DB2
DB2 adalah keluarga sistem manajemen database relasional (RDBMS) produk dari IBM yang melayani sejumlah sistem operasi yang berbeda platform. Menurut IBM, DB2 memimpin dalam hal pangsa pasar database dan kinerja. Meskipun produk DB2 yang ditawarkan untuk sistem berbasis UNIX dan sistem operasi komputer pribadi, DB2 jejak produk database Oracle dalam sistem berbasis UNIX dan Microsoft Access.

Perkembangan DB2 :
Akhir th. 70-an     : Riset penyusunan teknologi relasional
Th. 80-an     : Produk DB2 untuk VM, VSE, MVS, AS/400, OS/2
Th. 90-an     : Produk DB2 untukAIX, HP-UX, SOLARIS, NT, SINIX

Keunggulan DB2 :
–    Dapat dijalankan pada bermacam-macam platform
–    Menunjang client/server platform, aplikasi multimedia, object oriented
–    Dirancang untuk memperoleh informasi dalam bisnis berskala kecil maupun besar
–    Memiliki alat yang mengizinkan user membuat macam- macam aplikasi untuk mengakses dan bekerja dengan data.

DB 2 Product Family

DB2 Product Family.

IBM DB2 Family dari database management systems menangani ruang lingkup hardware platform yang besar mulai dari mainframe sampai dengan mesin-mesin yang berbasiskan Intel, server IBM dan non IBM RISC serta workstation, massively parallel processors, Sistem mid range AS/400, dan sistem mainframe yang dijalankan dengan sistem operasi VM, VSE dan MVS. Dengan tambahan database engines yang dijalankan pada setiap platform tersebut. DB2 family termasuk solusi “middleware” untuk pengaksesan basis data yang heterogen, replikasi data dan database systems management yang berjalan di seluruh platform.

Produk-produk DB2 yang dijalankan pada OS/2 dan platform yang berhubungan dengan produk tersebut dikenal sebagai versi DB2 Common Server. Hal ini untuk membedakan bahwa produk-produk tersebut dapat dijalankan pada platform yang sejenis, yang berisikan fungsi produk yang serupa dan menggunakan bersama source code yang sama.

Produk-produk DB2 Common Server merupakan client/server RDBMS untuk server IBM dan server non IBM, dan workstation yang berisikan fungsi-fungsi dimana aplikasi dapat dijalankan pada lingkungan client yang luas, fungsi-fungsi untuk menyimpan dan mengelola data, dan gateway yang mengizinkan pengaksesan data dengan SQL pada lingkungan yang heterogen.

 

SQL Data Language 

 

SQL (Structured Query Language) adalah sebuah bahasa yang dipergunakan untuk mengakses data dalam basis data relasional. Bahasa ini secara de facto merupakan bahasa standar yang digunakan dalam manajemen basis data relasional. Saat ini hampir semua server basis data yang ada mendukung bahasa ini untuk melakukan manajemen datanya.
Secara umum, SQL terdiri dari dua bahasa, yaitu Data Definition Language (DDL) dan Data Manipulation Language (DML). Implementasi DDL dan DML berbeda untuk tiap sistem manajemen basis data (SMBD)[1], namun secara umum implementasi tiap bahasa ini memiliki bentuk standar yang ditetapkan ANSI. Artikel ini akan menggunakan bentuk paling umum yang dapat digunakan pada kebanyakan SMBD.

DB 2 Utility 
Gambar

Ada beberapa utility yang dapat digunakan sebagai alat pemelihara di DB2, diantaranya adalah REORG, RUNSTAT dan REBIND.
1. REORG
Utiliti ini berfungsi sebagai table reorganization. Sama seperti sistem operasi, seiring berjalannya waktu maka table dan index pun dapat terdefragementasi. Oleh karena itu perlu di reorganize kembali.
Syntaxnya
REORG TABLE
Contoh
REORG TABLE staff

2. RUNSTAT
Utiliti ini berfungsi untuk menunjukkan statistik dari sebuah database.
Syntaxnya
RUNSTAT ON TABLE
Contoh
RUNSTAT ON TABLE schema.staff>
3. REBIND
Utiliti ini memungkinkan user untuk membuat kembali package yang ada di database tanpa membutuhkan bind file.
Syntax
db2rbind database_alias –l
Contoh
db2rbind sample –l mylog.txt

DB2 Object 

Data Objects :
1.  Schema : kumpulan dari database object (table, view, index, application object).
Fungsi dari schema :
– Menyatakan indikasi kepemilikan objek dan relasi dengan aplikasi
– Secara logikal kelompok berkaitan dengan objek secara bersama
– Penggunaan schema : {schema_name}.{object_name}

2. Tables

Tipe data :

CLOB (Charcter Large Object) : biasa digunakan untuk menyimpan tulisan korea, jepang, mandarin
BLOB (Binary Large Object) : biasa digunakan untuk menyimpan gambar, video
DBCLOB (Double Byte Character Large Object)

  1. User Defined Types
    Digunakan untuk membuat tipe data sesuai dengan keinginan atau dibuat alias.
    Contoh :
    CREATE DISTINCT TYPE POUND AS INTEGER WITH COMPARISONS
    CREATE DISTINCT TYPE KILOGRAM AS INTEGER
    WITH COMPARISONS
    CREATE TABLE person
    (f_name varchar(30),
    weight_p POUND NOT NULL,
    weight_k KILOGRAM NOT NULL )
    SELECT F_NAME FROM PERSON
    WHERE weight_p > POUND(30)
    Contoh diatas ialah membuat weight_p menjadi alias POUND dan weight_k menjadi alias KILOGRAM.

 

  1. Null Values
    Menunjukkan bahwa sebuah atribut tidak memiliki data apapun.
    Contoh penggunaan :
    CREATE TABLE Staff (
    ID SMALLINT NOT NULL, NAME VARCHAR(9) ,
    DEPT SMALLINT not null with default 10,
    JOB CHAR(5) ,
    YEARS SMALLINT ,
    SALARY DECIMAL(7,2) ,
    COMM DECIMAL(7,2) with default 15

 

  1. System Catalog Tables
    – Setiap database memiliki system catalog table masing-masing
    – Meta data ini menyimpang objek database
    – Dapat meng-query table ini sama dengan table lainnya
    – Berada dalam tiga schema :
    * SYSIBM : base table, dioptimalkan untuk DB2
    * SYSCAT : dilihat berdasar table SYSIBM, dioptimalkan untuk kemudahan penggunaan
    * SYSSTAT : database statistik
    – Contoh :
    SYSCAT.TABLES
    SYSCAT.INDEXES
    SYSCAT.COLUMNS

 

  1. Sequence Objects
    Digunakan untuk automatic values, increment dan decrement.
    Syntax :
    CREATE SEQUENCE {nama sequence}
    START WITH {value}
    MAX VALUE {value} //unlimit, klo ngga disetting juga ok
    [ INCREMENT/DECREMENT ] BY {value}
    [ NO CYCLE/CYCLE ]
    Contoh :
    CREATE SEQUENCE myseq
    START WITH 1
    MAX VALUE 100
    INCREMENT BY 2
    NO CYCLE
    Cara penggunaan :
    – Currval (nilai sekarang) : 1
    – Nextval (nilai selanjutnya) : 3
    – Preval (nilai sebelumnya) : 1
    INSERT INTO TABLE VALUES(nextval from myseq)
    DROP sequence myseq

 

  1. Views
    Fungsi untuk efisiensi
    Data untuk View tidak disimpan terpisah
    Mendukung query bersarang
    Contoh :
    Connect to sample
    CREATE VIEW myview1
    AS SELECT name,phone,email
    FROM employee
    SELECT * FROM myview1

 

  1. Indexes
    Fungsinya untuk clustering (pengelompokan), jadi akan lebih cepat dalam proses searching.
    Karakteristik indexes :
    – Ascending dan descending
    – Unik dan non unik
    – Compound
    – Berkelompok

 

Pengenalan Oracle

Pengenalan Database Relational

ORACLE adalah database relational. Sebuah database relational merupakan kumpulan dari tabel-tabel. Tabel sendiri sering kita jumpai dalam kehidupan sehari-hari, misalnya laporan keuangan bulanan, daftar harga menu, grafik-grafik dan lain-lain. Masing-masing tabel mempunyai hubungan antara satu dengan yang lain, misalnya antara tabel ruas jalan tol dengan tabel kantor cabang, sehingga dia disebut relational.
Kumpulan kertas-kertas laporan yang menumpuk di atas meja atau yang ada di laci sebetulnya dapat disebut sebagai database juga. Namun dengan pengelolaan seperti ini, akan muncul masalah jika data yang dikelola volumenya besar, sehingga menyulitkan kita dalam mengelola data-data tersebut. Kemudian mungkin kita akan menggunakan fasilitas komputer, seperti menggunakan LOTUS atau EXCEL, tapi pada prinsipnya kesulitan pekerjaan pengelolaan kita tetap sama.
Sebuah Sistem Basis Data Relational (Relational Database Management System, disingkat RDBMS) seperti ORACLE pada prinsipnya merupakan sistem yang memungkinkan kita untuk:  
1. Memasukkan data.  
2. Mengelola data. 
3.Mengambil data

Computing Model 
                     

Oracle Corporation mengeluarkan produk Oracle 10g berbasis grid computing. Grid computing adalah arsitektur TI baru yang menghasilkan sistem informasi perusahaan yang berbiaya rendah dan lebih adaptif terhadap dinamika bisnis. Dengan grid computing, sejumlah komponen hardware dan software yang modular dan independen akan dapat dikoneksikan dan disatukan untuk memenuhi tuntutan kebutuhan bisnis. Lebih jauh, dari sisi ekonomi, implementasi grid computing berarti membangun pusat komputasi data yang tangguh dengan struktur biaya variatif yang bisa disesuaikan dengan kebutuhan. Grid computing adalah solusi dari masalah-masalah umum yang dihadapi perusahaan IT, permasalahan pada aplikasi yang menyebabkan hardware tidak berfungsi maksimal contohnya  kasus monolitik, yaitu sistem sulit digunakan karena mahalnya ongkos pengelolaan dan sulitnya dilakukan perubahan terhadap system juga masalah informasi yang terpisah pisah dan tidak bisa dimanfaatkan secara maksimal. Dalam mengadopsi grid computing, perusahaan tidak perlu mengambil langkah secara revolusioner, karena aplikasi yang sebelumnya telah dijalankan akan tetap bekerja seperti sebelumnya. Dan dimungkinkan pula untuk mengadopsi teknologi grid computing pada aplikasi yang telah dijalankan, bahkan tanpa memerlukan banyak penulisan ulang konfigurasi sistem.

 

Overview Perintah-Perintah SQL

 

Perintah Select

Perintah Select digunakan untuk :

Selection : memilih baris/record

Projection : memilih kolom/field

Join : mengambil data dari beberapa tabel yang berbeda

Syntax Select

SELECT [DISTINCT] {*,column[alias],..}

FROM table;

Contoh:

SELECT loc,deptno

FROM emp

OPERATOR ARITMATIKA

Derajat Operator :

– Perkalian dan Pembagian

– Penjumlahan dan Pengurangan

– Bila ada ( ) maka ekspresi didalamnya dilaksanakan terlebih dahulu

Contoh :

SELECT ename,sal,12*sal+100 FROM emp;

NILAI NULL

Adalah nilai yang tidak ada, tidak didefinisikan, tidak diterapkan dan tidak diketahui.

Nilai null ¹ 0 { zero}, null ¹ spasi {blank}

Contoh:

SELECT ename,job,sal,comm. FROM emp;

KOLOM ALIAS

Digunakan untuk merubah tampilan judul kolom.

Menggunakan AS atau “ “ {Double Qoute}

Contoh:

SELECT ename AS name, sal “salary” FROM emp;

OPERATOR GABUNGAN

Digunakan untuk menghubungkan kolom satu dengan kolom yang lain.

Menggunakan opertor gabungan { || }

Contoh:

SELECT ename || job AS employees

FROM emp;

KOLOM ALIAS DAN GABUNGAN

Digunakan untuk merubah tampilan judul kolom.

Menggunakan AS atau “ “ {Double Qoute}

Contoh:

1. SELECT ename AS name, sal salary FROM emp;

2. SELECT ename ||”is a”|| job AS “employee details”

FROM emp;

BARIS DUPLIKAT / GANDA

Syntax Select

SELECT [DISTINCT] {*,column[alias],..}

FROM table;

Contoh:

SELECT loc,deptno

FROM emp

SQL dan SQL*PLUS

Keistimewaan SQL :

Dapat digunakan oleh user baik yang berpengalaman atau tidak dalam pembuatan program

Merupakan bahasa non prosedural

Mengurangi sejumlah waktu untuk membuat dan memelihara sistem

Sintaksnya dalam bahasa Inggris

 

Interaksi Antara SQL Plus Dengan SQL

                          

Interaksi antara SQL*Plus dengan SQL

Contoh Cursor Variable: Master Table dan Details Table

Mari kita perhatikan stored procedure di bawah ini, yang mencari database dari perpustakaan utama untuk buku, majalah, dan tape. Tabel master menyimpan judul dan kode kategori (dimana 1=buku, 2=majalah, 3=tape) untuk setiap item. Tiga tabel detail menyimpan informasi spesifik dari setiap kategori. Ketika tipanggil, procedure tesrebut mencari tabel master berdasarkan judul, menggunakan kode kategori terkait untuk membuka perintah OPEN-FOR, lalu membuka cursor variable untuk query dari tabel detail yang tepat.

========================================================================

CREATE PACKAGE cv_types AS

TYPE LibCurTyp IS REF CURSOR;

END cv_types;

CREATE PROCEDURE find_item (

title VARCHAR2(100),

lib_cv IN OUT

cv_types.LibCurTyp)

AS

code BINARY_INTEGER;

BEGIN

SELECT item_code

FROM titles INTO code

WHERE item_title = title;

IF code = 1 THEN

OPEN lib_cv FOR SELECT * FROM books

WHERE book_title = title;

ELSIF code = 2 THEN

OPEN lib_cv FOR SELECT * FROM periodicals

WHERE periodical_title = title;

ELSIF code = 3 THEN

OPEN lib_cv FOR SELECT * FROM tapes

WHERE tape_title = title;

END IF;

END find_item;

 

SQL Statement VS SQL Plus Statement

 SQL adalah bahasa yang digunakan untuk berkomunikasi dengandatabase Oracle server dari sebuah tool atau aplikasi. Oracle SQL

terdiri dari beberapa bagian, ketika kita menjalankan perintah SQL,sql akan disimpan dalam suatu memory yang disebut SQL Buffer danakan tetap berada dalam memory sampai ada statemen baru.SQL *Plus adalah tool oracle yang mengenali dan menjalankanperintah SQL ke Oracle Server.

 

 

 

Contoh Perintah SQL Plus

Perintah PAUSE memungkinkan Anda untuk menampilkan baris kosong atau teks dengan penghentian sementara aksi dan menunggu RETURN untuk pengguna;

Perintah PROMPT mengirimkan sebuah baris kosong atau pesan pada layar;

ACCEPT variabel [NUMBER | CHAR | DATA]
[FORMAT format] [PROMPT text | NOPROMPT] [HIDE]   

Peninjauan:
– Jenis variabel default adalah CHAR;
– Teks PROMPT dicetak sebelum pengguna memberikan nilai yang sebenarnya;
– HIDE adalah pilihan yang membuat nilai yang diberikan oleh pengguna untuk disembunyikan;
– Pilihan menunjukkan FORMAT format string;
– Pergantian variabel, jika ada, tidak boleh digunakan dengan simbol “&”.

Contoh:
ACCEPT Alpha PROMPT ‘ number of copies: ‘
ACCEPT beta PROMPT ‘ author name ‘:
SELECT *
FROM the book
WHERE nrex = & alpha
AND author = ‘ & ‘ beta;

 

Variabel Substitusi

Pergantian variabel (& nama) digunakan untuk menyimpan nilai sementara.

Interface mengharuskan user untuk memberikan nilai setiap kali bertemu dengan sebuah variabel tidak terdefinisi.

Jika variabel didahului oleh simbol “& &”, hanya panggilan pertama yang akan meminta variabel substitusi (& nama) fimana digunakan untuk menyimpan nilai sementara. Variabel ini dapat terjadi di SQL perintah atau SQL * Plus.

Interface mengharuskan user untuk memberikan nilai setiap kali bertemu dengan sebuah variabel tidak terdefinisi. Jika variabel didahului oleh simbol “& &”, hanya panggilan pertama yang akan membutuhkan nilai.

Untuk variabel tipe karakter. Variabel substitusi dapat terjadi dalam kondisi WHERE, dalam klausa ORDER BY dalam ekspresi kolom, dalam nama tabel, bukan perintah SELECT keseluruhan.
 Contoh:
SELECT & kolom
FROM & tabel
WHERE & kondisi
ORDER BY & order;

Variabel tetap mengatur sampai salah satu meninggalkan SQL * Plus atau perintah UNDEFINE diberikan untuk variabel yang bersangkutan. Mencetak semua variabel, nilai-nilai dan jenis variabel tersebut harus diperoleh oleh bentuk DEFINE.

Contoh:
SQL > DEFINE autor1 = Brad
SQL > DEFINE autor2 = Stuart
SQL > SELECT title, nrex
FROM the book
WHERE author = ‘ & autor1 ‘
OR author = ‘ & autor2 ‘; 

 

PL/SQL

PLSQL

PL/SQL (Procedural Language/Structured Query Language) merupakan
pengembagan SQL oleh Oracle. Prasyarat mempelajari PL/SQL adalah paling tidak
mengetahui dasar-dasar SQL. Sebagai awalan belajar PLSQL, mari kita lihat contoh
kasus dan contoh blok PL/SQL berikut ini.
PL / SQL adalah salah satu dari tiga bahasa pemrograman kunci tertanam dalam Database Oracle, MOD_PLSQL Oracle HTTP Server (Apache) modul extension, bersama dengan SQL itu sendiri dan Jawa.

PL / SQL program unit (dasarnya kontainer code) dapat dikompilasi ke database Oracle. Pemrogram sehingga dapat menanamkan PL / SQL unit fungsionalitas ke dalam database secara langsung. Mereka juga dapat menulis skrip yang berisi PL / SQL program unit yang dapat membaca ke database menggunakan Oracle .Setelah unit program telah disimpan ke dalam database, mereka menjadi tersedia untuk eksekusi di lain waktu.

Keuntungan Penggunaan PL/SQL
– Memungkinkan Aplikasi dan Oracle Server menggunakan Library yang dapat digunakan bersama-sama dalam bentuk stored procedure
– Peningkatan Kinerja
– Penggunaan PL/SQL, memungkinkan pengiriman perintah secara blok dalam satu perintah yang secara drastis dapat menurunkan trafik jaringan
– Modular. Bentuk modular memungkinkan banyak kemudahan yang dapat diperoleh
– Portable. PL/SQL adalah sarana yang asli dimiliki oleh Oracle Server, artinya, program PL/SQL dapat dengan mudah dipindahkan dari satu Oracle Server ke Oracle Server lainnya, meskipun dengan OS atau platform yang berbeda.
– Dapat mendeklarasikan Variable
– Dapat berupa Variable, Constant, Cursor dan Exception
– Penggunaan variable/identifier sangat memudahkan dalam membuat suatu perintah. Misalkan untuk membaca hasil suatu perintah SELECT untuk diproses dan hasilnya digunakan untuk melakukan proses lainnya
– Dapat menggunakan Struktur Kontrol :LOOP, FOR, WHILE
– Dapat menangani Error
– Error bisa dihasilkan/dibangkitkan oleh Oracle
– Server atau bisa dibangkitkan sendiri dengan sengaja
– Untuk mengantisipasi berbagai hal yang barangkali sulit untuk ditangani secara langsung menggunakan kontrol program

 

SQL PLUS dan PLSQL

• PL/SQL (Procedural Language/Structure Query Language)
– Adalah suatu blok yang berisi skrip-skrip bahasa prosedural.
• PL/SQL merupakan bahasa pemrograman prosedural
• PL/SQL dapat meningkatkan kinerja database
Tipe Data dasar :
• Numerik
– NUMBER, BINARY_INTEGER, DEC, DOUBLE PRECISION, INTEGER, INT, NUMERIC, REAL, SMALLINT
• Karakter
– VARCHAR2, CHAR, LONG
• DATE
• BOOLEAN
• ROWID

Tipe Data tambahan :
• RECORD
• ARRAY
VARIABLE
• Adalah sebuah peubah yang digunakan untuk menampung sebuah nilai di memori komputer.
CONTOH VARIABLE
DECLARE
X integer;
Alamat varchar2(40);
No_induk char(8);
…..
BEGIN
X := 12;
Alamat := ‘Gelatik Dalam 391, Bandung’;
No_induk := ‘DOG29549’;
END;
KONSTANTA
• Digunakan untuk menyimpan sebuah nilai di memori komputer.
• Nilai yang disimpan bersifat tetap (konstan)

Contoh :
DECLARE
pi CONSTANT real := 3.14;
lebar CONSTANT integer := 100;
KOMENTAR
• Digunakan untuk memudahkan proses maintenance
• Jenis komentar :
– /* … */ : untuk beberapa baris komentar
– — … : untuk satu bari komentar

Contoh :
/* Ini adalah komentar Oracle */
— Ini juga komentar Oracle

 

STRUKTUR BLOK
• Terdapat tiga bagian :
• Bagian pendeklarasian tipe data (opsional)
– Bagian penulisan perintah
– Bagian eksepsi (opsional)
BENTUK UMUM
DECLARE
variabel tipe_data;
konstanta CONSTANT tipe_data := nilai;

BEGIN
statement_1;
statement_2;

EXCEPTION
WHEN nama_eksepsi THEN statement_untuk_mengatasi_error;

END;
CONTOH PALING SEDERHANA
BEGIN
DBMS_OUTPUT.PUT_LINE(‘Belajar Oracle’);
END;

Catatan:
Untuk melihat hasil, setting terlebih dahulu variabel sistem SERVEROUTPUT dengan menuliskan :
SET SERVEROUTPUT ON
CONTOH DENGAN EKSPESI
SET SERVEROUTPUT ON
DECLARE
X Integer;
BEGIN
X := ‘Belajar Oracle’;
DBMS_OUTPUT.PUT_LINE( TO_CHAR(X) );
EXCEPTION
WHEN VALUE_ERROR THEN
DBMS_OUTPUT.PUT_LINE (‘Kesalahan pada pengisisan
nilai’);
END;

Leave a comment