PBD II


Hasil Rangkuman Tugas PBD II Practice 1 Minggu ke-3 Part1

1.      Membahas tentang menyimpan sebuah procedure Get_Budget, namun di dalamnya terdapat script kode yang tidak tepat, sehingga di butuhkan Data dictionary view untuk dapat mengcapture source code prosedur tersebut. Data Dictionary view itu adalah User_Source yang mana untuk melihat isi dari sebuah source code dalam sebuah procedure.

2.      Membahas tentang jika Database Administrator yang mempunyai hak akses membuat sebuah procedure ke dalam akun anda, objek yang mana yang akan terbuat/terbentuk. Jika sebuah procedure dibuat, maka beberapa objek yang akan terbentuk diantaranya adalah Procedures, functionds dan packages.

3.      Membahas tentang Data Dictionary Table manakah yang digunakan untuk query dalam menentukan semua procedure itu berdiri sendiri dan bereferensi pada THEATER_PCK package. Salah satu jawaban yang tepat adalah User_Depedencies, yang dimana digunakan untuk mereferensi antar objek.

4.      Membahas sama hal nya dengan nomer 3 sebelumnya tentang referensi antar objek. Jadi jawaban yang tepat adalah User_Depedencies, yang dimana digunakan untuk mereferensi antar objek.


5.      Membahas tentang perubahan tabel tertentu dan ada beberapa isi prosedur dan function telah terpengaruh di dalamnya. Tabel manakah yang anda gunakan sebagai query untuk memeriksa status subprogram masing-masing dan menentukan procedure dan function yang harus di compile ulang. Karena hal ini menyangkut semua yang ada di dalam sebuah procedure, maka jawaban yang tepat adalah User_Objek. Dimana User_Objek ini digunakan untuk memuat informasi tentang semua object yang ada di dalamnya.

6.      Membahas tentang kehilangan file script yang berisi source code untuk paket Theater PC. Perintah manakah yang digunakan untuk menghasilkan source code yang disimpan dalam Database. Karena ini berhubungan dengan source (sumber), maka jenis perintah yang tepat adalah SELECT text FROM user_source WHERE name = 'THEATER_PCK';

7.      Membahas tentang jenis view yang mana yang dapat anda gunakan sebagai query untuk menentukan validasi sebuah prosedur. Untuk menentukan valid atau tidak nya sebuah procedure, salah satu jawaban yang tepat adalah dengan menggunakan User_Objek. Dimana User_Objek ini digunakan untuk memuat informasi tentang semua object yang ada di dalamnya.

8.      Membahas tentang Data Dictionary view yang manakah untuk menentukan kapan suatu procedure dan fungsi akan di buat. Hal ini sama halnya dengan sebelunnya yang telah di jelaskan, jika procedure dan function terbuat maka view yang digunakan adalah User_Objek. Dimana User_Objek ini digunakan untuk memuat informasi tentang semua object yang ada di dalamnya.

9.      Membahas tentang statement manakah yang tepat untuk di gunakan mengUpdate sebuah procedure yang telah dibuat sebelumnya ke dalam user HR melalui tabel employees. Jawaban yang tepat adalah REVOKE UPDATE ON employee FROM hr_emp; dan GRANT EXECUTE ON update_employee TO hr_emp;

10.  Membahas tentang Pernyataan mana mengenai penggunaan prosedur yang benar. Pernyataan yang benar adalah Seorang user / pengguna hanya membutuhkan hak istimewa untuk melaksanakan prosedur dan tidak perlu hak istimewa pada tabel yang mendasarinya.

11.  Membahas tentang ada sebuah procedure yang terbentuk, kita kan memeriksa procedure itu. Prosedur ini dimiliki oleh PROD dan jSmith sebagai pengguna akan menjalankan procedure tersebut. Perintah yang sebaiknya digunakan PROD untuk memberikan hak akses kepada jSmith sebagai pengguna / user adalah GRANT EXECUTE ON update_theater TO jsmith;

12.  Membahas tentang kita baru saja menghapus procedure CALC_COMM dan menghapus file script yang berisi source code. Perintah yang tepat digunakan untuk memulihkan procedure ini adalah Hanya administrator database dapat memulihkan prosedur ini menggunakan backup.

13.  Membahas tentang ada sebuah procedure yang terbentuk, kita akan memeriksa procedure itu. Setelah kita menjalankan procedure itu, kita menerima pesan : ORA-02292: integrity constraint (SCOTT.FK_DEPTNO) violated - child record found. Apa yang harus ditambahkan ke prosedur untuk menangani kesalahannya yang terjadi. Kita tambahkan saja Deklarasi pengecualian baru dan menghubungkannya dengan kode kesalahan -2.292. Buat bagian pengecualian, dan menambahkan kode untuk menangani ini pengecualian non-standar yang baru saja anda deklarasikan sebelumnya.

14.  Membahas tentang ada sebuah procedure yang terbentuk, kitaa kan memeriksa procedure itu. Prosedur ini mengembalikan semua perintah dengan total lebih besar dari jumlah yang lulus dalam parameter V_TOTAL. Kadang-kadang, pengguna mungkin ingin untuk memproses semua perintah terlepas dari jumlah total. Mereka bisa melakukan ini dengan mengirimkan 0 dalam parameter V_TOTAL, bagaimanapun, mereka akan lebih memilih untuk tidak melewatkan apapun.  Perubahan yang mana agar anda bisa membuat prosedur untuk memungkinkan pengguna untuk memproses semua perintah dalam tabel SALES_ORDER tanpa harus melewati jumlah 0 total. Kita gunakan Use (v_total IN sales_order.total%TYPE DEFAULT 0) as the parameter definition. Yang mana mempunyai arti v_total berupa inputan yang mengambil nama tabel sales_order dari kolom total, jika nilai v_total tidak di inputkan berarti nilai defaultnya adalah 0.

15.  Membahas tentang ada sebuah procedure yang terbentuk, kita akan memeriksa procedure itu. Karena nilai untuk nama teater baru harus melewati prosedur ini, anda memutuskan untuk membuat sebuah parameter yang disebut V_NAME untuk memegang nilai. Untuk menjadi sukses, perubahan tambahan manakah yang harus kita bentuk untuk membuat procedure ini. Perubahan tambahannya adalah kita menambahkan Add (v_name IN VARCHAR2) immediately before the IS keyword.


16. d. karna jika kita ingin merubah suatu prosedur kita bisa menggunakan create or replace
17. a. jika kita menggunakan IN dapat memilih sebuah ke adaan yang kita inginkan.
18. c. sebuah prosedur bias diambi lnilainya
19. a. code tsb jika diexecute proses compiler tidak mengalami error karena statement tersebut hanya deklarasisaya.
20. a. untuk menghendle error
21. a kalau in out tidak boleh di default
22. a. in out tidak boleh di default
24. a. excute nama prosedurnya v_movieid nilainya default
25. a. yang disimpan hanya source code saja tetapi kompilattion nya error
26. c. untuk memanggil kita menggunakna add return.
27. d harus memiliki variable.
28. a. karena in dapat dimasukkan suatu nilai perbandingan dll, membutuhkan ini dan out.
29. c. jika ingin menghapus atau delate prosedur verarti menggunakan drop procedure
30. a, c, b. hanya mengisi suatu kolom.




Rangkuman Hasil dari soal diatas :
Statement SQL dapatdikelompokkanatas ;
·         Data Manipulation Language. Statemen yang digunakanuntukmemanipulasi data dalamobjekschema melaluiperintahselect, insert, update, delete, explain plan, danlock table.
·         Data Definition Language. Statement untukmembuatdanmenghapusobjek schema mealuiperintahcreate, alter, drop, rename, truncate, sertagrant, revoke, analyze, comment, audit, dannoaudit.
·         Statement KontrolTransaksi yang emastiakntransaksiberlangsungsecara normal untukkonsistensi data, contohnyaperintahcommit, rollback, savepoint, danset transaction.
·         Statement control Session yang mengatur agar suatu session memilikikarakteristiktertentudenganperintahalter sesiondanset role.
·         Statement control system yang mengelola instance database memaluiperintahalter sytem

Di sampingtipe data SQL, PL/SQL mendukungsejumlahtipedatanyasendirisebagaiberikut :
Ø  BOOLEAN – dipakaiuntukmenyatakan data logika, yaitu TRUE (benar), FALSE (salah), danNULL (kosong).
Ø  BINARY_INTEGER – digunakanuntukmendeklarasikanbilangan yang tidakmempunyaiangka decimal. Tipe data NATURAL dan POSITIVE merupakan subset dari BINARY_-INTEGER.
Ø  %TYPE – tipe data inijikadipakaimenandakanbahwaveriabel yang dideklarasikansamadengantipe data darikolom table tertentu. Inimempermudahdeklarasi variable untukmenghitungtipe data kolom-kolom table yang sudahdibuat.
Ø  %ROWTYPE - tipe data inimenandakanbahwasekelompok variable tertentuadalahsamadengantipe data dari row suatu table tertentu.
Ø  Table dan Record – tipe data komposit (composite datatype) untukpemakaian yang lebihkompleks.

Sub Program
Sub program adalahblokpl/sqldengannama yang dapoatmenggunakanparamettersertabisa
dipangguiloleh statement sql. Sub program terdiridariproseduruntukmengerjakansuatu proses dan
function yang mengembalikansuataunilai. Sub program itudisimpandalam database sebagaiobjec
schemadandisebutsebagai stored proseduredanstured function
a.       Fungsi
Fungsiadalahsyb program yang mengembalikansuatunilai. Fungsiterdiridari 2 bagianyaituspesifikasidanbody .bagianspedifikandimulaidari keyword function hingga keyword return.Bagian body dimulaidari keyword IS atau AS hingga keyword AND danmencakupbagiandeklarasi, kode [program danekseption.
b.      Stored function
Stored function adalahfungsi yang disimpandalamdatabassesepertihalnyatabel, stoderfunction merupakanobjek schema danbisadireferensi ole statement sql. Perubahanfungsimenjadi stored funcotiondilakukandenganmmenyertakanklausa create yuntukmenyimpankedatabase namunapabilafungsiitusudahada, sertakanklausa or replaceuntukmodifikasinya
c.       Pepelined
Pepelinedpoadafungsiakanmengembalikansecaraberulanghasildarifungsitabel yang berupatipekoleksi( nested table atauvarray).
d.      Pragma restrict_references
Untukdapatdigunakanmelalui statement sql, suatu stored function harusmematuhiaturanpurity untukmengontrol side effect.
e.       Prosedur
adalah sub program yang umumnyadigunakanuntukmengerjakansuatu proses. Prosedurterdiridari 2 bagianyaituspesifikasidan body.
f.       Stored procedure
Adalahprisedur yang disimpanpada database sebagaiobjek schema. Suatuprosedurdapatdiubahmenjadi stored proseduredenganmenyertakanklausacretaepadadefinisiprosedur
g.      Overloading
Overloadingmemungkinkanprosedurdanfungsimenggunakannamasama. Sub program yangdi overload harusmenggunakan parameter formal yang berbedasepertijumlahparamter,urutan, dantiprndatanyasub program ataumetodetipedapat di overloadanjikaberadadalampaket.
h.      Definer dan invoker rigths
Agar user dapatemembuat sub program padaschemanya, iaharusmemilikiprivileghesistemcreate prosedure, sedangkanpembuatan sub program pada schema user lain dimungkinkanapabila user memiliki privilege sistem create any prosedure.
i.        Status sub program
Sub program dalam database yang telahdikompilasitanpakesalahanakanbersetatus validStatus itudisimpanpadadictionatrysehinggadapatdideteksibilamanaobjekberstatus validatau invalid.
j.        Melihat source sub program
Source sub program yang disimpandalam database dapatdilihatmelalui view dictionaryDBA_SOURCE.

Exception
BagianperkecualianiniperludibuatjikapernyataanPL/SQL mengembalikanhasiljikakesalahan (error) padasaat program dieksekusikan.Disampingitu exception dapatdidefinisikansendiri (pre-defined exception) yang dapatdipanggildenganperintah RAISE di dalam program PL/SQL. Sedangkan pre-defined exception akandipanggilsecaraotomatisjikaterjadikesalahantanpamenggunakanperintah RAISE.



Hasil Rangkuman Tugas PBD II PRACTICE OVERVIEW PL/SQL Part – 1 Minggu ke-4 Part1 


USER_SOURCE
*USER_SOURCE menggambarkan sumber teks dari objek yang disimpan dimiliki oleh pengguna saat ini. Kolom nya (kecuali untuk PEMILIK) adalah sama seperti yang di "ALL_SOURCE".
*ALL_SOURCE menggambarkan sumber teks benda yang tersimpan dapat diakses oleh pengguna saat ini.
*DBA_SOURCE menggambarkan sumber teks dari semua benda yang tersimpan dalam database
USER_OBJECTS
Schema adalah kumpulan dari database object yang dimiliki oleh database user. Sebuah schema memiliki nama yang sama dengan database user tersebut. Skema objek adalah struktur logis yang dibuat oleh user. Objek didefinisikan sebagai sebuah area untuk menangani data, atau hanya merupakan sebuah definisi seperti tabel atau indeks.
PROCEDURES
·  Adalah sebuah PL/SQL Block yang bisa dipanggil ataua dijalankan seperti PL/SQL statemen.
·  Pada prosedur juga dimungkinkan untuk mengirimkan data.
·  Dapat Mengembaliakna nilai
·  Tidak berisi datatype RETURN.
·  syntax
USER_DEPENDENCIES
USER_DEPENDENCIES menggambarkan ketergantungan antara procedures, packages, functions, package bodies, dan triggers owned oleh pengguna saat ini, termasuk ketergantungan pembuatan view tanpa link database. Kolom adalah sama seperti yang di "ALL_DEPENDENCIES".

PROCEDURE name [var_name [IN | OUT | IN OUT] datatype [{:= | DEFAULT} value] 30]
IS [local declarations]
BEGIN
       executable statements
[EXCEPTION]
      exception-handlers]
END [name];
      where parameter stands for the following syntax



FUNCTION
·         Adalah suatu PL/SQL Block yg menghasilkan suatu nilai dan biasa digunakan seperti kita menulis suatu ekspreasi.
·         Pada fungsi dimungkin untuk mengirimkan data.
·         Berisi datatype RETURN
·         Syntac
FUNCTION nama_fungsi (parameter IN OUT tipe data) RETURN tipe_data  IS
    deklarasi variabel;
BEGIN
    statement;
    RETURN (value);
END;

PACKAGES
·         Packages adalah objek database yang logis kelompok-kelompok terkait  PL / SQL.
·         Spesifikasi  Packages  adalah types, variables, constants, subprograms, cursors, and exceptions

ERROR PROPAGATION
Ketika eksepsi dimunculkan, jika PL / SQL tidak dapat menemukan handler  kontrol pergi ke bagian pengecualian blok itu, kecuali Error Propagation. Artinya, pengecualian mereproduksi dirinya sendiri di blok melampirkan berikutnya sampai handler ditemukan atau ada blok lagi untuk mencari.



DATA DICTIONARY
·      Keberadaan PL / SQL objek (prosedur, fungsi, packeges) dicatat dalam DATA DICTIONARY
·      DATA DICTIONARY Oracle adalah salah satu komponen yang paling penting dari DBMS Oracle.
·      DATA DICTIONARY Ini berisi semua informasi tentang struktur dan objek dari database seperti tabel, kolom, pengguna, data  dll.

DROP
Drop Menghapus Dan Tamba Bisa Di Rollback, Yang Bisa Ngerollback Hanya DBA.
Macam Drop Drop Procedure, Drop Function, Drop Package, Drop Package Body.

RETURN
·         Pernyataan RETURN immediatedly melengkapi pelaksanaan subprogram dan mengembalikan kontrol ke pemanggil.
·         Eksekusi kemudian dilanjutkan dengan pernyataan setelah panggilan subprogram.

DEFAULT
Nilai tidak boleh kosong  artinya jika deklarasi variable (v_movie_id IN NUMBER DEFAULT 34)
Maka nilai v_movie_id  = 34, jika v_movie_id  tidak diisi maka bisa diinputkan nilai.

%TYPE
Tipe datanya sama atau references pada attribute sebelumnya(seats_sold).
contoh
(v_seats_sold gross_receipt.seats_sold%TYPE)





Hasil Rangkuman Tugas PBD II Practice 2 Minggu ke-5 Part2


1.       UPDATE_EMPLOYEE
UPDATE_EMPLOYEE dimodifikasi agar tidak mengulang maka menggunakan local subprogram  yang berisi subprogram tersebut.
2.       Subprogram
Prosedure dengan Subprogram digunakan untuk memanggil berulang-ulang dengan repeat blok tanpa membuat create ualng subprogramnya, Sehingga lebih mudah untuk digunakan
3.       Method
Method yang digunakan untuk mengembalikan nilai dengan memakai named Methodnya.
4.       Prosedure
a.       Suatu blok PL/SQL yang menyimpan sekumpulan perintah
b.       Dapat pengembalian nilai
c.       No Return datatype
5.       ProsedureàEXECUTE find_seats_sold (v_theater_id => 500, v_movie_id => 34);
a.       Eksekusi procedure menggunakan sintakEXECUTE
b.       (v_movie_id IN NUMBER DEFAULT 34, v_theater_id IN NUMBER)à
·         Nilai inputan number untuk variable v_movie_idyang otomatis bernilai 34
·         Nilai inputan number untuk variable v_theater_id yang bernilai inputannya 500
6.       ProsedureàEXECUTE find_seats_sold (34);
Mengeksekusi procedure dengan nama find_seats_sold yang Nilai inputan number untuk variable v_movie_id yang otomatis bernilai 34
7.       Eksekusi pada Function
Tidak boleh menggunakan Constraint tabel (CHECK )
8.       Eksekusi pada Function
Menggunakan perintah EXECUTE dan INSERT
VARIABLE g_yearly_budget NUMBER
EXECUTE :g_yearly_budget := GET_BUDGET(11); àeksekusi(:g_yearly_budget pada form) diisi dalamGET_BUDGET yang bernilai 11
9.       Eksekusi pada Function
Menggunakan perintah EXECUTE dan INSERT
SELECT id, name, get_budget(id,200) FROM studio; à
10.   Parameter yang digunakan ketika membuat Function
passing values to the function
11.   Compilation errors pada function
Menggunakan perintah SHOW ERROR untuk mengecek erorà(Issue the SHOW ERRORS command)
12.   Eksekusi pada Function
Add "RETURN BOOLEAN" immediately before the IS keyword. Karena didalam sintaknya terdapat fungsi boolean
13.   How is performance improved when storing procedures and functions in the database?
Network traffic is decreased by bundling commands.
14.   Eksekusi pada Function
DECLARE v_updated_flag BOOLEAN;
BEGIN
v_updated_flag := set_budget(11,500000000);
END;
15.   two subprogram headers are correct
·      CREATE OR REPLACE PROCEDURE get_sal (v_sal IN number) IS
·      CREATE OR REPLACE FUNCTION calc_comm (p_amnt IN number) RETURN number


















Leave a Reply

Subscribe to Posts | Subscribe to Comments

- Copyright © RIZKY BLOG,..おかしい..甘いエービス.. - Blogger Templates - Powered by Blogger - Designed by Johanes Djogan -