Showing posts with label mysql. Show all posts
Showing posts with label mysql. Show all posts

Sunday, September 28, 2014

memahami primary key dan foreign key

Dalam pembuatan table pada database sudah tidak asing lagi jika memerlukan primary key dan foreign key. Primary key merupakan field kunci atau field utama pada sebuah table yang memberikan suatu identitas data ditable tersebut, karena column pada table tersebut tidak dapat diisi dengan data yang sama. Foreign key adalah field relasi dari primary key sehingga dapat diganakan untuk membuat suatu relasi antar dua table atau lebih yang memiliki primary key maupun foreign key.

MYSQL merupakan salah satu database yang sering digunakan oleh developer aplikasi web. Dalam pembuatan table dalam database sering menggunakan primary key dan foreign key untuk membuat suatu relasi antar table. Secara teori saya masih sulit menjelaskan mungkin karena saya kurang dalam membaca buku, tetapi saya akan mencoba dengan beberapa hal yang saya coba menggunakan MYSQL.

Pertama kali saya membuat table dengan nama MD_KATEGORI_PAKAIAN.

CREATE TABLE MD_KATEGORI_PAKAIAN(
KD_KATEGORI_PAKAIAN VARCHAR(11) PRIMARY KEY,
NM_KATEGORI_PAKAIAN VARCHAR(12),
KET_KATEGORI_PAKAIAN TEXT) TYPE = INNODB;

Table yang saya buat menyertakan TYPE=INNODB, karena sebelumnya table yang saya buat tidak menyertakan TYPE=INNODB tidak dapat bekerja sesuai dengan keinginan saya. Kebanyakan database secara default jika membuat table dengan primary key dan foreign key sudah saling mengikat. Jika saya belum membuat data untuk primary key maka tidak dapat menambahkan data untuk foreign key, akan muncul error "Cannot add or update a child row: a foreign key constraint fails". 

Selanjutnya membuat table dengan dama D_PAKAIAN

CREATE TABLE D_PAKAIAN(
KD_DATA_PAKAIAN VARCHAR(11),
KD_KATEGORI_PAKAIAN VARCHAR(11),
UMUR VARCHAR(11),
MERK_PAKAIAN VARCHAR(50),
STOK_PAKAIAN INT(11),
KET_PAKAIAN TEXT,
HARGA INT(30),
IMG_KATEGORI_PAKAIAN LONGBLOB,
PRIMARY KEY (KD_DATA_PAKAIAN),
FOREIGN KEY (KD_KATEGORI_PAKAIAN) REFERENCES MD_KATEGORI_PAKAIAN(KD_KATEGORI_PAKAIAN) ON UPDATE CASCADE ON DELETE CASCADE) TYPE=INNODB;

table diatas menyertakan foreign key yang ON DELETE CASCADE , ON UPDATE CASCADE dan TYPE = INNODB. ON DELETE CASCADE berfungsi jika column data primary key dihapus maka data yang sama di foreign key secara otomatis juga akan terhapus. ON UPDATE CASCADE berfungsi jika data pada primary key di update maka data pada foreign key secara otomatis akan terupdate.

Hanya ini yang dapat saya sampaikan tentunya ada kesalahan jika kebetulan ada yang membaca dan menemukan kesalahan dalam pemahaman saya tolong dibenarkan dan saya sangat senang untuk memperbaikinya. Karena tulisan ini hanya sebagai pengingat saja. 

Thursday, March 6, 2014

sql in mysql

Sql (Structured Query Language) menurut saya adalah bahasa didalam hubungan relasional database, pengartian tersebut hanya untuk mempermudah saya saja dalam pengimlentasiannya. Pengartian yang sebenarnya dapa di pahami sesuai imajinasi masing masing di http://id.wikipedia.org/wiki/SQL. Pertama kali memahami bahasa sql harus menguasai tentang select insert update dan perintah perintah dasar lainnya.

MySQL menurut saya lagi adalah software database yang menggunakan perintah SQL untuk mengelolanya. Pemahaman saya tersebut saya peroleh dari http://id.wikipedia.org/wiki/MySQL. MySQL yang merupakan salah satu software database yang bisa menjadi salah satu referensi untuk belajar pengelolaan database. Database MySQL biasanya diimplementasikan dengan bahasa pemrograman PHP untuk membangun sebuah aplikasi yang berbasis web.

Perintah SQL sangat banyak sehingga saya perlu mencatatnya satu persatu agar tidak terlupa. Saya akan menuliskan dibawah tentang perintah-perintah SQL di MySQL yang pernah saya gunakan.

Untuk menampilkan semua isi dalam tabel
SELECT * FROM NAMA_TABLE

Untuk melihat semua database yang pernah dibuat
SHOW DATABASES

Untuk melihat tabel yang pernah dibuat
SHOW TABLES

Untuk menggunakan database
USE NAMA_DATABASE

Untuk menampilkan struktur column dalam table
DESCRIBE NAMA_TABLE

Untuk mengubah type data pada calomn table
ALTER TABLE NAMA_TABLE
MODIFY COLUMN NAMA_COLUMN TYPE_DATA_BARU;

Untuk mnambahkan column baru pada table
ALTER TABLE TABLE_NAME
ADD COLUMN COL_NAME COL_DEFINITION
FIRST | AFTER COL_NAME