(no subject)
Sep. 11th, 2008 01:23 pm![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
В Харькове стартует такая штука, http://www.programmania.com/AboutProject.aspx типа конкурс, почему типа ниже написано.
Есть даже примеры вопросов http://www.programmania.com/ExampleQuestions.aspx после которых я решил что это все же типа конкурс по крайней мере в дисциплине «Databases»
Каждый из вопросов дисциплины, с моими ответами и комментариями.
1. Найдите ошибку в следующем запросе и исправьте ее:
SELECT BOOKID, NAME, WHENPUBLISHED, SUM(PRICE)
FROM BOOKS
GROUP BY BOOKID, WHENPUBLISHED
Этот запрос отработает, правильный ли будет результат? Это зависит от того что вы хотите. Что вы хотите в задание не сказано, вопрос не корректный, ошибки здесь нет.
2. Как будет работать SELECT, если в выражение, использующее агрегирующую функцию SUM, поставить ключевое слово DISTINCT?
Элементарно, будет суммировать только уникальные значения.
3. Какой уровень изоляции транзакции принят по умолчанию для MS SQL Server?
uncommitted read
committed read
repeatable read
serializable
Я не совсем понял мы про MS SQL Server или Databases, или человек не знающий основы MSSQL уже не программист баз данных? И с каким это пор MSSQL стал стандартом языка SQL? А как же Oracle, SyBase? Почему бы их не сделать стандартами? :) Вопрос совсем не корректный в топку.
4. Дана таблица ATABLE с ключевым полем, которое является auto increment полем ( в терминах MS SqL Server - IDENTITY полем). Есть ли различия в результатах следующих запросов: TRUNCATE ATABLE и DELETE FROM ATABLE и, если есть, то какие?
Опять этот MS SqL Server автор задание еще какое нибуть слово знает? Или автор думает что отличия между командами на любом сервере будет одинаково, очень сильно сомневаюсь, ну да ладно. Отличия TRUNCATE: быстрее, удаляет по страницам, меньше записей в журнал, не вызывает срабатывание триггеров. Это так вкратце. По мануалу получится несколько страниц печатного текста. (Напоминает анекдот: …….. а теперь перечислите имена, фамилии погибших) И в повседневной практике рекомендую все же DELETE т.к. будут срабатывать триггеры, не сейчас так потом кто-то добавит а вы TRUNCATE
5. В чем разница между SQL-запросами: SELECT COUNT(*) FROM TABLENAME и SELECT COUNT(SOMEFIELD) FROM TABLE
Тут все просто, строки где SOMEFIELD нуловое во втором случае не считаются. Это если не лезть сильно в дебри рассматривая все варианты которые только возможны в данном случае.
Общие выводы: Автор вопросов… гм….
Из 5 вопросов только два корректных, причем уровня ясельной группы, что с помощью этих вопрос можно определить? Да ничего. Остальные три непонятная хрень где считается MSSQL эталоном. Что этим собрались определять вообще не понятно.
Называть это «Конкурс IT-специалистов "Программания"» Не знаю как в других дисциплинах но в базах данных уже на этапе вопросов облажались.
От призового фонда я бы не отказался но я бы его все равно не получил т.к. не смотря на цитирую «Вопросы направлены на выявление не теоретических, а, прежде всего, прикладных и практических знаний» вопросы по Data Bases тянут разве, что на то что бы завалить студента, преподавателем который по SQL только методичку держал и то полностью не прочитал.
Зато есть гордая фраза, цитирую «Каждому участнику Конкурса, зарегистрированному на сайте проекта, создается постоянная персональная страница с именем, фамилией и результатами участия в конкурсах. Эта страница может использоваться для демонстрации результатов своим друзьям и знакомым, нынешним или потенциальным работодателям»
Лично мне бы было такое демонстрировать довольно стыдно.