TUGAS PERTEMUAN 14 PPL - DESAIN DATABASE

Nama:      Arif Nugraha Santosa

NRP:        5025211048

Kelas:       Perancangan Perangkat Lunak (A) `

Tugas Pertemuan 14 PPL - Desain Database

Desain Database untuk Sistem Instagram

Tabel User

Tabel ini menyimpan data pengguna.

Kolom:

  • userId: string (Hash Key) - Pengenal unik untuk setiap pengguna.
  • name: string - Nama pengguna.
  • emailId: string - Alamat email pengguna.
  • creationDateInUtc: long - Tanggal pembuatan akun pengguna dalam format UTC.

Tabel User_Follows

Tabel ini menyimpan data pengguna yang diikuti oleh pengguna lain.

Kolom:

  • followingUserId_followerUserId: string (Hash Key) - Kombinasi unik dari ID pengguna yang diikuti (followingUserId) dan ID pengikut (followerUserId) untuk memastikan tidak ada duplikasi.
  • followingUserId: string (Range Key) - ID pengguna yang diikuti.
  • followerUserId: string - ID pengikut.
  • creationDateInUtc: long - Tanggal pengguna mulai mengikuti pengguna lain dalam format UTC.

Tabel User_Uploads

Tabel ini menyimpan informasi mengenai unggahan pengguna.

Kolom:

  • uploadId: string (Hash Key) - Pengenal unik untuk setiap unggahan.
  • userId: string (Range Key) - ID pengguna yang melakukan unggahan.
  • imageLocation: string - Lokasi penyimpanan gambar yang diunggah.
  • uploadDateInUtc: long - Tanggal dan waktu unggahan dalam format UTC.
  • caption: string - Teks deskripsi untuk unggahan.

Tabel User_Feed

Tabel ini menyimpan informasi mengenai konten yang muncul di beranda pengguna.

Kolom:

  • userId: string (Hash Key) - ID pengguna yang memiliki beranda.
  • uploadId: string - ID unggahan yang muncul di beranda pengguna.
  • creationDateInUtc: long (Range Key) - Tanggal dan waktu unggahan ditambahkan ke beranda pengguna dalam format UTC.

Pemilihan Database

Memilih database yang tepat untuk sistem Instagram sangat penting. Dalam kasus ini, database SQL lebih sesuai karena alasan berikut:

  • Data Relasional: Data Instagram memiliki hubungan antar tabel (misalnya, pengguna dengan unggahan, pengguna dengan pengguna yang diikuti).
  • Urutan Data: Tabel User_Feed membutuhkan pengurutan berdasarkan waktu untuk menampilkan posting terbaru terlebih dahulu.
  • Keawetan Data: Database SQL menawarkan ketahanan data yang kuat untuk mencegah kehilangan data akibat kerusakan.
  • Kueri Relasional: SQL mendukung kueri relasional yang memungkinkan pencarian efisien berdasarkan ID pengguna (misalnya, mengambil semua unggahan pengguna atau daftar pengguna

Comments

Popular posts from this blog

EAS PPL A - ARIF NUGRAHA SANTOSA

TUGAS PERTEMUAN 13 PPL - DESAIN SYSTEM APLIKASI INSTAGRAM