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

Beverly Hills 90210 và ZIP + 4:Xử lý địa chỉ trong mô hình dữ liệu

Trong bài đăng cuối cùng của mình, tôi đã viết về việc đảm bảo rằng mô hình dữ liệu của bạn xử lý đúng thông tin toàn cầu:số, đơn vị tiền tệ, số điện thoại, địa chỉ, ngày tháng và múi giờ, cùng những thứ khác. Tuy nhiên, tôi nhận thấy rằng nhiều mô hình dữ liệu ví dụ có chính xác cách tiếp cận “tự cho mình là trung tâm” hoặc “lấy người Mỹ làm trung tâm” mà tôi đã cảnh báo.

Là một người Mỹ sống ở nước ngoài (gần 30 năm nay), tôi thường thấy rằng mọi người đặt ra quá nhiều giả định về tính phổ biến của những gì họ biết. Ví dụ:một số người Mỹ cho rằng những người khác tự động hiểu hệ thống mã ZIP của quốc gia họ và phiên bản ZIP + 4 bổ sung của nó. Theo kinh nghiệm của tôi, hầu hết thế giới không biết ZIP + 4 là gì.

Vì vậy, tôi nghĩ rằng sẽ rất tốt nếu viết về một cách tiếp cận toàn cầu hơn để lập mô hình địa chỉ.

Những địa chỉ được biết đến trên khắp thế giới

Hãy lấy một số địa chỉ nổi tiếng và một số địa chỉ ít nổi tiếng hơn trên khắp thế giới và tạo mô hình dữ liệu hỗ trợ lưu trữ của họ.

Tôi sẽ bắt đầu với địa chỉ của Tổng thống Hoa Kỳ:Nhà Trắng.

Nhà Trắng

1600 Đại lộ Pennsylvania NW

Washington, DC 20500

Bây giờ, 1600 là những gì thường được gọi là số đường phố hoặc số nhà. Đó là số của ngôi nhà (tòa nhà) trên đường phố. Đại lộ Pennsylvania là tên của đường phố. “NW” là chữ viết tắt của Northwest và dùng để chỉ khu vực của Washington, nơi có địa chỉ cụ thể này. Điều thú vị là 1600 Pennsylvania Avenue SE hoàn toàn là một địa chỉ khác; đó là một tòa nhà chung cư.

Washington, sau đó, là tên thành phố. Và DC, hay District of Columbia, là “tiểu bang”; tuy nhiên, DC là đặc biệt trong số các tiểu bang của Mỹ. Washington D.C. là thủ đô của Hoa Kỳ, nhưng nó không được gọi đúng là một tiểu bang, và nó không được tính là một trong 50 tiểu bang của Hoa Kỳ. (Có một tiểu bang Washington, nhưng nó nằm trên bờ biển hoàn toàn đối diện với D.C. Bạn có thể biết nó là quê hương của Starbucks, Boeing và các công ty nổi tiếng khác.) Quan điểm của chúng tôi là trong hệ thống bưu chính của Hoa Kỳ, “DC” hoạt động như bất kỳ chữ viết tắt nào khác của tiểu bang.

Bây giờ, con số đó:20500. Ở hầu hết các quốc gia, số này sẽ được gọi là mã bưu điện hoặc mã bưu chính; Người Mỹ gọi nó là mã ZIP. Mã ZIP (Kế hoạch Cải thiện Khu vực) được giới thiệu ở Hoa Kỳ vào năm 1963. Chúng tôi thấy rằng đối với Nhà Trắng, mã ZIP là 20500.

Năm 1983, Bưu điện Hoa Kỳ muốn chính xác hơn nên họ đã tạo ra một mã ZIP + 4 mở rộng. ZIP + 4 này bao gồm năm chữ số của mã ZIP, một dấu gạch ngang và bốn chữ số bổ sung trỏ đến một vị trí cụ thể trong mã ZIP. Mã ZIP + 4 của Tổng thống Hoa Kỳ là 20500-0001. Số ZIP + 4 của Đệ nhất phu nhân (phu nhân của Tổng thống) là 20500-0002. Và số ZIP + 4 của Nhà Trắng là 20500-0003.

Mặc dù ZIP + 4 có thể khá chính xác, nhưng bạn sẽ hiếm khi tìm thấy ZIP + 4 được sử dụng cho một người. Chúng thường đề cập đến một hộp thư bưu điện (cho một công ty lớn), một loạt các hộp thư bưu điện hoặc một vùng lân cận trong thành phố.

Beverly Hills 90210

Tùy thuộc vào độ tuổi của mình, bạn có thể biết bộ phim truyền hình Hoa Kỳ 90210 hoặc Beverly Hills 90210 . Vở opera xà phòng dành cho thanh thiếu niên nổi tiếng này là một ví dụ điển hình khác về hệ thống bưu điện của Hoa Kỳ tại nơi làm việc. Một số người nghĩ rằng đó là địa chỉ chính xác của một khu phố, một con phố, hoặc thậm chí một ngôi nhà cụ thể.

Đầu tiên, hãy bắt đầu với một số thông tin cơ bản. Beverly Hills là một thành phố thuộc Quận Los Angeles của California. Đây là nơi tập trung nhiều ngôi sao Hollywood và con phố mua sắm cao cấp Rodeo Drive (từng nổi tiếng trong bộ phim Pretty Woman năm 1990) ).

https://goo.gl/maps/gqdvgRMNn472

Một trong những mã ZIP ở Beverly Hills là 90210, nhưng thành phố Beverly Hills cũng sử dụng các mã ZIP khác (90209, 90211, 90212 và 90213). Mã 90210 đề cập đến một trong những vùng lân cận sang trọng của Beverly Hills, và do đó chỉ một vùng lân cận độc quyền trong một phần cao cấp của Los Angeles.

Nhưng mã ZIP 90210 vượt ra ngoài Beverly Hills. Nó bao gồm một số Đồi Hollywood liền kề. Bạn biết những ngọn đồi nơi có biển báo "HOLLYWOOD" không? Đó là mã ZIP 90210.

https://goo.gl/maps/Fa2t8SQaGj222

Phần còn lại của ZIP này, trải dài về phía bắc đến Mulholland Drive (bất tử trong phim kinh dị tâm lý năm 2001 của David Lynch), bị bỏ lại như một phần của những ngọn đồi ở Los Angeles, nơi nó vẫn vô danh trong nhiều thập kỷ.

Cung điện Buckingham

Cung điện Buckingham có một địa chỉ đơn giản, vì vậy nếu bạn muốn viết thư cho Nữ hoàng Elizabeth, chỉ cần gửi một ghi chú tới:

Cung điện Buckingham

Luân Đôn SW1A 1AA, Vương quốc Anh

Trong địa chỉ này, chúng tôi tìm thấy một loại mã bưu chính kỳ lạ. Ở Vương quốc Anh (cộng với các quốc gia tạo nên Khối thịnh vượng chung Anh và hầu hết các thuộc địa cũ của Anh), mã bưu chính là chữ và số. Đối chiếu điều này với mã bưu chính toàn số được tìm thấy ở nhiều quốc gia khác, bao gồm cả mã ZIP của Hoa Kỳ

Ở Vương quốc Anh, mã bưu điện thường chứa một hoặc hai chữ cái “mã thành phố” được đặt tên cho một thị trấn địa phương hoặc một khu vực của Luân Đôn. Trong ví dụ của chúng tôi, đây là "SW", dùng để chỉ phần phía tây nam của London. Theo sau là một hoặc hai chữ số biểu thị một quận trong vùng đó - "1A". Sau đó, có một mã tùy ý bao gồm một số và hai chữ cái, trong trường hợp này là “1AA”.

Số 10

Bạn có thể tìm thấy Thủ tướng Anh tại địa chỉ được gọi là "Số 10", lấy tên từ số đường của tòa nhà:

10 Downing St

Luân Đôn SW1A 2AA, Vương quốc Anh

Giống như Cung điện Buckingham, "Số 10" nằm ở phía tây nam của London. Mã bưu điện ở một số thành phố của Vương quốc Anh thậm chí có thể giúp bạn nhận ra địa chỉ nằm ở khu vực nào của thành phố.

Điện Élysée

Mặt khác, bạn thường có thể tìm thấy Tổng thống Pháp tại địa chỉ này:

55 Rue du Faubourg Saint-Honoré 75008

Paris, Pháp

Ví dụ này theo một mẫu quen thuộc:số đường phố (55) và tên đường phố (Rue du Faubourg Saint-Honoré) đứng trước.

Tiếp theo, chúng tôi tìm thấy một mã bưu chính gồm 5 chữ số. Trong mã bưu điện của Pháp, hai chữ số đầu tiên cho biết địa chỉ “département” (khu vực) nằm ở đâu. Đối với mã bưu chính của Paris, ba chữ số cuối cùng cho biết “quận” (vùng lân cận) của địa chỉ. Vì vậy, trong trường hợp này, mã bưu điện chỉ ra vùng lân cận của địa chỉ.

Địa chỉ ít nổi tiếng (nhưng phức tạp)

Ấn Độ

Đủ các địa chỉ đơn giản. Ở một số quốc gia, việc sử dụng số hiệu đường phố là rất hiếm. Thay vào đó, các địa chỉ có thể chỉ định rằng một vị trí nằm bên cạnh một trang web nổi tiếng. Hoặc họ có thể chỉ nêu tên của tòa nhà và vùng lân cận mà nó tọa lạc.

Đây là địa chỉ của một khách sạn Hyatt ở thành phố Pune của Ấn Độ, thuộc bang Maharahashtra.

Hyatt Pune

Tiếp giáp Cung điện Aga Khan, Đường Nagar, Kalyani Nagar

Pune, Ấn Độ, 411006

Ở đây chúng tôi tìm thấy một mã bưu chính khác, nhưng trong trường hợp này, nó không phải là 4 chữ số, cũng không phải 5 chữ số, cũng không phải 5 + 4 chữ số, cũng không phải là sự kết hợp của chữ số và chữ cái. Đó là 6 chữ số. Mã bưu chính của Ấn Độ bắt đầu bằng mã vùng, sau đó là mã vùng phụ và mã đại diện cho khu vực sắp xếp. Đó không phải là thông tin hữu ích cho lắm nếu bạn đang cố gắng trực tiếp tìm vị trí này!

Trong trường hợp này, không có đề cập đến tiểu bang mà Pune tọa lạc. Tuy nhiên, khi một số thành phố có cùng tên nhưng nằm ở các bang khác nhau của Ấn Độ, một bang có thể được đưa vào địa chỉ.

Chúng tôi tìm thấy tên đường (Đường Nagar) và chỉ dẫn của vùng lân cận (Kalyani Nagar), nhưng không có số đường phố thực tế. Bạn có thể đi bộ lên và xuống đường Nagar để tìm địa điểm này. Do đó, chúng tôi nhận thấy vị trí được chỉ định là tiếp giáp với một địa điểm nổi tiếng - Cung điện Aga Khan.

Nhật Bản

Tôi sẽ lấy một ví dụ từ một khách sạn Hyatt nữa, mà bạn có thể đã thấy trong phim “Lạc lối trong bản dịch”:

Park Hyatt Tokyo

3-7-1-2 Nishi Shinjuku, Shinjuku-Ku

Tokyo, Nhật Bản, 163-1055

Chỉ để nói rõ rằng, tôi đang sử dụng định dạng phương Tây và bản dịch tiếng Anh thay vì các ký tự tiếng Nhật ở đây.

Một lần nữa, bạn có thể tìm thấy các yếu tố của vùng lân cận, thành phố và mã bưu chính trong địa chỉ này. “Nishi-Shinjuku” (西 新宿) là khu kinh doanh nhà chọc trời ở khu Shinjuku của Tokyo.

Bây giờ, khách sạn này nằm trên đường nào? Từ địa chỉ, bạn không có manh mối. Tên đường phố hiếm khi được sử dụng và hầu hết các đường phố Nhật Bản thậm chí không có tên (ngoại trừ ở một số thành phố, chẳng hạn như Kyoto).

Và đừng thử đi bộ xuống phố để tìm các tòa nhà được đánh dấu 3-7-1-2. Những con số này đề cập đến các quận, khu, tiểu khu và các khối thành phố cụ thể (trong trường hợp này là ở Tokyo).

Hệ thống địa chỉ của Nhật Bản, khi được viết theo phong cách phương Tây, bắt đầu bằng thực thể nhỏ nhất (thường là số nhà) và tiến tới lớn nhất. Bạn thường sẽ tìm thấy “Chome” trong địa chỉ, là một quận thành phố (丁目 chōme).

Tại sao phải tạo mô hình địa chỉ tự làm trung tâm?

Một vấn đề với mô hình địa chỉ là khi tác giả tạo một mô hình chỉ hỗ trợ đúng địa chỉ cục bộ của anh ta. Tôi đã giải thích điều này trong bài đăng khác của mình, vì vậy tôi sẽ chỉ tóm tắt các vấn đề chính:

  • Mô hình dữ liệu được thiết kế cho đối tượng địa phương thường không thể chấp nhận thông tin từ một quốc gia khác. Ví dụ:nếu ai đó từ Vương quốc Anh cố gắng nhập mã bưu điện gồm tám chữ số của họ vào trường ZIP của Mỹ gồm năm chữ số, chỉ có chữ số, nó sẽ không hoạt động.
  • Khán giả quốc tế có thể không hiểu hoặc sử dụng các thuật ngữ, định dạng và bố cục giống như khán giả địa phương.

Vậy tại sao điều này xảy ra? Thiếu tầm nhìn xa, nhưng nó cũng liên quan đến đào tạo. Nếu các nhà lập mô hình dữ liệu không được dạy cách suy nghĩ trên toàn cầu, thì hầu như họ sẽ luôn suy nghĩ cục bộ. Không tin vào quan điểm - một lần nữa, tôi đã đề cập đến vấn đề này trong bài đăng được tham chiếu ở trên - nhưng thông thường trong nhiều sách giáo khoa về mô hình cơ sở dữ liệu là tập trung vào cách tiếp cận lấy người Mỹ làm trung tâm.

May mắn thay, suy nghĩ toàn cầu về mô hình dữ liệu cho các địa chỉ đa quốc gia không phải là một kỹ năng khó để có được. Nó liên quan đến tính toán trước và tính linh hoạt.

Giải pháp:Mô hình hóa địa chỉ toàn cầu

Tôi đã tạo một mô hình dữ liệu để lưu trữ các địa chỉ toàn cầu.

Có hai trường dòng địa chỉ chung (AddressLine1AddressLine2 của Address bảng) sẽ lưu trữ gần như bất kỳ địa chỉ nào. Điều này sẽ hoạt động cho dù chúng tôi đang cất giữ “10 Downing St”, “gần Cung điện Aga Khan” hay “3-7-1-2 Nishi Shinjuku”. Rủi ro là hai trường 70 ký tự có thể quá ngắn đối với một số địa chỉ. Tuy nhiên, 140 ký tự là đủ cho hầu hết mọi tình huống.

Tôi đã sử dụng quy ước chung của hai trường dòng địa chỉ để có thể tạo AddressLine1 bắt buộc (không thể null) và AddressLine2 tùy chọn (nullable). Vì vậy, mô hình này yêu cầu rằng một số thông tin địa chỉ được cung cấp, nhưng nó cho phép cả địa chỉ rất ngắn và rất dài, chi tiết.

Tiếp theo, hãy xem mã bưu điện / ZIP. PostCode trường linh hoạt và không có bất kỳ ràng buộc nào đối với thông tin có thể được lưu trữ trong đó. Điều này sẽ hỗ trợ mã ZIP của Mỹ, ZIP + 4 của Mỹ, mã bưu chính 4 chữ số, mã bưu chính 5 chữ số, mã bưu chính của Anh (với các chữ cái và chữ số) và nhiều loại mã bưu điện khác.

Region Trường lưu trữ các khu vực trong một quốc gia (tức là tiểu bang, tỉnh, sở, v.v.) nhưng trường này là vô hiệu. Tất nhiên, mô hình địa chỉ toàn cầu yêu cầu quốc gia được chỉ định thông qua mã quốc gia ISO 2 ký tự (Country trong trường Address bảng).




Bây giờ, hãy mở mô hình và chỉnh sửa nó. Đó là lý do tại sao chúng tôi tạo mô hình ngay từ đầu. Có lẽ bạn có thể xem các cách để cải thiện mô hình. Hoặc có thể bạn cần điều chỉnh nó cho phù hợp với nhu cầu cụ thể của mình. Hãy thoải mái chơi với nó và biến nó thành của riêng bạn.

Địa chỉ của bạn là gì? Nó có thể vừa với Address thiết kế bảng? Nếu không, hãy cho chúng tôi biết! Sẽ rất thú vị nếu biết những gì phải được mở rộng để hỗ trợ địa chỉ của bạ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. Toán tử SET T-SQL Phần 2:INTERSECT và EXCEPT

  2. Cách tạo bảng từ truy vấn SQL

  3. Phân mảnh chỉ mục được nhóm không mong muốn

  4. Cách sắp xếp hàng theo tổng nhóm trong SQL

  5. Huyền thoại về hiệu suất:Chỉ mục được phân nhóm so với không được phân nhóm