Senin, 20 Oktober 2014

Fungsi dalam Operasi Query DBMS Oracle



Postingan kali ini akan membahas lanjutan mengenai sistem manajemen basis data (DBMS) Oracle yang sudah sedikit diulas pada postingan beberapa minggu lalu. Ulasan kali ini akan lebih menjelaskan teknik dari database Oracle tersebut. Mengenai teknik sebenarnya sangat banyak yang harus diulas untuk hal pembuatan database menggunakan DBMS Oracle, namun tetap saja dalam setiap operasinya pasti memerlukan fungsi-fungsi dasar yang akan dijelaskan di tulisan ini.

Oracle menyediakan berbagai macam fungsi dasar yang dapat digunakan dalam operasi query, misalkan pada perintah select. Ada dua macam fungsi yang didukung Oracle, Fungsi SQL dan user define function. Untuk fungsi SQL, dapat dikategorikan dalam fungsi dengan satu hasil satu baris data dan fungsi dengan satu hasil untuk banyak data.
A.    Fungsi dengan Satu Data Satu Hasil
Yang dimaksud dengan fungsi dengan satu hasil adalah fungsi yang hanya menghasilkan satu baris hasil untuk setiap baris data. Fungsi ini dapat digunakan pada WHERE, START WITH, CONNECT BY. Ada kelompok yang masuk dalam fungsi ini.
1.      Bilangan
Fungsi bilangan digunakan untuk menerima data dalam bentuk bilangan dan mengeluarkan hasil juga dalam bentuk bilangan. Kebanyakan dari fungsi ini memiliki ketelitihan sampai 38 digit. Fungsi transcendental COS, COSH, EXP, LN, LOG, SIN, SINH, SQRT, TAN, and TANH memiliki ketelitihan sampai 36 digit. Fungsi transcendental ACOS, ASIN, ATAN, and ATAN2 memiliki ketelitihan sampai 30 digit.
ABS(n) , nilai absolute
ACOS(n) , nilai arc cosinus
ADD_MONTHS(d,n) , tanggal d ditambah bulan n
ATAN (n) , nilai arc tangen
BITAND (n,m) , perhitungan and dari bit
CEIL (n) , integer terkecil yang lebih besar atau sama dengan n
COS (n) , fungsi cos
COSH (n) , cos hiperbola
EXP (n) , exponensial
FLOOR (n) , integer terbesar yang lebih kecil atau sama dengan n
LN (n) , logaritma natural
LOG (m,n) , logaritma basis m
MOD (m,n) , sisa hasil bagi
POWER (m,n) , m pangkat n
ROUND (m,n) , pembulan ke atas n digit desimal
SIGN (n) , mencari tanda bilangan
SIN (n) , fungsi sinus
SINH (n) , fungsi hiperbolik sinus
SQRT (n) , fungsi akar
TAN (n) , tangensial
TANH (n) , hiperbolik tangensial
TRUNC (m,n) , pembulatan ke bawan n digit
Contoh,
Select sin(1,24) from dual;
Select add_month(sysdate,2) dua_bulan_lagi from dual;
Select round(123.456) from dual;

2.      String
o   Nilai string mengembalikan string
CHR(n) , mengeluarkan kode char dari bilangan n
CONCAT(m,n) , menggabungkan m dengan n
INITCAP(n) , mengubah huruf awal menjadi huruf besar
LOWER (n) , mengubah menjadi huruf kecil semua
LPAD (n,m,x) , menngeluarkan string n rapat kanan sejumlah m, mengisi spasi dengan x
LTRIM (n) , menghilangkan spasi pada sisi kiri
NLS_INITCAP , huruf awal besar, dan dilakukan transfer bentuk
NLS_LOWER , huruf kecil semua dan dilakukan transfer bentuk
NLSSORT
NLS_UPPER , huruf besar semua dan dilakukan transfer bentuk
REPLACE (n,m,x) , mengubah string m dalam n menjadi x
RPAD (m,n,x) , rapat kiri sejumlah n dan mengisi spasi dengan x
RTRIM (n) , membuang spasi sebelah kanan
SOUNDEX
SUBSTR (m,n,x) , mengambil sebagain string m, mulai n sebanyak x
SUBSTRB
TRANSLATE (n,m,x) , menterjemahkan string n sesuai tabel konversi m ke x
TRIM (n) , menghilangkan spasi di kiri dan kanan
UPPER(n) , mengubah ke huruf besar
Contoh,
Select upper(‘ini huruf kecil’) huruf_besar from dual;
Select substr(‘ini suatu kalimat’,5,4) from dual;
 
o   String mengembalikan nilai
ASCII (char) , mengembalikan nilai ascii
INSTR (n,m,x) , mencari posisi string m dalam string n mulai x
INSTRB
LENGTH , menghitung panjang string
LENGTHB
Contoh
Select length(‘ini sebuah kalimat’) panjang from dual;
Select instr(‘saudara sekalian’,’dara’,1) posisi from dual;

3.      Fungsi Tanggal
ADD_MONTHS
LAST_DAY
MONTHS_BETWEEN
NEW_TIME
NEXT_DAY
ROUND (date function)
SYSDATE
TRUNC (date function)
Contoh,
Select sysdate waktu_sekarang from dual;
Select next_day(sysdate) besok from dual;

4.      Fungsi Konversi
CHARTOROWID
CONVERT
HEXTORAW
NUMTODSINTERVAL
NUMTOYMINTERVAL
RAWTOHEX
ROWIDTOCHAR
TO_CHAR (date conversion)
TO_CHAR (number conversion)
TO_DATE
TO_LOB
TO_MULTI_BYTE
TO_NUMBER
TO_SINGLE_BYTE
TRANSLATE ... USING
Contoh
Select to_date(‘12-01-2002’,’dd-mm-yyyy’) from dual;
Select to_char(sysdate,’dd’) tanggal, to_char(sysdate,’mm’) bulan,
to_char(sysdate,’yyyy’) tahun from dual;

B.     Aggregate
Fungsi aggregate adalah fungsi yang mengolah lebih dari satu baris data menjadi satu hasil. Hasil dari perhitungan dipengaruhi oleh jumlah pengelompokan (GROUP BY) perhitungan. Kalau dikelompokkan dan terdapat lebih dari satu kelompok, maka jumlah hasilnya sesuai dengan jumlah kelompok yang ada.
AVG , menghitung rata-rata
CORR
COUNT , menghitung jumlah baris
COVAR_POP
COVAR_SAMP
GROUPING
MAX , mencari nilai tertinggi
MIN , mencari nilai terendah
REGR_ (linear regression) functions
STDDEV
STDDEV_POP
STDDEV_SAMP
SUM , menghitung jumlah nilai
VAR_POP
VAR_SAMP
VARIANCE
Contoh,
Select sum(sal) total_gaji from emp;
Select count(empno) total_pegawai from emp;
Select count(sal) jumlah_pegawai ,deptno from emp group by deptno;

Senin, 06 Oktober 2014

Kenapa Harus Oracle?


Pada masa informasi modern ini, perkembangan teknologi komputerisasi semakin pesat seiring dengan semakin bertambahnya kebutuhan. Hal ini disertai juga dengan perkembangan dalam teknologi pengelolaan basis data (DBMS) dalam kebutuhan pengadaan data. Dan seiring  perkembangan inilah, kebutuhan untuk bisa saling bertukar informasi antar sistem pengelola basis data (DBMS) juga sudah mulai merupakan kebutuhan yang wajar.

Basis data (Database) adalah kumpulan informasi yang disimpan di dalam komputer secara sistematik sehingga dapat diperiksa menggunakan suatu program komputer untuk memperoleh informasi dari basis data tersebut. Perangkat lunak yang digunakan untuk mengelola dan memanggil kueri (query) basis data disebut sistem manajemen basis data (Database management system, DBMS). Karena pentingnya peran basis data dalam pengelolaan data sebuah sistem informasi, tidaklah mengherankan bahwa terdapat banyak pilihan software Database Management System (DBMS) dari berbagai vendor baik yang dapat diakses secara gratis maupun yang harus didapatkan secara komersial. Salah satu DBMS yang popular adalah Oracle.





Basis data Oracle ini pertama kali dikembangkan oleh Larry Ollison, Bob Miner dan Ed Oates, tiga orang penting ini mengembangkan Oracle lewat perusahaan konsultasinya bernama Software Development Laboratories (SDL) pada tahun 1977. Pada tahun 1983, perusahaan ini berubah nama menjadi Oracle Corporation sampai sekarang.



Sistem Database Oracle adalah basis data relasional yang terdiri dari kumpulan data dalam suatu sistem manajemen basis data RDBMS. Perusahaan perangkat lunak Oracle memasarkan jenis basis data ini untuk bermacam-macam aplikasi yang bisa berjalan pada banyak jenis dan merk perangkat keras komputer (platform).


Kenapa harus Oracle? Kenapa tidak DBMS lain, yang lebih mudah dan lebih murah?

Mungkin pertanyaan semacam ini akan melayang-layang di kepala kita semua. Lihat uraian di bawah ini, dengan harga yang relatif mahal database Oracle menyediakan banyak fasilitas dan keunggulan dibanding database yang lain, diantaranya adalah :

  • Dalam pengelolaan data, Oracle dapat menangani jumlah data dalam ukuran yang besar. Daya tampung data bisa mencapai 512 petabyte (1 petabyte = 1024 terabyte)
  • Meskipun data yang dikelola begitu banyak, Oracle dapat mengolahnya dengan cepat dan akurat
  • Multiplatform, artinya DBMS ini dapat berjalan hampir di semua Operating System seperti Microsoft windows, Linux, Unix, Mainframe, dll.
  • Memiliki kemampuan yang disebut Technology Cluster Server, dimana jika terdapat lebih dari satu unit server yang aktif, maka Oracle dapat menjadikan semua server tersebut aktif bekerja bersama.
  • Memiliki kemampuan yang luar biasa dalam menangani banyak user yang melakukan koneksi secara simultan tanpa mengurangi performance (kinerja) sistem secara signifikan.
  • Memiliki kemampuan untuk management user dan tiap user bisa diatur profile dan hak akses terhadap suatu database.
  • Terdapat fasilitas client-server (pemrosesan tersebar).
  • Kemampuan melindungi data dari kerusakan jika terjadi kegagalan fungsi pada sistem seperti disk failure.
  • Kemampuan dalam penanganan crash atau failure agar service tetap terjaga.
  • Terdapat fasilitas recovery management, artinya apabila sedang mengakses database dan kemudian ada kejadian listrik mati maka data yang sudah tersimpan tidak akan rusak/hilang.
  • Kemampuan/fasilitas flashback, sehingga semua jenis transaksi yang salah akan dapat dikembalikan.
  • Security yang cukup handal.
  • Row-Level Locking, yaitu dapat melakukan lock sampai pada row-level, sehingga user-user dapat melakukan akses data dalam suatu tabel secara bersama, lebih cepat dan akurat.
  • Fasilitas Link-Database, yaitu kemampuan database Oracle untuk dapat melakukan komunikasi/koneksi database antar server bahkan dengan database (RDBMS) yang bukan Oracle, misal link ke database MySQL/SQL Server. Fasilitas ini sangat memudahkan untuk melakukan integrasi data antar server/database.
Jenis DBMS yang digunakan memiliki pengaruh dalam kecepatan akses dari masing-masing sistem. Perbedaan DBMS yang digunakan juga akan terlihat apabila jumlah sampel data yang diakses semakin banyak, karena masing-masing DBMS memiliki keunggulan masing-masing. Dengan uraian-uraian tersebut, tinggal kita lah sebagai orang yang memanfaatkan adanya berbagai sistem manajemen basis data (DBMS) ini, memilih dengan bijak DBMS mana yang pantas untuk kita gunakan sesuai dengan kebutuhan penyimpanan dan pengelolaan data yang kita miliki.



oracle kelebihan oracle keunggulan oracle kelemahan oracle fasilitas oracle keutamaan oracle