Một cách phổ biến để làm điều này là có một bảng "thuộc tính" mô phỏng theo tệp thuộc tính. Tại đây bạn có thể lưu trữ tất cả các hằng số ứng dụng của mình, hoặc không phải là những thứ liên tục mà bạn chỉ cần có xung quanh.
Sau đó, bạn có thể lấy thông tin từ bảng này khi bạn cần. Tương tự, khi bạn thấy bạn có một số cài đặt khác để lưu, bạn có thể thêm nó vào. Dưới đây là một ví dụ:
property_entry_table
[id, scope, refId, propertyName, propertyValue, propertyType]
1, 0, 1, "COMPANY_INFO", "Acme Tools", "ADMIN"
2, 0, 1, "SHIPPING_ID", "12333484", "ADMIN"
3, 0, 1, "PAYPAL_KEY", "2143123412341", "ADMIN"
4, 0, 1, "PAYPAL_KEY", "123412341234123", "ADMIN"
5, 0, 1, "NOTIF_PREF", "ON", "ADMIN"
6, 0, 2, "NOTIF_PREF", "OFF", "ADMIN"
Bằng cách này, bạn có thể lưu trữ dữ liệu bạn có và dữ liệu bạn sẽ có trong năm tới và chưa biết về :).
Trong ví dụ này, phạm vi và refId của bạn có thể được sử dụng cho bất cứ điều gì bạn muốn ở mặt sau. Vì vậy, nếu propertyType "ADMIN" có phạm vi 0 refId 2, bạn sẽ biết nó ưu tiên gì.
Loại tài sản có trong tay khi một ngày nào đó, bạn cũng cần lưu trữ thông tin không phải quản trị viên ở đây.
Lưu ý rằng bạn không nên lưu trữ dữ liệu giỏ hàng theo cách này hoặc tra cứu cho vấn đề đó. Tuy nhiên nếu dữ liệu là Hệ thống cụ thể, thì bạn chắc chắn có thể sử dụng phương pháp này.
Ví dụ: Nếu bạn muốn lưu trữ DATABASE_VERSION của mình , bạn sẽ sử dụng một bảng như thế này. Bằng cách đó, khi bạn cần nâng cấp ứng dụng, bạn có thể kiểm tra bảng thuộc tính để xem phiên bản phần mềm của máy khách của bạn.
Vấn đề là bạn không muốn sử dụng cái này cho những thứ liên quan đến giỏ hàng. Giữ cho bạn logic kinh doanh trong các bảng quan hệ được xác định rõ. Bảng thuộc tính chỉ dành cho thông tin hệ thống.