Kamis, 03 Mei 2018

Manajemen View, Sequences dan Sinonim

Membuat Views

Untuk membuat view, hampir sama dengan menampilkan hasil ke monitor, akan tetapi tidak ditampilkan melainkan disimpan dalam bentuk tabel:
Syntaxnya :

CREATE VIEW $NamaView AS
/* Syntax Query */

Misalkan contoh :

SQL> CREATE VIEW EMP_LOCATIONS AS
  2  SELECT e.EMPLOYEE_ID,
  3  e.LAST_NAME || ', ' || e.FIRST_NAME NAME,
  4  d.DEPARTMENT_NAME DEPARTMENT,
  5  l.CITY CITY,
  6  c.COUNTRY_NAME COUNTRY
  7  FROM EMPLOYEES e, DEPARTMENTS d, LOCATIONS l, COUNTRIES c
  8  WHERE e.DEPARTMENT_ID=d.DEPARTMENT_ID AND
  9  d.LOCATION_ID =  l.LOCATION_ID AND
 10  l.COUNTRY_ID = c.COUNTRY_ID
 11  ORDER BY LAST_NAME;

View created.

Untuk merubah query anda hanya perlu menambahkan "OR REPLACE" setelah "CREATE"
Misalkan contoh :

SQL> CREATE OR REPLACE VIEW SALESFORCE AS
  2  SELECT FIRST_NAME || ' ' || LAST_NAME "Name",
  3  SALARY*12 "Annual Salary"
  4  FROM EMPLOYEES
  5  WHERE DEPARTMENT_ID = 80 OR DEPARTMENT_ID = 20;

View created.

Merubah nama view dengan rename tools

Jika pada step create view anda mengalami error karena ada kesamaan nama view, maka anda dapat merubah nama dari view pertama. Berikut ini contohnya

SQL> RENAME SALESFORCE TO SALES_MARKETING;

Table renamed.

Menampilan view

Sama seperti menampilkan isi dari tabel, tapi nama table diganti nama view

SQL> SELECT * FROM SALES_MARKETING;

Name                                           Annual Salary
---------------------------------------------- -------------
Michael Hartstein                                     156000
Pat Fay                                                72000
John Russell                                          168000W
Karen Partners                                        162000W
Alberto Errazuriz                                     144000
Gerald Cambrault                                      132000
Eleni Zlotkey                                         126000
Peter Tucker                                          120000
David Bernstein                                       114000
Peter Hall                                            108000
Christopher Olsen                                      96000

Menhapus Views

Anda dapat menghapus view dengan cara yang sama seperti menghapus sebuah table

SQL> DROP VIEW SALES_MARKETING;

View dropped.

Manajemen Sequences

Anda dapat menggunakan sequence untuk memberikan nilai unik secara otamatis di sebuah tabel. Sequence yang dibuat akan menghasilkan angka 1 pada awalnya dan penambahan satu untuk selanjutnya.

SQL> CREATE SEQUENCE evaluations_sequence
  2  INCREMENT BY 1
  3  START WITH 1 ORDER;

Sequence created.

Biasanya sequence digunakan untuk membantu melakukan insert seperti contoh dibawah ini

INSERT INTO Orders_tab (Orderno, Custno)
VALUES (Order_seq.NEXTVAL, 1032);

Untuk menghapus sequence yang telah dibuat, anda dapat menggunakan query ini

SQL> DROP SEQUENCE EVALUATIONS_SEQUENCE;

Sequence dropped.

Manajemen Sinonim

Sinonim digunakan untuk menjaga keamanan dari sebuah tabel. Semisal anda memiliki tabel yang bernama rumit, lalu anda ingin membuat nama lain dari tabel itu untuk mempermudah anda sendiri. Nah ini lah kegunaan dari synonim tersebut.

Creating Sinonim

Untuk membuat sinonim berikut ini adalah caranya

CREATE SYNONYM $TableSinonim FOR $TableUser

Seperti ini jika diaplikasikan

SQL> CREATE SYNONYM KARYAWAN FOR EMPLOYEES;

Synonym created.

Untuk menghapus synonim yang telah dibuat, anda dapat menggunakan drop

SQL> DROP SYNONYM KARYAWAN;

Synonym dropped.

Note : Anda dapat membuat sinonim dari sebuah table yang sudah disinonimkan dan memiliki hubungan parent-child. Jika parent sinonim dihapus, maka anak tidak bisa dipakai kembali.