powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Так ли необходим уникальный ключ в зависимой таблице.
36 сообщений из 36, показаны все 2 страниц
Так ли необходим уникальный ключ в зависимой таблице.
    #37925145
аффтор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Только что возник спор с "арихитектором", делать или нет ключ(ID) в зависимой таблице. Он утверждает что нафиг ненужно. А доводов за то что бы "делать" особо нет. Но мне разработчику так понятней. что есть ключ (ID) в таблице .. ну скажем ORDERS, есть ссылка на него из ORDER_ITEMS. И как бы уникальный ключ (ID) в таблице ORDER_ITEMS не нужен.
Архитектор аппелирует к тому что в ORDER_ITEMS уникальность соблюдается по двум полям ORDER_ID и GOOD_ID и этого как бы вполне достаточно.

Существуют ли доводы за то что бы использовать уникальный ключ в зависимой таблице и так ли он необходим?
...
Рейтинг: 0 / 0
Так ли необходим уникальный ключ в зависимой таблице.
    #37925171
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Только что возник спор с "арихитектором", делать или нет ключ(ID) в зависимой
> таблице. Он утверждает что нафиг ненужно. А доводов за то что бы "делать" особо
> нет. Но мне разработчику так понятней. что есть ключ (ID) в таблице .. ну скажем
> ORDERS, есть ссылка на него из ORDER_ITEMS. И как бы уникальный ключ (ID) в
> таблице ORDER_ITEMS не нужен.

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

> Архитектор аппелирует к тому что в ORDER_ITEMS уникальность соблюдается по двум
> полям ORDER_ID и GOOD_ID и этого как бы вполне достаточно.

он прав.

> Существуют ли доводы за то что бы использовать уникальный ключ в зависимой
> таблице и так ли он необходим?

Однозначных доводов нет. Поищи на эту тему, в принципе перетералось не раз.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Так ли необходим уникальный ключ в зависимой таблице.
    #37925194
аффтор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
>>В смысле в подчинённой таблице есть уже уникальный ключ, вводить ли помимо него ещё один суррогатный ?

Ключа нет. Есть только Forein Key ссылающийся на родительскую таблицу, и свойство ID товара.
В паре эти два поля дают уникальность записей.
С этим я могу согласиться, что этого достаточно.

Еще одно утверждение которое я забыл написать, оно наверно главное: в дочерней таблице нельзя делать Primary Key даже по этим двум полям.
...
Рейтинг: 0 / 0
Так ли необходим уникальный ключ в зависимой таблице.
    #37925234
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
аффторв дочерней таблице нельзя делать Primary Key даже по этим двум полям.
А это-то ещё почему?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Так ли необходим уникальный ключ в зависимой таблице.
    #37925242
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
аффторАрхитектор аппелирует к тому что в ORDER_ITEMS уникальность соблюдается по двум полям ORDER_ID и GOOD_ID и этого как бы вполне достаточно.Плохой пример. Ваш архитектор никогда не видел накладных с одним товаром в двух строчках? да еще с разными ценами (т.е. принудительно объединить нельзя)?
Первичный ключ тем-то и хорош, что может быть искусственным и позволяет не закладываться на неизменность внешнего мира или его модели в ТЗ.
...
Рейтинг: 0 / 0
Так ли необходим уникальный ключ в зависимой таблице.
    #37925311
Бредятина
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakovаффторв дочерней таблице нельзя делать Primary Key даже по этим двум полям.
А это-то ещё почему?

Например, потому, что этот же товар может продаваться по другой цене:)
...
Рейтинг: 0 / 0
Так ли необходим уникальный ключ в зависимой таблице.
    #37925317
Бредятина
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
аффторТолько что возник спор с "арихитектором", делать или нет ключ(ID) в зависимой таблице. Он утверждает что нафиг ненужно. А доводов за то что бы "делать" особо нет. Но мне разработчику так понятней. что есть ключ (ID) в таблице .. ну скажем ORDERS, есть ссылка на него из ORDER_ITEMS. И как бы уникальный ключ (ID) в таблице ORDER_ITEMS не нужен.
Архитектор аппелирует к тому что в ORDER_ITEMS уникальность соблюдается по двум полям ORDER_ID и GOOD_ID и этого как бы вполне достаточно.

Существуют ли доводы за то что бы использовать уникальный ключ в зависимой таблице и так ли он необходим?
Абсолютно необходим, так как Вам только кажется, что таблица "зависимая":) Таблицы совершенно равноправные, не говоря уже о том, что, в Вашей терминологии, таблица может стать "главной", если, например, потребуется детализация записи (партионный учет и др. причины). Ваша главная проблема - использование какого-то странного продукта вместо СУБД. СУБД - это такой программный продукт, в котором автоматически поддерживаются идентификаторы, не являющиеся характеристиками объекта (полями таблицы, в Вашей терминологии).
...
Рейтинг: 0 / 0
Так ли необходим уникальный ключ в зависимой таблице.
    #37925408
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
аффтор Ключа нет . Есть только Forein Key ссылающийся на родительскую таблицу, и свойство ID товара.
В паре эти два поля дают уникальность записей .Так есть ключ или нет? Или два поля дают уникальность записей, потому что приложение данные правильно записывет? Или нет ключа, но есть уникальный констрейн?
...
Рейтинг: 0 / 0
Так ли необходим уникальный ключ в зависимой таблице.
    #37925440
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> Он утверждает что нафиг ненужно.

Вообще-то тупит. Не нужно, если вы имеете относительно неизменное обособленное подмножество. Например, СИ включает в себя некоторые единицы измерений. Это достаточно редкий случай, здесь необходима только уникальность пар (система измерений, единица измерений).

Нужно обязательно, если вы хотя бы теоретически допускаете возможность манипуляций с элементами подмножества или эти элементы имеют (могут иметь) не полностью определенные зависимости. Чтобы не париться, возьмите за правило иметь суррогатный идентификатор.

> Существуют ли доводы

Разумеется. Самостоятельно сможете сформулировать?
...
Рейтинг: 0 / 0
Так ли необходим уникальный ключ в зависимой таблице.
    #37925515
zeon11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
аффтор.........

Существуют ли доводы за то что бы использовать уникальный ключ в зависимой таблице и так ли он необходим?

У меня был дед, старый шахтёр, так он в багажнике своего жигулёнка всегда возил много всякого "ненужного" барахла. В самый неподходящий момент, где-нибудь в тайге, когда у нас или попутчиков возникали проблемы, он тяжело сопя лез в свой багажник и доставал одну из "ненужных" вещей, которая решала все проблемы.
Уникальный суррогатный ключ в таблице - это как раз та "ненужная" вешь, которая рано или поздно поможет.
Попробую проиллюстрировать. Предположим, Вы сделали, как захотел ваш архитектор, удовлетворились составным ключом в "подчинённой" таблице (слово подчинённая а кавычках, поскольку, как верно заметил Бредятина, подчинённость только в голове).
Через какое-то время вполне может возникнуть потребность в "подчинённой" таблице к вашей "подчинённой". Как тогда будете ссылаться, SELECT'том через два поля?
...
Рейтинг: 0 / 0
Так ли необходим уникальный ключ в зависимой таблице.
    #37925571
Фотография vadiminfo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
аффторКлюча нет. Есть только Forein Key ссылающийся на родительскую таблицу, и свойство ID товара.
В паре эти два поля дают уникальность записей.
С этим я могу согласиться, что этого достаточно.


Чтобы они дали уникальность - надо об этом предупредить СУБД: объявить их ключем (т.е. сказать что они уникальны). Возможно, в некоторых СУБД это называется не ключем (уникальный индекс или еще как), но в теории РБД это называется ключем. Иначе одно и тоже можно занести в БД много раз. Суррогатный ключ, тоже не мешает нарушить уникальность других, которые должны быть уникальными: т.е. ключей в одной табле может быть несколько в общем случае. Если один тока суррогат записи, то что помешает внести одну и туже сущность нескока раз с разными ID?

Т.е., возиможно, в вашем случае следует оба ключа отъюзать. У вас нет показаний к ID эту таблу из-за отсутсвия у нее дочерних, а не наличия других уникальных. Но ради единообразия стиля. Это вседа содержит надежду на возможное упрощение как на этапе разработки и сопровождения
Например, в приложении в каких-то ситуациях запомнить запись по такому суррогату проще, поскольку уже многократно применялось. Ить он не меняется, а остальные то могли измениться в транзакции: поменяли порядок или отнесли к дугому товару.
ID таблы, то врядли поменяется када либо.
...
Рейтинг: 0 / 0
Так ли необходим уникальный ключ в зависимой таблице.
    #37925577
Фотография vadiminfo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Имелоось в виду единообразие стиля: раз уже есть такие суррогаты у некотоых табл, то если они будут у всех, то стиль более однобразый, чем в разных таблах разые подходы.
...
Рейтинг: 0 / 0
Так ли необходим уникальный ключ в зависимой таблице.
    #37925654
Бредятина
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zeon11... Через какое-то время вполне может возникнуть потребность в "подчинённой" таблице к вашей "подчинённой". Как тогда будете ссылаться, SELECT'том через два поля?
Еще один простой пример "подчиненной таблицы" - Бухгалтерские проводки:)
...
Рейтинг: 0 / 0
Так ли необходим уникальный ключ в зависимой таблице.
    #37925676
Naf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
иногда важен порядок строк, вот номер строки + ссылка на главную таблицу и будет ключом таким
...
Рейтинг: 0 / 0
Так ли необходим уникальный ключ в зависимой таблице.
    #37925844
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zeon11Как тогда будете ссылаться, SELECT'том через два поля?
А что, у какой-то СУБД с этим есть проблемы?..
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Так ли необходим уникальный ключ в зависимой таблице.
    #37925988
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Ключа нет. Есть только Forein Key ссылающийся на родительскую таблицу, и
> свойство ID товара.
> В паре эти два поля дают уникальность записей.

Вот это и есть ключ.

> Еще одно утверждение которое я забыл написать, оно наверно главное: в дочерней
> таблице нельзя делать Primary Key даже по этим двум полям.

наоборот, НУЖНО. В любой таблице должнен быть PK.

Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Так ли необходим уникальный ключ в зависимой таблице.
    #37925991
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Первичный ключ тем-то и хорош, что может быть искусственным и позволяет не
> закладываться на неизменность внешнего мира или его модели в ТЗ.

Первичный ключ тем хорош, что идентифицирует запись в таблице.
А тот, кто хорош тем, что ты назвал, это суррогатный первычный ключ.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Так ли необходим уникальный ключ в зависимой таблице.
    #37925995
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>
> Абсолютно необходим, так как Вам только кажется, что таблица "зависимая":)
> Таблицы совершенно равноправные, не говоря уже о том, что, в Вашей терминологии,
> таблица может стать "главной", если, например, потребуется детализация записи

Ну, как говорится, дальше пошла Бредятина...
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Так ли необходим уникальный ключ в зависимой таблице.
    #37926000
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Т.е., возиможно, в вашем случае следует оба ключа отъюзать. У вас нет показаний
> к ID эту таблу из-за отсутсвия у нее дочерних, а не наличия других уникальных.
> Но ради единообразия стиля. Это вседа содержит надежду на возможное упрощение
> как на этапе разработки и сопровождения
> Например, в приложении в каких-то ситуациях запомнить запись по такому суррогату
> проще, поскольку уже многократно применялось. Ить он не меняется, а остальные то
> могли измениться в транзакции: поменяли порядок или отнесли к дугому товару.
> ID таблы, то врядли поменяется када либо.


Про деда -- очень хорошо! Но вы все тут путаете свойства PK и суррогатного
PK. Ну и доводы типа "ради единообразия стиля" -- как-то ненаучно выглядит.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Так ли необходим уникальный ключ в зависимой таблице.
    #37926009
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Имелоось в виду единообразие стиля: раз уже есть такие суррогаты у некотоых
> табл, то если они будут у всех, то стиль более однобразый, чем в разных таблах
> разые подходы.

Например ещё это лишнее поле, которое занимает место, 4-8 байт, а если таблица
по миллиарду записей ? 4 гига навыброс ? А ведь это 4-8-16 фильмов...
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Так ли необходим уникальный ключ в зависимой таблице.
    #37926018
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivНапример ещё это лишнее поле, которое занимает место, 4-8 байт, а если таблица
по миллиарду записей ? 4 гига навыброс ? А ведь это 4-8-16 фильмов...измерять объём БД в фильмах - это очень нОучно...
...
Рейтинг: 0 / 0
Так ли необходим уникальный ключ в зависимой таблице.
    #37926025
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivНапример ещё это лишнее поле, которое занимает место, 4-8 байт, а если таблица по
миллиарду записей ? 4 гига навыброс ? А ведь это 4-8-16 фильмов...

Правильно. Поэтому на вопрос "нет места на винте, как сжать базу" я всегда отвечаю "оставь
базу в покое, лучше порнушку сотри".
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Так ли необходим уникальный ключ в зависимой таблице.
    #37926430
Бредятина
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZiv
>
> Абсолютно необходим, так как Вам только кажется, что таблица "зависимая":)
> Таблицы совершенно равноправные, не говоря уже о том, что, в Вашей терминологии,
> таблица может стать "главной", если, например, потребуется детализация записи

Ну, как говорится, дальше пошла Бредятина...

Растете, но очень медленно:) В данном случае больно уж элементарные вещи не понимаете:)
...
Рейтинг: 0 / 0
Так ли необходим уникальный ключ в зависимой таблице.
    #37926441
Бредятина
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZiv... Но вы все тут путаете свойства PK и суррогатного
PK.
Существенная неточность - при такой формулировке перед первым PK так же нужно употреблять прилагательное:)
...
Рейтинг: 0 / 0
Так ли необходим уникальный ключ в зависимой таблице.
    #37926457
Бредятина
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZiv> Имелоось в виду единообразие стиля: раз уже есть такие суррогаты у некотоых
> табл, то если они будут у всех, то стиль более однобразый, чем в разных таблах
> разые подходы.

Например ещё это лишнее поле, которое занимает место, 4-8 байт, а если таблица
по миллиарду записей ? 4 гига навыброс ? А ведь это 4-8-16 фильмов...

Это проблема "реляционных систем". В СУБД это вообще не поле. Так же полезно посмотреть на физические записи в "реляционных системах" для лучшего понимания:)
...
Рейтинг: 0 / 0
Так ли необходим уникальный ключ в зависимой таблице.
    #37926494
Фотография vadiminfo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZiv
> Т.е., возиможно, в вашем случае следует оба ключа отъюзать. У вас нет показаний
> к ID эту таблу из-за отсутсвия у нее дочерних, а не наличия других уникальных.
> Но ради единообразия стиля. Это вседа содержит надежду на возможное упрощение
> как на этапе разработки и сопровождения
> Например, в приложении в каких-то ситуациях запомнить запись по такому суррогату
> проще, поскольку уже многократно применялось. Ить он не меняется, а остальные то
> могли измениться в транзакции: поменяли порядок или отнесли к дугому товару.
> ID таблы, то врядли поменяется када либо.


Про деда -- очень хорошо! Но вы все тут путаете свойства PK и суррогатного
PK. Ну и доводы типа "ради единообразия стиля" -- как-то ненаучно выглядит.

Что имеено перепутано в свойствах? Ключ - уникальность, Суррогатный - значение ниче не значит в предметной области. Его польза в некоторых СУБД в связи с предположительной неизменностью. В частности для связи: снижение рисков изменений в дочерних таблицах.
Это имелось в виду.
Термин РК - старался не упоминать вообще.
Единнобразие стиля имеет не научное значенние а стилевое. Если в одной табле суррогат для записи , в другой естесвенный ключ для сущности, в третьей суррогаты от других табл (например, табла для связи многие ко многим), то стиль работы с ними разный. Это может усложнить разработку и сопровождение.

Пример, привел пользой от неизменности в проге. В проге что-то делают со значениями записей. Запомнили их суррогаты, если он есть. И например, поменяли значение остальных ключей. Но вседа записи нашли в этом коде и не перепутали: суррогат, то никому не нужен менять его, скорее всего. А если его нет, то несколько сложнее искать, ить все остальное поменяли - код может быть посложнее.

Но разумеется это лишь доводы в пользу, не исключающие большей важности в конкретном случае других соображений.
...
Рейтинг: 0 / 0
Так ли необходим уникальный ключ в зависимой таблице.
    #37926747
_мод
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
аффторСуществуют ли доводы за то что бы использовать уникальный ключ в зависимой таблице и так ли он необходим?

Аудит этой строки (PK может и поменяться !)
...
Рейтинг: 0 / 0
Так ли необходим уникальный ключ в зависимой таблице.
    #37926867
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
On 08/22/2012 04:08 PM, Бредятина wrote:

> Растете, но очень медленно:) В данном случае больно уж элементарные вещи не
> понимаете:)

Ну, главное-то я понял:

> Ну, как говорится, дальше пошла Бредятина...
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Так ли необходим уникальный ключ в зависимой таблице.
    #37927100
Бредятина
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivOn 08/22/2012 04:08 PM, Бредятина wrote:

> Растете, но очень медленно:) В данном случае больно уж элементарные вещи не
> понимаете:)

Ну, главное-то я понял:

> Ну, как говорится, дальше пошла Бредятина...

Ну покрасуйтесь, покрасуйтесь:) Это нормально (для определенного круга людей), когда существо вопроса непонятно:)
...
Рейтинг: 0 / 0
Так ли необходим уникальный ключ в зависимой таблице.
    #37927121
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
On 08/22/2012 10:17 PM, Бредятина wrote:

> Ну покрасуйтесь, покрасуйтесь:) Это нормально (для определенного круга людей),
> когда существо вопроса непонятно:)

Тролюга ты жирный! Прям не налюбоваться!
Не, не дождёшся!
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Так ли необходим уникальный ключ в зависимой таблице.
    #37927334
zeon11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakovzeon11Как тогда будете ссылаться, SELECT'том через два поля?
А что, у какой-то СУБД с этим есть проблемы?..


Проблем-то как раз и нет, просто я всегда считал, что запрос вида

Код: sql
1.
2.
select * from tableA a, TableB b where a.IDtableA=b.IDtableA
      and 1=1



всяко лучше, чем запрос вида

Код: sql
1.
2.
3.
select * from tableA a, TableB b where a.horseradish=b.horseradish
  and a.radish=b.radish
      and 1=1


хотя-бы с эстетической точки зрения.

P.S.
Все приведённые в этом сообщении SQL-запросы вымышленные, всякое совпадение с реальными SQL-запросами случайное, поэтому то, что не использовал в примере "inner join ..." прошу в укор мне не ставить
:-)
...
Рейтинг: 0 / 0
Так ли необходим уникальный ключ в зависимой таблице.
    #37927759
Бредятина
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivOn 08/22/2012 10:17 PM, Бредятина wrote:

> Ну покрасуйтесь, покрасуйтесь:) Это нормально (для определенного круга людей),
> когда существо вопроса непонятно:)

Тролюга ты жирный! Прям не налюбоваться!
Не, не дождёшся!

Опять ошибаетесь. Почитайте внимательнее про ключи, у них совсем другая функция:)
...
Рейтинг: 0 / 0
Так ли необходим уникальный ключ в зависимой таблице.
    #37927848
AnaceH
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
zeon11,

С эстетической точки зрения, зачем в обоих запросах 1=1?
...
Рейтинг: 0 / 0
Так ли необходим уникальный ключ в зависимой таблице.
    #37928800
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
аффторСуществуют ли доводы за то что бы использовать уникальный ключ в зависимой таблице и так ли он необходим?
Правило "уникальность по двум полям" в данном случае относится к бизнес-логике. Бизнес-логика - может поменяться в любой момент, и дизайн системы должен обеспечить лёгкость изменений.

Пока операция "найди строку зависимой таблицы по ключу" отсутствует или нетипична, дополнительный суррогатный ключ в общем не нужен. Как только необходимость в этой операции назревает (а судя по названию ORDERS, она стопроцентно будет) - каждый день отсутствия ключа будет плодить код, который потом с муками и скрежетом придётся переписывать.
...
Рейтинг: 0 / 0
Так ли необходим уникальный ключ в зависимой таблице.
    #37928843
zeon11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AnaceHzeon11,

С эстетической точки зрения, зачем в обоих запросах 1=1?

Ну, во первых, выборка вида

Код: sql
1.
select * from TableA a

без
Код: sql
1.
where



сама по себе моветон, поскольку при проектировании БД всегда надо рассчитывать на то, что в таблице может оказаться несколько миллионов записей, и такая выборка подразумевает, что на клиента вы собираетесь "тянуть" всё это многомиллионное барахло.
Поэтому, когда в запрос я добавляю строчку
Код: sql
1.
where 1=1

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

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

первый путь практикуют "разработчики" пришедшие в БД из таблиц EXCEL'я - вытянуть всё барахло клиенту на компьютер, а потом там, уже на клиенте, всё отфильтровать. Этот путь хорош когда в таблицах несколько тысяч записей, тогда всё шуршит и летает. А когда в таблицах накапливается несколько десятков тысяч записей, то начинаются разговоры, типа СУБД "??????" - говно, железо на сервере - говно, надо всё менять!

есть и второй путь, как мне кажется, более перспективный, основная идея которого заключается в следующей сентенции: "возьми только то, что тебе действительно нужно"
Вот в этой парадигме и нужна конструкция вида
Код: sql
1.
where 1=1


если мне нужны данные, например за сегодня, то я просто в конец к тексту запроса добавляю строчку
Код: sql
1.
and a.WorkDate='NOW'

. Иными словами, эта конструкция позволяет легко "поднять" выборку данных с сервера по множеству параметров.
...
Рейтинг: 0 / 0
Так ли необходим уникальный ключ в зависимой таблице.
    #37928846
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Явление кэпа народу.

Можно было ограничиться вот этим:
zeon11если мне нужны данные, например за сегодня, то я просто в конец к тексту запроса добавляю строчку
Код: sql
1.
and a.WorkDate='NOW'


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


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