Advertisement
eyuprog

Contoh normalisasi Database

Oct 11th, 2017
145
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.59 KB | None | 0 0
  1. Normalisasi Database pada Content Management System
  2. ========================================================
  3.  
  4. Sepertinya banyak yang bikin satu fitur dalam satu table hehe. Nah kali ini saya akan menjelaskan normalisasi database
  5. agar mudah digunakan pada aplikasi.
  6.  
  7. 1. Kasus : ada fitur berita, halaman, video, dokumen,album
  8.  
  9. 2. Kebutuhan field :
  10. Kita harus memikirkan agar tidak banyak membuat table karena relasinya akan ribet dan pusing lihat list table :D
  11. Jadi mari kita bikin table master konten dengan kondisinya :
  12. a. Setiap fitur ada judul
  13. b. Setiap fitur dibedakan pada satu field
  14. c. Setiap fitur bisa menggunakan isi konten atau tidak
  15.  
  16. Table konten
  17. - ID (AUTO_INCREMENT)
  18. - judul (varchar 255)
  19. - kategori (int NULL) // Cuma ambil sample jika fitur tidak menggunakan kategori maka isinya NULL
  20. - isi (longtext) // dalam field isi bisa jadi memuat teks yang banyak seperti berita dan halaman
  21. - 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
  22.  
  23. 3. Relasi konten
  24. Nah, karena setiap fitur berbeda referensi, maka buat field berdasarkan key nya, contoh :
  25. Fitur video membutuhkan url video, bisa jadi kita bikin key nya video-url, video-thumbnail
  26.  
  27. Jadi rangkuman yang dapat kita cerna adalah setiap fitur mempunyai kondisi tertentu, kira2 field table seperti ini :
  28.  
  29. Table konten_relasi
  30. - ID (AUTO_INCREMENT)
  31. - konten_id (INT) // Foreign key dari table konten
  32. - relasi_key (INDEX varchar 30) // Key dari fitur
  33. - relasi_value (TEXT NULL) // bisa jadi isinya panjang,pendek atau kosong
  34.  
  35. 4. Implementasi
  36. Sekarang yuk kita coba
  37.  
  38. Berita :
  39. A. Table konten
  40. ID = 1
  41. judul = Ini judul berita
  42. kategori_id = 10 (anggap aja ada :D )
  43. isi = bla bla bla bla
  44. fitur = 0
  45.  
  46. B. Table konten_relasi
  47. ID = AUTO
  48. konten_id = 1 (diambil dari ID konten)
  49. relasi_key = gambar
  50. relasi_value = http://domain/img/news.jpg
  51.  
  52. Dokumen :
  53. A. Table konten
  54. ID = 2
  55. judul = Ini judul dokumen
  56. kategori_id = NULL
  57. isi = NULL
  58. fitur = 3
  59.  
  60. B. Table konten_relasi
  61. ID = AUTO
  62. konten_id=2
  63. relasi_key=file_dokumen
  64. relasi_value=inidokumen.pdf
  65.  
  66. Video :
  67. A. Table konten
  68. ID = 3
  69. judul = Ini judul video
  70. kategori_id = NULL
  71. isi = Deskripsi video bla bla bla
  72. fitur = 2
  73.  
  74. B. Table konten_relasi (misal punya entri 2 di table_relasi)
  75. ID = AUTO
  76. konten_id=3
  77. relasi_key=video-url
  78. relasi_value=http://youtube/v?=123123
  79.  
  80.  
  81. ID = AUTO
  82. konten_id=3
  83. relasi_key=video-thumbnail
  84. relasi_value=http://imgyoutube/1.jpg
  85.  
  86. Nah, gimana ? tidak sulit bukan untuk normalisasi database pada content management system
  87.  
  88. Regards,
  89. Heru Rahmat Akhnuari
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement