Автор Тема: Sql masters party  (Прочетена 40892 пъти)

VladSun

  • Moderator
  • Напреднали
  • *****
  • Публикации: 2166
    • Профил
Sql masters party
« -: Sep 20, 2008, 16:28 »
Такааам '<img'>

  Идеята в новата игра е да се напишат по възможно най-оптималния начин, за дадените таблици, SQL заявки, които да изпълняват условията на задачите.

  За решена се счита задача, за която сте написали такава заявка, която изпълнява следните условия:
- да е единична заявка!;
- няма грешки в SQL синтаксиса;
- връща точно толкова редове, колкото моята (експертна ':p') заявка;
- връща стойности на колоните еднакви с тези генерирани от моята заявка и в същия ред;
- връща редовете в реда, в който ги връща моята заявка;
- може да съдържа повече колони от изискваните от задачата, но е задължително изискваните от задачата да са преди тях;

  След като изпълните заявка отговаряща на горните условия, ще засеча времето необходимо за изпълнение на вашата и моята заявка. При разлика над 5% се дава точка в резулатат "аз-ти". В същото време се дават съответните точки за нивото (може и да са отрицателни '<img'> ).
  Алгоритъмът за горните сметки не е много добър и се влияе от доста фактори, но ... това е, с което разполагам '<img'>

  Искрено се надявам да има хора, които да ме победят убедително в тази игра - поне и аз да науча нещо. Не претендирам, че съм SQL бог, но каквото мога да направя - правя колкото мога '<img'>.

  Framework-a на играта е така направена, че изисква само редактор за SQL - с други думи, ако някой се сети за нови нива да праща на лично съобщение:
- описание на задачата;
- нужни таблици;
- SQL заявка за решението;

  Най-накрая и параметрите на играта:

- MySQL 5.0.51a;
- MyISAM таблици;
- индекси на всички полета, в които присъства "id" '<img'> ;
- където е необходимо има и сложни уникални индекси;
- достатъчно големи таблици - 50% с редове над 10'000;

И адреса:

http://212.117.50.108:80

Успех!

ПП: Никъде няма да видите DB резултат от вашите заявки. Няма смисъл да пускате заявки от сорта на:

Примерен код
select * from user;




Активен

KISS Principle ( Keep-It-Short-and-Simple )
http://openfmi.net/projects/flattc/
Има 10 вида хора на този свят - разбиращи двоичния код и тези, които не го разбират :P

karaman

  • Напреднали
  • *****
  • Публикации: 351
    • Профил
    • WWW
Sql masters party
« Отговор #1 -: Sep 20, 2008, 17:05 »
успех с партито  ':angry:'

някои от заявките могат да се напишат по няколко начина!

VladSun

  • Moderator
  • Напреднали
  • *****
  • Публикации: 2166
    • Профил
Sql masters party
« Отговор #2 -: Sep 20, 2008, 17:11 »
Да - за това гледам само резултата, а не заявката '<img'>
Моделът на "черната кутия".
Могат да се напишат по различни начини, но коя ще е най-бързата е въпросът '<img'>
Активен

KISS Principle ( Keep-It-Short-and-Simple )
http://openfmi.net/projects/flattc/
Има 10 вида хора на този свят - разбиращи двоичния код и тези, които не го разбират :P

VladSun

  • Moderator
  • Напреднали
  • *****
  • Публикации: 2166
    • Профил
Sql masters party
« Отговор #3 -: Sep 20, 2008, 18:35 »
Успях да съчиня цели 8 нива '<img'>
Предупреждавам, че сървера ще е offline всеки ден от около 00:00 часа до около 14:00 часа (т.е. времето ми за сън '<img'> )
Активен

KISS Principle ( Keep-It-Short-and-Simple )
http://openfmi.net/projects/flattc/
Има 10 вида хора на този свят - разбиращи двоичния код и тези, които не го разбират :P

VladSun

  • Moderator
  • Напреднали
  • *****
  • Публикации: 2166
    • Профил
Sql masters party
« Отговор #4 -: Sep 20, 2008, 20:04 »
Четете внимателно условието на задачите. Всяко неспазено изискване към резултата води до отчитането на заявката като грешна.
Спазвайте като реда на колоните, така и реда на сортиране на резултата.
Активен

KISS Principle ( Keep-It-Short-and-Simple )
http://openfmi.net/projects/flattc/
Има 10 вида хора на този свят - разбиращи двоичния код и тези, които не го разбират :P

VladSun

  • Moderator
  • Напреднали
  • *****
  • Публикации: 2166
    • Профил
Sql masters party
« Отговор #5 -: Sep 20, 2008, 20:56 »
И ... само напомням, че за да няма колизия между служебните думи на MySQL и имената на таблиците и колоните се използва ` символа. Т.е.:
Примерен код
select `select` from `where` where `where`.`order` = 'up';
Активен

KISS Principle ( Keep-It-Short-and-Simple )
http://openfmi.net/projects/flattc/
Има 10 вида хора на този свят - разбиращи двоичния код и тези, които не го разбират :P

plamen_f

  • Напреднали
  • *****
  • Публикации: 1246
    • Профил
Sql masters party
« Отговор #6 -: Sep 21, 2008, 08:07 »
offtopic

Да не прозвучи като заяждане ама моля Ви използвайте думите правилно! Няма такова понятие като "най-оптимално". Смисъла а думата оптимално е точно най....
Активен

VladSun

  • Moderator
  • Напреднали
  • *****
  • Публикации: 2166
    • Профил
Sql masters party
« Отговор #7 -: Sep 21, 2008, 14:49 »
И да не прозвучи като заяждане, ама в тази тема само ще се заяждаме ли?
Да взема да сменя заглавието й тогава ...

Два отговора -  и двата не на място ...
« Последна редакция: Mar 09, 2010, 22:52 от VladSun »
Активен

KISS Principle ( Keep-It-Short-and-Simple )
http://openfmi.net/projects/flattc/
Има 10 вида хора на този свят - разбиращи двоичния код и тези, които не го разбират :P

VladSun

  • Moderator
  • Напреднали
  • *****
  • Публикации: 2166
    • Профил
Sql masters party
« Отговор #8 -: Sep 21, 2008, 16:03 »
Съжалявам, но почивните дни ще бъда извън линия '<img'>
Във вторник продължаваме.



Активен

KISS Principle ( Keep-It-Short-and-Simple )
http://openfmi.net/projects/flattc/
Има 10 вида хора на този свят - разбиращи двоичния код и тези, които не го разбират :P