Minggu, 21 Oktober 2018

Command Line Oracle Database DDL

Oracle Database merupakan produk yang dikembangkan oleh Oracle Corporation, pertama kali dirilis pada tahun 1979. Oracle dikembangkan oleh Larry-Ellison bersama Bob Miner, dan Ed Oates yang pada awalnya bekerja di Software Development Laboratories (SDL) pada tahun 1977.
SDL kemudian berhasil membuat versi prototype orisinil dari Oracle software, yaitu Oracle versi 1, yang ditulis dalam bahasa C  dan mempunyai SQL interface. Nama Oracle berasal dari code-name suatu proyek milik CIA dimana Larry-Ellison dulunya bekerja.

Oracle Relational Database Management System (Oracle RDBMS) atau sederhananya ‘Oracle’, merupakan sebuah RDBMS yang mempunyai fungsi antara lain sebagai berikut
- Data Storage pada area perancangan basis data
- Access Data untuk aplikasi tertentu, dengan Teknik Optimisasi
- Database Security dan pengaturan User Privilege tertentu
- Consistency Data yang berfungsi untuk proteksi data, dan locking-mechanism
- Integrity Data yang berfungsi pada implementasi basis data tersebar

Basic

Untuk masuk ke sqlplus di cmd
sqlplus
Describe Tabel
DESCRIBE nama_tabel; 
atau
DESC nama_tabel;

DDL

DDL merupakan bagian dari perintah SQL untuk membuat, memodifikasi atau menghapus struktur basis data Oracle.  Suatu DDL akan dieksekusi apabila sudah diakhiri dengan ‘;’ (titik koma).
DDL sendiri terdiri dari
- CREATE
- DROP
- ALTER
- RENAME
- TRUNCATE
- COMMENT

Perintah - perintah atau Command Line DDL pada Oracle 11g

A. CREATE

1. Create Table
Perintah Create Table digunakan untuk membuat/mendefinisikan sebuah tabel baru.
Syntax
CREATE TABLE nama_tabel  (
Nama_atribut1   tipe_data   CONSTRAINT_pk_nama_tabel  PRIMARY KEY,
Nama_atribut2   tipe_data   [unique]  [notnull/null]  [default] <nilai default>  [check],
............
);
Contoh
CREATE TABLE MAHASISWA(
id_mahasiswa char(4),
nama varchar2(30),
alamat varchar2(30),
no_telp varchar2(13),
CONSTRAINT pk_mahasiswa PRIMARY KEY(id_mahasiswa)
);

2. CREATE VIEW 
View merupakan sebuah tabel semu / tabel lojik, dimana datanya berasal dari satu/ lebih tabel lain sebagai tabel sumber. View biasa dibuat untuk memudahkan user menampilkan data.
Syntax
CREATE  [OR REPLACE]  [FORCE]  [NOFORCE]  VIEW  nama_view
[(alias[,alias]...)]  AS
Subquery  [with  <CHECK option>|<READ ONLY>];
Contoh
CREATE  OR  REPLACE  FORCE  VIEW   view_data_pembelian
(kode_pembelian,  nama_customer,  nama_barang,  harga)
AS
select  M.id_beli,  C.nama,  B.nama,  B.harga
from  membeli M,  customer C,  barang B
where  M.id_beli=‘M001’
and  M.id_customer=C.id_customer
and  M.id_barang=B.id_barang
with  check  option;
- OR REPLACE, digunakan apabila pada saat pembentukan view, ternyata view sudah ada, maka view didefinisikan kembali.
- FORCE, View akan dibuat walaupun tabel sumber belum ada.
- NOFORCE, View hanya akan dibuat bila tabel sumbernya sudah ada.
- With Check Option, View akan memeriksa data yang diinsert ataupun diupdate pada view.
- READ ONLY, dengan perintah ini maka operasi penambahan, pembaharuan, dan penghapusan melalui view tersebut tidak diperbolehkan.

3. CREATE SEQUENCE (MEMBUAT NOMOR UNIK SECARA OTOMATIS)
Sequence digunakan untuk mengenerate angka angka unik secara otomatis. Biasanya sequence diaplikasikan untuk membentuk primary key secara  otomatis.
Syntax
CREATE  SEQUENCE  nama_sequence
[increment  by  integer]
[start  with  integer]
[maxvalue  integer | nomaxvalue]
[minvalue  integer | nominvalue]
[cycle | nocycle]
[cache integer | nocache]
[ order | noorder]
;
Contoh
CREATE SEQUENCE seq_pembelian
Increment by 1
Start with 1
Maxvalue 9999
Minvalue 0
Nocycle
Nocache
Order;
Pada sintak pembentukan sequence terdapat beberapa kata kunci seperti berikut:
- INCREMENT BY, untuk menyatakan nilai penambahan/penurunan pada sequence.
- START WITH, untuk menyatakan nilai awal yang dihasilkan sequence.
- MAXVALUE, untuk menyatakan nilai tertinggi sequence. NOMAXVALUE berarti nilai tertinggi yang dihasilkan tidak dibatasi. MAXVALUE dan NOMAXVALUE bersifat optional. 
- MINVALUE, untuk menyatakan nilai terendah yang dihasilkan sequence. MINVALUE berarti nilai terendah yang dihasilkan tidak dibatasi. MINVALUE dan NOMINVALUE bersifat optional. 
- CYCLE, untuk menyatakan sequence akan kembali ke nilai terendah yang ditetapkan. NOCYCLE adalah kebalikan dari CYCLE.
- CACHE, untuk menentukan berapa banyak nilai dari sequence yang akan dialokasikan ke memori. NOCACHE berarti tidak ada nilai sequence yang dialokasikan ke memori.
- ORDER atau NOORDER berfungsi untuk menjamin atau tidak, nilai yang digenerate adalah berurut berdasarkan permintaan pada server paralel. Default dari klausa ini adalah NOORDER

Penggunaan Sequence 
Nama_sequence.nextval

4. CREATE SYNONYM
Synonym digunakan untuk membuat nama alias bagi sebuah tabel, view atau sequence. Synonym biasanya digunakan untuk menjaga keamanan struktur suatu tabel.
Syntax
CREATE  [PUBLIC]  SYNONYM  nama_synonim FOR nama_tabel/view/sequence;
Contoh
CREATE  SYNONYM  brg  FOR  barang;
Tujuan penggunaan synonim adalah: 
- Untuk mengganti atau menyingkat nama yang sulit diingat dari sebuah objek.
- User dapat mengakses data pada table yang berisi informasi yang sensitive dan private melalui synonym tanpa harus mengetahui nama table aslinya sehingga kamu tidak dapat melakukan perubahan pada struktur table

5. CREATE INDEX
Index digunakan untuk mempercepat pengaksesan data pada suatu tabel. Index dapat diberikan pada satu atau lebih kolom
Syntax
CREATE  INDEX  nama_index
On  nama_table(nama_atribut-1, nama_atribut-2, nama_atribut-n);
Contoh
CREATE  INDEX   alamat
ON  customer(alamat);
6. Create User
Create user digunakan untuk mendefinisikan user baru beserta passwordnya.
Syntax
CREATE  USER  nama_user
IDENTIFIED  BY  password_user;
Contoh
CREATE  USER  nama_user IDENTIFIED  BY  password_user;
Memberikan akses login ke user
GRANT  CONNECT,  RESOURCE  TO  nama_user;

B. DROP

1. Drop Table
Perintah ini digunakan untuk menghapus definisi tabel pada ORACLE yaitu semua data dan indeks yang dimiliki tabel.
Syntax
DROP  TABLE  nama_table  [CASCADE CONSTRAINT];
Contoh
DROP  TABLE  pegawai  CASCADE CONSTRAINT;
Option CASCADE CONSTRAINT akan menghapus pula constrain referensi integrity yang terhubung.

2. Drop View
3. Drop Sequence
4. Drop Synonim
5. Drop Index
6. Drop User
C. ALTER
D. RENAME
E. TRUNCATE
F. COMMENT

sumber: Modul Praktikum 2015 D3 Teknik Informatika Telkom University
Load disqus comments

0 komentar