Senin, 21 Oktober 2013

Pemograman Basis Data II



Mata Kuliah : Pemograman Basis Data II (PBD II)
Dosen : Titik Lusiani, M.Kom
Blog :
blog.stikom.edu/lusiani   


Resume Pertemuan 1-7

Pengertian Oracle Developer  yaitu software developer untuk menggunakan oracle.
Perbedaan PL/SQL  dan SQL :
PL/SQL :  -  lebih mengarah ke oracle formnya
-  didalamnya perintah SQL digunakanuntuk memanipulasi data
-  didalam block structure terdapat declare, begin dan end
SQL    :  -  digunakan untuk memanipulasi data dengan select, from, where kedalam database
SQL Cursor yaitu menampilkan data secara indeks/himpunan.
SQL Cursor attributes :
§  SQL%ROWCOUNT  < menghitung baris >
§  SQL%FOUND           < menghitung data >
§  SQL%NOTFOUND   < mencari data yang tidak ada >
§  SQL%ISOPEN           < database dibuka >

Practice 2
1.    C.  Add a local subprogram containing the algorithm
Alasan :
Menambahkan subprogram yang ada di program, karena didalam prosedur ada prosedure lagi

2.      D. to store a repeating block of code once without creating a separate construct
Alasan :
Jika menggunakan subprogram, kode hanya dijalankan dalam prosedur.Apabila kode dieksekusi dari luar prosedur, maka subprogram harus ditulis sebagai prosedur packged atau berdiri sendiri/terpisah.

3.      D. Named
Alasan :
Karena menggunakan method arbitary order

4.      C. procedure
Alasan :
Prosedur ini biasanya dibuat untuk melakukan suatu tindakan tanpa menghasilkan suatu nilai

5.      C. EXECUTE find_seats_sold (v_theater_id => 500, v_movie_id => 34);
Alasan :
Karena setiap create pasti jawabannya yang sukses adalah execute. Dan simbol yang dipakai yaitu “=>” bukan “:=
6.      C. EXECUTE find_seats_sold (34);
Alasan :
Karena untuk mengeksekusi prosedure dalam SQL * Plus memerlukan perintah EXECUTE
7.      D. Executing the stored function within a CHECK constraint of a table
Alasan :
Karena fungsi tidak dapat dipanggil dalam keadaan CHECK,  tapi dapat digunakan dalam keadaan fungsi SELECT, INSERT, UPDATE, dan DELETE

8.      C. VARIABLE g_yearly_budget NUMBER
     EXECUTE :g_yearly_budget := GET_BUDGET(11);
Alasan :
           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.      A.  SELECT id, name, get_budget(id,200) FROM studio;  
            Alasan:
Karena menggunakan EXECUTE dan INSERT

      10.  B. passing values to the function
             Alasan :
mengirimkan nilai ke fungsi

        11.   A. Issue the SHOW ERRORS command.
Alasan :
Menggunakan perintah show error untuk mengecek

        12.  C. Add "RETURN BOOLEAN" immediately before the IS keyword.
alasan :
Karena didalam sintaknya terdapat fungsi boolean
         13.  A.Network traffic is decreased by bundling commands.
Alasan :
Network traffic is decreased by bundling commands

         14.  D. DECLARE v_updated_flag BOOLEAN;
            BEGIN
            v_updated_flag :=      set_budget(11,500000000);
            END;
           Alasan :
           DECLARE v_updated_flag BOOLEAN;
           BEGIN
            v_updated_flag := set_budget(11,500000000);
            END;
         15.  Which two subprogram headers are correct? (Choose two.)
          B.  CREATE OR REPLACE PROCEDURE get_sal (v_sal IN number) IS
          D. CREATE OR REPLACE FUNCTION calc_comm (p_amnt IN number) RETURN number
           Alasan:
-   CREATE OR REPLACE PROCEDURE get_sal (v_sal IN number) IS
-  CREATE OR REPLACE FUNCTION calc_comm (p_amnt IN number) RETURN number

           16.   B. function can be used in a SQL statement.
Alasan :
Karena function dapat digunakan dalam SQL
  1. C. DROP FUNCTION get_budget;
Alasan :
Perintah DROP SQL digunakan untuk menghapus objek dari database.
  1.  D. CREATE OR REPLACE FUNCTION calc_comm (v_emp_id IN NUMBER) RETURN number IS
v_total NUMBER;
BEGIN
SELECT SUM(ord.total) INTO v_total
FROM ord,customer
WHERE ord.custid = customer.custid
AND customer.repid = v_emp_id;
RETURN (v_total * .20);
END;
Alasan :
karena Create Or Replace adalah jawaban paling benar , return number IS

         19.  A. SELECT id, name, get_budget(id,200) FROM studio;
Alasan :
Perintah diatas adalah query yang dapat dijalankan dengan SQL*Plus.
  1. D. executing the stored function within the DEFAULT clause of the CREATE TABLE
   Alasan :
Karena CREATE TABLE default memang tidak ada
  1.  D. SELECT * FROM ord GROUP BY ordid HAVING calc_comm(total) > 5000;
            Alasan :
Kalau jawaban B menjurus ke tabel
  1. A. by limiting changes to logic to one location
Alasan :
Menyederhanakan fungsi adalah dengan memberikan parameter.
  1. A. A function must return a value.
D. A function can be invoked from within a PL/SQL expression.
    Alasan :
Fungsi merupakan  suatu blok PL/SQL yang mengembalikan nilai. Fungsi dapat juga di invoke dengan menggunakan SQL*Plus.
         24.  B. It must not modify the database.
            Alasan :
            Hanya menampilkan saja

          25.  D. Add "(v_studio_id IN NUMBER)" right before the RETURN statement of the header.
            Alasan : Karena sebelum return diberikn variabel
          26.  A. Function
Alasan :

           27.  D. RETURN v_yearly_budget;
Alasan :
v_yearly_budget telah dideklarasikan pada query diatas maka RETURN v_yearly_budget dapat mengexecute function diatas.
  1.  A. public
Alasan :
Semua yg dideklarasikan pada package spesifikasi adalah public, maka jika akan membuat variable, konstanta, prosedur, fungsi, dan lainnya sebagai public maka deklarasikan pada package spasification.
          29.  A. This package specification can exist without a body.
Alasan :
Sebuah Blok PL / SQL terdiri dari tiga bagian.Bagian Deklarasi (opsional). Bagian Eksekusi (wajib). Eksepsi (atau Kesalahan) Penanganan bagian (opsional).
           30.  A. They are public procedures.
Alasan :
Blok Procedure merupakan  suatu blok PL/SQL yang menyimpan sekumpulan perintah yang tidak disertai dengan pengembalian nilai.

Practice 1
1. A. USER_SOURCE
Alasan :  karena user_source adalah suatu object yang digunakan untuk melihat isi atau source code dari sebuah procedure atau function

2. D. procedures, functions, and packages
Alasan :

3. D. USER_DEPENDENCIES
Alasan : karena dapat digunakan ketika ada salah satu user telah dijalankan

4. C. USER_DEPENDENCIES
Alasan : karena dapat digunakan ketika ada salah atu user dijalankan

5. C. USER_OBJECTS
Alasan : karena berguna untuk melihat status dari sebuah procedure, apakah valid/tidak.


6. A. SELECT text FROM user_source WHERE name = 'THEATER_PCK';
Alasan  : karena syntax tersebut dapat digunakan untuk melihat isi dari sebuah procedure

7. C. USER_OBJECTS
Alasan : user_objects dapat digunakan untuk melihat status dari suatu procedure, apakah valid atau tidak.

8. C. USER_OBJECTS
Alasan : karena user_objects selain dapat digunakan untuk melihat status dari dari sebuah procedure. User_objects juga dapat digunakan untuk melihat kapan  terakhir sebuah procedure dibuat atau dimodifikasi

9. C, E 
REVOKE UPDATE ON employee FROM hr_emp;
GRANT EXECUTE ON update_employee TO hr_emp;
Alasan : agar hr_emp dapat melakukan update tabel employee.

10. C. A user needs only the privilege to execute the procedure and does not need privileges on the underlying tables.
Alasan  : karena user perlu diberi hak akses sesuai dengan privileges yg diberika kepada user tersebut.

11. A. GRANT EXECUTE ON update_theater TO jsmith;
Alasan : Memberikan hak akses kepada jsmith agar user jsmith bis melakukan update_theater

12. D. Only the database administrator can recover this procedure using backups.
Alasan  : karena hanya administrator yang bisa menggunakan atau me-recover prosedure yang telah terhapus yaitu menggunakan backup

13. D. Declare a new exception and associate it with error code -2292. Create an exception section, and add code to handle this non-predefined exception that you just declared.
Alasan  

14. D. Use (v_total IN sales_order.total%TYPE DEFAULT 0) as the parameter definition.
Alasan :

15. C. Add (v_name IN VARCHAR2) immediately before the IS keyword.
Alasan  

16. D. CREATE OR REPLACE PROCEDURE
Alasan : karena bisa mengubah atau mengganti apabila data tersebut error atau sudah pernah dibuat. Dan perintah ini sudah struktur yang benar dalam membuat sebuah prosedure

17. A. IN
Alasan : variabel tersebut bertipe number

18. D. Formal arguments allow you to transfer values to and from the calling environment.
Alasan :

 19. A. The statement compiles, and the procedure is created.
Alasan : karena struktur penulisan prosedure sudah benar. Sudah ada IN dan juga ada variabelnya.

20. D.  When an exception is raised in a called procedure, control goes to the exception section of that block.
Alasan :

21. D. IN OUT parameters cannot be initialized with a default value.
Alasan : 

22. E. The declaration of V_COST_PER_TICKET cannot have a DEFAULT value.
Alasan :

23. B.  An IN OUT formal parameter does not require a value before returning to the calling environment.
Alasan :

24. C. EXECUTE find_seats_sold (v_theater_id => 500);
Alasan :

25. C. source code and compilation errors
Alasan :

26. A. Declare V_SEATS_SOLD as an OUT argument.
Alasan :

27. A. Only data type is required.
Alasan :

28. D. IN OUT
Ket : karena dapat digunakan untuk memasukkan nilai dan mengeluarkan nilai.

29. C. DROP PROCEDURE calc_comm;
Ket : karena drop 

30. A, B, C
- The ADD_THEATER procedure is written in SQL.
- The ADD_THEATER procedure can be shared by multiple programs.
- The ADD_THEATER procedure will be stored in the database as a schema object.






Tidak ada komentar:

Posting Komentar