কীভাবে একটি বাস স্টেশন ক্যোয়ারী ডেটাবেস স্কিমা ডিজাইন করবেন?


9

আমাদের কাছে বাস স্টেশনের ডেটা রয়েছে এবং আমরা একটি অ্যাপ্লিকেশন তৈরি করতে চাই যা একটি নির্দিষ্ট স্টার্ট স্টেশন এবং শেষ স্টেশনটির জন্য লাইন / একাধিক লাইন সরবরাহ করবে।

উদাহরণস্বরূপ ব্যবহারকারীর স্টেশন 1 থেকে স্টেশন 2 পর্যন্ত একটি বাস লাইনের পরামর্শ পাওয়ার চেষ্টা করুন।

যদি কোনও বাস লাইন থাকে যা উভয়কেই কভার করতে পারে station1এবং station2এই লাইনটি ফিরে দেওয়া উচিত। ফলাফলটি দেখতে এইরকম হতে পারে:

Step1: station1 -- station2

স্টেশন 1 এবং স্টেশন 2 এর মধ্যে যদি কোনও সরাসরি বাস লাইন না থাকে, তবে অ্যাপ্লিকেশনটির এক্সচেঞ্জ প্ল্যানটি সন্ধান করার চেষ্টা করা উচিত, উদাহরণস্বরূপ, ফলাফলটি দেখতে এরকম হতে পারে:

Step1: station1 -- exchangestation

Step2: exchangestation -- station2

এখন আমাদের কাছে ডেটা রয়েছে, তবে আমরা কীভাবে ডাটাবেজে ডেটা মডেলটি ডিজাইন করব, কীভাবে ক্যোয়ারিকে দক্ষ করতে স্কিমা তৈরি করব?

=============================================

হালনাগাদ:

এখানে চিত্র বর্ণনা লিখুন

উদাহরণস্বরূপ, আমার চারটি বাস লাইন রয়েছে (আসলে দুটি) প্রতিটি আলাদা রঙ সহ:

l1: A-B-C-D
l2: D-B-A (in fact, the l2 is the reverse of l1 except the l2 will skip station `C`.
l3: E-B-D-F
l4: F-D-B-E(reverse of l3) 

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


@ giser.i তেও একই সমস্যা রয়েছে। আপনি যদি এটি করেন তবে আপনি উত্তর দিতে পারবেন gis.stackexchange.com/questions/70253/…
স্কট

উত্তর:


6

আমি মনে করি আপনাকে অন্য একটি টেবিল তৈরি করতে হবে যা সমস্ত রুটের সংজ্ঞা দেয় অন্যান্য রুটের সংমিশ্রণ হিসাবে। তারপরে আপনি এই টেবিলটি জিজ্ঞাসা করছেন এবং জ্যামিতিটি পেতে আসল পথে যোগ দিন।

যদি কোয়েরিটি 'স্টেশন' থেকে 'স্টেশন' এর জন্য হয় এবং প্রতিটি বিভাগে একটি 'স্টেশন থেকে' এবং 'স্টেশন' রয়েছে has তবে আপনি একাধিক বিভাগগুলিতে নেওয়া রুটগুলি অন্তর্ভুক্ত করতে চান, আপনার অন্য একটি টেবিল 'রুট' থাকতে পারে যার মতো কিছু রয়েছে:

  • 'রুটের নাম', 'রুট আইডি', 'স্টেশন থেকে', 'স্টেশন'

আপনার নিজের আসল বিভাগের টেবিলটিও দরকার:

  • 'বিভাগের নাম', 'বিভাগ আইডি', ইত্যাদি ...

এবং আমি মনে করি যে আপনার আর একটি যোগ টেবিলের প্রয়োজন যেমন:

  • 'রুট আইডি', 'বিভাগ আইডি'

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

যে জানার জন্য?


আসলে, আমাদের এখন কোনও টেবিল নেই, আমাদের কাছে কেবলমাত্র মূল ডেটা রয়েছে যা পাঠ্য বিন্যাস।
গিজার

আচ্ছা, ঠিক আছে. আমার মনে হয় আমার উত্তরটি তখন দাঁড়িয়ে আছে। আমি তিনটি টেবিল ব্যবহার করব।
অ্যালেক্স লেথ

আমি আমার পোস্টটি একটি লাইভ উদাহরণ দিয়ে আপডেট করছি, আপনি কি চেক করতে কিছুটা সময় দিতে পারবেন?
গিজার

@ অ্যালেক্সলিথ.আই এরও এখানে একই রকম সমস্যা রয়েছে gis.stackexchange.com/questions/70253/…
স্কট

3

আপনার সম্ভবত এটির জন্য কোনও সরঞ্জাম বাছাই করা উচিত এবং স্কিমার সাহায্যে সরঞ্জামটি বল প্রয়োগ করে (উদাহরণস্বরূপ পিজআরআউটিং )।

আপনি যদি টেবিল ছাড়াই এটি করতে চান তবে আপনাকে কেবল শীর্ষে এবং নোডগুলি সঞ্চয় করতে কেবল দুটি টেবিলের প্রয়োজন।

কৌশলটি হ'ল আপনার চিত্রটি একটি স্থানিক দৃষ্টিভঙ্গি দেখায় যখন বাস্তবে আপনার অস্থায়ী চিত্র প্রয়োজন (চিত্রটি মুলতুবি রয়েছে)। বাস নোড এ থেকে নোড বি তে যায় না বাস নোড এ @ 12: 00 থেকে নোড বি @ 12: 10 এ যায়

সুতরাং আমরা প্রতিটি স্টেশন থেকে প্রতিটি নোড তৈরি করি + প্রতিটি স্টেশন থেকে প্রতিটি প্রস্থান সময় জন্য একটি নোড। প্রতিটি নোডের এ থেকে 3 টি একমুখী লিঙ্কগুলি চলেছে:

  • বাসের গন্তব্যে লিঙ্ক করুন (এ @ 12: 00 - বি @ 12: 10 খরচ: 10 মিনিট)
  • এই স্টেশন থেকে ছেড়ে যাওয়ার পরবর্তী বাসে লিঙ্ক করুন (এ @ 12: 00 - এ @ 12: 30 মূল্য: 30 মিনিট)
  • বেস নোডের লিঙ্ক (একটি @ 12: 00 থেকে দাম: 0 মিনিট)

এখন পয়েন্ট এ থেকে পয়েন্ট সি পর্যন্ত সংযোগটি খুঁজতে আমরা স্টেশন এ এর ​​প্রথম দিকের ম্যাচিং পয়েন্টটি বেছে নিই এবং সেখান থেকে স্টেশন সি এর বেস নোডের দিকে আমাদের পথ সন্ধান করি

নোড:

id|station|time
---------------
1 |A      |NULL
2 |B      |NULL
3 |A      |12:00
4 |B      |12:10

ছেদচিহ্ন

id|start_node|end_node|line|cost
---------------------------
1 |3         |4       |l1  |10
2 |3         |1       |NULL|0
3 |4         |2       |NULL|0

.i এর এখানেও একই রকম সমস্যা রয়েছে gis.stackexchange.com/Qestions/70253/…
স্কট

0

ওপেনস্ট্রিটম্যাপ থেকে জাভাস্ক্রিপ্ট এবং ডেটা ব্যবহার করে এখানে একটি কার্যকারী উদাহরণ । তথ্য মডেল দরকারী হতে পারে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.