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.
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
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).
Pepelinedpoadafungsiakanmengembalikansecaraberulanghasildarifungsitabel yang berupatipekoleksi( nested table atauvarray).
d. Pragma
restrict_references
Untukdapatdigunakanmelalui statement sql, suatu stored function harusmematuhiaturanpurity untukmengontrol side effect.
Untukdapatdigunakanmelalui statement sql, suatu stored function harusmematuhiaturanpurity untukmengontrol side effect.
e. Prosedur
adalah sub program yang umumnyadigunakanuntukmengerjakansuatu proses. Prosedurterdiridari 2 bagianyaituspesifikasidan body.
adalah sub program yang umumnyadigunakanuntukmengerjakansuatu proses. Prosedurterdiridari 2 bagianyaituspesifikasidan body.
f. Stored
procedure
Adalahprisedur yang disimpanpada database sebagaiobjek schema. Suatuprosedurdapatdiubahmenjadi stored proseduredenganmenyertakanklausacretaepadadefinisiprosedur
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.
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.
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.
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.
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