لینک‌های مفید برای شرکت در مسابقه:

می‌توانید سوال‌های خود را از بخش «سؤال بپرسید» مطرح کنید.

سوالات ۱ تا ۵ «الگوریتمی» است. (ارسال فقط با «Python» ،«C#» ،«JavaScript» ،«Node.js» و «Java» ممکن است.)

سوال ۶ام «گمگشته»، از تکنولوژی «دیتابیس MySQL» است.

سوال ۷ام «بررسی فضا»، از تکنولوژی «لینوکس» است.

گمگشته


کد شما باید روی آخرین نسخه‌ی MySQL قابل اجرا باشد.


بیدل

رضا در حال نوشتن برنامه‌ای با نام گمگشته است. هدف این برنامه، کمک به افرادی است که در شهر‌های مختلف راه گم می‌کنند. او پس از تلاش‌های بسیار توانسته اطلاعات مکان‌های ضروری برای این افراد را پیدا و آن‌ها را ذخیره کند، اما برای استفاده از این داده‌ها در برنامه خود با مشکل مواجه شده است.

شما باید با نوشتن چند کوئری، مشکل او را حل کنید.

جزئیات پروژه🔗

داده‌های اولیه برای تست نمونه را از این لینک کنید.

ساختار جداول به‌شرح زیر است:

  1. جدول places: از این جدول برای نگهداری تمام اطلاعات مربوط به مکان‌ها استفاده می‌شود.
نام ستون نوع تعریف
id BIGINT آی‌دی
address VARCHAR(255) آدرس مکان
  1. جدول geometries: این جدول وظیفه نگهداری نقاط جغرافیایی این مکان‌ها را بر عهده دارد.
نام ستون نوع تعریف
id BIGINT آی‌دی
place_id BIGINT آی‌دی مکان
point POINT(x, y) نقطه مورد مورد نظر برروی نقشه (با واحد متر)

هر نقطه مربوط به یک محل است.

مطلوبات🔗

کوئری‌های زیر را طوری بنویسید که خروجی خواسته‌شده به‌دست آید:

  1. آدرس و فاصله‌ی مکان‌هایی با فاصله‌ی کم‌تر از ۸ کیلومتر تا نقطه‌ی (5728895.9321717, 4255004.0324245) به‌ترتیب صعودی فاصله در قالب ستون‌هایی با نام address و distance
  2. آدرس و فاصله تمام مکان‌هایی که تا مکانی با آدرس فرودگاه کم‌تر از ۲۰ کیلومتر فاصله دارند، به‌ترتیب صعودی فاصله در قالب ستون‌هایی با نام address و distance
    • تضمین می‌شود که دقیقاً یک فرودگاه در داده‌های سیستم داوری وجود دارد.
  3. در بین داده‌ها، نقاطی وجود دارند که در آدرس آن‌ها واژه‌ی مترو وجود دارد. فاصله‌ی همه‌ی این نقاط را با یکدیگر برحسب متر به‌ترتیب صعودی فاصله به‌دست آورید. ستون‌های خروجی باید به‌صورت زیر باشند:
address1 address2 distance

اگر فاصله‌ی دو نقطه با یکدیگر برابر بود، آن‌ها را ابتدا براساس مقدار address1 و سپس براساس مقدار address2 مرتب کنید.

آن‌چه باید آپلود کنید🔗

پس از طراحی کوئری‌ها، آن‌ها را در قالب زیر در یک فایل با پسوند .sql آپلود کنید.

-- Section1
   Your first query here
-- Section2
   Your second query here
-- Section3
   Your third query here
Plain text
ارسال پاسخ برای این سؤال
در حال حاضر شما دسترسی ندارید.