Minggu, 11 April 2010

DDL DAN DML PADA SISTEM BASIS DATA

1. DDL (DATA DEFINITION LANGUAGE)
DDL (DATA DEFINITION LANGUAGE) : Perintah yang dapat digunakan untuk membuat/ menghapus/ mengubah sebuah object database, seperti database, table, index dll
Statement DDL adalah perintah-perintah yang digunakan untuk menjelaskan objek dari database. Dengan kata lain DDL digunakan untuk mendefinisikan kerangka database.
Contohnya :
a. Create database : adalah perintah yang di gunakan untuk memulai membuat database. Berikut contoh dari create database 





Gambar 1. Create database

b. Create table : adalah perintah yang digunakan untuk membuat tabel. Berikut contoh dari create tabel


Gambar 2. Create tabel


Gambar 3. Create tabel

c. ALTER TABLE : perintah ini digunakan untuk mengubah tablecontoh : db2 alter table mhs add nilai integer
d. DROP TABLE : perintah ini digunakan untuk menghapus tablecontoh : db2 drop table mhs
e. CREATE INDEX : perintah ini digunakan untuk membuat indexcontoh : db2 create unique index nim_indx on mhs(nim)
f. DROP INDEX : perintah ini digunakan untuk menghapus indexcontoh : db2 drop index nim_indx


Contoh Penerapan :
Create database : untuk membuat database.
Syntax : CREATE DATABASE nama_db;
Contoh : CREATE DATABASE Perkuliahan;
Create table : untuk membuat table.
Syntax : CREATE TABLE nama_tabel
(nama_kolom1, type_kolom1,
nama_kolom2, type_kolom2,…);
Contoh : CREATE TABLE MHS
(NPM char(8) not null,
Nama char(25) not null,
Alamat char(30) not null);
Ket : Not null bersifat optional.
Create index : untuk membuat index.
Syntax : CREATE [UNIQUE] INDEX nama_index ON
nama_tabel (nama_kolom);
Contoh : CREATE INDEX KRSx ON KRS(Kd_mk);
Ket : Spesifikasi unique akan menolak key yang sama dalam file.
Create view : untuk membuat view.
Syntax : CREATE VIEW view_name [(column1, column2,… )]
AS SELECT statement FROM table_name
[WITH CHECK OPTION];
Contoh : CREATE VIEW MHSv AS SELECT * FROM MHS;
Ket : View_name : nama view yang akan dibuat.
Column : nama atribut untuk view.
Statement : atribut yang akan dipilih dari table basis data.
Table_name : nama table basis data.
Drop database : untuk menghapus database
Syntax : Drop database nama_db;
Contoh : Drop database Perkuliahan;
Drop table : untuk menghapus tabel
Syntax : Drop table nama_table;
Contoh : Drop table MHS;
Drop index : untuk menghapus index
Syntax : Drop index nama_index;
Contoh : Drop index KRSx;
Drop view : untuk menghapus view
Syntax : Drop view nama_view;
Contoh : Drop view MHSv;
Alter table : untuk mengubah table
Syntax : ALTER TABLE nama_table
ADD (nama_kolom_baru type_kolom
[BEFORE nama_kolom])
MODIFY (nama_kolom_lama type_kolom)
DROP (nama_kolom_lama type_kolom);
Contoh : ALTER TABLE MHS ADD (JKEL char(1));

2. Data Manipulation Languange ( DML )
DML (Data Manipulation Language) yaitu bahasa / perintah sql yang digunakan untuk memanipulasi data seperti menampilkan data, menambah / mengisi data, mengubah data dan menghapus data. Yang termasuk dalam perintah ini adalah SELECT, INSERT, UPDATE, dan DELETE.
DML (Data Manipulation Language) Perintah yang dapat digunakan untuk memodifikasi isi dari database
- Bahasa untuk mengakses basis data
- Bahasa untuk mengolah basis data
- Bahasa untuk memanggil fungsi-fungsi agregasi
- Bahasa untuk melakukan query
- Jenis-jenis query:
· Sederhana
· Join
· Bertingkat ( Nested Query )
Gambar 4. Create Query


Gambar 5. Contoh insert,delete pada office acces



INSERT
Syntax : INSERT INTO nama_table [(nama_kolom,..)] VALUES
(data1,...);
Contoh : INSERT INTO MKUL VALUES (”KK222”,”BERKAS
Akses”,2);
Atau
INSERT INTO MKUL (KDMK,MTKUL,SKS) VALUES
(”KK222”,”BERKAS Akses”,2);
UPDATE
Syntax : UPDATE nama_tabel SET nama_kolom=ekspresi
WHERE kondisi;
Contoh :
1. Ubah alamat menjadi depok untuk mahasiswa yang memiliki
NPM ”12100748”
UPDATE MHS SET Alamat=”Depok” WHERE
NPM=”12100748”;
2. Ubah nilai mid dengan menambahkan nilai 10 untuk kode
mata kuliah ”KK021”
UPDATE NILAI SET MID+10 WHERE KDMK=”KK021”;
DELETE
Syntax : DELETE FROM nama_table [WHERE kondisi];
Contoh : DELETE FROM NILAI WHERE NPM=”12100748” AND
KDMK=”KK021’;
SELECT
Syntax : SELECT [(DISTINCT)] nama_kolom
FROM nama_table
[WHERE kondisi]
[GROUP BY nama_kolom]
[HAVING kondisi]
[ORDER BY nama_kolom [ASC/DESC]];
Contoh:
Satu table (simple query)
 Tampilkan semua data mahasiswa
SELECT NPM,Nama,Alamat,Kota FROM MHS;
atau SELECT * FROM MHS;
 Tampilkan mata kuliah yang SKSnya 2
SELECT MTKUL FROM MKUL WHERE SKS=2;
 Tampilkan semua data nilai untuk yang memperoleh nilai mid
sekurang-kurangnya 60 atau nilai final diatas 75
SELECT * FROM NILAI WHERE MID>=60 OR FINAL>75;
 Tampilkan npm, kode mata kuliah dan nilai mid untuk nilai mid
antara 70 sampai dengan 100
SELECT NPM,KDMK,MID FROM NILAI WHERE BETWEEN 70 AND
100;
 Tampilkan nama mahasiswa yang diawali denga huruf ”P”
SELECT Nama FROM MHS WHERE Nama LIKE ”P%”;
 Tampilkan nama mahasiswa untuk nama mahasiswa yang tidak
mengandung unsur huruf ”a”
SELECT Nama FROM MHS WHERE Nama NOT LIKE ”%a%”;
 Tampilkan nama mahasiswa untuk nama mahasiswa yang
karakter keduanya huruf ”u”
SELECT Nama FROM MHS WHERE Nama LIKE ”_U%”;
 Tampilkan alamat mahasiswa, dimana alamat yang sama hanya
ditampilkan satu kali saja
SELECT DISTINCT Alamat FROM MHS;
 Tampilkan semua data mahasiswa dengan nama terurut dari ”z”
ke ”a”
SELECT * FROM MHS ORDER BY Nama DESC;
 Tampilkan alamat dan jumlah mahasiswa yang bertempat tinggal
dialamat tersebut
SELECT Alamat, COUNT(*) FROM MHS GROUP BY Alamat;
 Tampilkan alamat dan jumlah mahasiswa yang bertempat tinggal
pada alamat yang jumlahnya lebih dari 1
SELECT Alamat, COUNT (*) FROM MHS GROUP BY ALAMAT
HAVING COUNT (*) > 1;
 Tampilkan nilai mid tertinggi dan terendah untuk mata kuliah
”KD132”
SELECT MAX(MID), MIN(MID) FROM NILAI WHERE KDMK=”KD
132”;
 Tampilkan rata-rata dan jumlah nilai final mata kuliah ”KD132”
SELECT AVG(FINAL), SUM(FINAL) FROM NILAI WHERE
KDMK=”KD132”;
Contoh lebih dari 1 tabel
1. Tampilkan nama mahasiswa yang mempunyai nilai mid < 60
SELECT NAMA FROM MHS WHERE NPM IN
(SELECT NPM FROM NILAI WHERE MID < 60);
JOIN : penggabungan kolom
SELECT NAMA FROM MHS, NILAI
WHERE MHS.NPM = NILAI.NPM AND NILAI.MID < 60;
2. Tampilkan nama mahasiswa yang mengambil mata kuliah SIM
SELECT NAMA FROM MHS WHERE NPM IN
(SELECT NPM FROM NILAI WHERE KDMK IN
(SELECT KDMK FROM MKUL WHERE MTKUL = ”SIM”));
JOIN : penggabungan kolom
SELECT NAMA FROM MHS, NILAI, MKUL
WHERE MKUL.MTKUL = ”SIM” AND
NILAI.KDMK = MKUL.KDMK AND MHS.NPM = NILAI.NPM;
3. Tampilkan nama mahsiswa yang tidak mengambil mata kuliah
”KK021”
SELECT NAMA FROM MHS WHERE NOT EXISTS
(SELECT * FROM NILAI WHERE NILAI.NPM = MHS.NPM AND
KDMK = ”KK021”);
4. Tampilkan npm mahasiswa yang bernama Budi atau yang
memiliki nilai final > 75
SELECT NPM FROM MHS WHERE NAMA = ”BUDI”
UNION SELECT NPM FROM NILAI WHER FINAL > 75;

Tidak ada komentar:

Posting Komentar