Ý tưởng thứ hai (để tạo thuộc tính boolean cho lựa chọn) có nhiều ưu điểm :
(i) nó ghi rõ những gì cần được dán nhãn,
(ii) nó là vĩnh viễn và di động như bộ dữ liệu cơ bản,
(iii) nó cung cấp một cơ chế đơn giản và trực tiếp để xác định nhãn nào sẽ xuất hiện (thậm chí có thể di chuyển sang gói đồ họa hoặc gói đồ họa khác),
(iv) thậm chí có thể phân tích được trong trường hợp có câu hỏi về mối quan hệ giữa các lựa chọn nhãn này và bất kỳ biến nào khác, và
(v) bằng cách mã hóa kỹ lưỡng sự lựa chọn của khách hàng, nó không tạo ra thông tin trùng lặp.
Có một số nguyên tắc quản lý và xây dựng cơ sở dữ liệu chung tại nơi làm việc , như được đề xuất một cách khôn ngoan trong câu hỏi. Một trong số đó là bất kỳ mẩu thông tin mạch lạc nào cũng phải được trình bày duy nhất trong cơ sở dữ liệu nếu có thể. (Thông tin được sử dụng làm chìa khóa để thực hiện các phép nối và liên quan tất nhiên phải xuất hiện ở nhiều nơi nhờ chức năng của nó là xác định các bản ghi tương ứng trong các bảng khác nhau.) Có những lý do tuyệt vời cho nguyên tắc này, vì bất kỳ ai đã cố gắng duy trì trạng thái không chuẩn hóa cơ sở dữ liệu quan hệ có thể chứng thực: nếu bạn không nhớ cập nhật hoặc xóa hoặc thêm thông tin này vào mỗi trong đó nó xuất hiện, cơ sở dữ liệu của bạn sẽ sớm trở nên không nhất quán trong nội bộ: nó bị hỏng, thường là không thể khắc phục được.
Một nguyên tắc khác là trong một thiết kế cơ sở dữ liệu quan hệ tốt, mỗi bảng nên biểu thị một "thực thể" khái niệm duy nhất : thứ gì đó mà dữ liệu đang mô hình hóa hoặc mối quan hệ giữa những thứ đó. Khi một máy khách chỉ định một lựa chọn các tính năng dường như tùy ý, chúng sẽ chỉ định một cách hiệu quả một tập hợp con các hàng trong một bảng. Về mặt toán học, bằng tiên đề của sự phân tách, điều này giống như việc gắn cờ chúng với trường boolean. Do đó, bất kỳ tập hợp con "tùy ý" nào có ý nghĩa trong cơ sở dữ liệu đều có thể được biểu diễn bằng trường boolean và ngược lại, trường đó là một cách tốt để lưu trữ các tập hợp con tùy ý (hoặc các lựa chọn).
Tuy nhiên, một nguyên tắc khác là bạn nên sử dụng các khả năng quản lý dữ liệu cơ bản của GIS để lưu trữ thông tin . Thay thế là một số ad hocphương pháp dựa trên khả năng của GIS để lưu trữ thông tin trong "tệp dự án" hoặc theo một số cách độc lập khác. Một ví dụ điển hình của việc này là thực hành chọn thủ công và đặt các nhãn mong muốn. Thường thì nó nhanh chóng và dễ dàng để làm điều này. Các vấn đề phát sinh bất cứ khi nào cần thay đổi hoặc công việc cần được sao chép; một hoặc một trong những tình huống này là thực tế không thể tránh khỏi. Việc đặt nhãn thủ công tương đương với việc lưu trữ thông tin (cụ thể là tập hợp các tính năng nào sẽ được gắn nhãn) bên ngoài RDBMS theo kiểu elip cực kỳ. Cụ thể, lựa chọn chỉ được chỉ định bởi nhãn nào xuất hiện và nhãn nào không. Hãy suy nghĩ về cách bạn sẽ giải quyết các vấn đề tiếp theo sau:
Khách hàng muốn các nhãn giống nhau xuất hiện trong một bản đồ có liên quan nhưng khác nhau, một phần của dự án khác.
Một câu hỏi đặt ra là liệu các nhãn có được liên kết với một số thuộc tính khác không.
Sau khi thực hiện một số thay đổi cho nhãn theo thời gian, bạn được yêu cầu hoàn nguyên về phiên bản gốc.
Trong những trường hợp này, công việc liên quan để giải quyết vấn đề có thể rất lớn: bạn phải làm lại việc dán nhãn lại hoặc thực hiện kiểm tra chéo thủ công đối với các bảng cơ sở dữ liệu hoặc tìm và khôi phục tệp dự án lưu trữ cũ. Nếu các nhãn thay vào đó được đại diện bởi một trường boolean trong cơ sở dữ liệu, thì công việc thay vào đó sẽ gần như không đáng kể.