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:
Users (Pengguna):
- Tidak ada referensi langsung ke tabel lain, tetapi tabel lain mengacu pada
userId
sebagai kunci asing.
- Tidak ada referensi langsung ke tabel lain, tetapi tabel lain mengacu pada
User_Follows (Pengguna_Mengikuti):
followingUserId
merujuk keUsers.userId
untuk menunjukkan pengguna mana yang diikuti oleh pengguna lain (followerUserId
).
User_uploads (Unggahan_Pengguna):
userId
merujuk keUsers.userId
untuk menunjukkan pengguna mana yang melakukan unggahan foto atau video.
User_feed (Feed_Pengguna):
userId
merujuk keUsers.userId
untuk menunjukkan pengguna mana yang memiliki entri feed tertentu.
Catatan:
- Kunci asing (Foreign Key) digunakan dalam
User_Follows
danUser_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
Post a Comment