LINUX.ORG.RU

История изменений

Исправление AEP, (текущая версия) :

Я обычно даю такое как самый минимальный тест на знание БД.

Есть магазин, торгующий волшебными палочками. Волшебные палочки бывают разных типов («палочка света», «палочка холода» и т.п.). Разные типы волшебных палочек имеют разную цену. Палочки изготавливаются магическим образом по мере необходимости - т.е. ситуации «есть в ассортименте, нет в наличии» не бывает. Возвратов проданных палочек тоже не бывает.

Работают все обычные законы рынка, а сотрудники отдела продаж готовы использовать все новейшие достижения своей науки - как в обычных магазинах.

При продаже каждой волшебной палочки должны регистрироваться ФИО покупателя, тип волшебной палочки и дата/время продажи.

Нужно нарисовать нормализованную схему базы (а еще лучше - написать запросы CREATE TABLE ...), которая бы позволила ответить на запросы типа таких:

  • Кто покупал палочки тьмы с 20 по 23 октября этого года?
  • Какой покупатель принес магазину больше всего выручки за ноябрь этого года?
  • Какие типы палочек есть в текущем ассортименте, но у которых в ноябре этого года продано менее 5 штук?
  • Сколько денег выручено магазином в сентябре этого года?
  • Тут еще много чего можно придумать по поводу аналитики.

Тут вариантов два: либо человек знает (или угадал) правильный ответ, либо не знает. Если знает - попробовать сбить его с толку, типа «у вас база, похоже, не нормализована, одно и то же хранится два раза» и посмотреть, как защищается. Если не знает - напомнить еще раз про рыночные механизмы, которые приводят к изменению цен, и маркетологов, которые придумывают всякие карточки-скидки, попробовать завалить его структуру этими сущностями. Только добавлять по одной такой сущности за раз. Посмотреть, как исправляет структуру базы и запросы, попросить написать запросы-миграции.

Даже по такой простой базе можно (особенно если потренироваться на коллеге) гонять человека полтора часа. Тем более что второй и третий вопросы с подковыркой - в том смысле, что даже с правильной структурой базы люди часто пишут неправильный ответ.

Исходная версия AEP, :

Я обычно даю такое как самый минимальный тест на знание БД.

Есть магазин, торгующий волшебными палочками. Волшебные палочки выпускаются в массовом порядке и бывают разных типов («палочка света», «палочка холода» и т.п.). Разные типы волшебных палочек имеют разную цену. Палочки изготавливаются магическим образом по мере необходимости - т.е. ситуации «есть в ассортименте, нет в наличии» не бывает. Возвратов проданных палочек тоже не бывает.

Работают все обычные законы рынка, а сотрудники отдела продаж готовы использовать все новейшие достижения своей науки - как в обычных магазинах.

При продаже каждой волшебной палочки должны регистрироваться ФИО покупателя, тип волшебной палочки и дата/время продажи.

Нужно нарисовать нормализованную схему базы (а еще лучше - написать запросы CREATE TABLE ...), которая бы позволила ответить на запросы типа таких:

  • Кто покупал палочки тьмы с 20 по 23 октября этого года?
  • Какой покупатель принес магазину больше всего выручки за ноябрь этого года?
  • Какие типы палочек есть в текущем ассортименте, но у которых в ноябре этого года продано менее 5 штук?
  • Сколько денег выручено магазином в сентябре этого года?
  • Тут еще много чего можно придумать по поводу аналитики.

Тут вариантов два: либо человек знает (или угадал) правильный ответ, либо не знает. Если знает - попробовать сбить его с толку, типа «у вас база, похоже, не нормализована, одно и то же хранится два раза» и посмотреть, как защищается. Если не знает - напомнить еще раз про рыночные механизмы, которые приводят к изменению цен, и маркетологов, которые придумывают всякие карточки-скидки, попробовать завалить его структуру этими сущностями. Только добавлять по одной такой сущности за раз. Посмотреть, как исправляет структуру базы и запросы, попросить написать запросы-миграции.

Даже по такой простой базе можно (особенно если потренироваться на коллеге) гонять человека полтора часа. Тем более что второй и третий вопросы с подковыркой - в том смысле, что даже с правильной структурой базы люди часто пишут неправильный ответ.