Manipulasi Data



Manipulasi Data

Data Manipulation Language (DML) adalah query language yang digunakan untuk memanipulasi data pada database. Peintah-perintah yang terdapat pada data manipulation language sebagai berikut :
·              SELECT            : mengambil data dari satu tabel atau lebih dalam database.
·              INSERT             : menambahkan data baru ke dalam tabel.
·              UPDATE           : mengubah data pada tabel dalam satu kolom dan baris atau lebih.
·              DELETE            : menghapus data pada tabel.
·              MERGE            : melakukan insert, update, atau menghapus pada tabel hasil join.

  A.         Select Data
    Query SELECT digunakan untuk mengambil atau memperoleh data dari tabel. Ada tiga hal yang perlu dipastikan untuk mengidentifikasi dalam membentuk query SELECT yang tepat :
     ·         Untuk mengambil kolom
     ·         Untuk mengambil bentuk kolom
     ·         Untuk memenuhi data jika ada pengkondisian

  a)  Combining Conditions
Penggabungan beberapa kondisi dalam satu statement query.

Bentuk umum :
SELECT [kolom-yang-ingin-ditampilkan] FROM [nama_tabel] WHERE [condition];

Contoh : katakanlah anda sekarang ingin mengetahui mahasiswa yang termasuk dalam  
angkatan 2009 dengan fakultas manajemen informatika. Anda bisa medapatkan hasil yang diinginkan ini menggunakan pernyataan SQL berikut :
SELECT id, nim, kota, fakultas
FROM tbl_mahasiswa
WHERE fakultas = ‘Manajemen Informatika’ AND angkatan = 2009

b)     Between Clause
Digunakan untukmemilih beberapa data dalam menetapkan kisaran pada range atau rentang tertentu.

Bentuk umum :
SELECT [kolom-yang-ingin-ditampilkan] FROM [nama_tabel] WHERE [kolom] BETWEEN [condition];

Contoh :
SELECT id, nim, kota, fakultas, angkatan
FROM tbl_mahasiswa
WHERE angkatan BETWEEN ‘2008’ AND ‘2009’

c)     Not Clause
Digunakan untuk menulis query yang tidak diinginkan dalam output yang kita buat. Menggunakan keyword “NOT” , “<>” atau “!=”.

Bentuk umum :
SELECT [kolom-yang-ingin-ditampilkan]
FROM [nama_tabel]
WHERE NOT [condition];

Contoh : katakanlah anda ingin daftar kota dan fakultas pada tabel mahasiswa yang bukan fakultas “Teknik Informatika”. Anda bisa mendapatkan daftar ini dengan menggunakan query berikut :
SELECT id, nim, kota, fakultas
FROM tbl_mahasiswa
WHERE NOT fakultasi=’Teknik Informatika’;

d)     Union Clause
Digunakan untuk menggabungkan hasil dari dua atau lebihpernyataan SELECT menjadi satu.

Bentuk umum :
SELECT nama_kolom FROM nama_tabel UNION SELECT nama_kolom FROM nama_tabel;

Contoh :
SELECT first_name, last_name
FROM employees
WHERE department = ’shipping’
UNION
SELECT first_name, last_name
FROM employees
WHERE hired BETWEEN ‘1-jan-1990’ AND ‘1-jan-2000’

e)     Except dan Intersect Clauses
Except clause memberikan hasil set akhir dimana menampilkan data pada tabel pertama yang tidak terdapat pada tabel kedua.

Bentuk umum :
SELECT nama_kolom FROM nama_tabel EXCEPT SELECT nama_kolom FROM nama_tabel;

Contoh :
SELECT id,nim
FROM tbl­_mahasiswa
EXCEPT
SELECT id,nim
FROM tbl_nim;

Intersect clause memberikan hasil set akhir dimana hanya menampilkan data pada tabel pertama yang sama dengan data pada tabel kedua.
Bentuk umum :
SELECT nama_kolom FROM nama_tabel INTERSECT SELECT nama_kolom FROM nama_tabel;

Contoh :
SELECT id,nim
FROM tbl­_mahasiswa
INTERSECT
SELECT id,nim
FROM tbl_nim;

f)      Join Clause
Digunakan untuk menggabungkan data yang terkait dari berbagai sumber tabel. Ada tiga jenis statement join yang harus diperhatikan, yaitu :
1.      Inner Join
Bentuk kondisi join dimana diantara 2 atau lebih tabel yang ingin di join memiliki hubungan sehingga semua isi tabel yang di pilih bisa ditampilkan.
Bentuk umum :
SELECT field
FROM tabel1
INNER JOIN tabel2
ON kondisi;

Contoh :
SELECT tbl_mahasiswa.id, tbl_mahasiswa.nim, tbl_mahasiswa.kota, tbl_mahasiswa.fakultas, tbl_mahasiswa.angkatan, tbl_nim.nama
FROM tbl_mahasiswa
INNER JOIN tbl_nim
ON tbl_mahasiswa.nim = tbl_nim.nim;

2.     Outer Join
Digunakan untuk menghasilkan sebuah data dari sebuah tabel dan membatasi data dari tabel lainnya. Outer join dibagi menjadi 3 yaitu :
·         Left Outer Join
Digunakan untuk menampilkan semua isi tabel sisi kiri, walaupun data pada pasangan joinnya yang berada disisi kanan nilainya tidak sama ataupun berisi null.
Bentuk umum :
SELECT field
FROM tabel1
LEFT OUTER JOIN tabel2
ON kondisi;

Contoh :
SELECT tbl_mahasiswa.id, tbl_mahasiswa.nim, tbl_mahasiswa.kota, tbl_mahasiswa.fakultas, tbl_mahasiswa.angkatan, tbl_nim.nama
FROM tbl_mahasiswa
LEFT OUTER JOIN tbl_nim
ON tbl_mahasiswa.nim = tbl_nim.nim;

·         Right Outer Join
Digunakan untuk menampilkan semua isi tabel sisi kanan, walaupun data pada pasangan joinnya yang berada disisi kiri nilainya tidak sama ataupun berisi null.
Bentuk umum :
SELECT field
FROM tabel1
RIGHT OUTER JOIN tabel2
ON kondisi;

Contoh :
SELECT tbl_mahasiswa.id, tbl_mahasiswa.nim, tbl_mahasiswa.kota, tbl_mahasiswa.fakultas, tbl_mahasiswa.angkatan, tbl_nim.nama
FROM tbl_mahasiswa
RIGHT OUTER JOIN tbl_nim
ON tbl_mahasiswa.nim = tbl_nim.nim;

·         Full Outer Join
Digunakan untuk menampilkan semua data dari dua tabel yang dihubungkan meskipun terdapat data yang tidak memiliki pasangan di tabel lainnya.
Bentuk umum :
SELECT field
FROM tabel1
FULL OUTER JOIN tabel2
ON kondisi;

Contoh :
SELECT tbl_mahasiswa.id, tbl_mahasiswa.nim, tbl_mahasiswa.kota, tbl_mahasiswa.fakultas, tbl_mahasiswa.angkatan, tbl_nim.nama
FROM tbl_mahasiswa
FULL OUTER JOIN tbl_nim
ON tbl_mahasiswa.nim = tbl_nim.nim;

3.     Cross join
Digunakan untuk menghasilkan sebuah data dari perkalian jumlah record dari kedua tabel.
Bentuk umum :
SELECT field
FROM tabel1
CROSS JOIN tabel2
ON kondisi;

Contoh :
SELECT nama, kota, fakultas, angkatan
FROM tbl_mahasiswa
CROSS JOIN tbl_nim;

       B.        Insert Data
     Pada bagian ini mempelajari tentang bagaimana data dimasukkan ke dalam database menggunakan INSERT statement. Jika anda ingin memasukkan sejumlah kecil data dengan menambahkan beberapa baris baru ke dalam database, misalnya, Anda dapat mencapai ha ini dala dua cara yang berbeda, yaitu :
·         Metode pertama menggunakan antarmuka grafis juga (SSMS).
·         Metode kedua menggunakan statement INSERT.

          Bentuk umum : 
          INSERT INTO [nama_tabel] ([kolom1], [kolom2] . . . . [kolomN]) VALUES (‘nilai1’, ‘nilai2’ . . . . ‘nilaiN’);

          Contoh : 
          INSERT INTO HumanResources.Department ( Name, GroupName)  VALUES (‘Supervisor’, ‘Executive General and Administration’);
 

         C.      Update Data
       Memahami bagaimana data diperbarui dalam database, bagaimana menulis update data ke database mengguakan pernyataan UPDATE. Fungsi statement UPDATE adalah untuk mengubah data dalam tabel atau view.

          Bentuk umum :
          UPDATE nama_tabel SET nama_kolom = data_baru WHERE nama_kolom = data_lama;

          Contoh :
      UPDATE HumanResources.Department SET Name = ‘IT Services’ WHERE Name = ‘Information Services’;

         D.     Deleting Data
        Digunakan untuk menghapus data dari satu atau beberapa table. Untuk mengidentifikasi dan menghapus baris individu dari database bisa menggunakan beberapa cara yaitu :
·         Menggunakan sintaks DELETE (menghapus satu atau lebih baris dalam tabel atau view).
·    Menggunakan sintaks TRUNCATE (menghapus data aktual dari dalam tabel tetapi meninggalkan struktur tabel untuk penggunaan selanjutnya).
·         Menggunakan sintaks DROP (menghapus keseluruhan tabel).

Statement DELETE digunakan untuk menghapus satu atau lebih baris dalam tabel atau view. Misalnya : anda bisa menghapus department dari tabel human resources, karena perusahaan tidak menggunakan department tersebut.

Bentuk umum :
DELETE FROM [nama_tabel] WHERE [kondisi];

Contoh :
DELETE FROM HumanResources.Department WHERE DepartmentID = 17;

Referential Integrity
Referential Integrity adalah  sebuah cara untuk  menjaga konsistensi data antara tabel yang saling ber-Relasi. Referential Integrity ada beberapa macam antara lain adalah :
·         Restrict adalah membatasi, maksudnya adalah data pada tabel induk tidak bisa di delete atau di update bila data tersebut memiliki relasi pada tabel lainnya.
·         Cascase adalah bertingkat, maksudnya adalah bila data pada tabel_induk di delete atau di update maka secara otomatis data pada tabel lain yang memiliki relasi akan di delete/di update.








Komentar