Rabu, 17 Januari 2018

SYNTAX DDL DAN DML

Seperti definisi yang telah dijelaskan di atas, ddl adalah kumpulan perintah sql yang digunakan untuk membuat (create), mengubah (alter) dan menghapus (drop) struktur dan definisi tipe data dari objek-objek database. objek-objek database pada yang dimaksud

syntax ddl (data definition language)


contoh sintaks ddl dalam pembuatan database/table,index dan view :

1. pembuatan database

bentuk umumnya : create database nama_db

sintaks : create database nilai


2. pembuatan tabel

bentuk umumnya : create table nama_table(nama_kolom1 jenis_kolom1, nama_kolom2 jenis_kolom2, ...)

sintaks : create table mahasiswa(nim char(8) not null, nama char(30) not null, alamat char(40) not null, jenkel char(1) not null)


3. pembuatan index

bentuk umumnya : create [unique] index nama_index on nama_table (nama_kolom)

sintaks : create unique index mhsin on mhs(nim)


4. pembuatan view

bentuk umumnya : create view [(nama_kolom1, ...)] as select statement [with check option]

sintaks : create view mhsview as select * from mhs

contoh sintaks ddl untuk menghapus database/table,index dan view :


1. menghapus database

bentuk umumnya : drop database nama_db


2. menghapus tabel

bentuk umumnya : drop table nama_table


3. menghapus index

bentuk umumnya : drop index nama_index


4. menghapus view

bentuk umumnya : drop view nama_view


contoh sintaks ddl untuk mengubah struktur tabel :


1. menambahkan kolom

bentuk umumnya : alter table nama_table> add (nama_kolom jenis_kolom)

sintaks : alter table mahasiswa add (notelp char(8))


2. mengubah panjang kolom

bentuk umumnya : alter table nama_table modify (nama_kolom jenis_kolom)

sintaks : alter table mahasiswa modify (alamat char(50))


3. menghapus kolom

bentuk umumnya : alter table nama_table> drop (nama_kolom jenis_kolom)

sintaks : alter table mahasiswa drop (alamat char(1))


Sumber : https://sejarahbelajarku.blogspot.co.id/2018/01/syntax-ddl-dan-dml.html

Don't forget to visit : Zepic123.blogspot.co.id

Rabu, 03 Januari 2018

MANIPULASI DATA PADA ORACLE

Di dalam manipulasi data kita mengenal DML  (Data Manipulation Language) dimana dengan perintah DML kita dapat menambah isi ke dalam tabel, memodifikasi isi di dalam tabel, dan menghapus isi dari tabel.Sebuah transaksi terdiri dari kumpulan statement DML. Data Manipulation Language merupakan bagian inti dari SQL. Ketika kamu ingin melakukan update, penambahan atau penghapusan data di dalam database, kamu menggunakan perintah DML.

1. INSERT (Menambah data)
syntax :
INSERT INTO TABLE [ (colomn [, colomn...] ) ]
VALUES (value [, value ...] ) ;
 contoh : Implisit

contoh yang diatas merupakan INSERT dengan metode Implist yaitu menghilangkan kolom di list kolom (yang berwarna kota merah). Sedangkan metode Eksplist yaitu kita tidak menyebutkan nama kolom yang ingin dimasukkan tetapi di dalam values nya harus terisi data sesuai dengan banyaknya kolom.
contoh : Eksplisit



Tak hanya itu dengan perintah INSERT kita dapat mencopy isi row dengan cara mengambil dari isi row tabel lain. Yang perlu diingat untuk melakukan copy row dari tabel lain adalah tidak menggunakan klausa VALUE dan jumlah kolom asal harus sama dengan jumlah kolom tujuan (jumlah kolom yang di insert harus sama dengan jumlah kolom di subquery).
contoh :

2. UPDATE (Perubahan data)
syntax :
UPDATE table
SET colomn = value [, colomn = value, ... ]
[WHERE condition];
contoh :

Dengan perintah UPDATE kita juga dapat melakukan update dengan dua kolom seperti contoh dibawah ini :
Update juga dapat dilakukan pada tabel yang berbeda yaitu sama seperti diatas hanya mengganti nama tabel asalnya saja.
3. DELETE (Menghapus data)
syntax :
DELETE [FROM] table
[WHERE condition];
contoh :


Delete juga dapat dilakukan pada tabel yang berbeda. Lihat contoh dibawah ini 

TRUNCATE
Perintah TRUNCATE hampir sama dengan perintah delete akan tetapi TRUNCATE menghapus semua baris pada tabel dan hanya meninggalkan struktur dari tabel itu sendiri. Truncate lebih kearah DDL. Truncate tidak dapat di Rollback. Truncate tidak dapat dilakukan pada tabel yang mengandung hubungan constraint pada tabel parent. Untuk melakukan truncate harus mendisable constraint terlebih dahulu. 


Sumber : http://pengenalanoracle.blogspot.co.id/2012/12/modul-6-manipulasi-data.html

Visit : zepic123.blogspot.co.id

SUB QUERY BASIS DATA

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.
Kegunaan-kegunaan  Subquery dalam memanipulasi data:
§  Meng-copy data dari satu tabel ke tabel lain
§  Menerima data dari inline view
§  Mengambil data dari tabel lain untuk kemudian di update ke tabel yang dituju
§  Menghapus baris dari satu tabel berdasarkan baris dari tabel lain.

ATURAN SUB QUERY
  1. Klausa ORDER BY tidak boleh digunakan .di subquery. ORDER BY dapat digunakan,di pernyataan SELECT luar.
  2. Klausa subquery SELECT harus beisi satu nama kolom tunggal atau ekspresi kecuali untuk subquery-subquery menggunakan kata kunci EXIST.
  3. secara default, nama-nama kolom di subquery mengacu ke nama table diklausa FROM di query lebih luar dengan mengkualifikasi nama kolom
  4. Saat subquery adalah salah satu dua operan dilibatkan di pembandingan, subquery harus muncul di sisi kanan pembandingan.
  5. Subquery tdak boleh digunakan sebagai operan di ekspresi.

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’ );

Operator EXIST dan NOT EXIST
Kata kunci EXIST dan NOT EXIST dirancang hanya untuk digunakan di subquery. Kata kunci-kata kunci ini menghasilkan nilai TRUE atau FALSE EXIST akan mengirim nilai TRUE jika dan hanya jika terdapat sedikitnya satu baris di table hasil yang dikirim oleh subquery. EXIST mengirim nilai FALSE jika subquery mengirm table kosong NOT EXIST kebalian dan EXIST.
Karena EXIST dan NOT EXIST hanya memeriksa keberadaan baris-baris di table hasil subquery.
Contonya
Penggunaan EXIST
Daftarkan semua staf yang bekerja dikantor cabang beralamat di jalan “Tamansari 81”
SELECT IDStaf , namaDepan, namaBelakang, pangkat, gPokok
FROM Staf s
WHERE EXIST
(SELECT *
FROM KantorCabang k, StafKCabang sk
WHERE s.IDStaf=sk.IDStafAND
sk.IDKCabang =k.IDKCabang AND
k.jalan=’tamansari 81’
);

SU
Operator Any(Some)
Operator Any (some) hampir sama penggunaannya seperti Exists. Tetapi operator relasi yang digunakan biasanya selain = (sama dengan). hal tersebut disebabkan apabila operator relasi = yang digunakan, maka sebetulnya fungsi operator Any (some) sama seperti operator IN, sehingga kondisi seperti itu tidak dianjurkan karena lebih mudah pemahamannya apabila menggunakan operator IN.
Contoh :
Akan menampilkan daftar nama pegawai dan gaji yang gajinya tidak paling sedikit :select nama, gaji from pegawai where gaji > any (select gaji from pegawai); 

Operator All
Operator all digunakan untuk melakukan pembandingan dengan sub query. Kondisi dengan all menghasilkan nilai benar jika pembandingan menghasilkan benar untuk setiap nilai dalam sub query.
Contoh :
Akan menampilkan nama dan gaji pegawai yang gajinya lebih rendah daripada semua pegawai yang pekerjaannya 'SALESMAN' :
select nama where gaji < all (select gaji from pegawai where pekerjaan = 'SALESMAN'); 
Sub query (subselect) hanya dapat digunakan untuk MySQL versi 3.24, Sehingga parintah-perintah diatas tidak dapat dijalankan di MySQL ini(versi 3.23). Tetapi, dengan menggunakan option LEFT JOIN, masalah-masalah diatas dapat diselesaikan.
Contoh :
select * from score where event_id in (select even_id from even where type = 'T'); 
Apabila dituliskan dengan cara lain menjadi :
select score.* from score, event where score.even_id = even.even_id and type = 'T';

Multiple Rows Subquery
Multiple Row Subquery adalah subquery yang menghasilkan lebih dari satu baris data. Untuk multiple row subquery ini yang digunakan adalah operator pembanding IN, ANY atau ALL
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 );

Contoh:
Menampilkan nama, gaji, dan nomer department dari pegawai yang gajinya sama dengan gaji minimum pada suatu department.

SELECT ename, sal, deptno FROMENP WHERE sal IN (SELECT MIN (sal) FROM ENP GROUP BY deptno)


Single Row Subquery
Single row subquery memberikan hasil hanya satu baris pada bagian subquery. Untuk single row subquery ini yang digunakan adalah operator pembanding: , >, >=, <, <= atau <>
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 (group function) untuk menghasilkan satu baris data.

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 );

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 );

Sumber : http://catatankuliahum.blogspot.co.id/2013/02/sub-query-basis-data.html

SYNTAX DDL DAN DML

Seperti definisi yang telah dijelaskan di atas, ddl adalah kumpulan perintah sql yang digunakan untuk membuat (create), mengubah (alter) da...