2013-08-18 3 views
0

Я изучаю MySQL. Я наткнулся на несколько вопросов с множественным выбором. Если я сомневаюсь, что ответ был или не был убежден, что это правильно, я начал искать google, stackoverflow и сайт mysql. Однако для некоторых я все еще не мог подтвердить, какой был правильный ответ.какое утверждение неверно об уникальном индексе

Вопрос: Все следующие утверждения верны об уникальном индексе, кроме одного?
A. Он должен быть уникальным для всех столбцов таблицы
B. Он не должен быть явно определен для таблиц
C. Он должен быть создан только для столбцов с ограничениями PRIMARY KEY или UNIQUE.
D. Это не может быть создан сам по себе
Е. Это не может быть гарантировано, что сочетание всех значений, содержащихся в индексе являются уникальными

Предлагаемый ответ: E.

Мои мысли:

О. Я действительно не понимаю, что они подразумевают под этим. Но в этом вопросе это должно быть правильным утверждением. Может ли кто-нибудь это понять?
B. определенный для таблиц? уникальный индекс находится в столбце таблицы. И по умолчанию возможны не уникальные значения, поэтому они должны быть явно определены.
C. Выглядит правильно. Первичный ключ уникален, поэтому индекс должен быть построен MySQL (но не явно)
D. wut? другой ответ, который не имеет для меня никакого смысла (я глуп?: S)
E. Сочетание значений? Нет, тогда невозможно гарантировать, что эти комбинации значений столбца уникальны. Если это комбинация разных столбцов, которые могут быть объединены в первичный ключ: тогда это может быть обеспечено, иначе это не будет использоваться для индекса UNIQUE.

В основном я могу иметь предпочтительный ответ в случае сомнений, однако здесь я имею ни малейшего понятия: ■

Это одна действительно сводит меня с ума: s Является ли это языковой барьер или ...

Если у вас есть замечания по этому вопросу/ответу или по любому из моих замечаний, я рад это слышать!

+0

Откуда этот вопрос? На первый взгляд, мне кажется, что все, кроме одного, ответы ложны (или, как вы указываете, бессмысленны). –

ответ

0

Эти ответы не имеет смысла:

A. он должен быть уникальным для всех столбцов таблицы

Уникальный индекс, как правило, определенных на подмножестве столбцов таблицы. Указанный индекс применим только ко всем столбцам, если он определен таким образом. Следовательно, это неверно.

B. она не должна быть явно определена для таблиц

Почему бы конструкт существовать, если она не должна быть использована? Уникальные индексы весьма полезны. Можно утверждать, что он не определен в «таблицах», а в «столбцах в таблицах», но это кажется слишком тонким для этого вопроса.

C. Он должен быть создан только для столбцов с ограничениями PRIMARY KEY или UNIQUE.

Это близко к истине. Вы можете утверждать, что создание уникального индекса эквивалентно созданию уникального ограничения. Тем не менее, они представляют собой разные синтаксические конструкции для выполнения того же самого. Кроме того, вы не создали бы уникальный индекс для столбца с уникальным ограничением, потому что база данных делает это за вас.

D. Это не может быть создан сам по себе

Я не знаю, что это должно означать. В некотором смысле, он не может быть создан «сам по себе», потому что ему нужна таблица для определения.

Е. Это не может быть обеспечено, что сочетание всех значений, содержащихся в индексе являются уникальными

Это верно, так как NULL значения могут быть продублированы:

A UNIQUE index creates a constraint such that all values in the index 
must be distinct. An error occurs if you try to add a new row with a 
key value that matches an existing row. For all engines, a UNIQUE 
index permits multiple NULL values for columns that can contain NULL.][1] 

Я бы сказал, что только (e) однозначно верно. Варианты (c) и (d) приближаются, в зависимости от интерпретации. Варианты (a) и (b) кажутся ложными для моего чтения.

Возможно, вы захотите посмотреть где-нибудь еще на такие вопросы.

+0

Большое спасибо за ваш сложный ответ! Это действительно оценено и узнаваемо (также в ясном правильном английском;)). У вас есть точка в том, что мне следует искать в другом месте вопросы, поскольку это не первый, о котором я так смущен. – th3penguinwhisperer