Софтуерно Инженерство
Loading...
MartinBG avatar MartinBG 1139 Точки

[Table Relations - Exercise, 02. One-To-Many Relationship] - Проблем с тестoвете в Judge (83/100)

Задачата в Judge

Според условието на задачата, първо трябва да създадем таблиците без да дефинираме Primary и Foreign keys (1), да създадем примерните записи в двете таблици (2) и накрая да довършим сетъпа на таблиците като дефинираме очакваните Primary и Foreign keys (3).

Проблемът е, че ако изпълним задачите в тази последователност (1-2-3), теста в Judge, който проверява коректността на данните фейлва, защото те не са сортирани според очакваното.

Това е заявката от теста:

SELECT 
    man.manufacturer_id,
    man.name,
    DATE(man.established_on),
    m.model_id,
    m.name
FROM
    manufacturers man
        INNER JOIN
    models m ON man.manufacturer_id = m.manufacturer_id
ORDER BY man.manufacturer_id;

В очаквания резултат, тази заявка изкарава 6-те записа сортирани по manufacturer_id и по model_id, но това се случва, само ако записите се добавят в таблиците след като и двете таблици са напълно конфигурирани, т.е. реда на изпълнение на частите на тази задача трябва да е 1-3-2.

 

Забелязах, че има и други колеги с 83 точки на тази задача, и затова реших да постна тази информация тук.

 

Към оргнизаторите на курса - заявката за проверка трябва да включва (и) сортировка по model_id, за да се избегне този проблем:

...
ORDER BY man.manufacturer_id, m.model_id;

 

Тагове:
1
Databases Basics - MySQL 10/02/2018 23:37:23
sasbgmob avatar sasbgmob 20 Точки

Май го оправиха по някое време

 

0
MartinBG avatar MartinBG 1139 Точки

Поне към този момент все още не е оправен проблема.

Репортнал съм го по каналният ред.

0
sasbgmob avatar sasbgmob 20 Точки

Не знам кое ти прави проблем, При мен работи ето така:

1. Дефинирам таблиците и първичните ключове.

2. Попълвам данните.

3 Правя FOREIGN KEY  за таблица models

Имаше друг проблем че теста очакваше разменени данни в моделите вместо 101 очакваше 102 и обратно. Но после си се самооправи :) за което благодаря на администраторите. Доста учудено гледах и се питах защо прави точно така ;)

Искаш ли кода?

1
MartinBG avatar MartinBG 1139 Точки

По условие, Primary key-овете също трябва да се дефинират след като добавим данните в таблиците, но - както съм написал по-горе, ако си събмитнем решението така, то не минава в Judge заради разместване на последователността на записите (проблемът, който и ти си видял в началото).

0
Boris.stavrev92 avatar Boris.stavrev92 38 Точки

Моля за source code-a : sneak922@gmail.com

0
MartinBG avatar MartinBG 1139 Точки

Решенията ми са тук

0