Newsletter

implisit dan explisit scripting pada DBMS

1. Contoh implisit

declare
nama_cari employees.first_name%type;
nama_depan employees.first_name%type;
gaji employees.salary%type;
pekerjaan jobs.job_title%type;

begin
nama_cari :='&masukan_nama';
select first_name,job_title, salary
into nama_depan, pekerjaan, gaji
from employees e JOIN jobs j
ON (e.job_id=j.job_id)
where first_name=nama_cari;

dbms_output.put_line('pegawai bernama '||nama_depan || ' pekerjaan '|| pekerjaan|| ' dengan gaji ' || gaji);


end;
/


2. Contoh explisit

 declare
nama_cari employees.first_name%type;
nama_depan employees.first_name%type;
gaji employees.salary%type;
pekerjaan jobs.job_title%type;

cursor data is
select first_name,job_title, salary
from employees e JOIN jobs j
ON (e.job_id=j.job_id)
where first_name=nama_cari;

begin
nama_cari :='&masukan_nama';
open data;
loop
    fetch data into nama_depan, pekerjaan, gaji;
    exit when data%notfound;
    dbms_output.put_line('pegawai bernama '||nama_depan || ' pekerjaan '|| pekerjaan|| ' dengan gaji USD ' || gaji);

end loop;
close data;


end;
/
image

Scripting pada Oracle




Scripting pada oracle dalam dibuat dengan menggunakan notepad biasa atau versi yang lain. 
Scripting memiliki kerangka dasar yaitu : 

declare     ==> merupakan tempat mendeklarasikan variabel yang akan digunakan


begin       ==> merupakan tempat untuk menulis query atau kondisi yang ingin digunakan


end ;       ==> akhir dari scripting
/

untuk menjalankan  scripting pada dbms dapat dilakukan dengan cara :
1. membuka command promt (cmd)
2. login kedalam dbms
3. struktur : @ 'alamat file' \ nama file' ;
    contoh  : @ 'D:\Kuliah\semester3\DBMS\catalog.sql' ;


Contoh 1 :

declare
nama varchar (20);
jen varchar (5);


begin
nama:='&nama';
jen:='&jenis_kelamin';

if (jen ='l')  or (jen ='L') then
dbms_output.put_line ('Selamat Datang kang joko');

else
dbms_output.put_line ('Selamat Datang kang joki');

end if;

end;
/


Contoh 2 (menghitung jumlah umur pada 5 kedepan ) :


declare
a varchar(5);
b number (3);
c number(3);
D number (3);
e number (3);

begin
a:='&nama_anda';
b:=&umur;
c:=b+5;
d:=&tambah_umur;
e:=b+d;


dbms_output.put_line ('bismillah');
dbms_output.put_line ('hai nama saya : ' ||  a);
dbms_output.put_line ('5 tahun lagi umur saya : ' ||  c || ' tahun');
dbms_output.put_line (d ||' tahun lagi umur saya : ' ||  e || ' tahun');

end;
/


Contoh 3 (calculator) :

declare
a number(5);
b number(3);
c number(3);
D number(3);
e number(3);
f float (5);

begin
a:=&nilai_A;
b:=&nilai_B;
c:=a+b;
d:=a-b;
e:=a*b;
f:=a/b;

dbms_output.put_line ('Selamat Datang');
dbms_output.put_line (a ||' ditambah  ' || b ||' = '||  c);
dbms_output.put_line (a ||' dikurang  ' || b ||' = '||  d);
dbms_output.put_line (a ||' dikali    ' || b ||' = '||  e);
dbms_output.put_line (a ||' dibagi    ' || b ||' = '||  f);

end;
/

image

perintah DML pada DBMS

 




Data Manipulation Language (DML)

1. SELECT
Mengambil record-record dari database
         2. INSERT
Menyisipkan record-record pada database
         3. UPDATE
Mengubah record-record pada database
         4. DELETE
Menghapus record-record pada database


SELECT 

=> Struktur : 

SELECT fields
FROM tables
=> Contoh 1 :
  SELECT CompanyName, ContactName
  FROM Customers
=> Contoh 2 :
  SELECT *  FROM Customers
 
 Klausa ORDER BY

Untuk mengurutkan record-record hasil query dengan pernyataan SELECT
ORDER BY col1, col2,.....
=> Contoh:
SELECT CompanyName, ContactName
FROM Customers
ORDER BY Country, City

 Field Hasil Perhitungan
Selain nama-nama kolom, kita juga bisa meletakkan field hasil perhitungan di dalam 
pernyataan SELECT.
=> Contoh 1:
SELECT COUNT(CustomerID)
FROM Customers
WHERE Country = 'Germany'
 
=> Contoh 2:
SELECT Orders.OrderID, ProductID,
[Order Details].UnitPrice * 
[Order Details].Quantity *(1 - 
[Order Details].Discount)
FROM Orders, [Order Details]
WHERE Orders.OrderID = [Order Details].OrderID
Fungsi Agregat

Fungsi                 keterangan     
COUNT            Mengembalikan banyaknya nilai pada kolom yang ditentukan
SUM                   Mengembalikan jumlah nilai pada kolom yang ditentukan
AVG                    Mengembalikan nilai rata-rata pada kolom yang ditentukan
MIN                    Mengembalikan nilai terkecil pada kolom yang ditentukan
MAX                  Mengembalikan nilai terbesar pada kolom yang ditentukan
 
 Menggabungkan Tabel-tabel
  •    Inner Join
Menghasilkan semua pasangan baris-baris yang cocok pada kedua tabel dan 
membuang baris-baris yang tidak cocok.
=> Contoh :
SELECT titles.title, publishers.pub_name
FROM publishers INNER JOIN titles
ON publishers.pub_id = titles.pub_id
ORDER BY pub_name

  •    Full Join
Menghasilkan semua baris yang biasanya dihasilkan oleh operasi INNER JOIN ditambah baris-baris dari tabel kiri atau kanan yang tidak memenuhi kondisi penggabungan. 
=> Contoh :
SELECT titles.title, publishers.pub_name
FROM publishers FULL JOIN titles
ON publishers.pub_id = titles.pub_id
ORDER BY pub_name

 INSERT
  => Struktur :
  INSERT table_name (column list)
  VALUES (value list)
=> Contoh 1 :   
INSERT (CustomerID, CompanyName,   ContactName) VALUES (‘SYBEX’,   ‘Sybex, Inc.’,’Tobias Smythe’)
=> Contoh 2:
INSERT PhoneBook
  SELECT ContactName, Phone, Fax
  FROM Customers 
UPDATE 
=> Struktur :
UPDATE tabel_name
SET column1 = value1,
    column2 = value2, .....
  WHERE condition

=> Contoh :
UPDATE Customers
SET Country = ‘Germany’
 WHERE Country = ‘W. Germany'
DELETE 
=> Struktur :
  DELETE FROM tabel_name
  WHERE condition
=> Contoh :
  DELETE FROM Customers
  WHERE Country = ‘Germany’
image