Chúng tôi có một nhóm thiết kế các bảng và quan hệ cho các nhà phát triển phần mềm. Trong tổ chức của chúng tôi, họ khá nghiêm ngặt trong việc thực thi chuẩn hóa 3NF - thành thật mà nói, tôi đồng ý với quy mô của tổ chức của chúng tôi và nhu cầu hoặc khách hàng của chúng tôi thay đổi theo thời gian như thế nào. Chỉ có một lĩnh vực tôi không rõ về lý do đằng sau quyết định thiết kế của họ: địa chỉ.
Mặc dù điều này chủ yếu tập trung vào các địa chỉ ở Hoa Kỳ, tôi nghĩ rằng điều này có thể áp dụng cho bất kỳ quốc gia nào thực hiện việc này. Mỗi phần của một địa chỉ được cột riêng trong bảng địa chỉ. Ví dụ: lấy địa chỉ Mỹ sởn gai ốc này:
Attn: Jane Doe
485 1/2 N Smith St SW, APT 300B
Chicago, IL 11111-2222
Nó sẽ được chia ra trong cơ sở dữ liệu như thế này:
- Số đường phố: 485
- Tỷ lệ đường phố: 1/2
- Đường định hướng trước: N (Bắc)
- Tên đường phố: Smith
- Loại đường: ST (Đường phố)
- Đường sau hướng: SW (Tây Nam)
- Thành phố: Chicago
- Bang: IL (Illinois)
- Mã bưu điện: 11111
- Mã Zip4: 2222
- Quốc gia (giả sử là Hoa Kỳ)
- Chú ý: Jane Doe
- Hộp thư bưu điện: NULL
- Loại nhà ở: APT (Căn hộ)
- Số nhà ở: 300B
Và sẽ có một vài cột khác liên quan đến các tuyến đường nông thôn và các tuyến hợp đồng. Hơn nữa, ứng dụng cụ thể của chúng tôi có thể sẽ có một vài địa chỉ quốc tế trong đó. Các nhà lập mô hình dữ liệu cho biết họ sẽ thêm các cột cụ thể cho các địa chỉ quốc tế, đó sẽ là các trường dòng 1, dòng 2 bình thường.
Lúc đầu, tôi nghĩ rằng đây là CÁCH THỨC. Nghiên cứu trực tuyến nhiều lần đề cập đến việc sử dụng dòng địa chỉ 1, 2, 3 và có thể 4, sau đó tách ra thành phố, khu vực và mã bưu chính. Chúng tôi có một trường hợp sử dụng cho ứng dụng mới của chúng tôi, nơi độ chi tiết này có lợi. Chúng tôi phải xác thực rằng người dùng không tạo doanh nghiệp trùng lặp và kiểm tra địa chỉ là một trong những xác nhận. Chúng ta có thể làm cho nó hoạt động với dòng địa chỉ 1 và 2, nhưng sẽ khó khăn hơn.
Đối với ứng dụng cụ thể của chúng tôi, chúng tôi cần lưu trữ nhiều loại địa chỉ cho doanh nghiệp và người dân (vật lý, gửi thư, vận chuyển, v.v.). Chúng tôi có thể cần phải tạo các mẫu thư có thể in được, nhưng yêu cầu đó chưa được thảo luận cho đến nay.
Một số điều khác ứng dụng trong tổ chức của chúng tôi cần hỗ trợ:
- Kiểm toán (với các bảng lịch sử đầy đủ)
- In nhãn thư
- Tạo các mẫu in
- Báo cáo (cho chính phủ quốc gia và khu vực)
Mặc dù ứng dụng của chúng tôi có thể không làm mọi thứ mà mọi ứng dụng khác đang làm, việc chia địa chỉ thành nhiều thành phần là một tiêu chuẩn doanh nghiệp nơi tôi làm việc. Bất kể ứng dụng của chúng tôi có được hưởng lợi từ nó hay không, chúng tôi buộc phải làm điều này.
Câu hỏi StackOverflow liên quan đến bán: Bộ phân tích địa chỉ tốt đã được đóng ở đâu, nhưng minh họa mức độ khó của các địa chỉ phân tích cú pháp.
Để tôi hiểu rõ hơn về quyết định thiết kế của họ và bán cho khách hàng của chúng tôi về ý tưởng ...
Vấn đề nào được giải quyết bằng cách chia địa chỉ đường phố thành các cột riêng lẻ?
Điểm thưởng cho bất cứ ai đã thực hiện một hệ thống như thế này, vì họ gặp phải vấn đề.