sql >> Base de Datos >  >> RDS >> Database

Beverly Hills 90210 y ZIP+4:Manejo de direcciones en modelos de datos

En mi última publicación, escribí sobre cómo garantizar que su modelo de datos maneje correctamente la información global:números, monedas, números de teléfono, direcciones, fechas y zonas horarias, entre otras cosas. Sin embargo, me di cuenta de que muchos modelos de datos de ejemplo tienen exactamente el enfoque "egocéntrico" o "amerocéntrico" que advertí.

Como estadounidense que vive en el extranjero (durante casi 30 años), a menudo encuentro que las personas hacen demasiadas suposiciones sobre la universalidad de lo que saben. Por ejemplo, algunos estadounidenses asumen que otros entienden automáticamente el sistema de código postal de su país y su versión complementaria ZIP+4. En mi experiencia, la mayor parte del mundo no tiene idea de lo que es un ZIP+4.

Así que pensé que sería bueno escribir sobre un enfoque más global para modelar direcciones.

Direcciones conocidas en todo el mundo

Tomemos algunas direcciones conocidas y otras menos conocidas de todo el mundo y creemos un modelo de datos que admita su almacenamiento.

Comenzaré con la dirección del presidente de los Estados Unidos:la Casa Blanca.

Casa Blanca

1600 Pennsylvania Ave NW

Washington, DC 20500

Ahora, 1600 es lo que generalmente se conoce como número de calle o número de casa. Ese es el número de la casa (edificio) en la calle. Pennsylvania Avenue es el nombre de la calle. “NW” es la abreviatura de Northwest y se refiere a la sección de Washington donde se encuentra esta dirección en particular. Curiosamente, 1600 Pennsylvania Avenue SE es una dirección completamente diferente; es un edificio de apartamentos.

Washington, entonces, es el nombre de la ciudad. Y DC, o Distrito de Columbia, es el “estado”; sin embargo, DC es especial entre los estados americanos. Washington D.C. es la capital de los Estados Unidos, pero no se denomina correctamente estado y no cuenta como uno de los 50 estados estadounidenses. (Hay un estado de Washington, pero está ubicado en la costa completamente opuesta a D.C. Es posible que lo conozca como el hogar de Starbucks, Boeing y otras compañías famosas). Nuestro punto es que en el sistema postal de EE. UU., "DC" funciona como cualquier otra abreviatura estatal.

Ahora, ese número:20500. En la mayoría de los países, esto se denominaría código postal o código postal; Los estadounidenses lo llaman el código postal. Los códigos postales (Zone Improvement Plan) se introdujeron en los EE. UU. en 1963. Vemos que para la Casa Blanca, el código postal es 20500.

En 1983, el Servicio Postal de EE. UU. quería ser más preciso, por lo que creó un código ZIP+4 extendido. Este ZIP+4 incluye los cinco dígitos del código postal, un guión y cuatro dígitos adicionales que apuntan a una ubicación específica dentro del código postal. El ZIP+4 del presidente de los EE. UU. es 20500-0001. El ZIP+4 de la Primera Dama (la esposa del presidente) es 20500-0002. Y el ZIP+4 de la Casa Blanca es 20500-0003.

Si bien el ZIP+4 puede ser bastante preciso, rara vez encontrará un ZIP+4 que se use para una sola persona. A menudo se refieren a un apartado de correos (para una gran empresa), una serie de apartados de correos o un barrio dentro de una ciudad.

Beverly Hills 90210

Dependiendo de tu edad, es posible que conozcas la serie de televisión estadounidense 90210 o Beverly Hills 90210 . Esta popular telenovela para adolescentes es otro buen ejemplo del funcionamiento del sistema postal estadounidense. Algunas personas piensan que es la dirección precisa de un barrio, una calle o incluso una casa en particular.

Primero, comencemos con algunos antecedentes. Beverly Hills es una ciudad en el condado de Los Ángeles en California. Es el hogar de muchas estrellas de Hollywood y de la exclusiva calle comercial Rodeo Drive (que se hizo famosa en la película de 1990 Pretty Woman). ).

https://goo.gl/maps/gqdvgRMNn472

Uno de los códigos postales de Beverly Hills es 90210, pero la ciudad de Beverly Hills también usa otros códigos postales (90209, 90211, 90212 y 90213). El código 90210 hace referencia a uno de los barrios más elegantes de Beverly Hills y, por lo tanto, a un barrio exclusivo en una zona exclusiva de Los Ángeles.

Pero el código postal 90210 se extiende más allá de Beverly Hills. Incluye algunas de las colinas de Hollywood contiguas. ¿Conoces las colinas donde se encuentra el cartel de “HOLLYWOOD”? Eso está en el código postal 90210.

https://goo.gl/maps/Fa2t8SQaGj222

La sección restante de este código postal, que se extiende hacia el norte hasta Mulholland Drive (inmortalizado en el thriller psicológico de David Lynch de 2001), quedó como parte de las colinas de Los Ángeles, donde permaneció en el anonimato durante décadas.

Palacio de Buckingham

El Palacio de Buckingham tiene una dirección sencilla, por lo que si desea escribirle a la reina Isabel, envíe una nota a:

Palacio de Buckingham

Londres SW1A 1AA, Reino Unido

En esta dirección encontramos un extraño tipo de código postal. En el Reino Unido (más los países que conforman la Commonwealth británica y la mayoría de las antiguas colonias británicas), el código postal es alfanumérico. Compare esto con el código postal totalmente numérico que se encuentra en muchos otros países, incluidos los códigos postales de EE. UU.

En el Reino Unido, el código postal generalmente contiene un "código de ciudad" de una o dos letras que corresponde a una ciudad local o un área de Londres. En nuestro ejemplo, este es el "SW", que se refiere a la parte suroeste de Londres. Le siguen uno o dos dígitos que significan un distrito en esa región:el "1A". Luego hay un código arbitrario que consta de un número y dos letras, que en este caso es “1AA”.

Número 10

Puede encontrar al Primer Ministro británico en la dirección conocida como “Número 10”, que toma su nombre del número de la calle del edificio:

Calle Downing 10

Londres SW1A 2AA, Reino Unido

Al igual que el Palacio de Buckingham, el "Número 10" se encuentra en la parte suroeste de Londres. Los códigos postales de algunas ciudades del Reino Unido pueden incluso ayudarte a reconocer en qué parte de la ciudad se encuentra una dirección.

Palacio del Elíseo

Por otro lado, generalmente puede encontrar al presidente francés en esta dirección:

55 Rue du Faubourg Saint-Honoré 75008

París, Francia

Este ejemplo sigue un patrón familiar:el número de la calle (55) y el nombre de la calle (Rue du Faubourg Saint-Honoré) van primero.

A continuación, encontramos un código postal de 5 dígitos. En los códigos postales franceses, los dos primeros dígitos indican en qué “departamento” (región) se encuentra la dirección. Para los códigos postales parisinos, los tres últimos dígitos indican el “arrondissement” (barrio) de la dirección. Entonces, en este caso, el código postal indica el vecindario de la dirección.

Direcciones menos conocidas (pero complicadas)

India

Basta de direcciones simples. En algunos países, es raro usar números de calles. En cambio, las direcciones pueden especificar que una ubicación está al lado de un sitio conocido. O pueden indicar simplemente el nombre del edificio y el vecindario en el que se encuentra.

Esta es la dirección de un hotel Hyatt en la ciudad india de Pune, en el estado de Maharahashtra.

Hyatt Pune

Junto al Palacio Aga Khan, Nagar Road, Kalyani Nagar

Pune, India, 411006

Aquí encontramos otro código postal, pero en este caso no es de 4 dígitos, ni de 5 dígitos, ni de 5+4 dígitos, ni una mezcla de dígitos y letras. Son 6 dígitos. El código postal indio comienza con un código de región, luego un código de subregión y un código que representa el distrito de clasificación. ¡Esa no es información muy útil si está tratando de encontrar esta ubicación en persona!

En este caso, no se menciona el estado en el que se encuentra Pune. Sin embargo, cuando varias ciudades comparten el mismo nombre pero están ubicadas en diferentes estados indios, se puede incluir un estado en la dirección.

Encontramos un nombre de calle (Nagar Road) y la indicación del vecindario (Kalyani Nagar), pero no hay un número de calle real. Podrías caminar arriba y abajo de Nagar Road buscando esta ubicación. Por lo tanto, encontramos que la ubicación se especifica como adyacente a un sitio muy conocido:el Palacio Aga Khan.

Japón

Tomaré un ejemplo de otro hotel Hyatt, que quizás haya visto en la película “Lost In Translation”:

Park Hyatt Tokio

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

Tokio, Japón, 163-1055

Solo para decir lo obvio, aquí estoy usando formato occidental y una traducción al inglés en lugar de caracteres japoneses.

Nuevamente, puede encontrar elementos de vecindario, ciudad y código postal en esta dirección. “Nishi-Shinjuku” (西新宿) es el distrito comercial de rascacielos en el barrio Shinjuku de Tokio.

Ahora bien, ¿en qué calle se encuentra este hotel? De la dirección, no tienes ni idea. Los nombres de las calles rara vez se usan, y la mayoría de las calles japonesas ni siquiera tienen nombres (excepto en algunas ciudades, como Kioto).

Y no intente caminar por la calle buscando edificios marcados con 3-7-1-2. Estos números se refieren a distritos, secciones, subsecciones y bloques de ciudades específicos (en este caso, dentro de Tokio).

El sistema de direcciones japonés, cuando se escribe en estilo occidental, comienza con la entidad más pequeña (típicamente un número de casa) y continúa con la más grande. A menudo encontrará "Chome" en la dirección, que es un distrito de la ciudad (丁目 chōme).

¿Por qué el modelado de direcciones autocentrado?

Un problema con el modelado de direcciones es cuando un autor crea un modelo que solo admite correctamente su dirección local. Ya expliqué esto en mi otra publicación, así que solo resumiré los principales problemas:

  • Un modelo de datos que está diseñado para una audiencia local a menudo no puede aceptar información de un país diferente. Por ejemplo, si alguien del Reino Unido intentara ingresar su código postal alfanumérico de ocho dígitos en un campo postal estadounidense de cinco dígitos y solo numérico, no funcionaría.
  • Es posible que una audiencia internacional no comprenda o use los mismos términos, formatos y diseños que una audiencia local.

Entonces, ¿por qué pasa ésto? Hay una falta de previsión, pero también tiene que ver con la formación. Si a los modeladores de datos no se les enseña a pensar globalmente, casi siempre pensarán localmente. No quiero profundizar en el punto, nuevamente, lo mencioné en la publicación mencionada anteriormente, pero es común en muchos libros de texto de modelado de bases de datos centrarse en un enfoque centrado en Amero.

Afortunadamente, pensar globalmente en términos de modelado de datos para direcciones multinacionales no es una habilidad difícil de adquirir. Tiene que ver con la previsión y la flexibilidad.

La solución:modelado global de direcciones

Hice un modelo de datos para almacenar direcciones globales.

Hay dos campos de línea de dirección genéricos (AddressLine1 y AddressLine2 de la Address table) que almacenará casi cualquier dirección. Esto debería funcionar si estamos almacenando "10 Downing St", "adyacente al Palacio de Aga Khan" o "3-7-1-2 Nishi Shinjuku". El riesgo es que dos campos de 70 caracteres sean demasiado cortos para algunas direcciones. Aún así, 140 caracteres deberían ser suficientes para casi todas las situaciones.

He usado la convención común de dos campos de línea de dirección para poder hacer AddressLine1 obligatorio (no anulable) y AddressLine2 opcional (anulable). Por lo tanto, este modelo requiere que algunos se proporciona información de dirección, pero permite direcciones detalladas tanto muy cortas como muy largas.

A continuación, veamos el código postal/ZIP. El PostCode El campo es flexible y no tiene restricciones sobre la información que se puede almacenar en él. Esto admitiría códigos postales estadounidenses, ZIP+4 estadounidenses, códigos postales de 4 dígitos, códigos postales de 5 dígitos, códigos postales británicos (con letras y dígitos) y muchos otros tipos de códigos postales.

La Region El campo almacena regiones dentro de un país (es decir, estados, provincias, departamentos, etc.) pero este campo es anulable. Por supuesto, un modelo de dirección global requiere que el país se especifique a través de un código de país ISO de 2 caracteres (el Country campo en Address tabla).




Ahora, abra el modelo y modifíquelo. Es por eso que creamos el modelo en primer lugar. Tal vez puedas ver formas de mejorar el modelo. O tal vez necesites adaptarlo a tus necesidades específicas. Por favor, siéntase libre de jugar con él y hacerlo suyo.

¿Cual es tu dirección? ¿Puede caber en esta Address diseño de mesa? Si no, ¡háznoslo saber! Sería interesante saber qué debe extenderse para respaldar su dirección.