Anda di halaman 1dari 25

Managing Scheme Object SCHEME Scheme adalah kumpulan objek database yang dimiliki oleh pengguna tertentu.

Biasanya, untuk pembuatan database, user ini tidak mewakili orang, tapi aplikasi. Scheme A memiliki nama yang sama sebagai pengguna yang memiliki scheme. Obyek scheme adalah struktur logis yang langsung mengacu pada data database. Mencakup struktur obyek scheme seperti tabel, view, dan indeks. User dapat membuat dan memanipulasi obyek scheme dengan menggunakan SQL atau Enterprise Manager. Bila user menggunakan Enterprise Manager, SQL mengenarate nya untuk user. Catatan: Sebuah scheme tidak selalu harus secara langsung berhubungan dengan tablespace tunggal. User dapat menentukan konfigurasi seperti bahwa benda-benda dalam suatu scheme tunggal dapat di tablespace yang berbeda, dan tablespace dapat memegang benda dari scheme yang berbeda. Bila user membuat database, beberapa scheme dibuat untuk user. Dua penting adalah:

SYS scheme: Semua tabel dasar dan view yang merupakan kamus data database dibuat dalam scheme SYS. Kamus data adalah kumpulan tabel yang menggambarkan database Oracle. Kamus data dibuat dalam tablespace SYSTEM ketika database dibuat, dan ini diperbarui oleh database Oracle ketika sebuah definisi data bahasa (DDL) pernyataan dieksekusi. Kamus data berisi informasi tentang pengguna, obyek scheme, dan struktur penyimpanan. User dapat menggunakan kamus data sebagai referensi read-only untuk informasi tentang database. Bila user menggunakan Enterprise Manager, user mengakses kamus data tabel melalui views. Database Oracle memodifikasi obyek scheme SYS atas nama user saat user melakukan fungsi administrasi dengan menggunakan Enterprise Manager dan memanggil prosedur administrasi. Tidak pernah secara langsung memodifikasi data atau obyek, atau menciptakan benda, dalam scheme SYS.

Scheme SISTEM: Ini berisi tabel tambahan dan view yang menyimpan informasi administratif, dan tabel internal dan view yang digunakan oleh server Oracle berbagai pilihan dan alat-alat. user tidak harus membuat object tambahan dalam scheme SISTEM.

Selama instalasi lengkap dari database Oracle, scheme sampel diinstal secara otomatis. Contoh scheme melayani tujuan menyediakan sebuah platform umum untuk contoh dalam dokumentasi Oracle dan kurikulum. Mereka adalah seperangkat scheme saling ditujukan untuk memberikan contoh dari berbagai tingkat kompleksitas dan meliputi:

HR: HR Scheme adalah scheme sederhana untuk memperkenalkan topik-topik dasar. Ekstensi untuk scheme ini mendukung demonstrasi internet Direktori Oracle.

OE: Scheme Order Entry berkaitan dengan masalah kompleksitas menengah. Sebuah banyak jenis data yang tersedia dalam scheme OE. The OC (Katalog Online) subschema adalah kumpulan objek-objek database relasional dibangun di dalam scheme OE. PM: Produk Media scheme didedikasikan untuk tipe data multimedia. QS: Scheme Pengiriman Antri berisi kumpulan scheme yang digunakan untuk menunjukkan kemampuan Oracle Advanced Queuing. SH: Scheme Sejarah Penjualan memungkinkan demonstrasi dengan sejumlah besar data. Ekstensi untuk scheme ini menyediakan dukungan untuk pemrosesan analitis maju.

ACCESSING SCHEME OBJECT

NAMING DATABASE OBJECT Bila User nama obyek dalam database, User dapat menyertakan nama dalam tUser kutip gUser (""). Jika User melakukan ini, User dapat mematahkan beberapa aturan penamaan yang disebutkan dalam slide. Namun, hal ini tidak dianjurkan, karena jika User nama objek dengan cara ini, User harus selalu menyebutnya dengan tUser kutip nama. Sebagai contoh, jika User nama tabel "Temp Lokal," User harus melakukan hal berikut: SQL> select * from "Local Temp"; TEMP_DATE LO_TEMP HI_TEMP --------- ---------- ---------01-DEC-03 30 41 If you enter the name in the wrong case, then you get: SQL> select * from "local temp"; select * from "local temp" * ERROR at line 1: ORA-00942: table or view does not exist

Pengidentifikasi Nonquoted hanya dapat berisi karakter alfanumerik dari karakter set database User dan garis bawah (_), tUser dolar ($), dan tUser pound (#). Link database juga dapat mengandung titik (.) Dan "di" tUser (@). User sangat dianjurkan menggunakan $ dan # di pengidentifikasi nonquoted. Dikutip pengidentifikasi dapat berisi karakter dan tUser baca serta ruang. Namun, tidak dikutip atau pengidentifikasi nonquoted dapat berisi tUser kutip gUser. SCHEME OBJECT NAMESPACE Karena tabel dan View berada dalam namespace yang sama, tabel dan view dalam scheme yang sama tidak dapat memiliki nama yang sama. Namun, tabel dan indeks dalam ruang nama yang berbeda. Oleh karena itu, tabel dan indeks dalam scheme yang sama dapat memiliki nama yang sama. Setiap scheme dalam database memiliki ruang nama sendiri untuk objek yang dikandungnya. Ini berarti, misalnya, bahwa dua tabel dalam scheme yang berbeda dalam ruang nama yang berbeda dan dapat memiliki nama yang sama. Catatan: Penamaan objek dengan nama yang sama dapat menyebabkan kebingungan, sehingga Oracle tidak merekomendasikan hal ini di sebagian besar keadaan.

Ketika User membuat tabel, User harus menentukan tipe data untuk masing-masing kolomkolomnya. Bila User membuat sebuah prosedur atau fungsi, User harus menentukan tipe data untuk setiap argumen. Ini mendefinisikan tipe data domain nilai-nilai yang setiap kolom dapat berisi atau argumen masing-masing dapat memiliki.

Built-in tipe data dalam database Oracle adalah sebagai berikut: CHAR: data karakter tetap-panjang ukuran byte atau karakter. Ukuran maksimum adalah 2.000 byte atau karakter; ukuran default dan minimum adalah 1 byte. BYTE menunjukkan bahwa kolom memiliki semantik panjang byte. CHAR menunjukkan bahwa kolom memiliki semantik karakter. VARCHAR2: Variabel-panjang karakter string memiliki panjang maksimum ukuran byte atau karakter. Ukuran maksimum adalah 4.000 byte. User harus menentukan ukuran untuk VARCHAR2. TANGGAL: rentang tanggal Berlaku dari tanggal 1 Januari 4712 SM melalui A. D., 31 Desember 9999. Ini juga menyimpan waktu: jam, menit, dan detik. NOMOR: Nomor dengan presisi p dan skala s. Presisi dapat berkisar dari 1 sampai 38. Skala dapat berkisar dari -84 sampai 127. BINARY_FLOAT: Ini adalah jumlah titik 32-bit floating. Tipe data ini membutuhkan 5 byte, termasuk byte panjang. BINARY_DOUBLE: Ini adalah jumlah titik 64-bit floating. Tipe data ini memerlukan 9 byte. Float (p): Ini adalah American National StUserrds Institute (ANSI) tipe data. Tipe data Float adalah angka floating-point dengan presisi p. biner Presisi default untuk tipe data ini adalah 126 atau 38 desimal biner. INTEGER: Ini sama dengan NOMOR (p, 0). NCHAR (panjang): Tipe data NCHAR adalah Unicode-satunya tipe data. Ketika User membuat tabel dengan kolom NCHAR, User menentukan panjang kolom dalam karakter. User mendefinisikan set karakter nasional ketika User membuat database User. Panjang maksimum kolom ditentukan oleh definisi set karakter nasional. Spesifikasi lebar dari tipe data NCHAR merujuk pada jumlah karakter. Ukuran kolom maksimum yang diizinkan adalah 2.000 byte. Jika User memasukkan nilai yang kurang dari panjang kolom, database Oracle bantalan nilai dengan panjang kolom kosong untuk penuh. User tidak dapat memasukkan nilai ke kolom CHAR NCHAR, User juga tidak bisa memasukkan nilai ke kolom NCHAR CHAR. NVARCHAR2 (ukuran [BYTE | CHAR]): Jenis NVARCHAR2 data adalah Unicodesatunya tipe data. Hal ini seperti NCHAR kecuali bahwa panjang maksimum adalah 4.000 byte dan tidak kosong-empuk. PANJANG: Ini adalah data karakter panjang variabel hingga 2 gigabyte atau 231 byte -1. Tipe data PANJANG sudah usang; menggunakan objek besar (LOB) tipe data sebagai gantinya. PANJANG RAW: Ini adalah data biner mentah panjang variabel hingga 2 gigabyte. RAW (ukuran): Ini adalah data biner mentah byte ukuran panjang. Ukuran maksimum adalah 2.000 byte. User harus menentukan ukuran untuk nilai RAW. ROWID: Ini adalah string yang mewakili 64 basis alamat unik dari sebuah baris dalam tabel. Tipe data ini terutama untuk nilai dikembalikan oleh ROWID pseudocolumn.

UROWID: Ini adalah string yang mewakili 64 basis alamat logis dari sebuah baris dari sebuah tabel indeks-terorganisir. Ukuran opsional adalah ukuran kolom dari jenis UROWID. Ukuran maksimum dan default adalah 4.000 byte. Blob: Ini adalah sebuah objek besar biner. CLOB: Ini adalah karakter objek besar berisi karakter tunggal-byte atau multibyte. Kedua karakter set fixed-width dan variabel-lebar yang didukung, dan menggunakan kedua karakter database CHAR ditetapkan. NCLOB: Ini adalah karakter objek besar berisi karakter Unicode. Kedua karakter set fixed-width dan variabel-lebar yang didukung, dan keduanya menggunakan database mengatur NCHAR karakter. Ini menyimpan data set karakter nasional Catatan: Ukuran maksimum untuk semua jenis data LOB (BLOB, CLOB, dan NCLOB) adalah: (4 gigabyte - 1) * (nilai potongan)?.?. ? Potongan adalah atribut opsional yang User dapat mengatur ketika mendefinisikan sebuah LOB. Potongan menentukan jumlah byte yang akan dialokasikan untuk manipulasi LOB. Jika ukuran bukan kelipatan dari ukuran blok database, maka database putaran up ukuran dalam byte ke beberapa berikutnya. Sebagai contoh, jika ukuran blok database 2.048 dan ukuran potongan adalah 2.050, maka database mengalokasikan 4.096 byte (2 blok). Nilai maksimalnya adalah 32768 (32 KB), yang merupakan database Oracle ukuran blok terbesar diperbolehkan. Ukuran default adalah salah satu potongan blok Oracle database. BFILE: Tipe data BFILE berisi pelacak untuk file biner besar disimpan di luar database. Hal ini memungkinkan aliran akses I / O byte untuk LOB eksternal berada pada server database. Ukuran maksimum adalah 4 gigabyte. TIMESTAMP (fractional_seconds_precision): Dengan tipe data ini, User dapat menentukan tahun, bulan, dan nilai-nilai hari tanggal, serta jam, menit, dan nilai-nilai kedua waktu, di mana fractional_seconds_precision adalah jumlah digit di bagian pecahan dari suatu kedua. Nilai yang diterima adalah 0 sampai 9. Default adalah 6. Untuk daftar lengkap built-in tipe data dan tipe user-defined, lihat Oracle Database SQL Referensi.

CREATING & MODIFYING TABLE Tabel adalah unit dasar dari penyimpanan data dalam database Oracle. Mereka memegang semua data yang diakses pengguna. Setiap tabel memiliki kolom dan baris. Membuat Tabel Untuk membuat tabel dengan menggunakan Enterprise Manager, lakukan langkah berikut: 1. Klik Tabel di wilayah Scheme dari halaman Administrasi. Halaman Tabel muncul. 2. Jika User tahu nama Scheme, memasukkan semua atau bagian dari itu dalam bidang Scheme di wilayah Cari. Jika User tidak tahu nama Scheme, klik ikon senter sebelah kolom Schema. Pencarian dan Pilih: Scheme jendela muncul. User dapat menelusuri melalui nama Scheme dan pilih salah satu yang User cari.

3. Klik Buat. Buat Tabel: Tabel Halaman Organisasi muncul. 4. Terima default StUserr, Heap Diselenggarakan dengan mengklik Lanjutkan. Halaman Tabel Buat muncul. 5. Masukkan nama tabel dalam bidang Nama. 6. Masukkan nama Scheme di bidang Schema, atau klik ikon senter untuk memanggil fungsi pencarian. 7. Masukkan nama tablespace Tablespace di bidang, atau klik ikon senter untuk memanggil fungsi pencarian. 8. Di daerah Kolom, masukkan nama kolom dan tipe data. 9. Klik OK. Sebuah pesan update muncul menunjukkan bahwa tabel tersebut telah berhasil dibuat.

Memodifikasi Tabel User dapat memodifikasi tabel dengan menggunakan Enterprise Manager seperti yang dijelaskan dalam langkah-langkah berikut. Dalam contoh ini, kolom tambahan yang ditambahkan ke sebuah meja. 1. Pada halaman Tabel, pilih meja di daftar hasil dan klik Edit. 2. Pada halaman Tabel Edit, klik tombol Tabel 5 Tambahkan Kolom. Daftar kolom diedit muncul. 3. Masukkan nama kolom baru, tipe data, dan ukuran. 4. Klik Apply. Sebuah pesan update muncul menunjukkan bahwa tabel telah dimodifikasi berhasil.

DATA INTEGRITY User dapat menggunakan batasan integritas berikut untuk memberlakukan pembatasan pada input nilai kolom:

NOT NULL: Secara default, semua kolom dalam sebuah tabel memungkinkan nilai null. Null berarti tidak adanya nilai. Sebuah constraint NOT NULL mensyaratkan suatu kolom tabel harus mengandung nilai null. Sebagai contoh, User dapat mendefinisikan sebuah constraint NOT NULL mensyaratkan bahwa nilai menjadi masukan dalam kolom LAST_NAME untuk setiap baris dari tabel KARYAWAN. Kunci UNIK: Sebuah batasan integritas UNIK kunci mengharuskan setiap nilai dalam kolom atau set kolom (kunci) menjadi unik-yang, tidak ada dua baris dari suatu tabel memiliki nilai-nilai duplikat di kolom tertentu atau set kolom. Sebagai contoh, batasan kunci UNIK didefinisikan pada kolom DEPARTMENT_NAME dari tabel departemen untuk melarang baris dengan nama departemen duplikat. Kecuali untuk keadaan khusus, ini ditegakkan dengan indeks yang unik. PRIMARY KEY: Setiap tabel dalam database dapat memiliki paling banyak satu constraint PRIMARY KEY. Nilai-nilai dalam kelompok satu atau lebih kolom dikenakan constraint ini merupakan pengenal unik dari baris. Akibatnya, setiap baris ini dinamai oleh nilai-nilai utama kunci. Pelaksanaan server Oracle batasan integritas PRIMARY KEY menjamin bahwa kedua hal berikut ini benar: Tidak ada dua baris dari suatu tabel memiliki nilai-nilai duplikat dalam kolom tertentu atau set kolom. Kolom kunci primer tidak memungkinkan nulls. Artinya, nilai harus ada untuk kolom kunci utama dalam setiap baris. Dalam keadaan normal, database menegakkan constraint PRIMARY KEY dengan menggunakan indeks. Batasan kunci primer dibuat untuk kolom department_id dalam tabel departemen diberlakukan oleh penciptaan implisit: Sebuah indeks yang unik pada kolom yang Sebuah constraint NOT NULL untuk kolom yang Batasan integritas referensial: tabel berbeda dalam database relasional dapat berhubungan dengan kolom umum, dan aturan-aturan yang mengatur hubungan kolom harus dipertahankan. Aturan integritas referensial menjamin bahwa hubungan ini dipertahankan. Sebuah batasan integritas referensial mensyaratkan bahwa untuk setiap baris tabel, nilai di foreign key harus cocok dengan nilai dalam kunci induk. Sebagai contoh, sebuah kunci asing didefinisikan pada kolom department_id dari tabel KARYAWAN. Hal ini menjamin bahwa setiap nilai di kolom ini harus cocok dengan

nilai dalam kunci primer dari tabel departemen. Oleh karena itu, tidak ada nomor departemen yang salah bisa ada di kolom department_id dari tabel departemen. Jenis lain dari batasan integritas referensial disebut batasan integritas referensial diri. Jenis referensi kunci asing kunci induk di meja yang sama.

Periksa constraint: Sebuah integritas constraint PERIKSA pada kolom atau set kolom mensyaratkan suatu kondisi tertentu benar atau tidak diketahui untuk setiap baris dari tabel. Jika bahasa manipulasi data (DML) hasil pernyataan dalam kondisi constraint PERIKSA mengevaluasi ke false, maka pernyataan ini digulung kembali.

CONSTRATINT STATES Sebuah batasan integritas dapat diaktifkan (ENABLE) atau dinonaktifkan (DISABLE). Jika constraint diaktifkan, data yang diperiksa seperti yang dimasukkan atau diperbarui dalam database. Data yang tidak sesuai dengan aturan constraint adalah dicegah dari yang masuk. Jika constraint dinonaktifkan, maka data yang tidak sesuai dapat dimasukkan ke dalam database. Sebuah batasan integritas dapat di salah satu negara berikut:

DISABLE NOVALIDATE DISABLE validasi MEMAMPUKAN NOVALIDATE MEMAMPUKAN validasi LUMPUHKAN NOVALIDATE: Baru serta data yang ada mungkin tidak sesuai dengan constraint karena tidak diperiksa. Hal ini sering digunakan ketika data dari sumber yang sudah divalidasi dan meja adalah read-only, sehingga tidak ada data baru yang dimasukkan ke dalam tabel. LUMPUHKAN Validasi: Jika constraint adalah dalam keadaan ini, maka setiap modifikasi kolom dibatasi tidak diperbolehkan, karena akan menjadi tidak konsisten untuk memiliki divalidasi data yang ada dan kemudian memungkinkan data yang dicentang untuk memasukkan meja. Hal ini sering digunakan ketika data yang ada harus

divalidasi, tetapi data ini tidak akan diubah dan indeks tidak biasa diperlukan untuk kinerja. MEMAMPUKAN NOVALIDATE: Data baru sesuai dengan constraint, tapi data yang ada dalam keadaan yang tidak diketahui. Ini sering digunakan sehingga pelanggaran constraint yang ada dapat diperbaiki, dan pada saat yang sama, pelanggaran baru tidak diizinkan untuk memasuki sistem. MEMAMPUKAN Validasi: Data Kedua baru dan yang sudah ada sesuai dengan constraint. Ini adalah khas dan default, keadaan constraint.

DEFINING CONSTRAINT Untuk menambahkan constraint untuk meja dengan menggunakan Enterprise Manager, lakukan langkah berikut: 1. Pilih tabel pada halaman Tabel, dan klik Edit. 2. Klik Constraint. Halaman Constraint ditampilkan menunjukkan semua constraint yang telah didefinisikan di atas meja. 3. Pilih jenis constraint yang Anda ingin menambahkan dari daftar drop-down, dan klik Tambah. 4. Masukkan informasi yang sesuai untuk jenis constraint yang Anda mendefinisikan. Klik OK.

CONSTRAINT CHECKING Anda dapat menunda pemeriksaan constraint untuk validitas sampai akhir transaksi. Constraint Nondeferred, juga dikenal sebagai constraint langsung, ditegakkan pada akhir setiap pernyataan DML. Sebuah pelanggaran constraint menyebabkan pernyataan yang akan digulung kembali. Jika constraint menyebabkan tindakan seperti menghapus kaskade, tindakan itu diambil sebagai bagian dari pernyataan yang menyebabkannya. Sebuah constraint yang didefinisikan sebagai nondeferrable tidak dapat diubah ke deferrable constraint. Constraint constraint tangguhan yang diperiksa hanya ketika transaksi berkomitmen. Jika ada pelanggaran constraint yang terdeteksi pada saat melakukan, seluruh transaksi digulung kembali. Constraint-constraint yang paling berguna ketika kedua orang tua dan anak dalam baris hubungan kunci asing yang dimasukkan pada saat yang sama, seperti dalam kasus sistem order entry, dimana ketertiban dan item dalam Sequences yang dimasukkan pada saat yang sama. Sebuah constraint yang didefinisikan sebagai deferrable bisa ditetapkan sebagai salah satu dari berikut: Awalnya langsung menetapkan bahwa secara default harus berfungsi sebagai constraint langsung, kecuali secara eksplisit diatur sebaliknya. Awalnya tangguhan menetapkan bahwa secara default constraint harus ditegakkan hanya pada akhir transaksi.

CREATING CONSTRAINT WITH SQL Tiga contoh penciptaan constraint akan ditampilkan dalam slide: a. Setelah mengeksekusi pernyataan ini, setiap insert atau update dilakukan pada tabel NEGARA diwajibkan untuk memiliki nilai COUNTRY_NAME yang unik. Tetapi adalah mungkin bahwa ketika pernyataan ini dikeluarkan, ada sudah ada nilai-nilai COUNTRY_NAME dalam tabel yang tidak unik. Kata kunci NOVALIDATE menunjukkan bahwa mereka harus diabaikan. Hanya baris baru dibatasi. b. Pernyataan ini menambahkan kunci utama untuk tabel karyawan. Nama constraint PK, dan primary key adalah kolom employee_id. c. Pernyataan ini mendefinisikan constraint pada saat tabel dibuat, daripada menggunakan pernyataan ALTER TABLE kemudian. Constraint RI memberlakukan bahwa nilai-nilai di kolom FK harus hadir dalam kolom kunci primer dari tabel T1. Constraint CK1 memaksa bahwa kolom PK dan C1 lebih besar dari nol. Catatan: Setiap constraint memiliki nama. Jika salah satu tidak disertakan dalam pernyataan DDL, maka sistem yang disediakan nama diberikan, yang dimulai dengan SYS_.

VIEWING COLUMN IN TABLE

Untuk melihat atribut dari suatu tabel dengan menggunakan Enterprise Manager, lakukan langkah berikut: 1. Klik link Tabel di wilayah Skema dari halaman Administrasi Database. 2. Pilih tabel dari daftar Hasil, dan klik tombol View untuk melihat atribut tabel.

VIEWING COLUMN IN TABLE Untuk melihat baris dalam tabel dengan menggunakan Enterprise Manager, lakukan langkah berikut: 1. Pilih tabel pada halaman Tabel. 2. Pilih Lihat Data dari menu Tindakan, dan klik Go. Data Lihat Tabel halaman muncul. Baris data untuk tabel ditunjukkan di wilayah Hasil. Kotak Query menampilkan query SQL yang dijalankan untuk menghasilkan hasil. Pada halaman ini, Anda dapat mengklik nama kolom dan mengurutkan data di kolom baik menaik atau menurun. Jika Anda ingin mengubah query, klik tombol Refine Query. Pada Query Pertajam untuk halaman Tabel, Anda dapat memilih kolom yang ingin ditampilkan dan menentukan klausa WHERE untuk pernyataan SQL untuk membatasi hasil. Untuk informasi lebih lanjut tentang klausa WHERE dalam pernyataan SQL, lihat Oracle Database SQL Referensi

ACTIONS WITH TABLE Anda dapat memilih tabel dan kemudian melakukan tindakan di atas meja itu. Berikut adalah beberapa tindakan-tindakan:

Buat Seperti: Dengan tindakan ini, Anda dapat membuat tabel yang memiliki struktur yang sama dengan tabel yang dipilih. Anda harus mengubah nama constraint. Anda dapat menambah atau menghapus kolom dan membuat perubahan lain ke struktur tabel sebelum diciptakan. Buat Indeks: Gunakan opsi ini untuk membuat indeks di atas meja. Menghasilkan DDL: DDL ini menghasilkan yang mewakili tabel karena sudah ada. Hal ini kemudian dapat disalin ke file teks untuk digunakan sebagai script atau untuk tujuan dokumentasi. Keistimewaan Hibah: Secara default, ketika sebuah tabel dibuat, hanya pemilik dapat melakukan apa saja dengan itu. Pemilik harus memberikan hak istimewa kepada pengguna lain dalam rangka bagi mereka untuk melakukan DML atau mungkin DDL di atas meja. Tampilkan Dependensi: Hal ini menunjukkan benda-benda yang tergantung pada tabel ini atau benda-benda yang tergantung pada tabel ini. Lihat data: ini memilih dan menampilkan data dari tabel secara read-only.

DROPPING TABLE Perintah DROP TABLE menghapus data, struktur tabel, objek dan hak istimewa terkait. Beberapa pertimbangan DROP TABLE adalah sebagai berikut: Tanpa klausa PURGE, definisi tabel, indeks terkait, dan memicu ditempatkan dalam recycle bin. Data tabel masih ada, tetapi tidak dapat diakses tanpa definisi tabel. Jika Anda drop tabel melalui Enterprise Manager, klausa PURGE tidak digunakan. Gunakan perintah TABLE KILAS untuk memulihkan obyek skema dari recycle bin. Perintah PURGE RECYCLEBIN mengosongkan recycle bin. CASCADE CONSTRAINT opsi diperlukan untuk menghapus semua batasan integritas referensial tergantung. DROP TABLE [schema.] table [CASCADE CONSTRAINTS] [PURGE]

Catatan: Jika Anda tidak menggunakan opsi PURGE, ruang yang diambil oleh tabel dan indeks masih menghitung terhadap kuota pengguna diperbolehkan untuk tablespace yang terlibat. Artinya, ruang tersebut masih dianggap sebagai digunakan. TRUNCATING TABLE Efek dari penggunaan perintah ini adalah sebagai berikut: Tabel ini ditandai sebagai kosong dengan menetapkan Mark Air Tinggi (HWM) ke awal tabel, membuat baris yang tersedia. Tidak ada data batalkan dihasilkan dan melakukan perintah secara implisit karena TRUNCATE TABLE adalah perintah DDL. Indeks yang sesuai juga dipotong.

Sebuah tabel yang sedang direferensikan oleh kunci asing tidak dapat dipotong. Pemicu menghapus jangan tembak ketika perintah ini digunakan.

Hal ini biasanya banyak kali lebih cepat daripada mengeluarkan pernyataan DELETE untuk menghapus semua baris dari tabel karena alasan berikut: Oracle Database reset HWM tabel bukannya pengolahan setiap baris sebagai operasi DELETE. Tidak ada data batalkan dihasilkan. TRUNCATE TABLE [schema.] table [{DROP | REUSE} STORAGE]

INDEXS Indeks adalah struktur terkait dengan tabel opsional. Mereka dapat dibuat untuk meningkatkan kinerja update data dan pengambilan. Indeks Oracle menyediakan jalur akses langsung ke baris data. Indeks dapat dibuat pada satu atau lebih kolom dari sebuah tabel. Setelah indeks dibuat, maka secara otomatis dipelihara dan digunakan oleh server Oracle. Update data tabel, seperti menambahkan baris baru, memperbarui baris, atau menghapus baris, secara otomatis disebarkan ke semua indeks yang relevan dengan transparansi lengkap kepada pengguna.

TYPES of INDEXS Bentuk yang paling umum dari indeks adalah:

B-TREE bitmap

Sebuah indeks B-tree memiliki nilai kunci yang disimpan dalam pohon seimbang (B-tree), yang memungkinkan untuk pencarian biner cepat. Sebuah indeks bitmap memiliki bitmap untuk setiap nilai kunci yang berbeda yang diindeks. Dalam bitmap masing-masing, ada sedikit disisihkan untuk setiap baris dalam tabel yang sedang diindeks. Hal ini memungkinkan untuk pencarian cepat ketika ada nilai-nilai yang berbeda sedikit, yaitu kolom diindeks memiliki kardinalitas rendah. Contoh dari ini adalah indikator jender. Hal ini dapat memiliki nilai "M" dan "F" saja. Jadi hanya ada dua bitmap untuk pencarian. Jika indeks bitmap digunakan untuk kolom phone_number, misalnya, akan ada begitu banyak bitmap untuk mengelola dan pencarian yang akan sangat tidak efisien. Menggunakan indeks bitmap untuk kardinalitas rendah kolom. B-TREE INDEX

Struktur indeks B-tree Di bagian atas indeks adalah akar, yang berisi entri yang mengarah ke tingkat berikutnya dalam indeks. Pada tingkat berikutnya adalah cabang blok, yang pada gilirannya menunjuk ke blok pada tingkat berikutnya dalam indeks. Pada tingkat terendah adalah node daun, yang mengandung entri indeks yang mengarah ke baris dalam tabel. Blok daun ganda terkait untuk memfasilitasi pemindaian indeks dalam Sequences menaik serta turun dari nilai-nilai kunci. Format entri indeks daun Sebuah entri indeks terdiri dari komponen-komponen berikut: Header entri, yang menyimpan jumlah kolom dan informasi penguncian Kunci kolom panjang-nilai pasangan, yang menentukan ukuran kolom dalam kunci diikuti oleh nilai untuk kolom (Jumlah pasangan tersebut adalah maksimum jumlah kolom dalam indeks.) ROWID dari baris yang berisi nilai-nilai kunci Karakteristik daun entri Indeks Dalam indeks B-tree di atas meja nonpartitioned:

Nilai-nilai kunci yang diulang jika ada beberapa baris yang memiliki nilai kunci yang sama kecuali indeks dikompresi. Tidak ada entri indeks sesuai dengan baris yang memiliki semua kolom kunci yang NULL. Oleh karena itu, klausa WHERE menetapkan NULL akan selalu menghasilkan scan meja penuh. Terbatas ROWID digunakan untuk menunjuk ke baris meja karena semua baris milik segmen yang sama.

Efek dari operasi DML pada indeks Server Oracle memelihara semua indeks saat operasi DML dilakukan di atas meja. Berikut adalah penjelasan tentang efek dari perintah DML pada indeks: Masukkan hasil operasi dalam penyisipan entri indeks dalam blok yang sesuai. Menghapus baris hanya menghasilkan penghapusan logis dari entri indeks. Ruang yang digunakan oleh baris dihapus tidak tersedia untuk entri baru sampai semua entri di blok akan dihapus. Pembaruan kolom kunci menghasilkan menghapus logis dan masukkan ke indeks. Pengaturan pctfree tidak berpengaruh pada indeks kecuali pada saat penciptaan. Sebuah entri baru dapat ditambahkan ke sebuah blok indeks bahkan jika memiliki ruang kurang dari yang ditetapkan oleh pctfree.

BITMAP INDEX Indeks bitmap lebih menguntungkan daripada B-tree indeks dalam situasi tertentu:

Ketika tabel memiliki jutaan baris dan kolom kunci memiliki kardinalitas rendah-yaitu, ada nilai-nilai yang berbeda sangat sedikit untuk kolom. Sebagai contoh, indeks bitmap mungkin lebih baik untuk B-tree indeks untuk gender dan kolom status perkawinan sebuah tabel yang berisi catatan paspor. Ketika query sering menggunakan kombinasi dari beberapa kondisi WHERE yang melibatkan operator OR Ketika ada adalah read-only atau rendah memperbarui aktivitas pada kolom kunci

Struktur indeks bitmap Sebuah indeks bitmap juga diselenggarakan sebagai pohon B-, tapi simpul daun menyimpan bitmap untuk setiap nilai kunci, bukan daftar ROWIDs. Setiap bit dalam bitmap sesuai dengan ROWID mungkin, dan jika sedikit diatur, itu berarti bahwa baris yang sesuai dengan ROWID berisi nilai kunci. Seperti ditunjukkan dalam diagram, node daun indeks bitmap berisi berikut: Header entri yang berisi jumlah kolom dan informasi kunci

Nilai-nilai kunci yang terdiri dari panjang dan pasangan nilai untuk setiap kolom kunci. Dalam contoh ini, kunci hanya terdiri dari satu kolom, dan entri pertama memiliki nilai kunci dari Blue. Mulai ROWID, yang dalam contoh menentukan nomor blok sepuluh, nol nomor baris, dan nomor file tiga Akhir ROWID, yang dalam contoh menentukan nomor blok dua belas, delapan nomor baris, dan nomor file tiga Segmen bitmap terdiri dari serangkaian bit. (Bit diatur ketika baris yang sesuai berisi nilai kunci dan tidak ditentukan ketika baris tidak mengandung nilai kunci server Oracle menggunakan teknik kompresi dipatenkan untuk menyimpan segmen bitmap..)

Para ROWID memulai adalah ROWID dari baris pertama ditunjukkan oleh segmen bitmap bitmap-yaitu, bit pertama dari bitmap sesuai dengan ROWID itu, bit kedua bitmap sesuai dengan baris berikutnya di blok tersebut, dan yang ROWID akhirnya adalah pointer ke baris terakhir dalam tabel ditutupi oleh segmen bitmap. Indeks bitmap menggunakan ROWIDs dibatasi. Menggunakan indeks bitmap B-tree digunakan untuk menemukan node daun yang mengandung segmen bitmap untuk nilai tertentu kunci. Mulai ROWID dan segmen bitmap digunakan untuk menemukan baris yang berisi nilai kunci. Ketika perubahan dibuat untuk kolom kunci dalam tabel, bitmap harus dimodifikasi. Hal ini mengakibatkan penguncian segmen bitmap yang relevan. Karena kunci diperoleh pada segmen bitmap keseluruhan, baris yang ditutupi oleh bitmap tidak dapat diperbarui oleh transaksi lain sampai berakhir transaksi pertama.

INDEX OPTIONS

Untuk efisiensi pengambilan, hal itu mungkin menguntungkan untuk memiliki sebuah toko indeks kunci dalam Sequences. Keputusan ini dibuat berdasarkan bagaimana data diakses paling sering. Sebuah indeks kunci reverse memiliki byte dari nilai diindeks disimpan dalam Sequences terbalik. Hal ini dapat mengurangi aktivitas di hot spot tertentu dalam indeks. Jika banyak pengguna yang pengolahan data dalam Sequences yang sama, maka bagian awalan dari nilainilai kunci (yang saat ini sedang diproses) yang dekat dalam nilai pada suatu instan. Akibatnya, ada banyak kegiatan di daerah dari struktur indeks. Sebuah indeks kunci reverse menyebar di seluruh kegiatan yang struktur indeks dengan mengindeks versi terbalik-byte dari nilai-nilai kunci. Sebuah indeks fungsi berbasis indeks nilai kembali fungsi ini. Fungsi ini dapat built-in fungsi SQL, fungsi PL / SQL disediakan, atau fungsi pengguna-tertulis. Hal ini mengurangi server dari keharusan untuk memanggil fungsi untuk setiap nilai kunci seperti melakukan pencarian. Anda dapat menggunakan indeks kompresi untuk mengurangi konsumsi disk pada waktu eksekusi. Karena nilai-nilai kunci berulang akan dihapus, entri indeks lebih dapat muat pada jumlah tertentu ruang disk, sehingga kemampuan untuk membaca masukan lebih banyak dari disk dalam jumlah waktu yang sama. Kompresi dan dekompresi harus dilakukan untuk menulis dan membaca indeks, masing-masing. CREATING INDEX Anda dapat mengklik link di bawah Skema Indeks judul halaman Administrasi untuk melihat halaman Indeks. Anda dapat melihat atribut index atau gunakan menu Tindakan untuk melihat dependensi untuk indeks. Indeks dapat dibuat secara eksplisit, atau secara implisit melalui kendala yang ditempatkan di atas meja. Sebuah contoh dari indeks implisit yang dibuat adalah definisi dari kunci primer, dalam hal ini indeks yang unik akan secara otomatis diciptakan untuk menegakkan keunikan pada kolom.

VIEW View yang disesuaikan representasi data dalam satu atau lebih tabel atau View lainnya. Mereka dapat dianggap sebagai query yang disimpan, karena mereka dapat menyembunyikan kondisi yang sangat kompleks, bergabung, dan ekspresi kompleks lainnya dan konstruksi SQL. View tidak benar-benar berisi data, melainkan, mereka mendapatkan data mereka dari tabel di mana mereka didasarkan. Tabel ini disebut sebagai base tables View.

CREATING VIEW Seperti tabel, View dapat dilihat, diperbarui, dimasukkan ke dalam, dan dihapus dari, dengan beberapa pembatasan. Semua operasi yang dilakukan pada melihat benar-benar mempengaruhi tabel dasar dari View. View memberikan tingkat tambahan keamanan dengan membatasi akses ke set yang telah ditetapkan baris dan kolom dari sebuah tabel. Mereka juga menyembunyikan kompleksitas data dan menyimpan query yang kompleks.

Untuk melihat pemandangan didefinisikan dalam database, klik link di bawah Skema Views judul pada halaman Administrasi.

SEQUENCES Sequences adalah objek database dari mana beberapa pengguna dapat menghasilkan bilangan bulat yang unik. Anda dapat menggunakan Sequences untuk dengan mudah menghasilkan nilai kunci primer.

Dalam rangka untuk mengambil nilai berikutnya dari Sequences, Anda referensi itu dengan namanya, tidak ada hubungan dari Sequences ke tabel atau kolom. Setelah nomor yang diberikan dikeluarkan, itu adalah jaminan bahwa tidak akan dikeluarkan lagi, kecuali Sequences didefinisikan sebagai siklus. Kadang-kadang permintaan aplikasi nilai itu tak pernah berakhir menggunakan atau menyimpan dalam database. Hal ini dapat mengakibatkan kesenjangan dalam angka-angka yang berada di meja mereka sedang disimpan ke dalam. Caching nomor urut meningkatkan kinerja, karena satu set nomor preallocated dalam memori untuk akses cepat. Jika ada kegagalan misalnya, setiap nomor urut cache tidak digunakan, yang menghasilkan kesenjangan.

Catatan: Jika suatu aplikasi memerlukan bahwa tidak ada kesenjangan, maka aplikasi harus menerapkan generator nomor kustom. Metode ini dapat mengakibatkan kinerja yang sangat buruk sekalipun. Jika Anda menggunakan tabel untuk menyimpan nilai, dan kenaikan yang nilai dan memperbarui tabel untuk setiap permintaan, proses yang akan menjadi hambatan systemwide. Hal ini karena setiap sesi harus menunggu untuk itu mekanisme, yang, untuk menjamin tidak ada duplikat atau kesenjangan, dapat menangani hanya satu permintaan pada suatu waktu. CREATING SEQUENCES Anda dapat melihat dan membuat Sequences dengan menggunakan Enterprise Manager dengan mengklik pada link di bawah Skema Sequences judul halaman Administrasi. Berikut adalah ringkasan dari pilihan Sequences penciptaan:

Nama: Gunakan aturan penamaan tertutup sebelumnya untuk nama berSequences. Skema: Ini adalah Sequences pemilik. Tipe: A dapat Sequences ascending atau descending. Nilai Maksimum: Tentukan nilai maksimum yang dapat menghasilkan Sequences. Ini nilai integer dapat memiliki 28 atau lebih sedikit digit. Ini harus lebih besar dari Nilai Minimum dan Awal. Menggunakan terbatas menunjukkan nilai maksimum 1027 untuk Sequences menaik atau -1 untuk Sequences turun. Default adalah terbatas. Nilai minimum: Tentukan nilai minimum dari Sequences. Ini nilai integer dapat memiliki 28 atau lebih sedikit digit. Ini harus kurang dari atau sama dengan awal dan kurang dari Nilai Maksimum. Menggunakan terbatas menunjukkan nilai minimum dari 1 untuk Sequences menaik atau -1026 untuk Sequences turun. Default adalah terbatas. Interval: Tentukan interval antara nomor Sequences. Ini nilai integer dapat setiap bilangan bulat positif atau negatif, tetapi tidak dapat menjadi nol. Hal ini dapat memiliki 28 atau lebih sedikit digit. Default adalah satu. Awal: Tentukan nomor Sequences pertama yang akan dihasilkan. Gunakan klausa ini untuk memulai Sequences naik pada nilai lebih besar dari minimum atau untuk memulai Sequences turun pada nilai kurang dari maksimum. Nilai Siklus: Setelah Sequences menaik mencapai nilai maksimum, itu menghasilkan nilai minimum. Setelah Sequences menurun mencapai minimum, itu menghasilkan nilai maksimum. Jika Anda tidak memilih pilihan ini, kesalahan dikembalikan ketika Anda mencoba untuk mengambil nilai setelah Sequences telah habis. Sequences Nilai: ini menjamin bahwa nomor urut yang dihasilkan dalam Sequences permintaan. Klausul ini berguna jika Anda menggunakan nomor Sequences sebagai timestamps. Menjamin agar biasanya tidak penting untuk Sequences yang digunakan untuk menghasilkan kunci primer. Opsi ini hanya diperlukan untuk menjamin generasi memerintahkan jika Anda menggunakan database Oracle dengan Real Application Clusters. Pilihan cache: Tentukan berapa banyak nilai-nilai dari Sequences database Oracle preallocates dan terus dalam memori untuk akses cepat. Ini nilai integer dapat memiliki

28 atau lebih sedikit digit. Nilai minimum untuk parameter ini adalah 2. Untuk Sequences bahwa siklus, nilai ini harus kurang dari jumlah nilai dalam siklus. Anda tidak bisa menyimpan nilai lebih dari apa yang akan cocok dalam siklus tertentu nomor urut.

USING SEQUENCES Lihat nilai urutan dalam pernyataan SQL dengan pseudocolumns berikut: CURRVAL: Mengembalikan nilai saat urutan NEXTVAL: increment urutan dan mengembalikan nilai berikutnya

Anda harus memenuhi syarat CURRVAL dan NEXTVAL dengan nama urutan: sequence.CURRVAL sequence.NEXTVAL Referensi pertama NEXTVAL mengembalikan nilai awal urutan. Referensi selanjutnya untuk NEXTVAL, kenaikan nilai urutan oleh kenaikan didefinisikan dan mengembalikan nilai baru.

Setiap referensi untuk CURRVAL selalu mengembalikan nilai saat ini dari urutan, yang merupakan nilai yang dikembalikan oleh referensi terakhir untuk NEXTVAL. TEMPORARY TABLE Anda dapat mengambil keuntungan dari tabel sementara ketika Anda perlu untuk menyimpan data pribadi untuk tujuan melaksanakan tugas, dan Anda ingin data yang akan dibersihkan bila tugas yang dilakukan: pada akhir baik transaksi atau sesi. Tabel sementara menyediakan fungsionalitas ini ketika membebaskan Anda dari tanggung jawab menyembunyikan data Anda dari sesi lain, dan menghapus data yang dihasilkan ketika Anda selesai. Satu-satunya data tabel sementara terlihat sesi adalah data yang telah dimasukkan sesi. Sebuah tabel sementara dapat transaksi tertentu atau sesi tertentu. Untuk transaksi-spesifik tabel sementara, data yang ada selama transaksi sedangkan untuk sesi khusus tabel sementara, data yang ada untuk durasi sesi. Dalam kedua kasus, data dimasukkan oleh sesi swasta untuk sesi. Setiap sesi dapat melihat dan memodifikasi hanya data sendiri. Akibatnya, kunci DML tidak pernah diperoleh pada data tabel sementara. Klausul yang mengontrol seumur hidup dari baris adalah: ON COMMIT DELETE ROWS: Untuk menetapkan bahwa seumur hidup dari baris dimasukkan adalah untuk durasi transaksi hanya ON COMMIT MEMELIHARA ROWS: Untuk menetapkan bahwa seumur hidup dari baris dimasukkan adalah untuk durasi sesi Pernyataan CREATE TABLE SEMENTARA GLOBAL menciptakan table.You sementara dapat membuat indeks, pandangan, dan memicu pada tabel sementara, dan Anda juga dapat menggunakan Ekspor dan Impor atau Pompa Data ekspor dan impor definisi dari tabel sementara. Namun, tidak ada data yang diekspor, bahkan jika Anda menggunakan pilihan ROWS. Selain peristiwa yang telah disebutkan yang menyebabkan data yang akan dihapus, Anda dapat memaksa data yang akan dihapus secara efisien dengan perintah TRUNCATE TABLE. Ini menghapus semua data yang Anda telah memasukkan. Hal ini lebih efisien daripada menggunakan perintah DELETE. Anda dapat membuat indeks, pandangan, dan memicu pada tabel sementara. Tabel sementara dapat dibuat dengan menggunakan Enterprise Manager dengan mengklik pilihan sementara pada Tabel Buat: Tabel halaman Organisasi. Klik Continue dan halaman berikutnya memungkinkan Anda untuk menentukan apakah tabel sementara atau khusus sesi transaksi. Bidang Tablespace berwarna abu-abu karena tabel sementara selalu dibuat dalam tablespace sementara pengguna, tidak ada tablespace lainnya dapat ditentukan. Catatan: Kata kunci GLOBAL adalah berdasarkan istilah yang ditentukan dalam Organisasi Internasional untuk Standarisasi (ISO) standar untuk SQL.

Pernyataan CREATE TABLE SEMENTARA GLOBAL menciptakan table.You sementara dapat membuat indeks, pandangan, dan memicu pada tabel sementara, dan Anda juga dapat menggunakan Ekspor dan Impor atau Pompa Data ekspor dan impor definisi dari tabel sementara. Namun, tidak ada data yang diekspor, bahkan jika Anda menggunakan pilihan ROWS. Selain peristiwa yang telah disebutkan yang menyebabkan data yang akan dihapus, Anda dapat memaksa data yang akan dihapus secara efisien dengan perintah TRUNCATE TABLE. Ini menghapus semua data yang Anda telah memasukkan. Hal ini lebih efisien daripada menggunakan perintah DELETE. Catatan: Kata kunci GLOBAL adalah berdasarkan istilah yang ditentukan dalam Organisasi Internasional untuk Standarisasi (ISO) standar untuk SQL.

Anda mungkin juga menyukai