Tugas 10 - Desain Database
- Dapatkan link
- X
- Aplikasi Lainnya
Desain Database
Berikut adalah desain basis data yang lebih terperinci untuk aplikasi seperti Instagram. Desain ini mencakup tabel-tabel utama dan hubungan antara mereka:
Tabel users:
Menyimpan informasi pengguna.
Kolom Tipe Data Deskripsi
-----------------------------------------------------------
user_id INT Primary key, auto-increment
username VARCHAR Nama pengguna, unik
email VARCHAR Email pengguna, unik
password VARCHAR Kata sandi pengguna, terenkripsi
full_name VARCHAR Nama lengkap pengguna
bio VARCHAR Biografi pengguna
profile_image VARCHAR URL gambar profil
created_at TIMESTAMP Waktu pembuatan akun
updated_at TIMESTAMP Waktu pembaruan terakhir
Tabel posts:
Menyimpan informasi postingan pengguna.
Kolom Tipe Data Deskripsi
-----------------------------------------------------------
post_id INT Primary key, auto-increment
user_id INT Foreign key ke tabel `users`
image_url VARCHAR URL gambar postingan
caption TEXT Deskripsi postingan
location VARCHAR Lokasi postingan
created_at TIMESTAMP Waktu unggah postingan
updated_at TIMESTAMP Waktu pembaruan terakhir
Tabel comments:
Menyimpan komentar pengguna pada postingan.
Kolom Tipe Data Deskripsi
-----------------------------------------------------------
comment_id INT Primary key, auto-increment
post_id INT Foreign key ke tabel `posts`
user_id INT Foreign key ke tabel `users`
comment TEXT Isi komentar
created_at TIMESTAMP Waktu pembuatan komentar
updated_at TIMESTAMP Waktu pembaruan terakhir
Tabel likes:
Menyimpan informasi like yang diberikan oleh pengguna pada postingan.
Kolom Tipe Data Deskripsi
-----------------------------------------------------------
like_id INT Primary key, auto-increment
post_id INT Foreign key ke tabel `posts`
user_id INT Foreign key ke tabel `users`
created_at TIMESTAMP Waktu like diberikan
Tabel follows:
Menyimpan informasi pengguna yang diikuti oleh pengguna lain.
Kolom Tipe Data Deskripsi
-----------------------------------------------------------
follow_id INT Primary key, auto-increment
follower_id INT Foreign key ke tabel `users` (pengikut)
following_id INT Foreign key ke tabel `users` (yang diikuti)
created_at TIMESTAMP Waktu pengguna mulai mengikuti pengguna lain
Tabel messages:
Menyimpan pesan yang dikirim oleh pengguna melalui fitur Direct Messaging.
Kolom Tipe Data Deskripsi
-----------------------------------------------------------
message_id INT Primary key, auto-increment
sender_id INT Foreign key ke tabel `users` (pengirim)
receiver_id INT Foreign key ke tabel `users` (penerima)
content TEXT Isi pesan
created_at TIMESTAMP Waktu pengiriman pesan
Tabel notifications:
Menyimpan notifikasi yang diterima oleh pengguna.
Kolom Tipe Data Deskripsi
-----------------------------------------------------------
notification_id INT Primary key, auto-increment
user_id INT Foreign key ke tabel `users`
type VARCHAR Tipe notifikasi
related_id INT ID terkait
created_at TIMESTAMP Waktu notifikasi dibuat
read_at TIMESTAMP Waktu notifikasi dibaca
Relasi Antar Tabel:
userskeposts: One-to-Many (Seorang pengguna dapat memiliki banyak postingan)userskecomments: One-to-Many (Seorang pengguna dapat memiliki banyak komentar)postskecomments: One-to-Many (Satu postingan dapat memiliki banyak komentar)userskelikes: One-to-Many (Seorang pengguna dapat memberikan banyak like)postskelikes: One-to-Many (Satu postingan dapat menerima banyak like)userskefollows: Many-to-Many (Seorang pengguna dapat mengikuti banyak pengguna lain, dan diikuti oleh banyak pengguna lain)userskemessages: One-to-Many (Seorang pengguna dapat mengirim banyak pesan)userskenotifications: One-to-Many (Seorang pengguna dapat menerima banyak notifikasi)
Desain ini mencakup tabel-tabel utama dan hubungan antar tabel untuk mendukung fungsi-fungsi utama dari aplikasi seperti Instagram. Desain ini dapat disesuaikan lebih lanjut sesuai dengan kebutuhan spesifik aplikasi.
- Dapatkan link
- X
- Aplikasi Lainnya
Komentar
Posting Komentar