Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Споры о первичном ключе
|
|||
|---|---|---|---|
|
#18+
> ...и таким образом, атомарны относительно определенного генератора, > определенных сущностей и определенных систем, в которых эти сущности > используются. Абсолютно верно. Вместе с тем мы можем (не всегда, но очень часто) описать границы применимости этих идентификаторов. Ничто не мешает использовать несколько генераторов, которые удовлетворяли бы нас с точки зрения полноты описания предметной области. ;) > Из этого никак не следует, что номер паспорта останется атомарным в любой > предметной области. Абсолютно верно. Для баз данных грантора это условие не выполняется. Я специально об этом упоминал. Консенсус? ;)) На самом деле такой подход позволяет формализовать описание достаточно большой группы часто встречающихся атрибутов. А другой задачи я, в общем, себе и не ставил. ;) Хотя некоторые формальные следствия могут показаться интересными. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.04.2005, 14:05 |
|
||
|
Споры о первичном ключе
|
|||
|---|---|---|---|
|
#18+
9я к тому, что сейчас 80 Гиг стоит примерно 80$. т.е 1Гиг стоит 1 доллар! Сегодня разговоры о экономии места потеряли свою прежнюю актуальность. Полный бред. Возьми спроектируй и прохрани таблицу в 100-200 млн записей - тогда посмотрим, как ты изменишь свое мнение. Когда 1 byte * 10**8 ~= 100 Mbyte ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.04.2005, 14:11 |
|
||
|
Споры о первичном ключе
|
|||
|---|---|---|---|
|
#18+
guest_20040621Все временные характеристики реально будут иметь одинаковый тип timestamp. Вы можете задать precision для типа - и только.Во первых, сколько precision на задавай, СУБД индекс по части атрибута строить не умеет. То есть если важна производительность массированных выборок, включающих условия на частях даты (скажем, год или месяц), никакой precision тут не поможет. Это первое. Второе. К примеру, MS SQL Server 2000 precision для DATETIME (его аналог timestamp) не поддерживает. Я перерыл BOL, но такого не нашел (если неправ, пусть меня поправят). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.04.2005, 14:37 |
|
||
|
Споры о первичном ключе
|
|||
|---|---|---|---|
|
#18+
> сколько precision на задавай, СУБД индекс по части атрибута строить не умеет. Мы не рассматриваем практические аспекты выбора формата хранения атрибутов. > MS SQL Server 2000 precision для DATETIME (его аналог timestamp) не > поддерживает. Насколько я знаю, ни одна из СУБД не поддерживает. ;) Поправьте, если ошибаюсь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.04.2005, 15:55 |
|
||
|
Споры о первичном ключе
|
|||
|---|---|---|---|
|
#18+
mirВо первых, сколько precision на задавай, СУБД индекс по части атрибута строить не умеет. Ну это, кстати, не слишком-то верно. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.04.2005, 17:56 |
|
||
|
Споры о первичном ключе
|
|||
|---|---|---|---|
|
#18+
2 softwarer Браво!.. Еще давайте вспомним об INDEX_EXTENSION а еще вспомним номера телефонов, КЛАДР, ОКПО... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.04.2005, 18:45 |
|
||
|
Споры о первичном ключе
|
|||
|---|---|---|---|
|
#18+
gardenman2 softwarer Браво!.. Еще давайте вспомним об INDEX_EXTENSION Я в данном случае просто нагло придираюсь. Безусловно, мелочь, но не люблю неверных утверждений. Хотя идея индексировать телефоны по первым трем цифрам, безусловно, не слишком продуктивна. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.04.2005, 18:48 |
|
||
|
Споры о первичном ключе
|
|||
|---|---|---|---|
|
#18+
Клон Interbase, Yaffil умеет строить индексы по выражениям, в стиле клиппера ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.04.2005, 18:50 |
|
||
|
Споры о первичном ключе
|
|||
|---|---|---|---|
|
#18+
Если ключ есть результат вычисления некоторого выражения(необязательно только на базе значений полей из таблиц), так как он будет смотреться в плане атомарности? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2005, 02:39 |
|
||
|
Споры о первичном ключе
|
|||
|---|---|---|---|
|
#18+
Этот вопрос дерзну адресовать строгому господину guest_20040621 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2005, 02:46 |
|
||
|
Споры о первичном ключе
|
|||
|---|---|---|---|
|
#18+
softwarer mirВо первых, сколько precision на задавай, СУБД индекс по части атрибута строить не умеет. Ну это, кстати, не слишком-то верно. (...) Уважаемый, вот вам выдержка из BOL (T-SQL): Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. Вы говорите "не люблю неверных утверждений." Слишком смелое заявление. Если уж взялись меня поправлять, надо было указать, что некоторые СУБД умеют (как частный случай), а некоторые не умеют. Кстати, насколько я знаю, в стандарте SQL-92 ничего не говорится об индексах и о том, как их создавать. Тем не менее можно смело утверждать, что подавляющее большинство СУБД поддерживает индексы на столбцах и лишь некоторые - на выражениях. (Кстати, я в курсе о возможности создания в MSSQL вычислимого столбца, можно об этом не поминать). То есть мое утверждение все же более "общее", чем ваше. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2005, 09:14 |
|
||
|
Споры о первичном ключе
|
|||
|---|---|---|---|
|
#18+
guest_20040621> сколько precision на задавай, СУБД индекс по части атрибута строить не умеет. Мы не рассматриваем практические аспекты выбора формата хранения атрибутов. > MS SQL Server 2000 precision для DATETIME (его аналог timestamp) не > поддерживает. Насколько я знаю, ни одна из СУБД не поддерживает. ;) Поправьте, если ошибаюсь. То есть все ваши рассуждения по указанному вопросу можно смело дезавуировать. Вот и чудненько. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2005, 09:16 |
|
||
|
Споры о первичном ключе
|
|||
|---|---|---|---|
|
#18+
mirУважаемый, вот вам выдержка из BOL (T-SQL): Хм. А не секрет, сколько страниц назад в этом топике последний раз упоминалось что-то, связанное с BOL? Как минимум две трети топика идет.. сугубо теоретический разговор. Впрочем, Вы меня чуть удивили. Я полагал, что MSSQL умеет индексировать вычисляемые поля (что, согласитесь, есть ухудшенный вариант индексирования по выражению). mirКак видим, никакого индекса по выражению на столбце В MS SQL Server 2000 нет. Значит, будет :) Аналитические функции, если не ошибаюсь, туда уже добавляют. mirТем не менее можно смело утверждать, что подавляющее большинство СУБД поддерживает индексы на столбцах и лишь некоторые - на выражениях. Я бы сказал иначе - в некоторых СУБД такая операция доступна непосредственно, а в некоторых придется извращаться. mir(Кстати, я в курсе о возможности создания в MSSQL вычислимого столбца, можно об этом не поминать). Хм. То есть видимо таки умеет их индексировать? mirТо есть мое утверждение все же более "общее", чем ваше. Безусловно. Вы сказали весьма обще: "СУБД не умеет" (обратите внимание - СУБД, а не MSSQL). Я сказал "не так уж и верно" и привел частный пример того, когда Ваше утверждение ложно. Безусловно, Ваше утверждение более обще. Но мое пока что представляется мне более верным. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2005, 09:33 |
|
||
|
Споры о первичном ключе
|
|||
|---|---|---|---|
|
#18+
> То есть все ваши рассуждения по указанному вопросу можно смело > дезавуировать. Вот и чудненько. Откуда это следует, позвольте поинтересоваться? АСУ ТП навеяло? ;) ТАвАриСТЧ mir, я не услышал от Вас вообще ни одного аргумента. Видимо, иногда (как в данном случае) опыт _личного участия_ играет отрицательную роль. ;)) Спасибо за Ваши ответы. На будущее: если утверждаете что-то, будьте готовы это аргументировать. ;)) Hint: знание SQL или конкретной СУБД отнюдь не эквивалентно навыкам проектирования. ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2005, 10:53 |
|
||
|
Споры о первичном ключе
|
|||
|---|---|---|---|
|
#18+
guest_20040621> То есть все ваши рассуждения по указанному вопросу можно смело > дезавуировать. Вот и чудненько. Откуда это следует, позвольте поинтересоваться? Ну, напомню, что чисто теоретический аспект я вам разложил по полкам уже давно. Возражений не было. Как перешли к примерам (т.е. практическому аспекту), вы сказали, что таковые вы не рассматриваете. А все ваши высокомудрые рассуждения о precision для datetime вообще, оказывается, оторваны от реалий. Вот и выходит, что толку с ваших постов, как с козла молока :). Чему ж удивляетесь? guest_20040621АСУ ТП навеяло?А это вы о чем? С каким-то маниакальным упорством их поминаете. Видимо, вам чудится, что это как-то ко мне относится или как-то меня уязвляет... В молоко, внимательный вы наш (для вас это характерно), я АСУ ТП как таковыми вообще не занимаюсь. Или вам нравится в открытую дверь ломиться? :) guest_20040621я не услышал от Вас вообще ни одного аргумента.Старая песня... guest_20040621На будущее: если утверждаете что-то, будьте готовы это аргументировать. ;))Хорошо бы вы это поняли когда-либо. К сожалению, до столь же последовательной и развернутой аргументации как у меня вам еще расти и расти. Поэтому вы и «спорите» фразами типа «Тогда это просто ошибочная точка зрения» (ноль обоснований), «Вы делаете распространенную ошибку» (ноль обоснований), «Снова бесполезный пример» (ноль обоснований) и пр. А когда речь зашла о настоящих аргументах, у вас «нет времени описывать всю последовательность рассуждений. Это долго и нудно». Оно и понятно, голословно заявить, что оппонент неправ, легко, а вот обосновать свою позицию — это долго и нудно. Просто удивительно, как вы приписываете другим свои собственные «грехи»: поверхностные знания и неумение аргументировать. guest_20040621Hint: знание SQL или конкретной СУБД отнюдь не эквивалентно навыкам проектирования. ;) Рад, что вы начинаете это понимать. P.S. Вроде только-только перешли от "уколов" в конструктивное русло... Видно, что-то вам неймется. Неужто не устали получать от меня конкретные "плюхи"? Вы что, батенька, мазохист? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2005, 12:35 |
|
||
|
Споры о первичном ключе
|
|||
|---|---|---|---|
|
#18+
2 softwarer В общем-то, со всем, что в сказали, я согласен. Одна поправка: softwarer Я полагал, что MSSQL умеет индексировать вычисляемые поля (что, согласитесь, есть ухудшенный вариант индексирования по выражению).Так-то оно так, но поскольку придется создать дополнительно поле ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2005, 12:39 |
|
||
|
Споры о первичном ключе
|
|||
|---|---|---|---|
|
#18+
(косяк вышел с отправкой, продолжаю) Так-то оно так, но поскольку придется создать дополнительно поле, атомарность-то и меняется. То есть формально будет несколько полей, а не одно поле. Что и требовалось доказать (в споре об атомарности). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2005, 12:41 |
|
||
|
Споры о первичном ключе
|
|||
|---|---|---|---|
|
#18+
mirТак-то оно так, но поскольку придется создать дополнительно поле, атомарность-то и меняется. То есть формально будет несколько полей, а не одно поле. Что и требовалось доказать (в споре об атомарности). Я не сторонник сугубо формальных тонкостей. С точки зрения проектирования, модели данных, между хранимыми вычисляемыми полями и нехранимыми (например, вычисляемыми во view) нет никакой разницы. А фундаментальные вещи (aka "атомарность") не могут зависеть от прикладных вопросов физической реализации. Практически - у Oracle есть одна фича, которую можно использовать для индексирования "части значения", у MSSQL - другая. У MySQL - может что и не удастся. Но сама по себе задача "индексирования части значения" - физическая; возможность и реализация такого индексирования в той или иной БД никак не влияет на атомарность того или иного атрибута в конкретной модели данных. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2005, 12:58 |
|
||
|
Споры о первичном ключе
|
|||
|---|---|---|---|
|
#18+
> Ну, напомню, что чисто теоретический аспект я вам разложил по полкам уже > давно. Не припоминаю. Ахинеи - да, было написано достаточно. За аргументы она не прокатила. ;)) > Возражений не было. Возражения как были, так и остались. Более того, в приведенном Вами примере Вы умудрились сделать ошибку. Браво, тАвАриСТЧ. ;)) На месте Вашего работодателя я бы задумался о Вашей квалификации. > Как перешли к примерам (т.е. практическому аспекту), вы сказали, что > таковые вы не рассматриваете. Дружище, мне интересны примеры по теме, а не примеры вообще. Разберитесь сначала с арифметикой, а потом, если получится, рассуждайте об алгебре. ;)) > А все ваши высокомудрые рассуждения о precision для datetime вообще, > оказывается, оторваны от реалий. Ага. Они абсолютно оторваны от любимого Вами мелкомягкого хм... ну, Вы поняли. Видимо, Вы полагаете, что BOL - это монопольное изложение истины, а M$ SQL - эталонная СУБД. Напрасно. ;)) > Вот и выходит, что толку с ваших постов, как с козла молока :). Дружище, думаю, что для Вас они действительно бесполезны. ;)) > P.S. Вроде только-только перешли от "уколов" в конструктивное русло... Видно, > что-то вам неймется. Неужто не устали получать от меня конкретные "плюхи"? ;))) Бугага, как принято нынче говорить. Насмешили. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2005, 13:30 |
|
||
|
Споры о первичном ключе
|
|||
|---|---|---|---|
|
#18+
softwarerА фундаментальные вещи (aka "атомарность") не могут зависеть от прикладных вопросов физической реализации.А вот здесь я бы не согласился. С одной стороны есть реальный мир, в котором весьма мало «абсолютного», и все довольно относительно. Атомарность ему вообще-то не присуща (я об этом ранее говорил). На другом «полюсе» — конкретная база данных, спроектированная под конкретную задачу. Задача проектирования (в конечном итоге) состоит в отображении реального мира на его модель — БД (еще правильнее сказать на информационную систему, но это опустим). При таком отображении приходится учитывать все ограничения, какие есть: от потребностей заказчика в обработке данных до плюсов и минусов конкретной СУБД. В этих условия некоторая характеристика может быть представлена как атомарным атрибутом, так и набором атомарных атрибутов. Тот же «адрес» для одной задачи всего лишь строка с каким-то там текстом, а для другой — целая «ботва» из номера квартиры, номера дома/корпуса, названия улицы/проспекта/площади/тупика/переулка, названия населенного пункта, страны и все это со ссылками на кучи справочников. Данный пример, бес сомнения, указывает на особенности задачи, но не СУБД. В то же время (вернемся к примеру с датой/временем), если, скажем, выбранная СУБД не позволяет эффективно работать с частями даты/времени, то можно или сменить СУБД (тоже вариант), либо, если это неприемлемо, изощряться по иному. Тут уже скорее учет ограничений СУБД. Согласитесь, трудно проектировать серьезную БД, совсем не учитывая специфику СУБД. То есть можно, но заплатишь чем-то иным, непременно. К сожалению, СУБД весьма отличаются друг от друга, это факт. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2005, 14:47 |
|
||
|
Споры о первичном ключе
|
|||
|---|---|---|---|
|
#18+
mir......При таком отображении приходится учитывать все ограничения, какие есть: от потребностей заказчика в обработке данных до плюсов и минусов конкретной СУБД..... Именно поэтому в проектировании идет разделение на "логическую" и "физическую" модели. Допустим, в логической модели присутствует сущность "активные клиенты". В физической модели она может быть представлена вьюхой. В физической модели для другой БД - хранимой процедурой. А потом в целях эффективности - переделана на хранимый объект (таблицу, материализованную вьюху). Логическая модель при всех этих манипуляциях - остается неизменной. Именно эту разницу я подчеркивал, хотя возможно не выразил достаточно четко. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.04.2005, 17:13 |
|
||
|
Споры о первичном ключе
|
|||
|---|---|---|---|
|
#18+
gardenmanНо странное дело большинство систем построено по стандартной схеме, когда атрибуты ФИО b id клиента лежат в одной таблице. В одном из довольно старых проектов для довольно большой организации мы пришли к тому, что сущность Человек не имеет иных атрибутов кроме суррогатного ИД. Все остальное - в ИсторииЧеловека (ИД, дата -> ФИО и др. на эту дату). Возможно это крайность, но не бессмыслица. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2005, 16:46 |
|
||
|
Споры о первичном ключе
|
|||
|---|---|---|---|
|
#18+
Допустим пол может быть реально изменен в один прекрасный день. А дата рождения тоже изменялась и их хранилось несколько на некоторых индивидуумов? -- Regards Alexander Artamonov "ModelR" <nospam@sql.ru> сообщил/сообщила в новостях следующее: news:1513937@sql.ru... gardenman Но странное дело большинство систем построено по стандартной схеме, когда атрибуты ФИО b id клиента лежат в одной таблице. В одном из довольно старых проектов для довольно большой организации мы пришли к тому, что сущность Человек не имеет иных атрибутов кроме суррогатного ИД. Все остальное - в ИсторииЧеловека (ИД, дата -> ФИО и др. на эту дату). Возможно это крайность, но не бессмыслица. Тема Ответить Posted via ActualForum NNTP Server 1.1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2005, 19:07 |
|
||
|
Споры о первичном ключе
|
|||
|---|---|---|---|
|
#18+
ModelRВ одном из довольно старых проектов для довольно большой организации мы пришли к тому, что сущность Человек не имеет иных атрибутов кроме суррогатного ИД. Для этого вывода нужна весьма специфичная задача. Поскольку, с одной стороны, "в общем случае" эта сущность таки обладает рядом общих атрибутов - скажем, родители, дата и место рождения, номер регистрационной записи; с другой стороны, в конкретных задачах как правило не требуется история по многим атрибутам (каким именно - зависит от задачи). Задачу, где все необходимые атрибуты неатомарны, придумать наверное можно - но сходу затруднюсь назвать хоть что-нибудь близкое. Я наиболее близко подошел к такой структуре в проекте для страховой компании. Поскольку у человека может поменяться практически все, там были сделаны сущности "Человек" и "Текущие данные человека". Но и там нашлось то, что дублировать не стали. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2005, 19:15 |
|
||
|
Споры о первичном ключе
|
|||
|---|---|---|---|
|
#18+
> В одном из довольно старых проектов для довольно большой организации мы > пришли к тому, что сущность Человек не имеет иных атрибутов кроме > суррогатного ИД. Все остальное - в ИсторииЧеловека (ИД, дата -> ФИО и др. на > эту дату). Возможно это крайность, но не бессмыслица. Порадовали [без подвоха]. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2005, 19:43 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=33031509&tid=1545898]: |
0ms |
get settings: |
8ms |
get forum list: |
20ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
137ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
84ms |
get tp. blocked users: |
1ms |
| others: | 232ms |
| total: | 504ms |

| 0 / 0 |
