Forum diskusi online adalah situs tempat orang dapat mengadakan percakapan dalam bentuk pesan . yang diposting . Forum diskusi memungkinkan percakapan terjadi saat orang tidak online, dan pesan mungkin diarsipkan untuk sementara. Juga, tergantung pada pengaturan forum, sebuah pesan mungkin perlu disetujui oleh moderator sebelum dapat dilihat oleh pengguna lain. Forum memiliki serangkaian istilah tertentu, misalnya, satu percakapan umumnya disebut sebagai "utas". Utas dapat dibalas oleh sebanyak mungkin orang. Sebagian besar forum mengharuskan pengguna untuk mendaftar dan kemudian masuk untuk mengirim pesan. Namun, di sebagian besar forum, pengguna tidak perlu masuk untuk membaca pesan yang ada.
Ini adalah persyaratan umum untuk forum situs web , jadi mari kita bekerja untuk membuat model database yang dimulai dengan pengaturan forum dasar yang dapat kita kembangkan nanti.
Entitas
Seperti yang disebutkan sebelumnya, orang mengadakan percakapan dalam bentuk pesan yang diposting yang dikelompokkan dalam percakapan. Jadi database perlu mendukung informasi tentang orang atau pengguna , percakapan atau utas dan pesan atau pos .
Untuk forum online, pengguna perlu dibuat – mungkin perlu mengizinkan pengguna untuk mengedit detail mereka setelah dibuat, tetapi mungkin tidak perlu mengizinkan penghapusan pengguna. Pengguna akan membuat percakapan, atau utas, umumnya dengan memposting pesan pertama ke forum, daripada membuat percakapan secara eksplisit, tetapi mungkin perlu untuk mendukung kedua kemungkinan tersebut. Utas akan berisi pos yang dibuat oleh pengguna.
Fungsionalitas
Memposting pesan adalah fungsi utama forum online . Haruskah pengguna dapat mengedit pesan setelah diposting? Haruskah pengguna dapat menghapus pesan setelah memposting? Jawaban untuk keduanya mungkin ya.
Hubungan
Postingan ditautkan ke utas dan postingan dibuat oleh pengguna, jadi akan ada hubungan yang ditentukan antara pengguna dan posting. Utas dibuat oleh pengguna sehingga Anda harus menyimpan hubungan di sana (misalnya, jika pengguna diblokir dari forum, Anda mungkin ingin menghapus semua utas dan pos yang dibuat pengguna tersebut).
Sekarang setelah Anda mengetahui entitas dan hubungan , Anda siap untuk membangun model database, dan itu hanya membutuhkan waktu beberapa menit. Di sinilah alat berguna.
Model Basis Data
Mari kita lihat Vertabelo untuk melanjutkan forum diskusi online.
Buat model untuk forum online dan mulai tambahkan di entitas mewakili pengguna, utas, dan pos. Vertabelo akan mengingatkan Anda bahwa Anda perlu mendefinisikan kunci utama untuk setiap tabel; Saya sarankan menggunakan id
kolom karena itu akan memberi Anda lebih banyak potensi fleksibilitas (dan tidak akan mengikat Anda dengan nama pengguna sebagai kunci utama atau perangkap lainnya). Selanjutnya, tambahkan hubungan yang sudah kami jelaskan sebelumnya. Saya telah menambahkan kata sandi (dalam bentuk hash) bagi pengguna untuk mengontrol login pengguna.
Sekarang, Anda akan mendapatkan sesuatu yang kira-kira terlihat seperti ini:
Anda akan melihat bahwa ada stempel waktu dengan tanggal/waktu pembuatan setiap baris, sehingga informasi tersebut dapat ditampilkan di forum (“Pengguna sejak 2 Februari 2014”, “Tanggal diposting:24 Desember 2014”, dll. ).
Jika Anda ingin dimoderasi forum diskusi online di mana pesan harus disetujui oleh moderator sebelum terlihat oleh pengguna lain, maka Anda harus menambahkan item status ke utas dan posting sehingga aplikasi dapat memutuskan apakah utas dan posting terkait telah ditinjau dan disetujui. Status juga memungkinkan pengguna lain untuk menandai rangkaian pesan dan postingan sebagai spam atau tidak pantas.
Saya harap Anda sudah bisa mulai memikirkan perbaikan. Misalnya, jika Anda memerlukan detail formal tentang pengguna, alih-alih satu bidang "nama", Anda mungkin menginginkan nama depan, nama belakang, dan nama pengguna atau nama panggilan mereka. Dan sebuah postingan mungkin memiliki subjek selain konten, tetapi menurut saya subjek postingan tersebut ditautkan kembali ke utas sehingga mungkin tidak diperlukan.
Bagian Selanjutnya » |