PPL - TUGAS 10 - Desain Database
Nama: Muhammad Razan Athallah
NRP: 5025211008
Kelas: PPL A
Tahun: 2023/2024 (Genap)
Tugas kesepuluh (pertemuan 14) merupakan latihan untuk membuat desain basis data aplikasi Instagram. Desain Basis Data adalah kumpulan proses yang memfasilitasi perancangan, pengembangan, implementasi, dan pemeliharaan sistem manajemen data perusahaan. Basis data yang dirancang dengan benar mudah dipelihara, meningkatkan konsistensi data, dan hemat biaya dalam hal ruang penyimpanan disk. Desainer database memutuskan bagaimana elemen data berkorelasi dan data apa yang harus disimpan.
Database Schema
Database terdiri dari tabel app_user, follower, post, post_type, post_media, post_effect, effect, post_media_user_tag, filter, reaction, comment.
Penjelasan Tabel
Tabel app_user
Digunakan untuk menyimpan data user.
- ID: unique identifier untuk user
- first_name: nama depan user
- last_name: nama belakang user
- profile_name: nama yang ditampilkan pada profile atau biasa disebut username
- signup_date: tanggal daftar user ke aplikasi
Tabel follower
Digunakan untuk menyimpan user yang diikuti dan user yang mengikuti
- following_user_id: ID dari user yang mengikuti
- followed_user_id: ID dari user yang diikuti
Tabel post
Digunakan untuk menyimpan data post yang dibuat user
- ID: unique identifier untuk post
- created_by_user_id: ID dari user yang membuat post
- created_datetime: tanggal dan waktu user membuat post
- caption: deskripsi post
- post_type: ID dari tipe post
Tabel post_type
Digunakan untuk menyimpan tipe post
- ID: unique identifier untuk tipe post
- post_type_name: nama dari tipe post (contoh: foto, video, dll)
Tabel post_media
Digunakan untuk menyimpan data media pada post
- ID: unique identifier untuk media
- post_id: ID dari post yang bersangkutan
- filter_id: ID dari filter yang digunakan pada media
- media_file: nama dari file media
- position: path dari media
- longitude, latitude: tempat diambilnya media
Tabel effect
Digunakan untuk menyimpan efek
- ID: unique identifier untuk efek
- effect_name: nama efek
Tabel post_effect
Digunakan untuk menyimpan effect yang diterapkan pada media
- post_media_id: ID dari media yang diterapkan effect
- effect_id: ID dari effect yang digunakan
- scale: skala efek
Tabel post_media_user_tag
Digunakan untuk menyimpan user yang ditag dalam media
- post_media_id: ID dari media yang diterapkan effect
- user_id: ID dari user yang ditag
- x_coordinate: koordinat x letak tag di media
- y_coordinate: koordinat y letak tag di media
Tabel filter
Digunakan untuk menyimpan filter
- ID: unique identifier untuk filter
- filter_name: nama filter
- filter_details: deskripsi filter
Tabel reaction
Digunakan untuk menyimpan informasi user yang like suatu post
- user_id: ID dari user yang like
- post_id: ID dari post yang dilike
Tabel comment
Digunakan untuk menyimpan comment
Comments
Post a Comment