TUGAS 10 PPL

DESAIN DATABASE
Bapak Fajar Baskoro, S.Kom., M.T. 


Deskripsi Database Design Instagram

Basis data untuk platform media sosial menawarkan serangkaian fitur yang dirancang untuk mendukung manajemen pengguna, penyimpanan konten, interaksi pengguna, pembaruan waktu nyata, dan analitik. Desain database Instagram adalah arsitektur penyimpanan data yang mendukung berbagai fitur aplikasi Instagram seperti penyimpanan foto dan video, pengguna, hubungan sosial (follower/following), komentar, likes, dan lain-lain. Database ini harus sangat terukur, efisien, dan dapat diandalkan untuk menangani miliaran pengguna dan transaksi per detik.

Design

1. Tabel Pengguna


  • UserID (Primary Key): Ini adalah pengidentifikasi unik untuk setiap pengguna.
  • Nama Pengguna : Nama tampilan pengguna.
  • Email : Alamat email pengguna untuk kontak dan login.
  • PasswordHash : Kata sandi yang di-hash dengan aman untuk otentikasi pengguna.
  • ProfilePicture : Ini adalah URL atau referensi ke gambar profil pengguna.
  • Bio: Bio profil pengguna.
  • CreatedAt : Stempel waktu saat akun pengguna dibuat.

2. Tabel Posting


  • PostID (Primary Key): Ini adalah pengidentifikasi unik untuk setiap posting.
  • UserID : Pengidentifikasi untuk pengguna yang membuat postingan.
  • ContentURL : Merupakan URL atau referensi ke foto atau video.
  • Caption : Teks caption yang menyertai postingan.
  • CreatedAt : Ini adalah Stempel Waktu saat postingan dibuat.

3. Tabel Komentar


  • CommentID (Kunci Utama): Ini adalah pengidentifikasi unik untuk setiap komentar.
  • PostID : Pengidentifikasi untuk postingan terkait.
  • UserID : Pengenal pengguna yang memberikan komentar.
  • Content : Isi teks komentar.
  • CreatedAt : Stempel waktu ketika komentar dibuat.

4. Tabel Suka



  • LikeID (Primary Key): Ini adalah pengidentifikasi unik untuk setiap suka.
  • PostID : Pengidentifikasi untuk postingan yang disukai.
  • UserID : Pengenal pengguna yang menyukai postingan.
  • CreatedAt : Stempel waktu saat suka dibuat.

5. Tabel Ikuti 


  • FollowerID : Pengidentifikasi untuk pengguna yang mengikuti.
  • FolloweeID : Pengidentifikasi untuk pengguna yang diikuti.
  • CreatedAt : Stempel waktu saat hubungan berikut terjalin.

Hubungan Antar Entitas

Berdasarkan entitas dan atribut yang disediakan, hubungan di antara mereka dapat ditentukan untuk membangun aliran data dan ketergantungan dalam database platform media sosial.

1. Hubungan One-to-Many antara Pengguna dan Postingan:

  • Satu pengguna dapat membuat banyak postingan.
  • Setiap postingan dibuat oleh satu pengguna.
  • Oleh karena itu, hubungan antara Pengguna dan Postingan adalah hubungan One-to-Many.

2. Hubungan One-to-Many antara Postingan dan Komentar:

  • Satu postingan bisa mendapat banyak komentar.
  • Setiap komentar dikaitkan dengan satu postingan.
  • Oleh karena itu, hubungan antara Postingan dan Komentar adalah hubungan One-to-Many.

3. Hubungan One-to-Many antara Posting dan Suka:

  • Satu postingan bisa mendapat banyak suka.
  • Setiap suka dikaitkan dengan satu postingan.
  • Oleh karena itu, hubungan antara Post dan Like adalah hubungan One-to-Many.

4. Hubungan One-to-Many antara Pengguna dan Komentar:

  • Satu pengguna dapat membuat banyak komentar.
  • Setiap komentar dibuat oleh satu pengguna.
  • Oleh karena itu, hubungan antara Pengguna dan Komentar adalah hubungan One-to-Many.

5. Hubungan One-to-Many antara Pengguna dan Suka:

  • Satu pengguna dapat menyukai beberapa postingan.
  • Setiap suka dibuat oleh satu pengguna.
  • Oleh karena itu, hubungan antara Pengguna dan Suka adalah hubungan One-to-Many.

6. Hubungan Many-to-Many antara Pengguna dan Follow:

  • Satu pengguna dapat mengikuti beberapa pengguna lainnya.
  • Satu pengguna dapat diikuti oleh beberapa pengguna lainnya.
  • Oleh karena itu, hubungan antara Pengguna dan Ikuti adalah Many-to-Many. 

Komentar

Postingan populer dari blog ini

TUGAS 1 PPB

TUGAS 5 PPL

TUGAS 3 PPL