Tugas Pertemuan 14 PPL

Nama : Frederick Yonatan Susanto

NRP : 5025211121

Kelas : PPL A

Tahun Ajaran : 2023/2024 (Genap)

    Pada pertemuan keempatbelas di kelas PPL A, kita diminta untuk membuat Database untuk aplikasi social media foto sharing - Instagram.


Instagram Database Design


Database Schema Diagram




MySQL Code:





Explanation:

1. Tabel app_user:

    Digunakan untuk menyimpan data tentang pengguna aplikasi.

  • ID: Primary key (kunci utama) yang bertambah otomatis (auto increment).
  • first_name, last_name, profile_name: Kolom untuk menyimpan nama depan, nama belakang, dan nama profil pengguna.
  • signup_date: Kolom untuk menyimpan tanggal dan waktu pendaftaran pengguna.

2. Tabel post_type:

    Mengelola kategori postingan yang bisa dibuat oleh pengguna.

  • ID: Primary key.
  • post_type_name: Nama kategori postingan.

3. Tabel filter:

    Berisi daftar filter yang dapat diterapkan pada gambar atau video dalam postingan.

  • ID: Primary key.
  • filter_name: Nama filter.
  • filter_details: Informasi tambahan tentang filter.

4. Tabel post:

    Menyimpan detail postingan yang dibuat oleh pengguna.

  • ID: Primary key.
  • created_by_user_id: Foreign key yang menghubungkan postingan ke pengguna yang membuatnya (app_user).
  • created_datetime: Tanggal dan waktu pembuatan postingan.
  • caption: Deskripsi atau teks dari postingan.
  • post_type_id: Foreign key yang menghubungkan postingan ke jenis postingan (post_type).


5. Tabel post_media:

    Berisi media (gambar, video) yang terkait dengan sebuah postingan.

  • ID: Primary key.
  • post_id: Foreign key yang menghubungkan media ke postingan (post).
  • filter_id: Foreign key yang menghubungkan media ke filter yang digunakan (filter).
  • media_file, position, longitude, latitude: Kolom yang menyimpan informasi tentang media.


6. Tabel effect:

    Menyimpan daftar efek atau filter tambahan yang dapat diterapkan pada media.

  • ID: Primary key.
  • effect_name: Nama efek atau filter.

7. Tabel comment:

    Menyimpan komentar yang dibuat oleh pengguna pada sebuah postingan.

  • ID: Primary key.
  • created_by_user_id: Foreign key yang menghubungkan komentar ke pengguna yang membuatnya (app_user).
  • post_id: Foreign key yang menghubungkan komentar ke postingan yang dikomentari (post).
  • created_datetime: Tanggal dan waktu pembuatan komentar.
  • comment: Teks komentar.
  • comment_replied_to_id: Foreign key yang menghubungkan komentar balasan ke komentar yang dikomentari (comment).


8. Tabel reaction:

    Menyimpan reaksi atau respons pengguna terhadap sebuah postingan.

  • user_id: Foreign key yang menghubungkan reaksi ke pengguna yang memberikan reaksi (app_user).
  • post_id: Foreign key yang menghubungkan reaksi ke postingan yang diberi reaksi (post).


9. Tabel post_media_user_tag:

    Menyimpan informasi tentang penandaan pengguna pada media postingan.

  • post_media_id: Foreign key yang menghubungkan tag ke media postingan (post_media).
  • user_id: Foreign key yang menghubungkan tag ke pengguna yang ditandai (app_user).
  • x_coordinate, y_coordinate: Koordinat di mana pengguna ditandai pada media tersebut.


10. Tabel post_effect:

      Mengelola efek tambahan yang diterapkan pada media postingan.

  • post_media_id: Foreign key yang menghubungkan efek ke media postingan (post_media).
  • effect_id: Foreign key yang menghubungkan efek ke jenis efek yang diterapkan (effect).


11. Tabel follower:

      Menyimpan informasi tentang pengguna yang mengikuti pengguna lain di aplikasi.

  • following_user_id: Foreign key yang menghubungkan pengguna yang mengikuti (app_user).
  • followed_user_id: Foreign key yang menghubungkan pengguna yang diikuti (app_user).


Reference:

https://kuliahppl.blogspot.com/2024/06/desain-database.html

https://youtu.be/i_1CbyzzlDk?si=EWztRmocjJ9pmo6-






Comments

Popular posts from this blog

Tugas Pertemuan 7 PPL

Tugas Pertemuan 6 PPL

Quiz 1 PBKK A