{"id":241,"date":"2022-06-13T11:48:46","date_gmt":"2022-06-13T11:48:46","guid":{"rendered":"https:\/\/rizkiakmanda.com\/?p=241"},"modified":"2022-07-05T03:56:45","modified_gmt":"2022-07-05T03:56:45","slug":"database-relationships","status":"publish","type":"post","link":"https:\/\/rizkiakmanda.com\/?p=241","title":{"rendered":"Jenis-jenis Database Relationships"},"content":{"rendered":"<p><span style=\"font-weight: 400;\">Database relationships adalah asosiasi antar tabel yang dibuat menggunakan pernyataan bergabung untuk mengambil data.Dalam membuat relasi antar tabel,akan terdapat primary key dan foreign key. Anda dapat dengan mudah melihat bahawa setiap tabel saling berhubungan satu sama lain.<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Primary key adalah suatu nilai dalam basis data yang digunakan untuk mengidentifikasi suatu baris dalam tabel.Nilai dari primary key adalah unik<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Foreign key adalah atribut dalam tabel yang berujuk ke primary key<\/span><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400;\">Fungsi dari primary key adalah identitas untuk membedakan antar record pada tabel,sedangkan fungsi dari foreign key adalah sebagai tanda hubungan antar tabel.Terdapat 3 jenis relasi antar tabel,yaitu:<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">One to one<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">One to many<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Many to many<\/span><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400;\">Meskipun berbeda,mereka diwakili dalam dengan cara yang sama di database dan itulah garis antara dua tebal.Jadi, apa yang berbeda? Saya akan menjelaskan masing-masing jenis hubungan ini secara terpisah.Lalu bagaimana cara memilih salah satu?,cara paling simpel dalam memilih salah satu dari 3 jenis relasi yang berbeda adalah,dengan cara mengucapkannya,jika kata \u201cbanyak\u201d terucap sekali,maka itu one-to-many,jika \u201cbanyak\u201d dua kali,maka itu many-to-many,dan jika tidak terucap kata \u201cbanyak\u201d maka itu one-to-one.<\/span><\/p>\n<h3><span style=\"font-weight: 400;\">One to many<\/span><\/h3>\n<p><span style=\"font-weight: 400;\">Yang pertama adalah one to many,kenapa ini di pertama?,karena tipe ini paling umum digunakan,mari kita lihat ke contoh di kehidupan nyata. <\/span><span style=\"font-weight: 400;\">Bayangkan sebuah aplikasi e-commerce,kita ingin menyimpan list cart\/keranjang belanja user.<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-242\" src=\"https:\/\/rizkiakmanda.com\/wp-content\/uploads\/2022\/06\/db-1.png\" alt=\"\" width=\"512\" height=\"205\" srcset=\"https:\/\/rizkiakmanda.com\/wp-content\/uploads\/2022\/06\/db-1.png 512w, https:\/\/rizkiakmanda.com\/wp-content\/uploads\/2022\/06\/db-1-300x120.png 300w\" sizes=\"auto, (max-width: 512px) 100vw, 512px\" \/><\/p>\n<p><span style=\"font-weight: 400;\">Karena itu kita buat relasi dari tabel user ke tabel cart dengan primary key di tabel user berupa id dan foreign key di tabel chart id_user,kenapa ini bisa menjadi contoh one-to-many?,karena logikanya satu user bisa memiliki banyak chart.Lalu bagaimana caranya melakukan query databasenya?,kita bisa menggunakan JOIN,baik inner,left,right sesuai kebutuhan.<\/span><\/p>\n<h3><span style=\"font-weight: 400;\">many to many<\/span><\/h3>\n<p><span style=\"font-weight: 400;\">Yang kedua adalah many-to-many,sebagai contoh kita ingin menyimpan data,telepon antara pegawai(support) dan customer.maka logikanya. <\/span><span style=\"font-weight: 400;\">Satu pegawai bisa ditelepon banyak customer,dan juga satu customer bisa menelepon banyak pegawai.<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-243\" src=\"https:\/\/rizkiakmanda.com\/wp-content\/uploads\/2022\/06\/db-2.png\" alt=\"\" width=\"512\" height=\"271\" srcset=\"https:\/\/rizkiakmanda.com\/wp-content\/uploads\/2022\/06\/db-2.png 512w, https:\/\/rizkiakmanda.com\/wp-content\/uploads\/2022\/06\/db-2-300x159.png 300w\" sizes=\"auto, (max-width: 512px) 100vw, 512px\" \/><\/p>\n<p><span style=\"font-weight: 400;\">Nah,kita bisa lihat bahwa,ada dua kata \u201cbanyak\u201d,ini merupakan ciri bahwa ini harus diselesaikan dengan relasi many-to-many.Relasi many-to-many akan diimplementasikan dengan menambah tabel baru dari relasi one-to-many dari kedua entitas.<\/span><\/p>\n<h3><span style=\"font-weight: 400;\">one to one<\/span><\/h3>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-244\" src=\"https:\/\/rizkiakmanda.com\/wp-content\/uploads\/2022\/06\/db-3.png\" alt=\"\" width=\"512\" height=\"192\" srcset=\"https:\/\/rizkiakmanda.com\/wp-content\/uploads\/2022\/06\/db-3.png 512w, https:\/\/rizkiakmanda.com\/wp-content\/uploads\/2022\/06\/db-3-300x113.png 300w\" sizes=\"auto, (max-width: 512px) 100vw, 512px\" \/><\/p>\n<p><span style=\"font-weight: 400;\">Yang terakhir adalah one-to-one, sebagai contoh kita ingin menyimpan data user, setiap user akan memiliki satu role,mari kita cek apakah ini benar-benar relasi one-to-one, saya memberi aturan yaitu satu user hanya boleh memiliki satu role,dan satu role hanya boleh dimiliki oleh satu user. Disini sama sekali tidak ada kata \u201cbanyak\u201d, berarti ini bukan relasi one-to-many atau many-to-many. Sebagai catatan relasi one-to-one juga diimplementasikan seperti one-to-many, tetapi dengan syarat tambahan yaitu foreign key juga merupakan primary key.<\/span><\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Database relationships adalah asosiasi antar tabel yang dibuat menggunakan pernyataan bergabung untuk mengambil data.Dalam membuat relasi antar tabel,akan terdapat primary key dan foreign key. Anda dapat dengan mudah melihat bahawa setiap tabel saling berhubungan satu sama lain. Primary key adalah suatu nilai dalam basis data yang digunakan untuk mengidentifikasi suatu baris dalam tabel.Nilai dari primary [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":245,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_monsterinsights_skip_tracking":false,"footnotes":""},"categories":[3],"tags":[],"class_list":["post-241","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-coding-tutorial"],"acf":[],"_links":{"self":[{"href":"https:\/\/rizkiakmanda.com\/index.php?rest_route=\/wp\/v2\/posts\/241","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/rizkiakmanda.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/rizkiakmanda.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/rizkiakmanda.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/rizkiakmanda.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=241"}],"version-history":[{"count":3,"href":"https:\/\/rizkiakmanda.com\/index.php?rest_route=\/wp\/v2\/posts\/241\/revisions"}],"predecessor-version":[{"id":361,"href":"https:\/\/rizkiakmanda.com\/index.php?rest_route=\/wp\/v2\/posts\/241\/revisions\/361"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/rizkiakmanda.com\/index.php?rest_route=\/wp\/v2\/media\/245"}],"wp:attachment":[{"href":"https:\/\/rizkiakmanda.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=241"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/rizkiakmanda.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=241"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/rizkiakmanda.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=241"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}