2012-11-30

Database: Data Definition Languages

seperti yang dibahas sebelumnya, kita mengenal DDL. Dimana DDL terdiri atas 3 hal yaitu Create (membuat), Alter (mengubah) dan Drop (menghapus). DDL ini lebih kepada database dibandingkan ke tablenya atau manipulasi table. Untuk membuat database jangan lupa kamu butuh akses yaitu akses membuat database dan juga jangan lupa perhatikan penamaan databasenya.

MEMBUAT DATABASE


Untuk membuat database, kita menggunakan
create database {nama database};
Bila di dalam console (ingat kita memakai console untuk menjalankan mysql). Kita langsung mengetiknya! Jangan lupa titik koma (;) di akhir perintah. Setelah dibuat maka database akan dapat digunakan.  Berikutnya mari kita lihat apa saja database yang ada di mysql anda! Pastikan akses anda adalah root atau yang setingkat.
show database;
dengan user berbeda maka hasilnya akan berbeda. Lalu lanjutkan memakai database dengan memakai
use {database};
Di dalam buku, kita diberitahu bahwa selain membuat dan menghapus (nantinya), kita juga dapat mengubah. Tetapi fakta di phpmyadmin bila akan melakukan pengubahan database, yang sebenarnya terjadi adalah kita menggandakan database ke nama yang baru dimana isinya yaitu table, view (tidak saat ini dipelajari) dan lain-lain akan di copy. setelah selesai barulah database bersangkutan di hapus. jadi tidak benar-benar ada pengubahan nama.

MENGHAPUS DATABASE

Untuk menghapus, gunakan perintah
drop database {database};
hati-hati tertukar dengan delete. Delete digunakan untuk isi dari table atau data table. Bukan database atau table.

MEMBUAT TABLE

untuk membuat table, standar penulisannya 
CREATE TABLE [nama table] {
   [field1] [tipe data] [etc]
   [field2] [tipe data] [etc]
   [field3] [tipe data] [etc]
} type= [tipe data]
ada beberapa option seperti key, default dan lain-lain yang sebenarnya lebih cocok dipelajari dari contoh dibandingkan dari tulisan.
CREATE TABLE IF NOT EXISTS `klinik_pasien` 
(
`pat_id` int(11) NOT NULL AUTO_INCREMENT,
`pat_name1` varchar(50) COLLATE latin1_general_ci NOT NULL,
`pat_name2` varchar(120) COLLATE latin1_general_ci NOT NULL,
`pat_com` int(11) NOT NULL,
`pat_ins` int(11) NOT NULL,

`pat_addr` text COLLATE latin1_general_ci NOT NULL,
`pat_addr2` varchar(255) COLLATE latin1_general_ci NOT NULL,
`pat_addr3` varchar(7) COLLATE latin1_general_ci NOT NULL,
`pat_gen` smallint(6) NOT NULL,
`pat_birth` date NOT NULL,

`pat_phone` varchar(255) COLLATE latin1_general_ci NOT NULL,
`pat_inp` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
`pat_desc` text COLLATE latin1_general_ci NOT NULL,
`pat_blood` char(10) COLLATE latin1_general_ci NOT NULL,
`pat_dataEdit` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',

`pat_religi` int(11) NOT NULL,
`pat_status` tinyint(1) NOT NULL,
`pat_wni` varchar(50) COLLATE latin1_general_ci NOT NULL DEFAULT 'Indonesia',
PRIMARY KEY (`pat_id`)

ENGINE=MyISAM
Dari tulisan di atas kita dapat pelajari tentang format tipe yang dapat dibentuk di database. Namun pekerjaan ini sebenarnya tergantung kita, mau memanfaatkan phpmyadmin atau mengetiknya manual. Jangan takut salah, saya mengharapkan kt belajar yang benar khan!!

Bentuk di atas sebenarnya tidak dibuat dengan normalisasi tetapi dengan pemikiran sendiri. Memang kembali kepada pengalaman bagaimana bagusnya. Dari format di atas kita melihat untuk menulis field kita bisa menulis
[nama field] [tipe]([panjang]) [tipe tulisan] [default]
dibagian akhir kita melihat primary key
 PRIMARY KEY (`pat_id`)
menjelaskan bahwa pat_id memiliki kunci utama. Sebenarya lebih baik kunci utama 1 field saja, walau tidak menutup kemungkinan bisa lebih dari 1 kunci tapi dideklarasi
PRIMARY KEY (`pat_id`, `pat_other`)

CREATE TABLE IF NOT EXISTS `klinik_pasienmr` (
`pmr_pat` int(11) NOT NULL,
`pat_mr` varchar(15) NOT NULL,
PRIMARY KEY (`pmr_pat`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
mungkin saat ini anda bertanya kenapa ada
IF NOT EXIST

ini berarti bila table sudah ada maka tidak akan dibuat di database tesebut. Untuk drop ikuti step di atas, dan hati-hati dalam menjalankanya. Berikutnya kita langsung membuat isinya atau dikenal sebagai DML

Tidak ada komentar: