Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Normalisasi Database pada Content Management System
- ========================================================
- Sepertinya banyak yang bikin satu fitur dalam satu table hehe. Nah kali ini saya akan menjelaskan normalisasi database
- agar mudah digunakan pada aplikasi.
- 1. Kasus : ada fitur berita, halaman, video, dokumen,album
- 2. Kebutuhan field :
- Kita harus memikirkan agar tidak banyak membuat table karena relasinya akan ribet dan pusing lihat list table :D
- Jadi mari kita bikin table master konten dengan kondisinya :
- a. Setiap fitur ada judul
- b. Setiap fitur dibedakan pada satu field
- c. Setiap fitur bisa menggunakan isi konten atau tidak
- Table konten
- - ID (AUTO_INCREMENT)
- - judul (varchar 255)
- - kategori (int NULL) // Cuma ambil sample jika fitur tidak menggunakan kategori maka isinya NULL
- - isi (longtext) // dalam field isi bisa jadi memuat teks yang banyak seperti berita dan halaman
- - fitur (INDEX TINYINT 1 : 0 berita, 1 halaman, 2 video, 3 dokumen,4 album) // Kenapa harus integer? karena pencarian data type integer lebih cepat daripada string
- 3. Relasi konten
- Nah, karena setiap fitur berbeda referensi, maka buat field berdasarkan key nya, contoh :
- Fitur video membutuhkan url video, bisa jadi kita bikin key nya video-url, video-thumbnail
- Jadi rangkuman yang dapat kita cerna adalah setiap fitur mempunyai kondisi tertentu, kira2 field table seperti ini :
- Table konten_relasi
- - ID (AUTO_INCREMENT)
- - konten_id (INT) // Foreign key dari table konten
- - relasi_key (INDEX varchar 30) // Key dari fitur
- - relasi_value (TEXT NULL) // bisa jadi isinya panjang,pendek atau kosong
- 4. Implementasi
- Sekarang yuk kita coba
- Berita :
- A. Table konten
- ID = 1
- judul = Ini judul berita
- kategori_id = 10 (anggap aja ada :D )
- isi = bla bla bla bla
- fitur = 0
- B. Table konten_relasi
- ID = AUTO
- konten_id = 1 (diambil dari ID konten)
- relasi_key = gambar
- relasi_value = http://domain/img/news.jpg
- Dokumen :
- A. Table konten
- ID = 2
- judul = Ini judul dokumen
- kategori_id = NULL
- isi = NULL
- fitur = 3
- B. Table konten_relasi
- ID = AUTO
- konten_id=2
- relasi_key=file_dokumen
- relasi_value=inidokumen.pdf
- Video :
- A. Table konten
- ID = 3
- judul = Ini judul video
- kategori_id = NULL
- isi = Deskripsi video bla bla bla
- fitur = 2
- B. Table konten_relasi (misal punya entri 2 di table_relasi)
- ID = AUTO
- konten_id=3
- relasi_key=video-url
- relasi_value=http://youtube/v?=123123
- ID = AUTO
- konten_id=3
- relasi_key=video-thumbnail
- relasi_value=http://imgyoutube/1.jpg
- Nah, gimana ? tidak sulit bukan untuk normalisasi database pada content management system
- Regards,
- Heru Rahmat Akhnuari
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement