Pendahuluan
Bahasa SQL yang didefinisikan pada chapter sebelumnya cukup untuk aplikasi user tunggal. Ini
mengizinkan basisdata untuk diisi dengan data, data tersebut diambil sesuai dengan kebutuhan.
Lingkungan multi user membutuhkan fasilitas yang lebih. Mereka menghendaki support untuk
berbagi data antara user dan seorang user untuk merubah struktur basisdata tanpa
mempengaruhi user yang lain. Mereka seharusnya juga mengizinkan user untuk menguji
struktur data degan mengakses sistem katalog. Chapter ini mendeskripsikan bagaimana SQL
menyediakan dukungan seperti itu.
View Tabel
Menterjemahkan
tabel penyimpanan ke
tabel view
Tabel penyimpan
Pendefinisian View
View didefinisikan menggunakan pernyataan SQL. Pernyataan definisi view dibuat dengan dua
bagian berikut:
View iniditunjukan dalam gambar 14.2. ini hanya memuat baris dalam tabel REQUISTIONS
dengan PROJ-NO sama dengan ‘pr1’. Kolom projek tidak mucul dalam view tabel PROJ1-
REQUESTS dan tabel ini hanya mempunyai tiga kolom, REQ-NO, DATE-NEEDED, dan WHERE-
NEEDED, yang dinamakan ulang REQUEST, DATE-WANTED, dan WHERE-WANTED dalam view.
Kolom REQUEST dalam vies PROJ1-REQUESTS berkorespondesi dengan kolom REQ-NO dalam
relasi REQUISTIONS, dan kolom DATE-WANTED dalam view PROJ1-REQUESTS berkorespondesi
dengan kolom DATE-NEEDED dalam relasi REQUEISTIONS, dan seterusnya.
Informasi dari sebuah view dapat diambil dalam cara yang sama dalam bentuk relasi
dasar. Dengan demikian semua daftar permintaan dibuat oleh projek ‘PR1’ dapat diambil
dengan pernyataan:
SELECT * FROM PROJ1-REQUESTS
Gambar 14.2 View PROJ1-REQUEST
REQUISITIONS
REQ-NO PROJ-NO DATE-NEEDED WHERE-NEEDED
3 Pr1 870620 south
4 Pr3 870703 north
5 Pr1 870612 east
6 Pr2 870702 West
PROJ1-REQUESTS
REQUEST DATE-WANTED WHERE-WANTED
3 870620 South
5 870612 East
Selanjutnya, user yang mendapat akses pada view dapat memperoleh informasi tentang daftar
permintaan dibuat oleh project ‘pr1’ dan tidak dari projek yang lain.
REQ-LINES
REQ-NO PART-NO QTY-NEEDED QTY-FILLED
3 Pc6 90 10
3 Jw3 30 0
4 Pc6 50 0
4 Mx7 100 20
5 Jw3 40 10
5 Bb11 70 0
6 Jw3 90 0
5 Pc6 22 15
Pernyataan SQL ini akan mengambil semua part untuk disampaikan pada projek pr1. Output
dari pernyataan SQL tersebut adalah:
REQUEST PART QTY-TO-BE-FILLED
3 pc6 80
3 jw3 30
5 jw3 30
5 bb11 70
5 pc6 7
View UNFILLED-PARTS dibuat dari sebuah join dari 2 relasi. Jua memungkinkan untuk membuat
view dari banyak relas.
TUGAS
Definisikan view untuk basisdata dalam gambar 12.2
1. Sebuah relasi (PROPERTY, SEC-NAME, SOIL) yang memperlihatkan soil pada setiap
section
2. Sebuah relasi (OWNER-NAME,OWNER-ADDRESS,PROPERTY) yang menunjukan owner,
address mereka dan property mereka bersama dengan address property.
3. Sebuah relasi (OWNERS, PRODUCT) yang menunjukan produk yang tumbuh pada setiap
pemilik property (owner’s property)
4. Sebuah relasi (PROPERTY, TOTAL-AREA) yang menunjukan tatal area dari setiap
property.