DDL dan DML


DATA MODEL MAPPING (Perancangan database secara logik)

Pada tahap ini, skema konseptual ditransformasikan dari model data tingkat tinggi yang digunakan pada tahap Perancangan database secara konseptual seperti EER (Enhanced Entity Relationship) model ke dalam model data dari model data dari DBMS yang dipilih pada Pemilihan DBMS. Pemetaan tersebut dapat diproses dalam 2 tingkat:

  1. Pemetaan system-independent
    Pemetaan ke dalam model data DBMS dengan tidak mempertimbangkan karakteristik atau hal-hal yang khusus yang berlaku pada implementasi DBMS dari model data tersebut.
  2. Penyesuain skema ke DBMS yang spesifik
    Mengatur skema yang dihasilkan pada langkah 1 untuk disesuaikan pada implementasi yang khusus di masa yang akan datang dari suatu model data yang digunakan pada DBMS yang dipilih.Hasil dari tahap ini memakai perintah-perintah DDL (Data Definition Language) dalam bahasa DBMS yang dipilih yang menentukan tingkat skema konseptual dan eksternal dari sistem database. Tetapi dalam beberapa hal, perintah-perintah DDL memasukkan parameter-parameter rancangan fisik sehingga DDL yang lengkap harus menunggu sampai tahap perancangan database secara fisik telah lengkap.Tahap ini dapat dimulai setelah pemilihan sebuah implementasi model data sambil menunggu DBMS yang spesifik yang akan dipilih. Contoh: jika memutuskan untuk menggunakan beberapa relational DBMS tetapi belum memutuskan suatu relasi yang utama. Rancangan dari skema eksternal untuk aplikasi-aplikasi yang spesifik seringkali sudah selesai selama proses ini.
Semua perintah SQL dibagi dalam 2 kategori besar sesuai fungsinya, yaitu :
  • DDL – Data Definition Language
    merupakan kumpulan perintah SQL yang digunakan untuk membuatmengubah dan menghapus struktur dan definisi metadata dari objek-objek database.
  • DML – Data Manipulation Language
    merupakan kumpulan perintah SQL yang digunakan untuk proses pengolahan isi data di dalam table seperti memasukkan, merubah dan menghapus isi data – dan tidak terkait dengan perubahan struktur dan definisi tipe data dari objek database.
Mari kita lihat dari definisi dan contoh lebih lanjut pada bagian berikut di bawah ini.

DDL – Data Definition Language

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 – pada MySQL – adalah sebagai berikut :
  • Database
  • Table
  • View
  • Index
  • Procedure (Stored Procedure)
  • Function
  • Trigger
Contoh :
— Perintah berikut akan membuat table pada database kita dengan nama “ms_karyawan”
CREATE TABLE ms_karyawan (
  kode_cabang varchar(10) default NULL,
kode_karyawan varchar(10) NOT NULL,
nama_depan varchar(8) default NULL,
nama_belakang varchar(9) default NULL,
jenis_kelamin varchar(1) default NULL,
PRIMARY KEY  (kode_karyawan)
)

Daftar Perintah DDL pada MySQL 5.0

Berikut adalah contoh perintah DDL yang digunakan pada MySQL. Klik pada link untuk melihat rincian penggunaan dari perintah tersebut.
  • Pembuatan (CREATE)
  • Perubahan (ALTER & RENAME)
    • ALTER DATABASE
    • ALTER FUNCTION
    • ALTER PROCEDURE
    • ALTER TABLE
    • ALTER VIEW
    • RENAME TABLE
  • Penghapusan (DROP)
    • DROP DATABASE
    • DROP FUNCTION
    • DROP INDEX
    • DROP PROCEDURE
    • DROP TABLE
    • DROP TRIGGER
    • DROP VIEW

Tabel Matrix Perintah DDL MySQL 5.0

 OBJECT CREATE  ALTER  DROP RENAME 
 DATABASE  Yes Yes  Yes
 FUNCTION  Yes Yes  Yes
 INDEX  Yes  Yes
 PROCEDURE  Yes Yes  Yes
 TABLE  Yes Yes  Yes  Yes
 TRIGGER  Yes  Yes
 VIEW  Yes Yes  Yes

DML – Data Manipulation Language

DML sendiri adalah kumpulan perintah SQL yang berhubungan dengan pekerjaan mengolah data di dalam table – dan tidak terkait dengan perubahan struktur dan definisi tipe data dari objek database seperti table, column, dan sebagainya.

 
Contoh DML : Mengambil Seluruh Row Data dari table MS_KARYAWAN
 
SELECT * FROM ms_karyawan
 
Contoh DML : Memasukkan data ke dalam tabel ms_karyawan
 
INSERT INTO ms_karyawan(
kode_cabang,
kode_karyawan,
nama_depan,
nama_belakang,
jenis_kelamin)
VALUES (‘cab-001′,’kar-001′,’Feris’,’Thia’,’Laki-laki’);

Beberapa daftar Perintah DML MySQL 5.0

  • CALL
  • DELETE
  • DO
  • HANDLER
  • INSERT
  • LOAD DATA INFILE
  • REPLACE
  • SELECT
  • TRUNCATE
  • UPDATE

Secara dasar ada dua tipe DML yaitu procedural dan non procedural (Declarative DML)

Procedural DML

Procedural DML digunakan untuk memberi tahu sistem data apa yang dibutuhkan dan bagaimana cara mengambil data tersebut. Procedural DML di embed ke dalam bahasa pemrograman tingkat tinggi.

Contoh Procedural DML Menggunakan Java:

try{
	Statement st = connection.createStatement();
	ResultSet rs = st.executeQuery("SELECT * FROM mahasiswa");
	while(rs.next){
		String s = rs.getString(1);
		//dst...
	}
} catch(SQLException e){}

Baris Resultset menyatakan data apa yang dibutuhkan, dimana di dalam baris tersebut terdapat query SQL SELECT * FROM mahasiswa. Sedangkan baris while ke bawah menyatakan cara untuk mengambil data tersebut.

Non Procedural DML

Non procedural DML digunakan untuk menyatakan data apa yang dibutuhkan-bukan bagaimana data tersebut diambil. Non procedural disebut juga dengan declarative programming.

Contoh Non Procedural:

SELECT … FROM … WHERE …

INSERT INTO … VALUES …

UPDATE … SET … WHERE …

DELETE FROM … WHERE …

Contoh di dalam statement SQL:

INSERT INTO Persons (Id, LastName, FirstName) VALUES (5, 'Al Azhar', 'Fahmi')

DBMS

Berikut ini adalah penjelasan dari masing-masing fungsi database management system DBMS.

Data Dictionary Management

Data Dictionary adalah tempat dimana DBMS menyimpan definisi dari data (metadata) beserta relationshipnya. DBMS menggunakan fungsi ini untuk mencari relationship komponen data yang dibutuhkan. Data Dictionary tidak diperlihatkan kepada user dan digunakan oleh Database Administrator atau programmer.

Data Storage Management

DBMS memiliki fungsi khusus yaitu untuk menyimpan berbagai macam data yang diinputkan oleh user seperti report, data pribadi dan sebagainya. User tidak perlu tau bagaimana data tersebut disimpan di dalam database. Data Storage yang bertugas untuk mengatur hal tersebut agar penyimpanan data menjadi efisien dan cepat ketika diakses.

Data Transformation and Presentation

Data transformation and presentation berfungsi untuk mengubah data yang dimasukkan menjadi data structures. Dengan menggunakan data transformation and presentation DBMS dapat menentukan perbedaan antara data logical and physical.

Security Management

Keamanan adalah fungsi yang penting di dalam DBMS, maka dari itu diperlukan security management yang memberikan rule untuk menentukan user yang boleh atau tidak boleh mengakses database. User akan diberikan username dan password untuk dapat mengakses database. Selain itu user juga akan diberi batasan data apa saja yang boleh dia lihat.

Multiuser Access Control

Fungsi ini berhubungan erat dengan data integrity and data consistency. Multiuser access control memungkinkan banyak users untuk mengakses database secara simultan tanpa mempengaruhi integritas dari database.

Backup and Recovery Management

Backup dan recovery dilakukan ketika terjadi permasalahan dengan database, misalnya listrik mati, dan sebagainya. Recovery management menentukan berapa lama waktu yang dibutuhkan untuk mengembalikan database seperti semula setelah listrik mati. Backup management berfungsi untuk menjaga keamanan data dan integritas data tersebut. Contoh backup management adalah ketika kita melakukan back up file mp3 ke dalam flash disk.

Data Integrity Management

DBMS melakukan data integrity management untuk mengurangi terjadinya redundansi data. Redundansi adalah ketika data disimpan di lebih dari satu tempat padahal hal itu sebenarnya tidak terlalu dibutuhkan (redundansi tetap dibutuhkan tergantung dengan kondisi yang ada). Data integrity management memastikan bahwa redundansi data tersebut tidak berpengaruh terhadap query yang diberikan user sehingga hasil dari query selalu sama/benar.

Database Access Languages and Application Programming Interfaces

Bahasa Query adalah bahasa yang bersifat nonprocedural, contohnya adalah SQL (Structured Auery Language). SQL adalah bahasa query yang paling banyak disupport oleh sebagian besar vendor DBMS, hal ini karena SQL adalah bahasa yang mudah digunakan user untuk melakukan apa yang diinginkan terhadap database. Apalagi lagi SQL memiliki bahasa seperti bahasa manusia sehari-hari.

Database Communication Interfaces

Database communication interface bertugas untuk menentukan bagaimana cara DBMS menerima user request yang berbeda melalui network environment yang berbeda-beda. Contoh implementasi dari database communication interface ini dapat kita lihat pada browser (Google Chrome, Mozilla Firefox, Internet Explorer, Netscape, dsb) yang sedang mengakses database melalui internet. DBMS memberikan akses untuk mengambik data melalui Web Browser tersebut.

Transaction Management

Transaction management bertugas untuk menentukan bagaimana DBMS memberikan metode yang menjamin bahwa seluruh updates yang dilakukan pada saat transaksi dilakukan atau tidak dilakukan. Setiap transaksi yang dilakukan harus memenuhi syarat ACID (Atomicity, Consistency, Isolation, dan Durability).

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s