Database
 sql >> Teknologi Basis Data >  >> RDS >> Database

Ketuk dan Parkir:Model Data Aplikasi Parkir

Berbagai aplikasi berjanji untuk membuat pencarian Anda untuk parkir tidak menyakitkan. Mari kita periksa jenis aplikasi ini menggunakan kacamata pemodelan data kami. Seperti apa model dasarnya?

Dalam artikel sebelumnya, kami menjelaskan bagaimana tempat parkir terstruktur dan bagaimana model data dapat dirancang untuk mengelolanya. Pada artikel ini, kami memeriksa model data untuk aplikasi parkir. Anda tahu aplikasi ini:mereka mencantumkan opsi parkir terdekat, memberi tahu Anda harganya, dan memungkinkan Anda memesan atau memesan tempat atau membeli kartu parkir.

Aplikasi ini membuat pencarian Anda untuk parkir relatif tidak menyakitkan. Saya akan mengatakan bahwa faktor terpenting dalam memilih tempat parkir adalah harga. Berjalan kaki lima menit yang menghemat beberapa dolar selalu sepadan. Karena itu, mari pakai kacamata pemodelan data kami dan lihat lebih dekat dunia aplikasi tempat parkir.

Apa yang Harus Kita Ketahui Tentang Tempat Parkir dan Aplikasi Parkir?

Aplikasi parkir cukup sederhana:kita dapat mengharapkan fungsi untuk melacak ketersediaan dan harga tempat parkir secara real time, memesan tempat tersebut, dan membayar biayanya.

Selain lokasi, yang relatif mudah ditangani oleh pemodel data, pendorong utama untuk tempat parkir adalah harga. Strategi penetapan harga untuk tempat parkir cukup mudah, dan metode atau aturan tertentu praktis bersifat universal:

  • Tempat parkir sering kali memiliki harga yang berbeda untuk waktu yang berbeda. Satu hari biasanya dibagi menjadi tiga bagian – pagi (6:00 hingga 11:00), tengah hari (11:00 hingga 17:00), dan malam (5:00 hingga 10:00).
  • Malam dan pagi hari biasanya memiliki harga yang lebih tinggi, karena lebih banyak mobil mungkin membutuhkan ruang selama jam tersebut.
  • Harga juga dapat berbeda berdasarkan hari dalam seminggu. Misalnya, tempat parkir di dekat pusat kota akan mengenakan biaya lebih pada akhir pekan (Sabtu dan Minggu) karena saat itulah lebih banyak orang berkunjung.
  • Biasanya, banyak yang menggunakan harga standarnya. Namun, ada hari-hari ketika mereka mungkin mengenakan biaya lebih – mis. tempat parkir di dekat stadion bisbol mungkin mengenakan biaya lebih jika ada pertandingan atau acara di stadion.
  • Tempat parkir di dekat pusat transportasi (bandara, stasiun kereta api, dan halte bus) memungkinkan parkir selama 24 jam sehari atau seminggu. Mereka kemungkinan akan memiliki tarif khusus untuk parkir jangka panjang.
  • Beberapa tempat parkir mengeluarkan tiket bulanan dengan biaya tetap. Pemegang tiket bulanan membayar jumlah tetap setiap bulan alih-alih membayar biaya harian.

Model Data




Seperti yang Anda lihat, ada tiga bidang subjek:

  1. “Tempat Parkir”
  2. “Pelanggan”
  3. “Reservasi Parkir”

Mari kita ambil area subjek yang paling penting terlebih dahulu – yang menangani tempat parkir dan harganya.

Tempat Parkir

Area subjek ini berkisar pada parking_lot tabel, yang menyimpan detail tentang setiap tempat parkir di sistem kami. Tabel ini dijelaskan secara menyeluruh dalam artikel kami sebelumnya tentang model data manajemen tempat parkir. Namun, kami akan mengulangi beberapa kolom penting di sini:

  • zip – Kode pos; ini memainkan peran utama dalam fungsi pencarian.
  • is_slot_available – Diperbarui oleh operator tempat parkir dan menandakan jika ruang saat ini tersedia.
  • is_reentry_allowed – Apakah pelanggan dapat parkir lagi di tempat parkir setelah mereka meninggalkannya. Jika masuk kembali tidak diizinkan, pelanggan yang kembali harus membeli ruang lain.
  • is_valet_parking_available – Parkir valet membutuhkan biaya tambahan, tetapi orang sering lebih menyukainya – terutama saat mereka sedang berkencan.
  • operational_in_night – Apakah tempat parkir buka pada malam hari. Informasi ini menjadi sangat penting ketika mobil Anda diparkir di dekat bandara dan penerbangan Anda tiba di tengah malam!
  • minimum_hr_pay – Biaya minimum untuk memarkir mobil Anda di tempat yang banyak. Misalnya, beberapa lot memiliki minimum tiga jam, artinya Anda membayar selama tiga jam meskipun Anda hanya parkir selama 30 menit.
  • is_monthly_pass_allowed –Apakah banyak yang menawarkan tiket bulanan.

Kami telah membahas faktor-faktor yang menentukan harga parkir. Sekarang mari kita lihat bagaimana kita akan menangani penetapan harga dalam model kita. Kami akan menggunakan parking_pricing tabel untuk mencatat harga reguler dan pricing_exception tabel untuk merekam pengecualian. Kedua tabel memiliki struktur yang serupa, dan kolomnya cukup jelas. Satu-satunya perbedaan adalah:

  1. parking_pricing tabel memiliki kolom (day_of_week ) yang menyimpan hari dalam seminggu yang relevan dengan harga. pricing_exception tabel memiliki calendar_date kolom yang berisi tanggal aktual saat harga khusus berlaku.
  2. Saat aplikasi menampilkan harga, pricing_exception tabel lebih diutamakan daripada parking_pricing meja. Jadi, jika tarif reguler untuk hari ini adalah $5 per jam tetapi ada tarif khusus yang berlaku untuk $7, aplikasi akan menampilkan $7 per jam.

Tabel terakhir di bidang subjek ini adalah offers . Ini menyimpan catatan kupon diskon dan detail terkaitnya. Kami telah menjelaskan model data di balik penawaran, penawaran, dan diskon di artikel sebelumnya. Tabel ini didasarkan pada teori yang sama, dan semua kolom harus cukup jelas.

Pelanggan

Saat memikirkan aplikasi parkir, biasanya kita memikirkan tiga elemen ini:

  • Pelanggan – Ini termasuk ID pelanggan unik dan detail dasar tentang pengguna aplikasi, seperti nama dan nomor telepon mereka. Juga, akan lebih baik untuk memiliki alamat penagihan mereka.
  • Kendaraan – Satu orang dapat memiliki beberapa mobil, jadi kita harus memiliki kemampuan untuk hubungan satu-ke-banyak antara pengguna aplikasi dan kendaraan mereka. Jelas, kami membutuhkan cara untuk mengidentifikasi kendaraan, seperti dengan nomor lisensi mereka.
  • Metode pembayaran – Karena aplikasi ini memungkinkan pelanggan untuk memesan slot parkir dan membayarnya, kami memerlukan cara untuk menyimpan metode pembayaran. Sekali lagi, harus ada cara untuk memiliki beberapa metode pembayaran per pengguna.

Model ini memiliki satu tabel untuk masing-masing entitas ini. customer_id atribut direferensikan di vehicle dan payment_method tabel; itu menghubungkan pengguna ke kendaraan dan metode pembayaran.

Reservasi Parkir

Area subjek ini hanya berisi dua tabel. Dari keduanya, tabel “parking_one_time_reservation” menyimpan detail reservasi. Beberapa kolomnya cukup jelas; yang lainnya adalah:

  • start_timestamp – Tanggal dan waktu periode reservasi dimulai.
  • pay_for_min_hr – Menahan 'N' jika reservasi untuk jumlah jam tertentu (misalnya dari jam 9 pagi sampai siang). Jika tidak, atribut ini akan memiliki 'Y'.
  • booking_for_hr – Jumlah jam reservasi. Ini adalah bidang nullable; itu akan memiliki nilai hanya ketika pay_for_min_hr diatur ke 'N'. Dalam contoh di atas, itu akan disetel ke “3” untuk tiga jam yang berlalu antara pukul 9 pagi dan siang hari.
  • basic_parking_cost – Biaya parkir dasar, dalam mata uang lokal.
  • offer_code – Kode kupon, jika ada. Karena menerapkan kode penawaran bersifat opsional dan tergantung pada ketersediaan, kolom ini dapat dibatalkan.
  • net_cost – Jumlah aktual yang dibayarkan pelanggan saat checkout (ketika mereka meninggalkan lot).
  • is_paid – Apakah biaya parkir telah dibayar. Ini menjadi kolom penting ketika masuk kembali diperbolehkan pada slip parkir yang sama. Dalam kasus seperti itu, pembayaran biasanya diselesaikan di kasir pertama (yaitu saat pertama kali mobil meninggalkan tempat parkir).

parking_monthly_pass tabel mencatat informasi tentang semua tiket bulanan yang dikeluarkan untuk pelanggan melalui aplikasi ini. Tiket bulanan dapat dibeli kapan saja, bahkan untuk tanggal yang akan datang. Jadi kami memiliki dua kolom terpisah, purchase_date dan start_date , yang memungkinkan pengguna aplikasi untuk membeli tiket yang valid di masa mendatang. Kolom lainnya cukup jelas.

Apa Lagi yang Dapat Kami Tambahkan ke Model Data Aplikasi Parkir?

Tempat parkir modern dilengkapi dengan semua jenis teknologi, seperti pembaca plat nomor, sensor, sistem kontrol akses parkir otomatis, dan meteran parkir pintar. Sistem canggih ini membuat tempat parkir lebih mudah dioperasikan dan lebih mudah digunakan oleh pengendara.

Perubahan tambahan apa yang diperlukan model data ini untuk mendukung tempat parkir yang lengkap? Beri tahu kami pendapat Anda di bagian komentar.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana cara mengambil satu set karakter menggunakan SUBSTRING dalam SQL?

  2. Berapa Gaji Rata-Rata Pengembang SQL?

  3. Cara Mendapatkan Tanggal Saat Ini (Tanpa Waktu) di T-SQL

  4. Bagaimana membandingkan tanggal dalam SQL

  5. Tindak lanjut #1 pada pencarian wildcard terkemuka