powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Два простых вопроса
16 сообщений из 16, страница 1 из 1
Два простых вопроса
    #38725258
Павел Евгеньевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте, возможно вопросы покажутся глупыми:
1) равнозначно ли ограничение PRIMARY KEY для столбца добавлению кластеризованного индекса по этому столбцу; равнозначно ограничение UNIQUE для столбца добавлению уникального индекса для столбца.
2) равнозначно ли выражение WHERE ID = 1 выражению WHERE ID IN (1) ?
...
Рейтинг: 0 / 0
Два простых вопроса
    #38725349
Павел Евгеньевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ответ на оба вопроса - равнозначны.
...
Рейтинг: 0 / 0
Два простых вопроса
    #38725368
Кот Матроскин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Павел ЕвгеньевичЗдравствуйте, возможно вопросы покажутся глупыми:
1) равнозначно ли ограничение PRIMARY KEY для столбца добавлению кластеризованного индекса по этому столбцу; равнозначно ограничение UNIQUE для столбца добавлению уникального индекса для столбца.

Эквиваленты ли понятия Mercedes и "дорогой автомобиль"? :)
Нет, это вообще понятия "из разных опер".

Павел Евгеньевич2) равнозначно ли выражение WHERE ID = 1 выражению WHERE ID IN (1) ?

логически выражения равнозначны - т.е. результат запроса будет одинаковым. Будут ли эти выражения и обрабатываться одинаково - вопрос к оптимизатору конкретной СУБД
...
Рейтинг: 0 / 0
Два простых вопроса
    #38725393
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Авотфиг. Это СУБД-зависимо. Мои ответы:
1) Нет.
2) Да.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Два простых вопроса
    #38725410
Павел Евгеньевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
спасибо, СУБД - SQL Server
...
Рейтинг: 0 / 0
Два простых вопроса
    #38725417
Naf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PRIMARY KEY требует NOT NULL
UNIQUE не обязательно
...
Рейтинг: 0 / 0
Два простых вопроса
    #38725425
egorych
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Павел Евгеньевичответ на оба вопроса - равнозначны.неа. кластерный индекс я по любому столбцу могу сделать, не только по первичному ключу или уникальному.
Так что
1.Нет; Да
2. Да ( с учётом замечания Кота Матроскина )
...
Рейтинг: 0 / 0
Два простых вопроса
    #38725440
Павел Евгеньевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
egorychнеа. кластерный индекс я по любому столбцу могу сделать, не только по первичному ключу или уникальному.
Так что
1.Нет; Да
2. Да ( с учётом замечания Кота Матроскина )

а если в таблице уже есть PK, разве можно сделать еще один кластерный индекс?
...
Рейтинг: 0 / 0
Два простых вопроса
    #38725441
sphinx_mv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Павел ЕвгеньевичЗдравствуйте, возможно вопросы покажутся глупыми:
1) равнозначно ли ограничение PRIMARY KEY для столбца добавлению кластеризованного индекса по этому столбцу;Чтобы говорить про кластерный индекс вообще, не мешало бы уточнить, о каком сервере идет речь...

Если бы речь шла про MSSQL, то индекс по первичному ключу вполне может не быть кластерным, а в таблице вообще может не быть кластерного индекса. И единственный на таблицу кластерный индекс может быть и не уникальным вовсе.
Павел Евгеньевичравнозначно ограничение UNIQUE для столбца добавлению уникального индекса для столбца.Ключи (первичные/уникальные/етц) к аналогичным индексам прямого отношения не имеют - это просто констрэйнты, для которых могут строиться (как обычно и делается) соответствующие индексы, а могут не строиться или использоваться другие, совсем не-уникальные индексы (как это может делать Oracle).
Павел Евгеньевич2) равнозначно ли выражение WHERE ID = 1 выражению WHERE ID IN (1) ? Что есть "равнозначность"?
Если интересует результат , то он должен быть одинаков.
Если способ получения... То, будет ли он получен одинаковым способом на разных реализациях сервера в разных конкретных условиях - не обязательно...
...
Рейтинг: 0 / 0
Два простых вопроса
    #38725451
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Павел ЕвгеньевичСУБД - SQL Server
Ты не поверишь, но на сегодняшний день почти каждая СУБД - SQL.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Два простых вопроса
    #38725484
Павел Евгеньевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
поверю, SQL Server === MS SQL Server
...
Рейтинг: 0 / 0
Два простых вопроса
    #38725500
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Павел ЕвгеньевичSQL Server === MS SQL Server
Кто тебе сказал подобную глупость? Расскажи ему о MySQL, PostgreSQL, Firebird SQL
серверах. Да хотя бы и об Oracle.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Два простых вопроса
    #38725523
egorych
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Павел Евгеньевичegorychнеа. кластерный индекс я по любому столбцу могу сделать, не только по первичному ключу или уникальному.
Так что
1.Нет; Да
2. Да ( с учётом замечания Кота Матроскина )

а если в таблице уже есть PK, разве можно сделать еще один кластерный индекс?ещё один - нет, но можно делать PK некластерным ))
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
CREATE TABLE my_evil_talbe
(
	KeyField INT NOT NULL
		CONSTRAINT PK_my_evil_table PRIMARY KEY NONCLUSTERED ( KeyField ) ON [PRIMARY],
	IndexField VARCHAR( 100 ) NULL
) ON [PRIMARY];

CREATE CLUSTERED INDEX IX_IndexField ON my_evil_table ( IndexField ASC ) ON [PRIMARY];
...
Рейтинг: 0 / 0
Два простых вопроса
    #38725531
Павел Евгеньевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovПавел ЕвгеньевичSQL Server === MS SQL Server
Кто тебе сказал подобную глупость? Расскажи ему о MySQL, PostgreSQL, Firebird SQL
серверах. Да хотя бы и об Oracle.

Мне это сказали товарищи Грофф и Вайнсберг в своем труде "SQL. Полное руководство". На самом деле проблемы тут нет.
...
Рейтинг: 0 / 0
Два простых вопроса
    #38725697
prog123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
UNIQUE наверное введен для того, когда сильно хочется второй PRIMARY KEY а нельзя, то UNIQUE - наше фсё:)
...
Рейтинг: 0 / 0
Два простых вопроса
    #38725854
Кот Матроскин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
prog123 когда сильно хочется второй PRIMARY KEY а нельзя


"второй PRIMARY KEY" осмыслен примерно так же, как вторая золотая медаль на соревнованиях.
Unique constraint же вещь полезная как в теоретическом, так и в практическом плане.
...
Рейтинг: 0 / 0
16 сообщений из 16, страница 1 из 1
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Два простых вопроса
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]