Perancangan Perangkat Lunak - Tugas Pertemuan 14

Tugas Pertemuan 14

Al-Ferro Yudisthira Putra

5025211176

Mata Kuliah PPL (A)



Database Design

Basis data untuk Instagram dirancang untuk menyimpan informasi penting terkait pengguna, interaksi sosial, konten yang diunggah, dan feed pengguna. Berikut adalah penjelasan tentang setiap tabel dan bagaimana mereka saling berhubungan:

1. Users (Pengguna)

  • userId: string (Primary Key)
  • name: string
  • emailId: string
  • creationDateInUtc: long

2. User_Follows (Pengguna_Mengikuti)

  • followingUserId_followerUserId: string (Primary Key)
  • followingUserId: string (Sort Key, Foreign Key referencing Users.userId)
  • followerUserId: string
  • creationDateInUtc: long

3. User_uploads (Unggahan_Pengguna)

  • uploadId: string (Primary Key)
  • userId: string (Sort Key, Foreign Key referencing Users.userId)
  • imageLocation: string
  • uploadDateInUtc: long
  • caption: string

4. User_feed (Feed_Pengguna)

  • userId: string (Primary Key, Foreign Key referencing Users.userId)
  • uploadId: string
  • creationDateInUtc: long (Sort Key)

Relasi:

  1. Users (Pengguna):

    • Tidak ada referensi langsung ke tabel lain, tetapi tabel lain mengacu pada userId sebagai kunci asing.
  2. User_Follows (Pengguna_Mengikuti):

    • followingUserId merujuk ke Users.userId untuk menunjukkan pengguna mana yang diikuti oleh pengguna lain (followerUserId).
  3. User_uploads (Unggahan_Pengguna):

    • userId merujuk ke Users.userId untuk menunjukkan pengguna mana yang melakukan unggahan foto atau video.
  4. User_feed (Feed_Pengguna):

    • userId merujuk ke Users.userId untuk menunjukkan pengguna mana yang memiliki entri feed tertentu.

Catatan:

  • Kunci asing (Foreign Key) digunakan dalam User_Follows dan User_uploads untuk membangun hubungan antar tabel, memungkinkan integritas referensial dan konsistensi data.
  • Desain ini memfasilitasi operasi yang efisien untuk fitur-fitur seperti mengikuti pengguna, menampilkan feed pengguna, dan mengelola unggahan pengguna.

Dengan cara ini, basis data Instagram dapat diimplementasikan dengan struktur yang memungkinkan pengelolaan data yang efisien dan konsisten sesuai dengan kebutuhan platform sosial media yang besar dan dinamis.


Ketika memilih jenis database untuk sistem Instagram, penting untuk mempertimbangkan kebutuhan spesifik seperti struktur relasional data, keterurutan data (misalnya, unggahan dalam urutan kronologis), ketahanan data tanpa kehilangan, dan kemampuan untuk melakukan kueri relasional seperti mengambil informasi pengikut atau unggahan berdasarkan ID pengguna. Dalam konteks ini, database berbasis SQL adalah pilihan yang sesuai karena mampu memenuhi persyaratan ini dengan baik.


Comments

Popular posts from this blog

Perancangan Perangkat Lunak - Evaluasi Akhir Semester

Perancangan Perangkat Lunak - Tugas Pertemuan 11

Perancangan Perangkat Lunak - Tugas Pertemuan 10