Powered By Blogger

Rabu, 12 Desember 2012

PENGENALAN ORACLE STMIK AKAKOM


TUGAS INHAL PRE_TEST
STMIK AKAKOM YOGYAKARTA

ANUNG KURNIAWAN
105610103
 

MODUL 2
FUNGSI BARIS TUNGGAL

SQL FUNCTIONS
Dua macam SQL Functions :

Single row functions
-Memanipulasi data item
-Dapat memodifikasi tipe data
-Dapat berbentuk tersarang.

Multiple row functions
Syntax :
Function_name (column | ekpresi, [arg1, arg2, …])
Fungsi Karakter
Single-row character functions menerima data karakter sebagai masukan dan dapat menghasilkan nilai karakter dan bilangan.
Fungsi karakter dapat dibagi menjadi :
Case conversion functions
Character manipulation functions

Fungsi Mengubah Bentuk Huruf
LOWER : digunakan untuk mengubah untai karakter huruf menjadi huruf kecil.
INITCAP : digunakan untuk merubah huruf pertama dari setiap kata menjadi huruf besar dan sisanya huruf kecil.
UPPER : digunakan untuk mengubah untai karakter huruf menjadi huruf besar.
Fungsi Manipulasi Karakter
CONCAT : digunakan untuk menggabungkan nilai.
SUBSTR : digunakan untuk mengambil string yang panjangnya ditentukan.
LENGTH : digunakan untuk menunjukkan panjang dari string dengan angka

Fungsi Manipulasi Karakter
INSTR : digunakan untuk menemukan posisi numerik dari karakter yang disebutkan.
LPAD : digunakan untuk mengisi nilai karakter rata kiri.
TRIM : digunakan untuk memotong bagian atas atau menarik karakter dari untai
karakter.

Fungsi Number
ROUND : untuk menerima masukkan numerik dan menghasilkan nilai numerik.
TRUNC : untuk membulatkan kolom, ekspresi atau nilai ke n desimal.
MOD : untuk menemukan sisa nilai1 dibagi nilai2.


Bekerja Dengan Date
SYSDATE : fungsi tanggal yang menghasilkan tanggal dan waktu sekarang.
DUAL : tabel dummy yang digunakan untuk melihat sysdate.

Fungsi Date
MONTHS_BETWEEN(date1, date2)
ADD_MONTHS (date, n)
NEXT_DAY (date, ‘char’)
LAST_DAY (date)
ROUND (date[,’fmt’])
TRUNC (date[,’fmt’])


MODUL – 3
QUERY BANYAK TABEL

Perintah dasar SELECT

SELECT * | {[DISTINCT] kolom | ekspresi [alias], … }
FROM nama_tabel;
perintah SELECT, gunakan tanda * untuk memilih semua kolom yang
ada pada tabel. Perintah DISTINCT digunakan untuk menghilangkan duplikasi pada hasil

·         Struktur Tabel

Untuk melihat struktur tabel, dapat digunakan perintah SQL berikut:
DESC[RIBE] nama_tabel;
Membatasi dan Mengurutkan Data Salah satu cara untuk membatasi penampilan data adalah dengan memberikan syarat/kondisi pada klausa WHERE.

Ada kalanya untuk mendapatkan data tertentu dibutuhkan query yang mengakses lebih dari satu tabel. Ketikkan kedua perintah berikut pada SQL Editor atau pada prompt SQL>
DESC employees;
DESC departments;

Seperti   yang   telah   dijelaskan   pada   pembahasan   sebelumnya,   kedua   perintah   tersebut
menunjukkan struktur tabel employees dan departments Perhatikan struktur kedua tabel tersebut. Kolom employee_id dan department_id terdapat pada
tabel employees, dan ternyata kolom department_id juga terdapat pada tabel departments. Agar supaya kedua tabel tersebut dapat menampilkan data dalam satu query, kedua tabel tersebut harus dihubungkan.

·         Cartesian Product
Sebuah  Cartesian  product  tercipta  ketika  kondisi  join  tidak  disebutkan  atau  invalid.  Untuk menghindari terjadinya Cartesian product, selalu masukkan kondisi join yang valid di klausa WHERE.
SELECT tabel1.kolom, tabel2.kolom
FROM tabel1, tabel2
WHERE tabel1.kolom1 = tabel2.kolom2;

Untuk menggabungkan lebih dari dua tabel dibutuhkan kondisi sebanyak (n-1) dimana n adalah banyaknya tabel yang akan dihubungkan. Jadi, untuk menghubungkan 3 buah tabel dibutuhkan 2 kondisi  join,  untuk  menggabungkan  4  tabel  dibutuhkan  3  kondisi  join,  d
Selain equijoin, Oracle juga memiliki non-equijoin. Kondisi non-equijoin mengandung sesuatu. selain operator sama dengan (=) seperti operator <, >, atau juga BETWEEN. Perhatikan praktik nomor 6.
Bentuk  join  yang  lain  adalah  Outer  Join.  Outer  join  pada  umumnya  digunakan  untuk menampilkan yang tidak memiliki hubungan induk-anak pada tabel-tabel yang berhubungan. Sintaksnya sebagai berikut.

SELECT tabel1.kolom, tabel2.kolom
FROM tabel1, tabel2
WHERE tabel1.kolom(+) = tabel2.kolom;

SELECT tabel1.kolom, tabel2.kolom
FROM tabel1, tabel2
WHERE tabel1.kolom = tabel2.kolom(+);

Sintak tabel1.kolom=tabel2.kolom(+) merupakan sintak outer join yang ditempatkan di salahsatu sisi (bukan keduanya) pada klausa WHERE. Tanda (+) diletakkan pada sisi yang tidak sempurna  (misalnya,  terdapat  nilai  null  di  dalamnya).



MODUL 4
AGREGASI DATA
Agregasi dalam SQL merupakan proses untuk mendapatkan nilai dari sekumpulan data yang telah dikelompokkan.  Pengelompokan data didasarkan pada kolom atau kombinasi kolom yang dipilih.
      
Beberapa fungsi untuk agregasi adalah:
  1. MAX : mencari data terbesar dari sekelompok data
  2. MIN : mencari data terkecil dari sekelompok data
  3. COUNT : mencari cacah data (data NULL tidak akan dimasukkan dalam perhitungan,kecuali disebutkan secara khusus)
  4. SUM : mencari jumlah dari sekumpulan data numeris
  5. AVG : mencari rerata dari sekumpulan data numeris
Sintaks SQL untuk melakukan pengelompokan adalah:

SELECT [daftar-kolom-non-agregasi,] daftar-kolom-agregasi
FROM daftar-tabel
[WHERE kondisi-record-dalam-tabel]
[GROUP BY daftar-kolom-agregasi]
[HAVING kodisi-filter-hasil-agregasi]
[ORDER BY daftar-kolom-pengurutan]

MODUL – 5
SUBQUERY

Subquery
adalah perintah SELECT yang berada di dalam perintah SQL lain. Subquery sangat berguna ketika kita ingin menampilkan data dengan kondisi yang bergantung pada data di dalam table itu sendiri.

Sintaks
SELECT select_list FROM table WHERE expr operator ( SELECT select_list FROM table );

Contoh:
Menampilkan data karyawan yang bekerja satu departemen dengan Biri.
SELECT last_name, title FROM employee WHERE dept_id = ( SELECT dept_id FROM employee WHERE UPPER(last_name) = ‘BIRI’ );

Single Row Subquery
adalah menghasilkan satu baris data dari perintah SELECT terdalam. Tipe subquery ini menggunakan single row operator.

Contoh:
Menampilkan data karyawan yang memiliki jabatan sama dengan Smith.
SELECT last_name, title
FROM employee WHERE title = ( SELECT title FROM employee WHERE last_name = ‘Smith’ );
Kita dapat menampilkan data dari query utama dengan menggunakan fungsi grup

Contoh:
Menampilkan data karyawan yang memiliki gaji dibawah rata-rata.
SELECT last_name, title, salary FROM employee WHERE salary < ( SELECT AVG(salary) FROM employee );

Kesalahan dalam Subquery
Kesalahan umum dalam subquery adalah lebih dari satu baris data dihasilkan untuk single row subquery.
Contoh:
Subquery ini menghasilkan lebih dari satu baris data dan menggunakan single row operator. Kita dapat membetulkan kesalahan ini dengan mengubah = menjadi IN.
SELECT last_name, first_name, title FROM employee WHERE dept_id = ( SELECT id FROM department WHERE name = ‘Finance’ OR region_id = 2 );

Multiple Rows Subquery
Subquery yang menghasilkan lebih dari satu baris data disebut multiple row subquery. Pastikan penggunaan multiple row operator, seperti IN.

Contoh:
Menampilkan data karyawan yang bekerja pada departemen Finance atau pada region 2.
SELECT last_name, first_name, title FROM employee WHERE dept_id IN ( SELECT id FROM department WHERE name = ‘Finance’ OR region_id = 2 );

Klausa HAVING
Kita dapat menggunakan subquery tidak hanya dalam klausa WHERE, namun juga klausa HAVING.
Contoh:
Menampilkan data departemen yang memiliki rata-rata gaji diatas rata-rata gaji departemen 32.
SELECT dept_id, AVG (salary) FROM employee GROUP BY dept_id HAVING AVG(salary) > ( SELECT AVG(salary) FROM employee WHERE dept_id = 32 );

Menampilkan jabatan dengan rata-rata gaji terkecil.
SELECT title, AVG (salary) FROM employee GROUP BY title HAVING AVG (salary) = ( SELECT MIN(AVG(salary)) FROM employee GROUP BY title );

MODUL – 8
CONSTRAINTS

Constraints merupakan pembatasan pada suatu table dan juga mencegah terjadinya penghapusan jika ada ketergantungannya didalam tipe data constraints dibawah ini:
o   Not null memetapkan suatu kolom tidak boleh berisi null
o   Unique mementapkan kolom yang bersangkutan memiliki nilai tunggal/tidak sama terhadap baris lain
o   Primary key identifikasi unik pada setiap baris table
o   Foreign  key menetapkan dan menguatkan suatu hubungan kolom dgn satu kolom pada table referansi
o   Check memberikan suatu kondisi yang bernilai benar pada table.

Sintak untuk mendefinisikan constraint :
CREATE TABLE [SCHEMA.] TABLE
        (COLUMN  DATATYPE [DEFAULT EXPR]
        [COLUMN_CONSTRAINT],
        [TABLE_CONSTRAINT] [,…] );