Rabu, 02 Maret 2016

DDL,DML,DAN DCL

Pengertian dan Contoh DDL,DML dan DCL | Belajar SQL

Pengertian dan Contoh DDL,DML dan DCL - Secara umum perintah-perintah dari DDL, DML dan DCL dapat anda lihat dari skema gambar diatas, dan untuk penjelasannya silahkan simak dibawah ini:

1. DDL (Data Definition Language)

Data Definition Language (DDL) merupakan sub bahasa SQL yang digunakan untuk membangun kerangka database.  Atau juga merupakan kelompok perintah yang berfungsi untuk mendefinisikan atribut-atribut database, table, atribut kolom, batasan-batasan terhadap suatu atribut serta hubungan antar table.
Yang termasuk kelompok DDL ini adalah :
  • CREATE : Perintah ini digunakan untuk membuat, termasuk di antaranya membuat database baru, tabel baru, view baru, dan kolom.

Contoh :
> create table mahasiswa (nim  char(8) primary key,nama_mahasiswa  varchar(20),nilai integer(3),alamat  varchar(25);
  • ALTER : Perintah ini digunakan untuk mengubah struktur tabel yang telah dibuat. Pekerjaannya mencakup mengganti nama tabel, menambah kolom, mengubah kolom, menghapus kolom, maupun memberikan atribut pada kolom.

Contoh :
>alter table mahasiswa rename wisudawan;
  • DROP : Perintah ini digunakan untuk menghapus database dan tabel.

Contoh :
>Alter table ‘mahasiswa’ drop ‘alamat’;

2. DML (Data Manipulation Language )

Data Manipulation Language (DML) merupakan sub bahasa SQL yang digunakan untuk memanipulasi data dalam database yang telah terbuat.
Perintah yang digunakan, di antaranya
INSERT : Perintah ini digunakan untuk menyisipkan atau memasukkan data baru ke dalam tabel. Penggunaannya setelah database dan tabel selesai dibuat.
Contoh :
Insert into mahasiswa values (“08052926”, “Frenky”,”70”);
SELECT : Perintah ini digunakan untuk mengambil data atau menampilkan data dari satu tabel atau beberapa tabel dalam relasi. Data yang diambil dapat kita tampilkan dalam layar prompt MySQL secara langsung maupun ditampilkan pada tampilan aplikasi.
Contoh :
Select nama_mahasiswa from mahasiswa where nilai = 70;
UPDATE : Perintah ini digunakan untuk memperbarui data lama menjadi data terkini. Jika Anda memiliki data yang salah atau kurang up to date dengan kondisi sekarang, maka dapat diubah isi datanya menggunakan perintah UPDATE.
Contoh:
>mahasiswa set nim = ‘08052926’ = 08052927;
DELETE : Perintah ini digunakan untuk menghapus data dari tabel. Biasanya data yang dihapus merupakan data yang sudah tidak diperlukan lagi. Pada saat menghapus data, perintah yang telah dijalankan tidak dapat digagalkan, sehingga data yang telah hilang tidak dapat dikembalikan lagi
Contoh :
>delete form mahasiswa;

3. Data Control Language (DCL)

Data Control Language (DCL) merupakan sub bahasa SQL yang digunakan untuk melakukan pengontrolan data dan server databasenya.
Perintah DCL, di antaranya:
GRANT : Perintah ini digunakan untuk memberikan hak/ijin akses oleh administrator (pemilik utama) server kepada user (pengguna biasa). Hak akses tersebut berupa hak membuat (CREATE), mengambil (SELECT), menghapus (DELETE), mengubah (UPDATE), dan hak khusus berkenaan dengan sistem databasenya.
REVOKE : Perintah ini memiliki kegunaan terbalik dengan GRAND, yaitu untuk menghilangkan atau mencabut hak akses yang telah diberikan kepada user oleh administrator.

Database MySQL

Perintah Dasar Mengolah Database MySQL

        Pada kesempatan kali ini saya ingin berbagi sedikit mengenai pengolahan Database, Pada dasarnya perintah dasar untuk megolah database ada 4 Macam, yaitu :

1.Select (Perintah untuk mencari/Menampilkan Data)
2.Insert (Perintah untuk Memasukan Data Baru)
3.Update (Perintah untuk mngedit Data)
4.Delete (Perintah untuk menghapus Data)

Dengan adanya hubungan/relasi dari satu tabel dengan yang lain maka perintah dasar tersebut akan berkembang disesuaikan dengan kebutuhannya. Banyak sekali program untuk membuat database seperti Ms. SQL Server sampai yang open source atau yang dapat kita download langung gratis lewat internet seperti Mysql. Untuk melatih perintah dasar tersebut saya menggunakan Mysql. sebagai contoh saya menggunakan database yang telah saya buat untuk program perpustakaan.
Langsung aja let`s study :

1.SELECT (Perintah untuk mencari/Menampilkan Data)
Syntax :
select ColumnName from NamaTable [Kondisi][Group By][Having][Order By]
Beberapa Contoh Pencarian Data :
  1. Tampilkan data buku
  2. Tampilkan Kode dan judul buku dan urutkan berdasarkan kode bukunya
  3. Tampilkan data buku yang judulnya mengandung kata XX
  4. Tampilkan data anggota yang jenis kelaminnya laki-laki dan yang alamatnya semarang
  5. Tampilkan data buku yang masih dipinjam
  6. Tampilkan data buku yang masih dipinjam si A
  7. Tampilkan data buku yang ada di perpustakaan
  8. Tampilkan data transaksi peminjaman buku mulai 1 Januari 2010 sampai dengan 31 Desember 2010
Jawab :
  1. select * from T_Buku
  2. select KdBuku,JdlBUku from T_Buku order by KdBuku
  3. select * from T_Buku where JdlBuku like ‘%XX%’
  4. select * from T_Anggota where JnsKelamin = ’laki-laki’ and AlmAnggota = ’Semarang’ 
  5. select * from T_Buku where Idbuku in(select IdBuku from T_DetailPinjam where IdDetailPinjam not in(select IdDetailPinjam from T_Kembali)) (Logikanya adalah data buku yang Idbukunya ada dalam T_DetailPinjam yang mana IdDetailPinjamnya belum ada di T_Kembali )
  6. select * from T_Buku where IdBuku in(select IdBuku from T_DetailPinjam where IdPinjam in (select IdPInjam from T_Pinjam where IdPinjam = ‘A’) and IdDetailPinjam not in (select IdDetailPinjam from T_Kembali)) (Logikanya adalah data buku yang IdBukunya ada pada T_DetailPinjam yang IdPinjamnya adalah milik si A dan IdBukunya belum ada di T_Kembali )
  7. select * from T_Buku where IdBuku not in (select IdBuku from T_DetailPinjam) or IdBuku in (select IdBuku from T_DetailPinjam where IdDetaiPinjam in (select IdDetailPinjam from T_Kembali)) (Logikanya Adalah Data Buku yang IdBukunya belum ada di T_DetailPinjam atau ada didalam T_DetailPinjam tetapi sudah dikembalikan )
  8. select * form V_Pinjam where TglPinjam between ‘01/01/2010’ and ‘12/31/2010’

2. INSERT (Perintah untuk Memasukan Data Baru)
Syarat :
Jangan mengisi Columname yang bersifat Otomatis.
Syntax :
insert into NamaTabel
(ColumnName1,…, ColumnNamen)
Values
(‘NilaiInput1’,….,’NilaiInputn’)
Contoh :
Masukan Satu Record Data Anggota
insert into T_Anggota
(TglDaftar, KdAnggota, NmAnggota, AlmAnggota,JnsKelamin, TelpAnggota)
Values
(‘13/06/2010’,’KA-01’,’Rendy Amdani’,’Kendal’,’laki-laki’,’085226555212’)

3.UPDATE (Perintah untuk mngedit Data)
Syarat :
Jangan Mengupdate PK.
Syntax :
update T_Anggota set
ColumnUpdate Ke 1=’NilaiUpdate Ke 1’,…,ColumnUpdate Ke n=’NilaiUpdate Ke n’
[Kondisi]
Contoh :
update T_Anggota set
AlmAnggota = ’Kendal’, TelpAnggota = ’085226555212’
where KdAnggota = ’KA-01’ 
4. DELETE (Perintah untuk menghapus Data)

Syarat :
Untuk menghapus data yang Column Namenya merupakan PK dari ColumnName FK pada Tabel X  pastikan data Foreign pada Tabel X tersebut sudah Terhapus Terlebih Dahulu.
Syntax :
Delete NamaTabel [Kondisi]
Contoh :
Misal IdAnggota di Table Anggota=’X’  dan table Pinjam mempunyai data Peminjaman yang IdPeminjamnya X (Yang Merupakan Foreign dari Table Anggota) Maka untuk menghapus Data Tabel Anggota yang mempunyai idanggota=’X’ Ada 2 Perintah yang harus dijalankan.
delete T_Pinjam where IdPeminjam = ’X’
delete T_Anggota where IdAnggota = ’X’