Menjelaskan objek database

Selesai

Petunjuk / Saran

Lihat tab Teks dan gambar untuk detail selengkapnya!

Selain tabel, database relasional dapat berisi struktur lain yang membantu mengoptimalkan pengaturan data, merangkum tindakan terprogram, dan meningkatkan kecepatan akses. Dalam unit ini, Anda mempelajari tentang tiga struktur ini secara lebih rinci: tampilan, prosedur tersimpan, dan indeks.

Apa itu tampilan?

Tampilan adalah tabel virtual berdasarkan hasil kueri SELECT . Anda dapat menganggap tampilan sebagai jendela pada baris tertentu dalam satu atau beberapa tabel yang mendasarinya. Misalnya, Anda dapat membuat tampilan pada tabel Pesanan dan Pelanggan yang mengambil pesanan dan data pelanggan untuk menyediakan satu objek yang memudahkan untuk menentukan alamat pengiriman untuk pesanan:

CREATE VIEW Deliveries
AS
SELECT o.OrderNo, o.OrderDate,
       c.FirstName, c.LastName, c.Address, c.City
FROM Order AS o JOIN Customer AS c
ON o.Customer = c.ID;

Diagram yang mewakili konsep tampilan dalam database.

Anda dapat mengkueri tampilan dan memfilter data dengan cara yang hampir sama seperti tabel. Kueri berikut menemukan detail pesanan untuk pelanggan yang tinggal di Seattle:

SELECT OrderNo, OrderDate, LastName, Address
FROM Deliveries
WHERE City = 'Seattle';

Apa itu prosedur tersimpan?

Prosedur tersimpan menentukan pernyataan SQL yang dapat dijalankan pada perintah. Prosedur tersimpan digunakan untuk merangkum logika terprogram dalam database untuk tindakan yang perlu dilakukan aplikasi saat bekerja dengan data.

Anda dapat menentukan prosedur tersimpan dengan parameter untuk membuat solusi fleksibel untuk tindakan umum yang mungkin perlu diterapkan pada data berdasarkan kunci atau kriteria tertentu. Misalnya, prosedur tersimpan berikut dapat ditentukan untuk mengubah nama produk berdasarkan ID produk yang ditentukan.

CREATE PROCEDURE RenameProduct
	@ProductID INT,
	@NewName VARCHAR(20)
AS
UPDATE Product
SET Name = @NewName
WHERE ID = @ProductID;

Ketika sebuah produk harus diubah namanya, Anda dapat menjalankan prosedur tersimpan dengan memberikan ID produk tersebut dan nama baru yang akan diberikan:

EXEC RenameProduct 201, 'Spanner';

Apa itu indeks?

Indeks membantu Anda mencari data dalam tabel. Anggap saja indeks pada tabel seperti indeks di bagian belakang buku. Indeks buku berisi set referensi yang diurutkan, dengan halaman di mana setiap referensi terjadi. Saat Anda ingin menemukan referensi ke item dalam buku, Anda mencarinya melalui indeks. Anda dapat menggunakan nomor halaman dalam indeks untuk langsung membuka halaman yang benar dalam buku. Tanpa indeks, Anda mungkin harus membaca seluruh buku untuk menemukan referensi yang Anda cari.

Saat membuat indeks dalam database, Anda menentukan kolom dari tabel, dan indeks berisi salinan data ini secara urut, dengan penunjuk ke baris terkait dalam tabel. Saat pengguna menjalankan kueri yang menentukan kolom ini dalam klausa WHERE , sistem manajemen database dapat menggunakan indeks ini untuk mengambil data lebih cepat daripada jika harus memindai seluruh baris tabel menurut baris.

Misalnya, Anda dapat menggunakan kode berikut untuk membuat indeks pada kolom Nama tabel Produk :

CREATE INDEX idx_ProductName
ON Product(Name);

Indeks membuat struktur berbasis pohon yang dapat digunakan pengoptimal kueri sistem database untuk menemukan baris dalam tabel Produk dengan cepat berdasarkan Nama yang ditentukan.

Cuplikan layar contoh indeks yang membuat struktur berbasis pohon.

Untuk tabel yang berisi beberapa baris, penggunaan indeks mungkin tidak lebih efisien daripada hanya membaca seluruh tabel dan menemukan baris yang diminta oleh kueri (dalam hal ini pengoptimal kueri akan mengabaikan indeks). Namun, jika tabel memiliki banyak baris, indeks dapat meningkatkan performa kueri secara signifikan.

Anda dapat membuat banyak indeks pada tabel. Jadi, jika Anda juga ingin menemukan produk berdasarkan harga, membuat indeks lain pada kolom Harga di tabel Produk mungkin berguna. Namun, indeks tidak gratis. Indeks menggunakan ruang penyimpanan, dan setiap kali Anda menyisipkan, memperbarui, atau menghapus data dalam tabel, indeks untuk tabel tersebut harus dipertahankan. Pekerjaan tambahan ini dapat memperlambat operasi penyisipan, pembaruan, dan penghapusan. Anda harus menjaga keseimbangan antara penggunaan indeks untuk mempercepat kueri dan biaya untuk menjalankan operasi lain.