রাস্তার ঠিকানাগুলি পৃথক কলামগুলিতে ভাগ করে কোন সমস্যাগুলি সমাধান করা হয়?


24

আমাদের একটি দল আছে যারা সফ্টওয়্যার বিকাশকারীদের জন্য টেবিলগুলি এবং সম্পর্কের নকশা করে। আমাদের সংস্থায়, তারা 3 এনএফ নরমালাইজেশন প্রয়োগের বিষয়ে বেশ কঠোর - যা সত্য কথা বলতে গেলে আমি আমাদের সংস্থার আকার এবং সময়ের সাথে কীভাবে আমাদের ক্লায়েন্টগুলির প্রয়োজনীয়তা বা কীভাবে পরিবর্তন হয় তার সাথে আমি একমত। কেবলমাত্র একটি ক্ষেত্রই আমি তাদের নকশা সিদ্ধান্তের পিছনে কারণগুলি সম্পর্কে পরিষ্কার নই: ঠিকানাগুলি।

যদিও এটি বেশিরভাগ মার্কিন যুক্তরাষ্ট্রে ঠিকানাগুলিকে কেন্দ্র করে, আমি মনে করি এটি এটি যে কোনও দেশে প্রযোজ্য। ঠিকানার প্রতিটি টুকরো ঠিকানার টেবিলে নিজস্ব কলাম পায়। উদাহরণস্বরূপ, মার্কিন যুক্তরাষ্ট্রের এই সাধারণ ঠিকানাটি ধরুন:

Attn: Jane Doe
485 1/2 N Smith St SW, APT 300B
Chicago, IL 11111-2222

এটি ডাটাবেসে এভাবে বিভক্ত হবে:

  • রাস্তার নম্বর: 485
  • রাস্তার ভগ্নাংশ: 1/2
  • রাস্তার প্রাক-দিকনির্দেশনা: এন (উত্তর)
  • রাস্তার নাম: স্মিথ
  • রাস্তার ধরণ: এসটি (রাস্তার)
  • রাস্তার পোস্ট-দিকনির্দেশনা: এসডাব্লু (দক্ষিণ-পশ্চিম)
  • শহর: শিকাগো
  • রাজ্য: আইএল (ইলিনয়)
  • জিপ কোড: 11111
  • জিপ 4 কোড: 2222
  • দেশ (মার্কিন যুক্তরাষ্ট্র হিসাবে অনুমিত)
  • মনোযোগ: জেন ডো
  • পিও বাক্স: নাল
  • আবাসের ধরণ: এপিটি (অ্যাপার্টমেন্ট)
  • আবাসন নম্বর: 300 বি

এবং গ্রামীণ রুট এবং চুক্তি রুটের সাথে সম্পর্কিত আরও কয়েকটি কলাম থাকবে। তদুপরি, আমাদের নির্দিষ্ট অ্যাপ্লিকেশনটির এতে কয়েকটি আন্তর্জাতিক ঠিকানা থাকতে পারে। ডেটা মডেলাররা বলেছিলেন যে তারা আন্তর্জাতিক ঠিকানার জন্য নির্দিষ্ট কলামগুলি যুক্ত করবেন, এটি সাধারণ লাইন 1, লাইন 2 ক্ষেত্র হবে।

প্রথমে আমি ভেবেছিলাম এটি ওয়ে ওভারবোর্ড। অনলাইনে বারবার গবেষণা করা ঠিকানা লাইন 1, 2, 3 এবং সম্ভবত 4 ব্যবহার করে বোঝায়, তারপরে শহর, অঞ্চল এবং ডাক কোড বিভক্ত করে। আমাদের নতুন অ্যাপ্লিকেশনটির জন্য আমাদের এক ব্যবহারের কেস আছে যেখানে এই গ্রানুলারিটি উপকারী। আমাদের যাচাই করতে হবে যে ব্যবহারকারী কোনও সদৃশ ব্যবসা তৈরি করছে না, এবং ঠিকানাটি পরীক্ষা করা বৈধতার মধ্যে একটি। আমরা এটিকে ঠিকানা লাইন 1 এবং 2 দিয়ে কাজ করতে পারি তবে এটি আরও কঠিন হবে।

আমাদের নির্দিষ্ট অ্যাপ্লিকেশন হিসাবে, আমাদের ব্যবসা এবং লোকের জন্য একাধিক ধরণের ঠিকানা (শারীরিক, মেলিং, শিপিং ইত্যাদি) সংরক্ষণ করতে হবে। আমাদের মুদ্রণযোগ্য ফর্ম চিঠিগুলি তৈরি করার প্রয়োজন হতে পারে , তবে সেই প্রয়োজনীয়তাটি এখনও পর্যন্ত আলোচনা করা হয়নি।

আমাদের সংস্থার অ্যাপ্লিকেশনগুলিতে আরও কয়েকটি জিনিস সমর্থন করা দরকার:

  • নিরীক্ষণ (সম্পূর্ণ ইতিহাস সারণী সহ)
  • প্রিন্টিং মেলিং লেবেল
  • মুদ্রিত ফর্ম তৈরি করা হচ্ছে
  • রিপোর্টিং (জাতীয় এবং আঞ্চলিক সরকারের জন্য)

যদিও আমাদের অ্যাপ্লিকেশনটি প্রতিটি অন্যান্য অ্যাপ্লিকেশন যা করছে তা না করে, একাধিক উপাদানগুলিতে ঠিকানা বিভক্ত করা এমন একটি এন্টারপ্রাইজ স্ট্যান্ডার্ড যেখানে আমি কাজ করি। আমাদের অ্যাপ্লিকেশনটি এতে উপকৃত হবে কিনা তা বিবেচনা না করেই আমরা এটি করতে বাধ্য হই।

আধা সম্পর্কিত স্ট্যাকওভারফ্লো প্রশ্ন: একটি ভাল অ্যাড্রেস পার্সার কোথায় ছিল যা বন্ধ ছিল, তবে অ্যাড্রেসগুলি পার্সিং কতটা কঠিন হতে পারে তা তুলে ধরে।

আমার তাদের ডিজাইনের সিদ্ধান্তটি আরও ভালভাবে বুঝতে এবং আমাদের ক্লায়েন্টকে আইডিয়ায় বিক্রি করার জন্য ...

রাস্তার ঠিকানাটি পৃথক কলামগুলিতে ভাগ করে কোন সমস্যাগুলি সমাধান করা হয়?

যে কেউ এই জাতীয় ব্যবস্থা প্রয়োগ করেছে তার জন্য বোনাস পয়েন্ট, কারণ তারা সমস্যার মধ্যে পড়েছে।


1
এবং মনে রাখবেন কিছু ঠিকানা এখনও আপনার টেমপ্লেটের সাথে মানানসই নয় - আমি উন্নয়নশীল দেশগুলি থেকে "সিমেন্ট কারখানার নিচে রাস্তায়" রেখার সাথে কিছু বাস্তব রাস্তার ঠিকানা দেখেছি।
ডাস্কউফ

1
@ ডুসকুফ: আমি এটি তাদের কাছে নিয়ে এসেছি এবং সে কারণেই তারা "আন্তর্জাতিক ঠিকানা ক্ষেত্রগুলি" - লাইন_1, লাইন_2, লাইন 14 যুক্ত করে। তারা সত্যিই কেবল মার্কিন ঠিকানাগুলি বিভক্ত করতে চায়। এবং ন্যায়সঙ্গত হতে,> এই অ্যাপ্লিকেশনগুলির 90% ঠিকানা মার্কিন ঠিকানা। তবে আপনি কোথা থেকে আসছেন তা আমি পুরোপুরি বুঝতে পারি ।
গ্রেগ বার্গার্ড্ট

উত্তর:


10

বিভাজন দ্বারা সমাধান করা যেতে পারে এমন সমস্যাগুলির মধ্যে রয়েছে

বৈধতা নামের যে কোনও একটি অংশকে মাস্টার তালিকার সাথে তুলনা করা যেতে পারে। যা মেলে না তাদের প্রত্যাখ্যান করা যায়। পোস্টকোড / জিপকোড একটি সুস্পষ্ট উদাহরণ। এগুলি একটি স্বাধীন কর্তৃপক্ষ দ্বারা জারি করা হয় এবং রক্ষণাবেক্ষণ করা হয়। কেবলমাত্র বৈধ ব্যক্তিরা সেই কর্তৃপক্ষের দ্বারা জারি করা হয়।

বাছাই এবং নির্বাচন আমি এমন কেস দেখতে পেয়েছি যেখানে ইতিমধ্যে কিছুটা ব্যবস্থে অর্পিত ব্যবস্থা করা ডেলিভারি পরিষেবাতে মেইল ​​হস্তান্তর করা হলে ডাক চার্জ হ্রাস হয়। সংশ্লিষ্ট কলামগুলি থাকার সাথে স্থির ব্যবসায়ের মান উত্পন্ন হয়।

বিশ্লেষণ ভৌগলিকভাবে শ্রেণিবদ্ধভাবে আপনার অর্ডারগুলি কোথায় যাচ্ছে তা জানা দরকারী useful এটি বিক্রয় উদ্যোগ, পণ্য বিকাশ বা কমিশন প্রদান ইত্যাদি চালনা করতে পারে

কোড সদৃশ একটি প্রতিষ্ঠানের সমস্ত অ্যাপ্লিকেশন একই ডেটা মডেল (সবচেয়ে জটিল ভোক্তার হিসাবে) গ্রহণ করে, একটি একক কোড বেস এন্টারপ্রাইজ-প্রশস্ত এবং ধারাবাহিকভাবে বজায় রাখা যেতে পারে। অন্তহীনভাবে সদৃশ চুলের বিভাজন এড়ানো যায় বা কমপক্ষে প্রোপেলারহেডগুলিতে অর্পণ করা যায়। সংস্থার বিভিন্ন অংশের সম্বলিত ঠিকানাগুলি ধারাবাহিকভাবে আপডেট করা যেতে পারে। গ্রাহক সেবা এবং সন্তুষ্টি বৃদ্ধি করা যেতে পারে। উন্নয়নের প্রচেষ্টা কোনও সিস্টেমের অনন্য, উচ্চ মানের অংশগুলিতে মনোনিবেশ করতে পারে।

আইনী সমস্যা আইন ও কর এখতিয়ার দ্বারা পৃথক হয়। বিশদ ঠিকানা মান পৃথকভাবে ক্যাপচারের মাধ্যমে আনুষ্ঠানিক প্রয়োজনীয়তার সাথে ক্রস-রেফারেন্স লেনদেনের ডেটা সহজ।

সদৃশ একটি উপাদানটিকে পরের লাইনে স্থানান্তরিত করে বা কিছু অংশ সন্ধান করে পাঠ্য হিসাবে রাখা ঠিকানাগুলির ছল করা সহজ। সম্পূর্ণ পার্স করা ঠিকানাগুলি তুলনা করা সহজ to এটি একটি সহজ ডেটা মানের মানের সমস্যা হতে পারে, বা যদি সম্মতি বা ক্রেডিট জড়িত থাকতে পারে তবে যদি বলা হয়, একাধিক শেল সংস্থাগুলি একই ডেলিভারি ঠিকানায় বড় অর্ডার দেয় বা একটি ক্রেডিট কার্ড স্বল্প সময়ের মধ্যে অনেকগুলি ছড়িয়ে ছিটিয়ে থাকা স্থানে সরবরাহ করতে ব্যবহৃত হয়।

আলাদাভাবে রাখা ফর্ম্যাটিং অংশগুলি বর্তমানের প্রয়োজন অনুসারে ফ্যাশনের সাথে মিলিত হতে পারে। যদি, বলুন, দীর্ঘ পাতলা মুদ্রণ লেবেলগুলি সস্তা হয়ে যায় আপনি সেগুলি ব্যবহার করতে পুনরায় ফর্ম্যাট করতে পারেন।

অবশ্যই এগুলির কোনও নির্দিষ্ট অ্যাপ্লিকেশন প্রয়োগ করতে পারে না। এই ধরণের ডেটা পার্স করা এবং উত্স অনুসারে বৈধকরণ করা সহজ, যখন সংগ্রহ করা হয়, তার চেয়ে পোস্ট বিশ্লেষণে এর চেয়ে বেশি। সুতরাং YAGNI এমনকি সামান্য ব্যয় এবং সম্ভাব্য বৃহত ভবিষ্যতের সাশ্রয়ের জন্য অতিরিক্ত প্রচেষ্টাটি সামনে রাখাই ভাল।

অবশেষে, আমি মানবিক উপাদানকে বরখাস্ত করব না। ডেটা মডেলগুলি ডেটা মডেলাররা তৈরি করেন। এটি তারা কি করে। এটাই তাদের পেশা। তারা আপনাকে এটি একটি BLOB এ ফেলে দিতে বলবে না, তারা কি?


3
আমি মনে করি এটি একটি উচ্চ আন্ডাররেটেড উত্তর। বেশিরভাগ উত্তরগুলি এমন অনেকগুলি সমস্যার সমাধান করে যেগুলি কলামগুলিতে ঠিকানাগুলি বিভক্ত করা থেকে উদ্ভূত হতে পারে তবে আমি মনে করি যে এই উত্তরগুলি কী সমস্যাগুলি সমাধান করা হয় তার সংক্ষিপ্তকরণের সেরা কাজটি করে। প্রবর্তিত সমস্যাগুলি সম্পর্কে জিজ্ঞাসা করে আমি একই ধরণের প্রশ্ন পোস্ট করতে পারি। প্রতিটি সমাধানের সুবিধাগুলি এবং ঘাটতি রয়েছে। আপনার উত্তরটি সবচেয়ে ভাল সুবিধাগুলি সম্বোধন করে।
গ্রেগ বার্গার্ট

17

আমি একটি প্রকাশনা সংস্থার জন্য সফটওয়্যার বিকাশ করার জন্য 7 বছর অতিবাহিত করেছি এবং আমরা যে সমস্যার মুখোমুখি হয়েছি তার মধ্যে অন্যতম একটি ছিল সাবস্ক্রিপশন তালিকায় রাস্তার ঠিকানাগুলি পার্স করা। এটা তোলে স্বতন্ত্র ক্ষেত্রগুলির মধ্যে ঠিকানার আপ বিভক্ত দরকারী, কিন্তু আপনি কখনও করতে কখনো ঠিকানা বিন্যাস ও উপাদান মানুষের মস্তিষ্ক উইল করতে পারেন প্রতি সম্ভব আবেগপূর্ণ স্খলন জন্য ডিজাইন।

প্রতিটি অঞ্চলে এর বিচক্ষণতা থাকতে পারে এবং এটি কেবল মার্কিন যুক্তরাষ্ট্রে। অন্যান্য দেশগুলিতে ফেলে দিন এবং প্রতিটি ঠিকানা বিশ্লেষণ করতে চায় এমন কোনও পদ্ধতির জন্য জিনিসগুলি খুব দ্রুত নিয়ন্ত্রণহীন হয়ে পড়ে। মাত্র দুটি উদাহরণ:

স্পেনে রাস্তার নাম সর্বদা রাস্তার নাম এবং কমা পরে আসে এবং অনেক ঠিকানায় 1 বর্গ বা সংখ্যাসূচক একটি ফ্লোর নম্বর অর্ডিনাল থাকে "বাম" ("ইজদা" এর অর্থ সংক্ষিপ্ত বিবরণ পরে বাম-হাত-দরজা আপনি সিঁড়ি উপরে উঠুন), "ডান" ("Dcha") বা অন্যান্য সম্ভাবনা। এখন ঠিকানাগুলির জন্য বিভিন্ন andতিহাসিক রীতিনীতি সহ বিভিন্ন দেশ এবং অঞ্চলগুলির সংখ্যার দ্বারা সেই গৌরবকে বহুগুণ করুন ... (জাপান? গ্রামীণ ইংল্যান্ড? কোরিয়া? চীন?)

পোর্টল্যান্ডে, বা, সেখানে এনএস এবং ইডাব্লু অক্ষ রয়েছে যা শহরকে এনডাব্লু, এনই, এসডাব্লু এবং এসই কোয়াড্র্যান্টে বিভক্ত করে (পাশাপাশি একটি এন "কোয়াড্রেন্ট", তবে আমি ডিগ্রিরিং করি)। এই অক্ষ থেকে এনএস রাস্তাগুলি ক্রমান্বয়ে পূর্ব এবং পশ্চিম সংখ্যাযুক্ত এবং ইডাব্লু রাস্তাগুলিতে ঠিকানাগুলি এনএস রাস্তার নম্বর দ্বারা সংখ্যার "শত ব্লক" হিসাবে নির্ধারিত হয় (অর্থাত্ 11 তম এবং 12 তম এর মধ্যে একটি EW রাস্তায় একটি বাড়ি থাকবে) 1123 এর মতো)। মার্কিন ঠিকানাগুলির জন্য বেশ মানক স্টাফ।

প্রতিবার প্রায়শই আপনি 0205 এসডাব্লু নেব্রাস্কা সেন্টের মতো কোনও পোর্টল্যান্ডের ঠিকানায় যান । একটি নেতৃস্থানীয় শূন্য? ডব্লিউটিএফ? integer"নম্বর" বাড়ির জন্য আমার কলামটি আছে ।

যখন গ্রিডটি স্থাপন করা হয়েছিল, এনএস অক্ষটি উইলমেট নদী দ্বারা সংজ্ঞায়িত করা হয়েছিল। নদীর পূর্ব দিকের সমস্ত কিছুই ছিল এনই বা এসই, এবং নদীর পশ্চিম পশ্চিম বা এসডাব্লু। শহরটি দক্ষিণে বাড়ার সাথে সাথে তারা অসুবিধাগুলির দিকে ছুটে গেল যে নদী পূর্ব দিকে মিশে যায়, সুতরাং অক্ষটি দক্ষিণে প্রজেক্ট করে আপনার এই সমস্যাযুক্ত অঞ্চলটি নদীর পশ্চিম দিকে "অক্ষ" এর পূর্বদিকে কিন্তু অক্ষের পূর্ব দিকে থাকে। সমাধানটি ছিল একটি শীর্ষস্থানীয় শূন্য যুক্ত করা, কার্যত একটি বিয়োগ চিহ্ন , অক্ষরেখা থেকে পূর্ব দিকে সংখ্যা বাড়ানো সহ।

আমি যদি আপনি থাকতাম তবে আমি চূড়ান্ত সিস্টেমটি ডিজাইনের আশা ছেড়ে দিতাম। আপনি সমস্ত সম্ভাবনা কভার করতে পারবেন না এবং মানবতা পূর্বের অনুন্নত জমিতে ঠেলে দেওয়ার সাথে সাথে নতুন তৈরি করা হবে।

মার্কিন ঠিকানাগুলির জন্য, ঠিকানা মানীকরণের জন্য ইউএসপিএস ইতিমধ্যে কী করেছে তা একবার দেখুন এবং house_numberকলামটি এটিকে মনে রাখবেন varchar। আপনি যখন এটির দিকে রয়েছেন তখন কীভাবে আপনি 1634 EN ফোর্ট লেন অ্যাভে পার্স করতে চলেছেন তা নির্ধারণ করুন ।

বিশ্বের অন্যান্য অংশের জন্য, আমি সম্ভবত সম্ভবত আসার সম্ভাব্যতাগুলির 80-90% কভার করার জন্য অতিরিক্ত ক্ষেত্রগুলি বিমূর্ত করার চেষ্টা করব এবং অপ্রয়োজনীয় ক্ষেত্রগুলির একটি সেট সরবরাহ করব যা প্রয়োজনের সময় অন্য সব কিছু পরিচালনা করতে পারে। উদাহরণস্বরূপ, যদি আপনার পার্সার কোনও ঠিকানা পরিচালনা করতে ব্যর্থ হয় তবে এটি আনসারসড করে সংরক্ষণ করুন এবং এর মতো পতাকাঙ্কিত করুন। আপনি যদি কোনও ঠিকানা বিশ্লেষণের ব্যবস্থা করে থাকেন তবে নিশ্চিত হয়ে নিন যে আপনি যে বিভিন্ন ক্ষেত্রটি পেয়েছিলেন সেটির ক্রমটি আপনার মনে আছে যাতে আপনি এটিকে পুনরুদ্ধারযোগ্য কিছুতে পুনরায় জমা করতে পারেন।

আমি বলতে যাচ্ছিলাম যে সর্বাধিক গুরুত্বপূর্ণ ক্ষেত্রটি পোস্ট কোড হতে চলেছে, তবে এটি অনেক জায়গায় দেওয়া হয়নি

শুভকামনা। এটি একটি মজাদার এবং চূড়ান্ত হতাশার প্রচেষ্টা হতে পারে তবে সান্টিটির মূল বিষয় হ'ল কখন চেষ্টা ছেড়ে যাওয়া এবং কেবল ইনপুটটি আনসারসড সংরক্ষণ করা যায় বা আংশিকভাবে ব্যাকআপ হিসাবে মূল ইনপুট দিয়ে পার্স করা উচিত।


নেতৃস্থানীয় রাস্তায় সংখ্যায় শূণ্যসমূহ জন্য জবর ফলো: এইচটিএমএল সংখ্যা ইনপুট উপাদান নেতৃস্থানীয় শূণ্যসমূহ সার্ভারে ব্যাক পোস্ট করতে হবে: <input type="number">। আমি ভীত ছিলাম যে এটি না (কমপক্ষে এটি ফায়ারফক্সে কোনওভাবেই ঘটে)।
গ্রেগ বার্গার্ট

তাহলে কেন একেবারেই বিভক্ত হওয়া দরকারী? ঠিকানার জন্য কেবল মাত্র 3 টি স্ট্রিং "লাইন" সরবরাহ করার কথা?
usr ডিরেক্টরির

এবং এছাড়াও রয়েছে 137 এসই চেস্টনট এভে এসডাব্লু প্যাটার্ন, যা আইএন থেকে ডাব্লুআই পর্যন্ত সাধারণ।
রস প্রেসার

@ ইউএসআর প্রতিটি ঠিকানা তিনটি লাইনে ফিট করে না - কেবল varcharইতিমধ্যে একটি এবং একটি ফ্রি-ফর্ম মাল্টি-লাইন পাঠ্য ক্ষেত্রটি ব্যবহার করুন!
ব্যবহারকারী 253751

আমি নিজেকে দুটি উদাহরণের মধ্যে সীমাবদ্ধ করেছি তবে আরও অনেক কিছুই রয়েছে। 22 এসেক্স হাউস, পোর্টম্যান স্কয়ার, লন্ডন এনডাব্লু 1 । "22" একটি অ্যাপার্টমেন্ট নম্বর।
জিম গ্যারিসন

8

সমস্ত ডিজাইনের প্রশ্নের মতো, এখানে একটি বিশাল দক্ষ "এটি নির্ভর করে"। এটি আপনার ডেটা গল্পের উপর নির্ভর করে - কীভাবে ডেটা সংগ্রহ করা হয়, এটি কীভাবে ব্যবহার করা হয়, কীভাবে আপডেট হয় ইত্যাদি my আমার সমস্ত মন্তব্য কীভাবে উত্তর দেওয়া হবে তা নয়, আলোচনার বিষয় হিসাবে নেওয়া উচিত।

মনে হচ্ছে * নিজের জন্য একটি তৈরির চেষ্টা করার চেয়ে আপনি ঠিকানা বৈধতা পরিষেবা ব্যবহার করে আরও বেশি উপকৃত হতে পারেন। যদিও তারা ব্যয়বহুল, এ জাতীয় অনেক পরিষেবা উল্লেখযোগ্য মেলিং ছাড়ের সাথে আসে।

অবশ্যই, এখানে একটি আপস আছে, নির্দিষ্ট ডেটা গল্পের জন্য। আপনি পার্সড আউট টুকরো টুকরো টিকিয়ে রাখতে পারেন এবং সম্মিলিত ঠিকানার জন্য একটি গণিত কলাম (কলামগুলির সেট, সম্ভবত) তৈরি করতে পারেন। এটি একটি বাস্তবায়নের উত্তর, সমস্ত সাধারণ ক্যাভেটস অন্তর্ভুক্ত।

আমি পার্সড আউট ঠিকানা নকশা বাস্তবায়ন করেছি implemented ডেটা মানের এবং ডেটা প্রসেসিংয়ের প্রয়োজনের জন্য আমাদের একেবারে এটি দরকার ছিল। তবে এটি এমন একটি ব্যবসায় ছিল যার শারীরিক ঠিকানা, ডাক ঠিকানা, ভার্চুয়াল ঠিকানা ইত্যাদি ছিল

অন্য যে সমস্যাটি সামনে আসতে পারে তা হ'ল বিভিন্ন ডাক পরিষেবার জন্য একই তথ্য বিভিন্ন ফর্ম্যাট / আদেশ / ইত্যাদি উপস্থাপন করা প্রয়োজন। সুতরাং অংশগুলি মডেলিং করা বিভিন্ন ফর্ম্যাট এবং লেআউটে একই তথ্য উপস্থাপনকে সমর্থন করে।

শেষ অবধি, আন্তর্জাতিক ডেটা সমর্থন করার জন্য আপনার আন্তর্জাতিক ব্যবসায়িক ক্রিয়াকলাপের দরকার নেই। এমনকি মার্কিন-ভিত্তিক ব্যবসায়গুলির আন্তর্জাতিক ঠিকানাগুলি সমর্থন করা প্রয়োজন। আপনার কাছে কখনও তা হবে না ধরে নেওয়া একটি বিশাল ডেটা ভুল। গ্রাহকরা সরান, বিক্রেতারা এইচকিউ পরিবর্তন করেন, বিক্রেতার যোগাযোগের তথ্য মার্কিন যুক্তরাষ্ট্রে থাকলেও আন্তর্জাতিক হতে পারে। এমনকি যদি আপনার বর্তমান সিস্টেমগুলি এটি ভুল করে তবে আপনি এটিকে এগিয়ে নিয়ে যেতে চান না।

গ্রাহাম রিহিন্ডের লেখা এবং ব্লগিংয়ের আমি অত্যন্ত পরামর্শ দিচ্ছি। তিনি সমস্ত ধরণের ঠিকানা এবং তাদের সাথে সম্পর্কিত ট্রেড-অফ সম্পর্কে ডেটা ক্ষেত্রের বিশেষজ্ঞ।


* আমি এখানে যা কিছু বলেছি তা স্থূল সাধারণীকরণ। এমন অনেকগুলি প্রশ্ন রয়েছে যেগুলি আমাকে ডিজাইনের সমাধানে আসতে সহায়তা করবে যাতে চ্যাট করতে কয়েক ঘন্টা লাগতে পারে। সম্ভবত কিছু ছবি এবং কিছু ডেটা প্রোফাইলও। এবং তারপরে অ্যাড্রেসগুলি সম্পর্কে সত্যই অনেকগুলি স্পর্শকাতর ডেটা গল্প।


"আন্তর্জাতিক ডেটা সমর্থন করার জন্য আপনার আন্তর্জাতিক ব্যবসায়ের কার্যক্রমের দরকার নেই" - খুব সত্য। এবং তার উপরে আমরা শারীরিকভাবে অন্য দেশের সীমান্তের কাছে অবস্থিত। মডেলিং দল হয়নি আন্তর্জাতিক ঠিকানার জন্য একটি সমাধান, লাইন 1, লাইন 2 এবং লাইন ডাটাবেসের মধ্যে 3 ক্ষেত্র প্রদান করা হয় যা দেব।
গ্রেগ বার্গার্ড্ট

যদিও আপনি বলেছিলেন যে এটি "একটি স্থূল জেনারালাইজেশন" আমাদের পক্ষে এন্টারপ্রাইজ প্রশস্ত ঠিকানাগুলির এক-পক্ষ-ফিট-সমস্ত সমাধান আপনার উত্তরটিকে আরও কার্যকর করে তোলে।
গ্রেগ বার্গার্ড্ট

5

সম্পূর্ণরূপে লোকেরা যে অবিশ্বাস্য জিব্বারিশ সরবরাহ করে তা সঠিকভাবে পার্স করার বিশাল চ্যালেঞ্জকে একদিকে ফেলে, পার্সিংয়ের সুবিধা এটি আপনাকে গ্রুপিং এবং বাছাইয়ের দিক দেয়। উদাহরণস্বরূপ পোস্টকোড। যাইহোক, নির্দিষ্ট মাত্রা পার্স করা থেকে কোনও পাওনা নেই যতক্ষণ না আপনি সেই মাত্রাটিকে গ্রুপ বা সাজানোর প্রয়োজন হয় need

কি হয় কোনো ঠিকানা, যাহাই হউক না কেন? আপনি একটি ভাল কেস তৈরি করতে পারেন যে এটি কোনও অবস্থান শনাক্তকারী, তবে আপনি এটির সরবরাহের নির্দেশাবলী - "সিমেন্টের কারখানা থেকে রাস্তার নিচে" একটি সমানভাবে ভাল মামলা করতে পারেন। অস্ট্রেলিয়ায় লোকেরা মনে করে পোস্ট কোডগুলি লোকেশন শনাক্তকারী, তবে সেগুলি নয়, তারা রাউটিং কোডগুলি - সরবরাহের নির্দেশাবলী। 4702 হ'ল রকহ্যাম্পটন মেল সেন্টার, একটি বিশাল বিতরণ নোড যা সমুদ্র থেকে এমেরাল্ড পর্যন্ত বিস্তৃত অঞ্চলকে 300 কিলোমিটার অভ্যন্তরে খনির শহর হিসাবে পরিবেশন করে।

আপনি যদি অবস্থানগুলি সনাক্ত করতে চান তবে বিং এবং গুগল আনপারসড স্ট্রিং থেকে জিপিএসের স্থানাঙ্কগুলিতে সরাসরি জিওকোড করতে পারে, যা আনসারসড স্ট্রিংয়ের সাথে একটি ছোট, সাধারণ টেবিলে সংরক্ষণ করা যেতে পারে। ধারাবাহিকভাবে ভাল ফলাফলের যে কোনও সুযোগের সাথে তারা একমাত্র সাধারণ পদ্ধতির ব্যবহার করে: বৈধতা প্রাপ্ত ফলাফলগুলির একটি বিশাল ডেটাবেসের সাথে ওজনযুক্ত আংশিক মিল রাখে।

আপনি যদি ডেলিভারি নির্দেশাবলী চান তবে আপনি আনসারসড স্ট্রিংটি রাখার জন্য এখনও ভাল পরামর্শ দিয়েছেন কারণ এতে কোনও কিছু থাকতে পারে

লক্ষ্য করুন যে উভয় ক্ষেত্রেই আমি আনপারসড স্ট্রিংটি রাখার পরামর্শ দিয়েছি। যে কারণ

  • এটি নিজস্বভাবে দরকারী
  • একদিন আপনি কীভাবে এটি পার্স করবেন তা বুঝতে পারবেন
  • এর কয়েক দিন পরে, আপনি কীভাবে এটি সঠিকভাবে পার্স করবেন তা বুঝতে পারবেন
  • এটি কখনও শেষ হয় না

যুক্তিযুক্তভাবে একটি ঠিকানা সর্বদা বিতরণ নির্দেশাবলী, কমপক্ষে একটি অবস্থান শনাক্তকারী থাকে। "123 মেইন স্টেট, পান্না 4702" - এর উদ্দেশ্যে সম্বোধন করা একটি চিঠি তিনটি স্থান এনকোড করেছে: রাকহ্যাম্পটনের উত্তর অংশে, এমেরাল্ডের আরএমসি এবং একটি রাস্তার ঠিকানা। রকহ্যাম্পটন পোস্ট অফিস কেবল এটি আরএমসিতে প্রেরণ করবে। আরএমসি এটি পান্ডেল পোস্ট অফিসে প্রেরণ করবে, এবং পান্না ডাকঘর আশাবাদী 123 প্রধান রাস্তা কোথায় পাবেন তা জানে।


"যাইহোক, ঠিকানা কী? আপনি এতটা ভাল মামলা করতে পারেন যে এটি সরবরাহের নির্দেশাবলী" - খুব ভাল বিষয়। আমি মনে করি কোনও ঠিকানার "অবস্থান" দিক এবং "বিতরণ নির্দেশাবলীর" দিকটি এই ক্ষেত্রে ডাটাবেসের আলাদা ক্ষেত্র হওয়া উচিত।
গ্রেগ বার্গার্ড্ট 13

3

আমি নেদারল্যান্ডসে যাই হোক না কেন, এর আগে একটি সিস্টেম প্রয়োগ করেছি। বিষয়টি হ'ল, এই ধরণের তথ্য আপনার ভাবার চেয়ে আরও বেশি উপায়ে পরিবর্তন করতে পারে। রাস্তাগুলি নামকরণ করা হয়, শহরগুলি একত্রীকরণ করা হয় এবং আরও অনেক কিছু। ঠিকানাগুলিকে একক স্ট্রিং হিসাবে পার্স না করে এই জাতীয় তথ্য আপডেট করতে সক্ষম হওয়ায় খুব ভাল nice


3

পোস্টকোড / জিপ কোড, বিল্ডিংয়ের নাম, রাস্তার নাম আলাদা করে বোঝা যায়। তবে আপনি যখন "শহর", "অঞ্চল" ইত্যাদি যুক্ত করা শুরু করেন তখন কেবল লাইন 1, লাইন 2 ইত্যাদির তুলনায় এটি প্রশ্নবিদ্ধ হয়ে ওঠে The সমস্যাটি হ'ল এমনকি আমি এবং আমার স্ত্রীও আমরা যে শহরে বাস করি তার নামটিতে একমত হতে পারি না! "গ্রাম" নামটি কি শহরের জমিতে স্থাপন করা যায়, বা স্থানীয় রাস্তাটি শহরের ক্ষেত্রগুলিতে রাখার সাথে সাথে এটি রাস্তার নামের নীচে লাইনে চলে যায়? (কিছু লোক যদি আপনি শহরের পরিবর্তে কোনও গ্রামে বাস করেন তবে আপনি যদি কল করেন তবে একই জায়গায় বসবাসকারী অন্যান্য লোকেরা যদি আপনি একে গ্রামের পরিবর্তে একটি শহর হিসাবে অভিহিত করেন তবে বিরক্ত হন!)

অতএব অভিনব কিছু করার চেষ্টা করা আপনার ব্যবহার করা ঠিকানা যাচাইকরণ সিস্টেমের চেয়ে ভাল। তবে আরও খারাপ হয়। যুক্তরাজ্যে সমস্ত ঠিকানার একটি পোস্ট কোড থাকা উচিত, তবে তবুও কোনও বাড়ি তৈরির পরে কিছুক্ষণ অবধি পোস্ট কোড বরাদ্দ করা হয় না ... সুতরাং কোনও সিস্টেমের ঠিকানা সম্পর্কে প্রতিটি নিয়ম ভাঙার অনুমতি দেওয়া হয়!


2
অ্যামাজন.উকে আমার দেখা সেরা সিস্টেম রয়েছে, যখন আমি ঠিকানাটি টাইপ করি, তারা আমাকে ম্যাচগুলিতে সেরা "অনুমোদিত" ঠিকানা ব্যবহারের বিকল্প দেয়। তবে প্রায়শই অনুমোদিত ঠিকানাটি বিল্ডিংয়ের একটি আলাদা সংস্থার জন্য হয়, বা "তল" ইত্যাদি অন্তর্ভুক্ত করে না, কারণ ডাকঘরটি কেবল চিঠি বাক্সটিই ছিল, এটির জন্য সই করার জন্য কোথায় নেওয়া উচিত নয়।
ইয়ান রিংরোজ

2

অন্যান্য উত্তরে ইতিমধ্যে উল্লিখিত সমস্যাগুলি ছাড়াও কয়েকটি ভাষায় - বিশেষত জার্মানিক - রাস্তার নামগুলি যৌগিক হতে থাকে। উদাহরণস্বরূপ, অনেক জার্মান শহর / শহরগুলিতে একটি "বাহ্নোফস্ট্রাসে" থাকা রাস্তা, রেলস্টেশনে যাওয়ার রাস্তাটি ("বাহনফ" অর্থ রেল / ট্রেন স্টেশন, "স্ট্রেস" অর্থ রাস্তায়)। অবশ্যই আপনি এই দুটি উপাদান আলাদা করতে পারতেন, কিন্তু এখন আপনি যদি এগুলি আবার একসাথে রাখতে চান (প্রোগ্রাম্যাটিকভাবে) আপনি ক্ষয়ের প্রশ্নে পড়ছেন।

অথবা, "রোম্যান্স" বা ল্যাটিনেট ভাষায়, আপনার প্রায়শই "রুয়ে দে লা পাইস" বা "বুলেভার্ড ডেস চ্যাম্পস-Élysées" ফর্মের রাস্তার নাম রয়েছে। এখন আপনার মিশ্রণে একটি প্রস্তুতি ("ডি") এবং একটি নির্দিষ্ট নিবন্ধ ("লে" বা "লা") রয়েছে - এবং সেগুলি একত্রিত হতে পারে। তারা কি রাস্তার ধরণের বা রাস্তার নামের অংশকে উপস্থাপন করে? (আপনার সম্ভবত এগুলি অন্য কোথাও সংরক্ষণ করা দরকার, অন্যথায় আপনি আবার ক্ষয়িষ্ণু হয়ে পড়ছেন))


আমি একবার এরকম কিছু মডেল করেছিলাম। তবে এটি একটি খুব ছোট অ্যাপ্লিকেশন ছিল, একটি মাঝারি আকারের বিশ্ববিদ্যালয়ের আবাসিক সম্পত্তি রক্ষণাবেক্ষণ অফিসের জন্য (মার্কিন যুক্তরাষ্ট্রে)। নিম্নলিখিতগুলির কারণে আমি ঠিকানাগুলি খুব দানাদার করে তুলেছি:

  • এলাকায় একই নামে রাস্তাগুলি ছিল তবে একটি ভিন্ন স্ট্রিট "টাইপ" (যেমন "উডস অ্যাভিনিউ" বনাম "উডস কোর্ট")।
  • ব্যবহারকারীরা রক্ষণাবেক্ষণের কাজটি অনুকূল করতে সক্ষম হতে চাইলেন যেমন একই ব্লকে যদি দুটি বা ততোধিক পরিষেবা অনুরোধ থাকে তবে সেগুলি একই সাথে পরিচালনা করা যেতে পারে।
  • ব্যবহারকারীরা একই বিল্ডিংয়ের বিভিন্ন ইউনিট (অ্যাপার্টমেন্ট) এর মধ্যে সমস্যার সমাধান করতে সক্ষম হতে চেয়েছিলেন - উদাহরণস্বরূপ যদি একাধিক অ্যাপার্টমেন্টে শীতল তাপমাত্রা বা অপর্যাপ্ত গরম জল রিপোর্ট করা হয়।

... এবং অন্যান্য কারণ যা আমি আর মনে করি না। (এটি ছিল ১৯৮০ এর দশকের শেষের দিকে।)

এবং আবার এটি কেবলমাত্র বোধগম্য হয়েছিল কারণ সেখানে মোকাবেলা করার জন্য যুক্তিসঙ্গত সংখ্যক ঠিকানা (এবং ঠিকানা বিন্যাসের নিয়ম) ছিল। আমি বিশ্বাস করি না যে ইতিমধ্যে অন্যান্য উত্তরে প্রদত্ত কারণে মার্কিন যুক্তরাষ্ট্রে সীমাবদ্ধ থাকলেও এই পদ্ধতিটি স্কেল হবে।


1
আপনার 1980 এর উদাহরণটি আপনাকে যে কোনও মাত্রায় ম্যানিপুলেট করার দরকার রয়েছে তা পার্স করার বিষয়ে আমার বক্তব্যটির একটি দুর্দান্ত চিত্র এবং উত্সের পাঠ্যটি কেন রাখা গুরুত্বপূর্ণ তা কেন "... সেগুলি সংরক্ষণ করুন বা আপনি ক্ষয়িষ্ণু হয়ে যাচ্ছেন" একটি উত্তম উদাহরণ। এটি অনিবার্যভাবে সমস্ত ধরণের অ-কার্যকরী জিনিস রয়েছে যা তবুও সংরক্ষণ করা উচিত be এবং অপ্রাসঙ্গিক তবে মজাদার বিষয়গুলির কথা বলতে বলতে বুলেভার্ডের অর্থ "ধ্বংসপ্রাপ্ত প্রতিরক্ষামূলক র‌্যাম্পার্টগুলির শীর্ষে নির্মিত প্রথম স্থান"।
পিটার Wone
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.