view

19
view Praktikum Basis Data definisi View adalah sebuah tampilan yang merepresentasikan bagian- bagian data yang ada pada satu tabel atau lebih. Kegunaan View antara lain: Membatasi akses database Membuat query kompleks secara lebih mudah Untuk menyajikan pandangan yang berbeda dari data yang sama Ada 2 jenis View, yaitu Simple View dan Complex View, yang perbedaannya yaitu: implementasi Bentuk Umum instruksi membuat View : CREATE VIEW nama_view AS SELECT nama_kolom FROM nama_tabel WHERE batasan Untuk memodifikasi View, digunakan : CREATE OR REPLACE VIEW nama_view AS SELECT nama_kolom FROM nama_tabel WHERE batasan Setelah kita memasukkan perintah membuat View seperti tadi, kita dapat melihat View yang sudah kita buat dengan perintah SELECT. Contoh : SELECT * FROM nama_view Kita juga dapat melihat struktur dari View dengan perintah: DESCRIBE nama_view DML Pada view Berikut ini aturan untuk membentuk DML pada View: Baris data pada View tidak dapat dihapus jika berisi: Fungsi Group Klausa Group By Keyword Distinct Data pada View tidak dapat dimodifikasi jika berisi: 3 kondisi yang sudah disebutkan di atas Kolom yang didefinisikan oleh suatu ekspresi Kolom ROWNUM Pada View tidak dapat ditambahkan data, jika: View berisi 5 kondisi yang sudah disebutkan di atas Terdapat kolom NOT NULL pada base table(tabel asal dari mana View dibuat) yang tidak dipilih oleh View Agar data pada View tidak dapat dimodifikasi, maka dapat digunakan instruksi READ ONLY. Contoh:

Upload: lina-lutfiyah

Post on 24-Nov-2015

27 views

Category:

Documents


2 download

DESCRIPTION

jhff

TRANSCRIPT

viewPraktikum Basis Data

definisiView adalah sebuah tampilan yang merepresentasikan bagian-bagian data yang ada pada satu tabel atau lebih.

Kegunaan View antara lain:Membatasi akses databaseMembuat query kompleks secara lebih mudahUntuk menyajikan pandangan yang berbeda dari data yang sama

Ada 2 jenis View, yaitu Simple View dan Complex View, yang perbedaannya yaitu:implementasiBentuk Umum instruksi membuat View :CREATE VIEW nama_view AS SELECT nama_kolom FROM nama_tabel WHERE batasanUntuk memodifikasi View, digunakan :CREATE OR REPLACE VIEW nama_view AS SELECT nama_kolom FROM nama_tabel WHERE batasan

Setelah kita memasukkan perintah membuat View seperti tadi, kita dapat melihat View yang sudah kita buat dengan perintah SELECT.Contoh : SELECT * FROM nama_view

Kita juga dapat melihat struktur dari View dengan perintah: DESCRIBE nama_viewDML Pada viewBerikut ini aturan untuk membentuk DML pada View:Baris data pada View tidak dapat dihapus jika berisi:Fungsi GroupKlausa Group ByKeyword DistinctData pada View tidak dapat dimodifikasi jika berisi:3 kondisi yang sudah disebutkan di atasKolom yang didefinisikan oleh suatu ekspresiKolom ROWNUM

Pada View tidak dapat ditambahkan data, jika:View berisi 5 kondisi yang sudah disebutkan di atasTerdapat kolom NOT NULL pada base table(tabel asal dari mana View dibuat) yang tidak dipilih oleh View

Agar data pada View tidak dapat dimodifikasi, maka dapat digunakan instruksi READ ONLY. Contoh:

CREATE nama_view AS SELECT nama_kolom FROM nama_tabel WHERE batasan WITH READ ONLY;

Pembahasan TugasDiketahuiMatakuliah(kodemk,namamk,sks) berisi daftar matakuliah yang ditawarkanDosen(nip,nama) daftar dosen pengampu matakuliahMahasiswa(nim,nama,dosenpembimbing) daftar mahasiswaKuliah(kodekuliah,kodemk,nip,thnakademik,semester) daftar matakuliah dan dosen pengampu. Seorang dosen bisa mengajar matakuliah yang sama untuk kelas yang berbeda pada suatu semester. semester bernilai '1' untuk ganjil atau '2' untuk genap. thnakademik dinyatakan dalam format panjang seperti '2007-2008' Peserta(nim, kodekuliah,nilai) nilai mahasiswa dalam a, b, s.d. e.

Soal 1Tampilkan banyaknya SKS yang telah diselesaikan oleh masing-masing mahasiswa Bila matakuliah yang diulang semua masuk dalam perhitungan

SolusiMaksud dari permasalahan di atas adalah kita harus menampilkan jumlah SKS yang telah diselesaikan oleh masing-masing mahasiswa dengan memperhitungkan semua SKS dari semua matakuliah yang pernah diambilnya, meskipun itu adalah matakuliah pengulangan.Pada mulanya kita tentukan tabel apa yang dibutuhkan untuk menyelesaikan permasalahan di atas, yaitu tabel matakuliah, tabel peserta, tabel mahasiswa, dan tabel kuliah.

Solusi (cont.)Adapun ada beberapa kondisi yang harus dipenuhi yaitu :kodekuliah pada tabel peserta=kodekuliah pada tabel kuliahkodemk pada tabel matakuliah=kodemk pada tabel kuliahNIM pada tabel mahasiswa = NIM tabel pesertaLakukan penjumlahan terhadap SKS dari tabel matakuliah dengan menggunakan perintah SUM dan dengan pengelompokan berdasarkan NIM dengan menggunakan GROUP BYSolusi (cont.)SELECT mahasiswa.NIM AS NOMOR_MAHASISWA, SUM( matakuliah.SKS ) AS JUMLAH_SKSFROM mahasiswa,peserta,kuliah,matakuliahWHERE mahasiswa.NIM = peserta.NIMAND peserta.KODEKULIAH = kuliah.KODEKULIAHAND kuliah.KODEMK = matakuliah.KODEMKGROUP BY mahasiswa.NIM;

SOAL 2Bila matakuliah yang diulang hanya yang sesuai dengan asumsi yang masuk dalam perhitungan

SOLUSICara yang sama pada soal 1, namun dengan persyaratan bahwa mata kuliah dikatakan lulus apabila mendapat nilai minimal d.Artinya : tambahkan batasan, nilai E tidak masuk perhitungan.Sehingga, apabila terdapat nilai E pada peserta.nilai, maka tidak ditampilkanSolusi (cont.)SELECT mahasiswa.NIM AS NOMOR_MAHASISWA, sum( matakuliah.SKS ) AS JUMLAH_SKSFROM mahasiswa, peserta, kuliah, matakuliahWHERE mahasiswa.NIM = peserta.NIMAND peserta.KODEKULIAH = kuliah.KODEKULIAHAND kuliah.KODEMK = matakuliah.KODEMKAND peserta.NILAI != 'E'GROUP BY mahasiswa.NIM;

SOAL 3Tampilkan dosen yang pernah mengampu kelas matakuliah yang pesertanya tidak lebih dari 15 mahasiswa.

SolusiCari NIP dosen beserta namaCari KodeMK dari tabel kuliah (kuliah.kodemk)Cari kodekuliah dari tabel pesertaBatasan-batasan :Dosen.nip=kuliah.nipKuliah.kodekuliah = peserta.kodekuliahLakukan pengelompokan berdasarkan kodekuliah yang ada pada tabel peserta karena tiap dosen bisa mengampu lebih dari 1 matakuliahGunakan Having count( peserta.NIM )