NAMA : Ananda Hadi Saputra
KELAS : PPL A
NRP : 5025201148
Desain Database
Tugas yang diberikan pada mata kuliah Perancangan Perangkat Lunak (A), yaitu terkait Desain Database. Berikut merupakan dokumentasinya :
Pengertian Database
Basis data (database) adalah kumpulan data yang terorganisir secara sistematis sehingga mudah diakses, dikelola, dan diperbarui. Ini mencakup data yang disimpan dalam tabel yang terdiri dari baris dan kolom, serta dikelola oleh Sistem Manajemen Basis Data (DBMS) seperti MySQL, PostgreSQL, Oracle, dan Microsoft SQL Server. DBMS memungkinkan pengguna untuk melakukan operasi seperti membuat, membaca, memperbarui, dan menghapus data dalam database.
Desain basis data melibatkan pengklasifikasian data dan identifikasi hubungan timbal balik antar elemen data, yang diatur dalam model data. Representasi teoretis dari struktur dan hubungan data ini disebut ontologi. Basis data yang dirancang dengan baik memfasilitasi pemeliharaan, meningkatkan konsistensi data, dan hemat biaya dalam hal ruang penyimpanan disk, serta mendukung operasi, analisis, dan pengambilan keputusan dalam organisasi.
Kode SQL
1. Tabel Users
Penjelasan :
user_id: ID unik untuk setiap pengguna.username: Nama pengguna yang unik.email: Email pengguna yang unik.password: Kata sandi pengguna (di-hash).profile_picture: URL gambar profil pengguna.bio: Biografi pengguna.created_at: Waktu ketika akun dibuat.
2. Tabel Posts
Penjelasan :
post_id: ID unik untuk setiap kiriman.user_id: ID pengguna yang membuat kiriman.image_url: URL gambar kiriman.caption: Teks keterangan kiriman.created_at: Waktu ketika kiriman dibuat.
3. Tabel Comments
Menyimpan informasi tentang komentar pada kiriman
Penjelasan :
comment_id: ID unik untuk setiap komentar.post_id: ID kiriman yang dikomentari.user_id: ID pengguna yang membuat komentar.comment_text: Teks komentar.created_at: Waktu ketika komentar dibuat.
4. Tabel Likes
Menyimpan informasi tentang suka pada kiriman
Penjelasan :
like_id: ID unik untuk setiap suka.post_id: ID kiriman yang disukai.user_id: ID pengguna yang menyukai kiriman.created_at: Waktu ketika suka dibuat.
5. Tabel Followers
Menyimpan informasi tentang hubungan pengikut antara pengguna
Penjelasan :
follower_id: ID unik untuk setiap hubungan pengikut.user_id: ID pengguna yang diikuti.follower_user_id: ID pengguna yang mengikuti.created_at: Waktu ketika hubungan pengikut dibuat.
6. Tabel DirectMessage
Menyimpan informasi tentang pesan langsung antara pengguna.
Penjelasan :
message_id: ID unik untuk setiap pesan.sender_user_id: ID pengguna yang mengirim pesan.receiver_user_id: ID pengguna yang menerima pesan.message_text: Teks pesan.created_at: Waktu ketika pesan dibuat.
Relasi :
Users -> Posts: Relasi one to many, satu pengguna dapat membuat banyak kiriman.Posts -> Comments: Relasi one to many, satu kiriman dapat memiliki banyak komentar.Posts -> Likes: Relasi one to many, satu kiriman dapat memiliki banyak suka.Users -> Followers: Relasi many to many, pengguna dapat mengikuti banyak pengguna lain, dan diikuti oleh banyak pengguna lain. Ini diimplementasikan melalui tabel Followers
.Users -> DirectMessages: Relasi one to many, satu pengguna dapat mengirim banyak pesan langsung ke pengguna lain.
Komentar
Posting Komentar