Anda di halaman 1dari 20

LAPORAN PRAKTIKUM

MANAJEMEN BASIS DATA


“Mengelola Objek Schema (Index, View dan Sequence)”

Dosen Pengampu :
Rizqi Putri Nourma Budiarti S. T. M. T

Disusun Oleh :
Afni Virda Alfadina
3130020047

PROGRAM STUDI SISTEM INFORMASI


FAKULTAS EKONOMI BISNIS DAN TEKNOLOGI DIGITAL
UNIVERSITAS NAHDLATUL ULAMA SURABAYA
2022
KATA PENGANTAR
Alhamdulillahirabbilalamin, segala puji bagi Allah SWT yang telah memberikan nikmat
serta hidayah-Nya terutama nikmat kesempatan dan kesehatan sehingga penulis dapat
menyelesaikan Laporan Pendahuluan Mata Kuliah Manajemen Basis Data yang berjudul
“Mengelola Objek Schema (Index, View dan Sequence)” ini. Kemudian shalawat serta salam
kita sampaikan kepada Nabi besar kita Muhammad SAW yang telah memberikan pedoman
hidup yakni Al-Qur’an dan Sunnah untuk keselamatan umat di dunia.
Laporan Pendahuluan ini merupakan salah satu Tugas Mata Kuliah Manajemen Basis Data
di Program Studi Sistem Informasi, Fakultas Ekonomi Bisnis dan Teknologi Digital,
Universitas Nahdlatul Ulama Surabaya. Selanjutnya penulis mengucapkan terimakasih yang
sebesar-besarnya kepada Ibu Rizqi Putri Nourma Budiarti S. T. M. T selaku dosen Mata Kuliah
Manajemen Basis Data dan kepada segenap pihak yang telah memberikan bimbingan serta
arahan selama penulisan Laporan Pendahuluan ini.
Akhirnya penulis menyadari bahwa banyak terdapat kekurangan-kekurangan dalam
penulisan Laporan Pendahuluan ini, maka dari itu penulis mengharapkan kritik dan saran yang
konstruktif dari para pembaca demi kesempurnaan Laporan Pendahuluan ini. Terimakasih dan
semoga Laporan Pendahuluan ini bisa memberi manfaat positif bagi kita semua.

Surabaya, 25 Mei 2022

Penulis
BAB 1
PENDAHULUAN
1.1 Latar Belakang
Setiap orang yang akan mengakses ke suatu database Oracle harus memiliki
database user account atau biasa dikenal dengan user name. Pada database Oracle, user
ada didalam database artinya user merupakan bagian dari suatu database. Berbeda
dengan konsep user yang ada di database lain seperti MySQL atau SQL Server 2000,
pada kedua database tersebut user ada diluar database. User yang berhak membuat user
account adalah user SYS atau user SYSTEM. User SYS dan SYSTEM adalah user yang
sudah ada di dalam database dan mempunyai wewenang untuk melakukan administrasi
database. User SYS dan SYSTEM dibuat bersamaan dengan proses membuat database.
Jadi begitu selesai membuat database atomatis sudah ada user SYS dan SYSTEM.
Dalam satu database akan terdapat banyak user dan setiap user akan mempunyai banyak
objek seperti tabel, indek, trigger, procedure dan function. Pengelompokan objek-objek
secara logik di dalam database berdasarkan user pemiliknya disebut schema. Jadi setiap
user pasti punya schema, schema atomatis terbentuk ketika user dibuat. Satu user hanya
dihubungkan ke satu schema dan nama user sama dengan nama schema. Berarti user
dan schema adalah hal yang sama. Secara logik user atau schema di database Oracle
sebenarnya sama dengan apa yang disebut database di My SQL atau SQL Server 2000.

1.2 Rumusan Masalah


Berdasarkan latar belakang masalah tersebut maka dapat dirumuskan suatu pokok
masalah yang kemudian disusun dalam bentuk pertanyaan sebagai berikut:
1. Apa yang dimaksud dengan Schema?
2. Apa yang dimaksud dengan Index?
3. Apa saja Index pada database oracle?
4. Apa yang dimaksud dengan View?
5. Apa yang dimaksud dengan Sequence?

1.3 Tujuan
Berdasarkan perumusan masalah diatas, maka tujuan yang akan dicapai dalam
laporan pendahuluan ini adalah sebagai berikut:
1. Mengetahui apa yang dimaksud dengan Schema?
2. Mengetahui apa yang dimaksud dengan Index?
3. Mengetahui apa saja Index pada database oracle?
4. Mengetahui apa yang dimaksud dengan View?
5. Mengetahui apa yang dimaksud dengan Sequence?
BAB 2
DASAR TEORI
2.1 Schema
Skema adalah kumpulan objek database. Skema dimiliki oleh pengguna database
dan memiliki nama yang sama dengan pengguna tersebut. Objek skema adalah struktur
logis yang dibuat oleh pengguna. Objek seperti tabel atau indeks menyimpan data, atau
dapat terdiri dari definisi saja, seperti tampilan atau sinonim. Schema-dchema yang
terbentuk sebagai bagian dari proses pembuatan database:
• SYS berisi table dasar dan view yang mendasari data dictionary database
• SYSTEM berisi table-table tambahan dan view yang menyimpan informasi
administrative, serta table internal dan view yang digunakan berbagai macam
tools dan option Oracle.
• Beberapa contoh Schema: scott, HR, OE (Order Entry), PM (Produk Schema
Media), QS (Queued Shipping)
Pemberian nama objek-objek darabase memiliki beberapa karakteristik
diantaranya adalah sebagai berikut:

• Panjang dari nama harus dari 1 sampai 30 bytes dengan pengecualian sebagai
berikut:
- Nama dari database dibatasi sampai 8 bytes
- Nama database link dapat sepanjang 128 bytes
• Nama yang tidak didalam tanda kutip tidak boleh merupakan kata-kata yang
sudah digunakan (reserved) di Oracle
• Nama yang tidak didalam tanda kutip harus diawali dengan huruf dari
character set pada database
• Nama yang tidak didalam tanda kutip hanya berisi:
- Karakter alphanumeric dari set karakter database
- Garis bawah (_)
- Tanda dolar ($)
- Tanda pagar (#)
• Tidak diperbolehkan ada dua objek mempunyai nama yang sama dalam
namespace yang sama
• Berikut ini mempunyai namespaces sama yaitu tabel, view, sequence, private
synonims, stand alone procedure, stand alone stored function, package,
materialized view, user defined type.
• Berikut ini memiliki namespace sendiri yaitu index, constraint, cluster,
database trigger, private database link, dimension

2.2 Index
2.2.1 Definisi Index
Index adalah objek schema yang berisi catatan dari nilai-nilai yang muncul
pada satu kolom atau kombinasi kolom di index dari sebuah tabel. Index dibuat
untuk mempercepat pengaksesan data pada suatu tabel. Index ini dibuat
berdasarkan pada field – field dari sebuah tabel. Index bisa dibuat secara
otomatis untuk constraint primary key atau unique key dan secara manual
melalui CREATE INDEX statement.
1. Membuat Index (CREATE INDEX)
Query
CREATE INDEX nama_index ON nama_tabel(nama_field1,
nama_field2,….);
Example
SQL>CREATE INDEX mahasiswa_idx ON mahasiswa(nim, nama,
alamat );
2. Memodifikasi Index (ALTER INDEX)
Query
ALTER INDEX nama_index
[INITRANS integer]
[MAXTRANS integer]
[STORAGE storage_clause]
Example
SQL > ALTER INDEX mahasiswa_idx INITRANS 10;
3. Mengubah Index (ALTER INDEX)
Query
ALTER INDEX nama_index_lama RENAME TO nama_index_baru;
Example
ALTER INDEX mahasiswa_idx RENAME TO mhs_idx;
4. Menghapus Index (DROP INDEX)
Query
DROP INDEX nama_index;
Example
SQL > DROP INDEX mahasiswa_idx;
2.2.2 Index Pada Database Oracle
Untuk performansi query Oracle mendukung penerapan indeks B-Tree
yang merupakan indeks default, indeks bitmap untuk kumpulan key yang
cardinality-nya rendah, indeks pada cluster B-Tree dan hash, indeks global dan
lokal untuk partisi tabel, indeks reverse key pada aplikasi real application cluster
(RAC), indeks function-based pada key yang berupa ekspresi atau fungsi, serta
indeks domain untuk aplikasi atau cartridge.
1. Index B-Tree
Suatu B-tree adalah tipe standar dari index yang tersedia pada Oracle,
dan sangat berguna pada saat memilih row yang sesuai dengan kriteria
tertentu. Index jenis ini bisa dibuat dengan perintah CREATE INDEX.
Contoh:
CREATE INDEX nama_pegawai_idx ON pegawai(nama);
B-Tree Index memiliki sub-tipe sebagai berikut:
a. Index-organized tables: Pada index-organized table, rows
dimasukkan kedalam index yang di definisikan pada primary
key table.
b. Reverse key indexes: Index yang digunakan untuk data yang
sangat beragam(unik) atau increment.
c. Contoh: CREATE INDEX nomor_ktp_idx ON biodata
(nomor_ktp) REVERSE;
d. Descending indexes: Index yang memasukan data ke dalam
kolom tertentu dalam urutan menurun.
e. B-tree cluster indexes: Index ini digunakan untuk mengindeks
table cluster key.
2. Index Bitmap dan Bitmap Join Index\
Index yang biasa digunakan untuk kolom yang memiliki sedikit nilai
yang unik, seperti jenis kelamin, agama, atau status perkawinan. Index
ini biasa digunakan untuk point ke multiple rows.
Contoh:
CREATE BITMAP INDEX jenis_kelamin_idx ON biodata
(jenis_kelamin);
3. Function-Based Indexes
Selain melakukan index terhadap kolom, seperti kolom Nama misalnya,
maka Anda juga dapat meng-index suatu kolom yang berbasis fungsi,
misalkan fungsi UPPER. Function-based index akan memberikan
kesempatan bagi Oracle optimizer beberapa pilihan ketika memilih
execution path.
Contoh:
CREATE INDEX total_gaji_idx ON penggajian (gaji_pokok +
bonus);
4. Partitioned Indexed
Partition index untuk mendukung partitioned tables atau untuk
menyederhanakan index management. Index partition dapat bersifat
lokal bagi partisi tabel atau dapat pula bersifat global yang berpengaruh
pada seluruh tabel.
5. Text Indexed
Meng-index nilai text untuk mendukung peningkatan pada kemampuan
pencarian, seperti pencarian frase dan lain sebagainya. Text indexes
merupakan himpunan dari tabel dan index yang dipelihara oleh Oracle
untuk mendukung pencarian teks yang sangat kompleks. Oracle
Database 10g menawarkan peningkatan pada text indexes yang mana
menyederhanakan proses administrasi dan pemeliharaannya.
2.3 View
View adalah sebuah virtual tabel yang dibangun dari satu atau beberapa tabel yang
sudah ada, baik berdasarkan kondisi tertentu ataupun tidak. Secara fisik view tidak
menyimpan record seperti pada tabel, tetapi ia menyimpan data berupa pointer yang
menunjukkan ke record yang bersangkutan di dalam tabel. Sumber data view dapat
berasal dari table atau view lain. Mirip dengan table, Anda dapat melakukan update,
delete, dan insert pada view sehingga perubahan itu akan direfleksikan pada base
tabelnya. Berbeda dengan table, view tidak menyimpan data, view hanya menyimpan
definisi query pada data dictionary dan tidak memerlukan ruang penyimpanan data.
Penerapan view dapat diaplikasikan pada situasi berikut:
• Membatasi akses sesuai otoritas user
• Memudahkan pemahaman tehadap kolom penampung data yang mungkin
berbeda dengan definisi kolom pada table dasar
• Menyederhanakan pandangan user terhadap data
• Menangani data kompleks
• Memudahkan penggunaan quey yang berulang karena disimpan sebagai stored
query

1. Membuat View (Create View)


Query
CREATE [or replace] [force] [noforce] VIEW nama_view
[(nama_field1, …)]
AS subquery [with check option]
Note.
• or replace: mendefinisikan kembali view yang sudah ada
• noforce: view hanya akan dibuat jika tabel induk telah dibuat.
• force: view dapat dibuat walau tabel induk belum dibuat.
• with check option: view akan menvalidasi data yang diinsert atau
diupdate ke view
Example
SQL > CREATE or REPLACE VIEW mahasiswa_view (nim, nama,
alamat)
AS
SELECT nim, nama, alamat
FROM mahasiswa
WHERE alamat != ‘’ with check option;
2. Memodifikasi View (Alter View)
Query
ALTER VIEW nama_view COMPILE;
Example
SQL > ALTER VIEW mahasiswa_view COMPILE;
3. Menghapus View (Drop View)
Query
DROP VIEW nama_view;
Example
SQL > DROP VIEW mahasiswa_view;

2.4 Sequence
Sequence digunakan untuk membangkitkan serangkaian nilai serial yang unik.
1. Membuat Sequence (Create Sequence)
Query
CREATE SEQUENCE nama_sequence
[INCREMENT BY integer]
[START WITH integer]
[MAXVALUE integer | NOMAXVALUE]
[MINVALUE integer | NOMINVALUE]
[CYCLE | NOCYCLE]
[CHACE | NOCHACE]
• INCREMENT BY berfungsi untuk mendefinisikan jumlah incrementasi setiap
kali terjadi penyisipan record.
• START WITH berfungsi untuk mendefisikan bilangan awal yang
dibangkitkan.
• NOMAXVALUE tidak ada batas maximum bilangan sequence yang
digenerate.
• MAXVALUE mendefinisikan maximum bilangan sequence yang digenerate.
• CYCLE mendefinisikan bahwa jika telah bilangan sequence telah maximum,
maka nilai akan diulang dari awal lagi
• NOCYCLE tidak ada pengulangan bilangan bila telah sampai nilai maximum
• CACHE bilangan sequence akan ditampung di buffer
• NOCACHE bilangan sequence tidak akan ditampung di buffer.
Example
SQL > CREATE SEQUENCE seq_bulan
INCREMENT BY 1
START WITH 1
MAXVALUE 12;
2. Memodifikasi Sequence (Alter Sequence)
Query
ALTER SEQUENCE nama_sequence
[INCREMENT BY integer]
[START WITH integer]
[MAXVALUE integer | NOMAXVALUE]
[MINVALUE integer | NOMINVALUE]
[CYCLE | NOCYCLE]
[CHACE | NOCHACE]
Example
SQL > ALTER SEQUENCE seq_bulan
INCREMENT BY 2;
3. Menghapus Sequence (Drop Sequence)
Query
DROP SEQUENCE nama_sequence;
Example
DROP SEQUENCE seq_bulan;
BAB 3
METODOLOGI
3.1 Tempat dan Waktu Pembuatan Laporan
Dalam pengerjaan Tugas Laporan Pendahuluan ini penulis mengambil tempat
pengerjaan dirumah. Pembuatan Laporan Pendahuluan diberikan waktu dari Selasa, 25
Mei 2022 hingga Rabu, 26 Mei 2022

3.2 Bahan dan Peralatan


Bahan dan peralatan yang digunakan dalam membuat laporan pendahuluan ini
diantaramya sebagai berikut:
1. Laptop
2. Samsung Galaxy Tab
3. Handphone
4. Microsoft Office
5. Google

3.3 Prosedur Pengerjaan


Prosedur yang digunakan dalam pengerjaan Laporan Pendahuluan ini adalah
dengan mencari dan membaca literatur mengenai Mengelola Objek Schema serta
beberapa materi lain terkait Index, View dan Sequence.
BAB 4
HASIL PRAKTIKUM
4.1 Praktikum
1. Berilah contoh create B-Tree Index dengan Bitmap Index dan Jelaskan
Perbedaan keduanya!

a.

b.
c.

d.

2. Perhatikan Query dibawah ini (SQL Plus atau Oracle LiveSQL):


e. create table co_idx_bebas (id_idx varchar2(10));

f. create unique index id_idx_unique on co_idx_bebas(id_idx);


g. insert into co_idx_bebas values('121');

h. insert into co_idx_bebas values('121');

3. Buatlah View dari:


i. Penggabungan table employees dan departments
j. Penggabungan job_history dan employees

k. Penggabungan locations dan countries

l. Contoh mandiri 1
m. Contoh mandiri 2

4. Perhatikan Query dibawah ini : (SQL PLUS HR atau Oracle LiveSQL -HR)
a. Query 1

b. Query 2
c. Update view
5. Perhatikan Sequence Berikut ini dan lakukan pengamatan: (SQL PLUS HR
atau Oracle LiveSQL -HR)
a. Query 1

b. Query 2

c. Query 3
d. Query 4

e. Query 5

f. Query 6
g. Query 7
BAB 5
PENUTUP
5.1 Kesimpulan
Skema adalah kumpulan objek database. Skema dimiliki oleh pengguna database
dan memiliki nama yang sama dengan pengguna tersebut. Objek skema adalah struktur
logis yang dibuat oleh pengguna. Index adalah objek schema yang berisi catatan dari
nilai-nilai yang muncul pada satu kolom atau kombinasi kolom di index dari sebuah
tabel. View adalah sebuah virtual tabel yang dibangun dari satu atau beberapa tabel
yang sudah ada, baik berdasarkan kondisi tertentu ataupun tidak. Sequence digunakan
untuk membangkitkan serangkaian nilai serial yang unik
DAFTAR PUSTAKA

Apa itu Index pada database? (2016, Oktober 7). Retrieved from Inovasi Informatika Indonesia:
https://i-3.co.id/index-pada-database/
Ayun, D. (2011, Januari 9). Index View dan Sequence. Retrieved from Materi DBMS:
http://dianayun30207013.blogspot.com/2011/01/index-view-dan-sequence.html
Belajar Index, Synonym dan Sequence Pada Oracle Database. (2015, Oktober 5). Retrieved from
Kaskus: https://www.kaskus.co.id/thread/56116db95c779826498b4567/belajar-index-
synonym-dan-sequence-pada-oracle-database/
Indrawan, A. (2008, April 8). SQL With Oracle Indeks pada Tabel. Retrieved from Konstruksi
Komunikasi Antar Sesama: https://developdottxt.wordpress.com/2008/04/28/sql-with-oracle-
indeks-pada-tabel/
Mengelola skema dalam aplikasi SaaS menggunakan pola database per penyewa dengan Microsoft
Azure SQL Database. (2022, Mei 10). Retrieved from docs.microsoft.com:
https://docs.microsoft.com/id-id/azure/azure-sql/database/saas-tenancy-schema-
management?view=azuresql
Robianto, F. (2011, April 14). User dan Schema Database Oracle. Retrieved from FerdianRobianto
Wordpress: https://ferdianrobianto.wordpress.com/2011/04/14/user-dan-schema-database-
oracle/
Tolaho. (2009, Januari 13). Tipe Index pada Oracle. Retrieved from Tolaho:
https://tolaho.wordpress.com/2009/01/13/tipe-index-pada-oracle/
Wijaya, D. R. (n.d.). Schema Object. Retrieved from Anzdoc: https://adoc.pub/schema-objects-mi2154-
sql-lanjut-dedy-rahman-wijaya-st-mt-oc.html

Anda mungkin juga menyukai