Database
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Database

Nhấn và đỗ xe:Mô hình dữ liệu ứng dụng đỗ xe

Nhiều ứng dụng khác nhau hứa hẹn sẽ giúp bạn tìm kiếm bãi đậu xe dễ dàng hơn. Hãy cùng kiểm tra loại ứng dụng này bằng cách sử dụng kính lập mô hình dữ liệu của chúng tôi. Mô hình cơ bản trông như thế nào?

Trong một bài viết trước, chúng tôi đã giải thích cách cấu trúc một bãi đậu xe và cách một mô hình dữ liệu có thể được thiết kế để quản lý một bãi đậu xe. Trong bài viết này, chúng tôi đang kiểm tra mô hình dữ liệu cho một ứng dụng đỗ xe. Bạn biết những ứng dụng này:chúng liệt kê các tùy chọn đỗ xe gần đó, cho bạn biết giá cả và cho phép bạn đặt chỗ hoặc giữ chỗ hoặc mua thẻ đỗ xe.

Ứng dụng này giúp bạn tìm kiếm bãi đậu xe tương đối dễ dàng. Tôi muốn nói rằng yếu tố quan trọng nhất trong việc chọn một nơi đậu xe là giá cả. Đi bộ năm phút mà tiết kiệm được một vài đô la luôn xứng đáng. Nói như vậy, chúng ta hãy sử dụng kính lập mô hình dữ liệu của chúng tôi và xem xét kỹ thế giới của các ứng dụng bãi đậu xe.

Chúng ta nên biết gì về ứng dụng bãi đậu xe và bãi đậu xe?

Ứng dụng đỗ xe khá đơn giản:chúng ta có thể mong đợi các chức năng theo dõi tình trạng sẵn có và giá cả của chỗ đỗ xe trong thời gian thực, đặt chỗ và thanh toán phí.

Bên cạnh vị trí, điều tương đối dễ dàng đối với người lập mô hình dữ liệu, động lực chính cho các bãi đậu xe là giá cả. Chiến lược định giá cho chỗ đậu xe khá đơn giản và một số phương pháp hoặc quy tắc nhất định thực tế phổ biến:

  • Các bãi đậu xe thường có các mức giá khác nhau cho các thời điểm khác nhau. Một ngày thường được chia thành ba phần - buổi sáng (6 giờ đến 11 giờ), giữa trưa (11 giờ sáng đến 5 giờ chiều) và buổi tối (5 giờ đến 10 giờ tối).
  • Buổi tối và buổi sáng thường có giá cao hơn, vì nhiều xe hơn có thể cần chỗ trong những giờ này.
  • Giá cả cũng có thể khác nhau dựa trên các ngày trong tuần. Ví dụ:một bãi đậu xe gần trung tâm thành phố sẽ tính phí cao hơn vào cuối tuần (thứ bảy và chủ nhật) vì đó là thời điểm có nhiều người ghé thăm hơn.
  • Hầu hết thời gian, rất nhiều sử dụng giá chuẩn của chúng. Tuy nhiên, có những ngày họ có thể tính phí nhiều hơn - ví dụ:Bãi đậu xe gần sân vận động bóng chày có thể tính phí cao hơn khi có trận đấu hoặc sự kiện tại sân vận động.
  • Bãi đậu xe gần các đầu mối giao thông (sân bay, nhà ga và bến xe buýt) có thể cho phép đậu xe trong 24 giờ một ngày hoặc một tuần. Họ có thể sẽ có một mức giá đặc biệt cho bãi đậu xe dài hạn hơn.
  • Một số bãi đậu xe phát hành thẻ hàng tháng với mức phí cố định. Người có thẻ hàng tháng thanh toán số tiền cố định mỗi tháng thay vì trả phí hàng ngày.

Mô hình dữ liệu




Như bạn có thể thấy, có ba lĩnh vực chủ đề:

  1. “Bãi đậu xe”
  2. “Khách hàng”
  3. “Đặt trước chỗ đậu xe”

Trước tiên, chúng ta hãy xem xét lĩnh vực chủ đề quan trọng nhất - lĩnh vực xử lý các bãi đậu xe và giá cả của chúng.

Bãi đậu xe

Chủ đề này xoay quanh parking_lot bảng lưu trữ thông tin chi tiết về từng bãi đậu xe trong hệ thống của chúng tôi. Bảng này được giải thích kỹ lưỡng trong bài viết trước của chúng tôi về mô hình dữ liệu quản lý bãi đậu xe. Tuy nhiên, chúng tôi sẽ nhắc lại một số cột quan trọng ở đây:

  • zip - Mã bưu chính; điều này đóng một vai trò quan trọng trong chức năng tìm kiếm.
  • is_slot_available - Được cập nhật bởi những người điều hành bãi đậu xe và thông báo nếu hiện còn trống.
  • is_reentry_allowed - Liệu một khách hàng có thể đậu lại trong lô sau khi họ đã rời khỏi nó hay không. Nếu không được phép nhập lại, khách hàng quay lại sẽ phải mua chỗ khác.
  • is_valet_parking_available - Dịch vụ đậu xe có người phục vụ tính thêm phí, nhưng mọi người thường thích nó hơn - đặc biệt là khi họ đang hẹn hò. 😉
  • operational_in_night - Bãi đậu xe có mở cửa vào ban đêm hay không. Thông tin này trở nên rất quan trọng khi ô tô của bạn đậu gần sân bay và chuyến bay của bạn khởi hành lúc nửa đêm!
  • minimum_hr_pay - Mức phí tối thiểu để đậu xe hơi của bạn trong rất nhiều. Ví dụ:một số lô có thời gian tối thiểu là ba giờ, nghĩa là bạn phải trả tiền trong ba giờ ngay cả khi bạn chỉ đỗ xe trong 30 phút.
  • is_monthly_pass_allowed –Dù có nhiều ưu đãi hàng tháng.

Chúng ta đã thảo luận về các yếu tố ảnh hưởng đến việc đặt giá đỗ xe. Bây giờ, hãy xem cách chúng tôi sẽ xử lý việc định giá trong mô hình của mình. Chúng tôi sẽ sử dụng parking_pricing bảng để giữ bản ghi về giá thông thường và pricing_exception bảng để ghi lại bất kỳ trường hợp ngoại lệ nào. Cả hai bảng đều có cấu trúc tương tự và các cột có thể tự giải thích. Sự khác biệt duy nhất là:

  1. parking_pricing bảng có một cột (day_of_week ) lưu trữ ngày trong tuần có liên quan đến giá. pricing_exception bảng có calendar_date cột chứa ngày thực tế khi giá đặc biệt được áp dụng.
  2. Khi ứng dụng đang hiển thị giá, pricing_exception bảng được ưu tiên hơn parking_pricing bàn. Vì vậy, nếu giá thông thường cho ngày hôm nay là 5 đô la một giờ nhưng có một mức giá đặc biệt có hiệu lực là 7 đô la, thì ứng dụng sẽ hiển thị 7 đô la mỗi giờ.

Bảng cuối cùng trong chủ đề này là offers . Nó lưu giữ hồ sơ của các phiếu giảm giá và các chi tiết liên quan của chúng. Chúng tôi đã giải thích mô hình dữ liệu đằng sau ưu đãi, giao dịch và giảm giá trong một bài viết trước đó. Bảng này dựa trên cùng một lý thuyết và tất cả các cột phải tự giải thích.

Khách hàng

Khi chúng ta nghĩ về một ứng dụng đỗ xe, chúng ta thường nghĩ đến ba yếu tố sau:

  • Khách hàng - Điều này bao gồm một ID khách hàng duy nhất và các chi tiết cơ bản về người dùng ứng dụng, như tên và số điện thoại của họ. Ngoài ra, sẽ rất tốt nếu có địa chỉ thanh toán của họ.
  • Xe cộ - Một người có thể có nhiều ô tô, vì vậy chúng ta nên có khả năng tạo mối quan hệ một-nhiều giữa người dùng ứng dụng và phương tiện của họ. Rõ ràng, chúng tôi cần một cách để nhận dạng các phương tiện, chẳng hạn như bằng số giấy phép của chúng.
  • Phương thức thanh toán - Vì ứng dụng này cho phép khách hàng đặt trước một chỗ đậu xe và trả tiền cho nó, chúng tôi cần một cách để lưu trữ các phương thức thanh toán. Một lần nữa, cần có cách để có nhiều phương thức thanh toán cho mỗi người dùng.

Mô hình này có một bảng cho mỗi thực thể này. customer_id thuộc tính được tham chiếu trong vehiclepayment_method những cái bàn; nó liên kết người dùng với phương tiện và phương thức thanh toán.

Đặt chỗ đậu xe

Chủ đề này chỉ chứa hai bảng. Trong số hai, bảng “Parking_one_time_reservation” lưu trữ chi tiết đặt chỗ. Một số cột của nó là tự giải thích; những người khác là:

  • start_timestamp - Ngày và giờ bắt đầu giai đoạn đặt trước.
  • pay_for_min_hr - Giữ chữ ‘N’ nếu đặt chỗ trong một số giờ cụ thể (ví dụ:từ 9 giờ sáng đến trưa). Nếu không, thuộc tính này sẽ có chữ "Y".
  • booking_for_hr - Số giờ đặt trước. Đây là một trường có thể vô hiệu; nó sẽ chỉ có giá trị khi pay_for_min_hr được đặt thành ‘N’. Trong ví dụ trên, nó sẽ được đặt thành “3” cho ba giờ trôi qua từ 9 giờ sáng đến trưa.
  • basic_parking_cost - Phí đỗ xe cơ bản, bằng nội tệ.
  • offer_code - Một mã giảm giá, nếu có. Vì việc áp dụng mã ưu đãi là tùy chọn và tùy thuộc vào tình trạng còn hàng, nên cột này không thể bỏ qua.
  • net_cost - Số tiền thực tế khách hàng thanh toán khi thanh toán (khi họ rời khỏi lô hàng).
  • is_paid - Phí giữ xe đã được thanh toán hay chưa. Điều này trở thành một cột quan trọng khi được phép vào lại trên cùng một phiếu đỗ xe. Trong những trường hợp như vậy, các khoản thanh toán thường được thanh toán ở lần thanh toán đầu tiên (tức là lần đầu tiên xe rời khỏi lô hàng).

parking_monthly_pass bảng ghi lại thông tin về tất cả các thẻ hàng tháng được cấp cho khách hàng thông qua ứng dụng này. Thẻ hàng tháng có thể được mua bất cứ lúc nào, kể cả cho những ngày trong tương lai. Vì vậy, chúng tôi có hai cột riêng biệt, purchase_datestart_date , cho phép người dùng ứng dụng mua vé có giá trị trong tương lai. Các cột khác tự giải thích.

Chúng tôi có thể thêm gì khác vào Mô hình dữ liệu ứng dụng đỗ xe?

Các bãi đậu xe hiện đại được trang bị tất cả các loại công nghệ, như máy đọc biển số, cảm biến, hệ thống kiểm soát ra vào bãi đậu xe tự động và đồng hồ đậu xe thông minh. Các hệ thống tiên tiến này giúp bãi đậu xe dễ chạy hơn và người lái xe ô tô dễ sử dụng hơn.

Mô hình dữ liệu này cần những thay đổi bổ sung nào để hỗ trợ các bãi đậu xe được trang bị đầy đủ? Hãy cho chúng tôi biết suy nghĩ của bạn trong phần bình luận.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Hướng dẫn giao dịch SQL

  2. Cách tính hình vuông trong SQL

  3. Hội nghị thượng đỉnh PASS 2013:Thành công ở Charlotte

  4. Hiểu đối chiếu cấp độ cơ sở dữ liệu và tác động của việc thay đổi nó cho một cơ sở dữ liệu

  5. So sánh Hiệu suất Windows Azure VM, Phần 2