Desainer Model Data
Pembuatan database menggunakan perancang model data
Desain basis data
Saatnya mendesain database Anda sendiri. Untuk melakukan ini, buka tab Database di panel kiri.
Model data
Data dalam database disimpan dalam bentuk tabel khusus (model). Dan Anda dapat melihat bahwa kami sudah memiliki satu model. Ini adalah bagian dari modul otorisasi dan disertakan dalam setiap proyek secara default. Berkat itu, pengguna baru aplikasi dibuat dan yang sudah ada dikelola. Tapi kami tidak akan memikirkan studinya sekarang, kami akan membuat model kami sendiri.
Bayangkan kita sedang mengembangkan layanan peta. Mari kita buat model yang berisi informasi tentang negara. Untuk membuatnya, Anda perlu mengklik kanan di area kosong kanvas dan pilih Create empty model.
Untuk membuat, kita hanya perlu menentukan nama model. Kami akan membahas pembuatan otomatis titik akhir dan elemen antarmuka pengguna dalam modul kursus selanjutnya.
Bidang model
Harap dicatat bahwa segera setelah pembuatan, model sudah berisi 4 bidang. Ini adalah bidang sistem, yang keberadaannya sangat menyederhanakan pembuatan awal dan penggunaan model lebih lanjut.
ID (integer) - Pengidentifikasi unik, kunci utama. Ini dibuat secara otomatis untuk setiap entri baru dalam tabel dan dimaksudkan untuk memastikan bahwa tidak ada duplikat. Dengan ID Anda dapat secara unik mengidentifikasi catatan dalam tabel. Nilainya dimulai dari 1 dan secara otomatis meningkat 1 untuk setiap entri baru.
CreatedAt (datetime) - Waktu catatan dibuat dalam tabel.
UpdatedAt (datetime) - Waktu entri terakhir diubah.
DeletedAt (datetime) - Waktu entri dihapus. Tentu saja, hanya jika soft-removal digunakan. Yaitu, penghapusan seperti itu, ketika catatan hanya ditandai sebagai dihapus dan difilter oleh permintaan untuk mengaksesnya, tetapi pada saat yang sama secara fisik tetap ada di tabel. Ini berbeda dengan penghapusan massal, yang sebenarnya menghapus data sepenuhnya.
Selain yang sistem, akan lebih bijaksana untuk menambahkan bidang khusus ke model yang dibuat. Misalkan kita ingin melihat nama negara dan beberapa deskripsi dengan informasi tentangnya.
Memilih jenis bidang seharusnya tidak menjadi masalah. String cocok untuk nama, dan Text untuk deskripsi informasi.
Selain itu, tersedia empat sakelar lagi:
Multiple values (Array) - gunakan array alih-alih entri tunggal.
Not null - bidang yang ditentukan tidak boleh kosong, harus selalu berisi data.
Unique - nilai bidang harus unik, dalam model ini tidak boleh ada dua catatan yang nilainya sama.
Index - menunjukkan bahwa indeks khusus akan dibuat untuk bidang ini untuk mempercepat pencarian.
Secara umum, centang tanda hanya benar jika benar-benar diperlukan. Misalnya, kita dapat menandai Not null dan Unique untuk nama negara, dengan asumsi bahwa tidak mungkin ada negara tanpa nama, atau dua negara dengan nama yang sama. Namun, ada baiknya untuk mengontrol ini pada tahap pembuatan logika aplikasi, dan tidak membatasi database itu sendiri.
Demikian pula, buat tabel dengan informasi tentang kota. Pikirkan tentang bidang data apa yang dapat dikandungnya, jenis bidang apa ini.
Hubungan model data
Data dalam database tidak ada dengan sendirinya, berupa tabel-tabel yang tersebar. Mereka terkait satu sama lain dengan cara tertentu. Kunci untuk mengembangkan model data adalah mendefinisikan hubungan ini dan membangun hubungan.
Untuk membuat tautan seperti itu, perlu untuk menggambar garis dengan mouse dari batas satu model ke model lainnya. Dalam contoh kami, kami tahu pasti bahwa setiap kota terletak di beberapa negara, sehingga kami dapat membuat tautan dari satu negara ke kota lainnya.
Ada 3 jenis koneksi yang berbeda:
Satu-ke-satu (has one) . Setiap record dalam tabel dipetakan ke satu record dari tabel terkait (ini juga berlaku sebaliknya). Contoh sederhana adalah seseorang dan paspornya. Kami selalu dapat yakin bahwa koneksi ini unik. Paspor hanya dapat memiliki satu pemegang, dan setiap orang hanya dapat memiliki satu paspor yang masih berlaku.
Satu-ke-banyak (has many) . Setiap record dalam satu tabel dapat memiliki banyak record di tabel lain. Database kami adalah contoh serupa. Suatu negara dapat memiliki banyak kota yang berbeda, tetapi setiap kota hanya dapat dimiliki oleh satu negara. Ini adalah koneksi yang akan kita buat.
Banyak-ke-banyak . Hubungan di mana beberapa catatan dari satu tabel bisa berhubungan dengan beberapa catatan dari yang lain. Contoh sederhananya adalah hubungan antara guru dan siswa. Setiap guru dapat mengajar banyak siswa, sama seperti setiap siswa dapat belajar dari banyak guru yang berbeda.