Oracle Data Dictionary
Oracle data dictionary merupakan bagian yang sangat penting dalam database Oracle. Ia diciptakan bersamaan dengan diciptakannya database. Kapanpun database beroperasi, data dictionary di-update dan di-maintain oleh Oracle.
Data dictionary terdiri dari kumpulan table dan view yang menyediakan referensi read-only ke dalam database. Seluruh table-table data dictionary dimiliki oleh user SYS.
Tabel yang menjadi basis dari data dictionary ini sangatlah jarang diakses secara langsung oleh pengguna karena informasi di dalamnya tidak mudah dipahami. Maka dari itu, pengguna biasanya mengakses data dictionary views karena informasinya disajikan dalam format yang mudah dimengerti oleh pengguna.
10.1. Table-table Oracle Database
- User tables
- Kumpulan tabel yang diciptakan dan dipelihara oleh pengguna, misalnya EMPLOYEE.
- Data dictionary
- Kumpulan tabel yang diciptakan dan dipelihara oleh Oracle, seperti USER_OBJECTS, yang berisi informasi tentang database.
10.2. Contoh isi data dictionary
- Nama-nama pengguna database
- Hak-hak (privileges) yang diberikan kepada user
- Nama-nama objek-objek database (sebagai contoh, table, view, dan index)
- Constraint dari table
- Informasi mengenai auditing database, seperti siapa yang telah mengakses dan mengupdate objek-objek database tertentu
10.3. Kegunaan Data Dictionary
Data dictionary adalah referensi untuk seluruh pengguna database. Ia merupakan informasi yang sangat bernilai bagi pengguna akhir (end user), desainer aplikasi, dan database administrator. Data dictionary juga sangat penting bagi operasi Oracle Server karena database mempercayakan kepada data dictionary untuk merekam dan memeriksa informasi tentang dirinya (database).
10.4. Query terhadap Data Dictionary
Kita dapat menampilkan informasi dari data dictionary dengan perintah SELECT. Bergantung kepada hak akses yang kita miliki, kita dapat menampilkan data dari beberapa view.
10.4.1. View Classes
Nama data dictionary view merefleksikan tujuan penggunaannya. Terdapat empat kategori dari data dictionary view, setiap kategori memiliki awalan yang berbeda satu dengan lainnya.
10.4.2. Awalan Deskripsi
- USER_
- Berisi objek-objek yang dimiliki oleh pengguna. Sebagi contoh, view dengan awalan ini mengijinkan user untuk menampilkan informasi tentang table yang diciptakan oleh user tersebut dan privilege yang diberikan oleh user.
- ALL_
- Mengakses objek-objek dimana user telah memiliki hak akses, sebagai tambahan terhadap objek-objek yang dimiliki oleh user
- DBA_
- Mengijinkan user dengan privilege DBA untuk mengakses beberapa objek di dalam database
- V$
- Menampilkan performa database server dan locking. Tersedia hanya untuk DBA
Oracle Magazine contains technology strategy articles, sample code, tips, Oracle and partner news, how to articles for developers and DBAs, and more. Oracle (NASDAQ: ORCL) is the world’s largest enterprise software company.
For more information about Oracle, please visit their Web site at http://www.oracle.com. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners.
10.4.3. View Tambahan
Beberapa data dictionary views tidak menggunakan awalan seperti diatas. Ini termasuk synonym (nama lain) untuk view-view dengan nama yang panjang.
- DICTIONARY
- Menampilkan seluruh data dictionary tables, views, dan synonyms
- TABLE_PRIVILEGE
- Memberikan hak terhadap suatu objek dimana user sebagai grantor (pemberi hak), grantee (penerima hak), atau pemilik
- IND
- Merupakan synonym dari USER_INDEXES
Contoh:
View DICTIONARY menampilkan daftar seluruh data dictionary views yang dapat diakses oleh user dengan dengan deskripsi awal dari objek dalam column comment. Kita juga dapat mengacu kepada synonym dari view tersebut, yaitu DICT.
SELECT *
FROM DICTIONARY;
Contoh:
Kita dapat menampilkan struktur dari suatu data dictionary view dengan menggunakan perintah SQL*Plus, yaitu DESCRIBE. Berikut ini kita mencoba menampilkan struktur dari USE_OBJECTS.
DESCRIBE user_objects;
Contoh:
Untuk menampilkan deskripsi dari setiap column pada data dictionary tables dan views, dapat dilakukan dengan melakukan query terhadap view DICT_COLUMN.
SELECT column_name, comments
FROM dict_columns
WHERE table_name = ‘USER_OBJECTS’;
Contoh:
Menampilkan tipe dari objek-objek yang dimiliki oleh user.
SELECT DISTINCT object_type
FROM user_objects;
Contoh:
Kita dapat mencari data dictionary dengan topik tertentu dengan cara melakukan query terhadap column COMMENTS di dalam view DICTIONARY. Berikut ini kita mencoba untuk menemukan seluruh data dictionary views yang berhubungan dengan kata kunci Grant.
COLUMN table_name FORMAT A20
COLUMN comments FORMAT A30
SELECT *
FROM dictionary
WHERE LOWER(comments) LIKE ‘%grant%’;
10.5. Mengecek Contraint Suatu Table
Setelah menciptakan table, kita dapat mengkonfirmasi keberadaaannya dengan perintah DESCRIBE. Namun hanya constraint NOT NULL saja yang dapat ditampilkan dengan perintah tersebut. Untuk menampilkan seluruh contraint dari table yang kita miliki, kita dapat mengecek table USER_CONSTRAINTS.
Contoh:
Mengkonfirmasi contraint dari table EMPLOYEE.
SELECT constraint_name, contraint_type, search_condition, r_constraint_name
FROM user_constraints
WHERE table_name = ‘EMPLOYEE’;
Mengetahui table yang di-refer (diacu) oleh table EMPLOYEE.
SELECT b.table_name
FROM user_constraints a, user_constraints b
WHERE a.r_constraint_name = b.constraint_name
AND a.table_name = ‘EMPLOYEE’
Mengetahui table yang me-refer (mengacu) ke table EMPLOYEE.
SELECT a.table_name
FROM user_constraints a, user_constraints b
WHERE a.r_constraint_name = b.constraint_name
AND b.table_name = ‘EMPLOYEE’
Kita dapat menampilkan nama dari column yang terkandung dalam constraint dengan melakukan query terhadap data dictionary view USER_CONS_COLUMNS. View ini terutama berguna bagi constraint-constraint yang menggunakan nama-nama yang diberikan oleh sistem.
Contoh:
Menampilkan informasi constraint column dari table EMPLOYEE.
SELECT contraint_name, column_name
FROM user_cons_columns
WHERE table_name = ‘EMPLOYEE’;
Silahkan melanjutkan membaca pembahasan Memanipulasi Data
Catatan:
Untuk mempraktekkan artikel-artikel mengenai Oracle SQL & PL/SQL Anda dapat mendownload script table disini, lalu jalankan sesuai live demo (browser Anda harus mendukung Flash Player).
| Buku ini membahas berbagai macam tip dan trik yang sangat berguna bagi Anda pembaca pengguna database Oracle. Pemula, mahasiswa, programmer, maupun database administrator yang mengharapkan solusi cepat dalam menangani permasalahan-permasalahan dalam penggunaan database Oracle dapat membaca buku ini. Anda tidak harus membaca buku ini secara urut karena buku ini di susun berdasarkan topik permasalahan, dan Anda dapat membaca topik-topik yang sesuai dengan permasalahan yang Anda hadapi. Dapat di beli di toko buku Gramedia, Gunung Agung, Uranus, Karisma dsb. Harga Rp. 24.800,- (157 halaman) |


[…] Silahkan melanjutkan membaca pembahasan Oracle Data Dictionary […]