|
|
|
Помогите понят проектирование ключей по Джо Селко
|
|||
|---|---|---|---|
|
#18+
Читаю книгу Джо Селко "Стиль программирования на SQL" и там говориться про уникальность ключей в таблицах и что он тех кто реализует с помощью идентити называет идиотами. Там описывается что типа ключем должен быть не инкремент а само значение представляющее из себя уникальность. С этим я с ним согласен но как спроектировать тогда связи например(пока без ИД): Имеем таблицу Словарь в которой есть поле Значение (тоесть само название словаря) по идее ключ нужно строить по полю значение так как оно и есть олицетворение ключа(уникально--> ну по идее зачем иметь два одинаково называющихся словаря). Затем создаем таблицу ЗначенияСловаря в которой есть столбцы: СсылкаНаСловарь, Значение по идее ключ должен быть составным и захватывать два столбца так как уникальность значения дает словарь родитель и значение его записи(зачем иметь в одном словаре два повторяющихся значения). Но вот как потом на значение из таблицы айтимов словаря дать ссылку из третьей какой нить таблицы + опять же поля текстовый что может привести к индексам большого размера ну и т.д Кто в курсе правильности понимания организации такой структуры поделитесь опытом ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2007, 22:17 |
|
||
|
Помогите понят проектирование ключей по Джо Селко
|
|||
|---|---|---|---|
|
#18+
sashenkaЧитаю книгу Джо Селко "Стиль программирования на SQL" Выбросьте. Ну а если хотите, сделайте поиск по сайту - этот аспект этой книги обсуждался, и довольно подробно. sashenkaИмеем таблицу Словарь в которой есть поле Значение (тоесть само название словаря) по идее ключ нужно строить по полю значение так как оно и есть олицетворение ключа(уникально--> ну по идее зачем иметь два одинаково называющихся словаря). Затем, что придется иметь их по жизни. Будет словарь Мюллера 2-го издания и будет словарь Мюллера 3-го издания. Будет словарь Мюллера в полноформатном (грубо говоря, A4) и обычном (грубо говоря, A5) вариантах. Будет словарь Мюллера издательства Аз и словарь Мюллера издательства Бука. И даже в самом издательстве Бука будет словарь Мюллера в красной обложке и словарь Мюллера в коричневой обложке. sashenkaНо вот как потом на значение из таблицы айтимов словаря дать ссылку из третьей какой нить таблицы Все правильно. Я видел БД, где таким образом дошли до ключей из не то двенадцати, не то пятнадцати полей. Маразм forever. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.08.2007, 01:03 |
|
||
|
Помогите понят проектирование ключей по Джо Селко
|
|||
|---|---|---|---|
|
#18+
sashenka пишет: > Читаю книгу Джо Селко "Стиль программирования на SQL" > и там говориться про уникальность ключей в таблицах и что он тех кто > реализует с помощью идентити называет идиотами. И Целко туда же ? Ну ну... > Но вот как потом на значение из таблицы айтимов словаря дать ссылку из > третьей какой нить таблицы + опять же поля текстовый что может привести > к индексам большого размера ну и т.д Ну будет ссылка по составному ключу. Ничего страшного нет. Или что - очень длинные ключи получаются ? Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.08.2007, 01:16 |
|
||
|
Помогите понят проектирование ключей по Джо Селко
|
|||
|---|---|---|---|
|
#18+
sashenkaКто в курсе правильности понимания организации такой структуры поделитесь опытом Теоретики, блин. Понимайте следующим образом. Должен быть уникальный ключ, который определяется предметной областью. Например, в справочнике номенклатуры - ее код. Должен быть также идентификатор записи (не важно, честный identity или sequence или еще как - зависит от реализации и здесь не принципиально, важно, чтобы он не менялся "слишком просто") для того, чтобы можно было как минимум просто ссылаться на таблицу по одному этому полю (в запросах, триггерах и т.п.). В 99% случаев эта логика работает безукоризненно и позволяет, как минимум, исправлять ошибки в значении ключевых полей и расширять их перечень без выполнения каскадных обновлений. А ссылаться на ЕК - практически всегда означает рыть себе или другим могилу, если можно заменить ссылку на него ссылкой на СК. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.08.2007, 09:36 |
|
||
|
Помогите понят проектирование ключей по Джо Селко
|
|||
|---|---|---|---|
|
#18+
Я не спорю что Селко что то не договаривает так как в книге под данным высказыванием я не увидел примера реализации ссылочной целостности по его принципу, но так как чел вроде аторитетный подумал что сам что то недопонял. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.08.2007, 09:43 |
|
||
|
Помогите понят проектирование ключей по Джо Селко
|
|||
|---|---|---|---|
|
#18+
sashenkaЯ не спорю что Селко что то не договаривает так как в книге под данным высказыванием я не увидел примера реализации ссылочной целостности по его принципу. Думаю что и не увидите. Или увидите что-то типа того, о чем говорил softwarer. Суть высказываний Celko на тему id-отов состоит в том, что программисты a) бездумно лепят identity, вместо того чтобы использовать "industry standarts" b) полагают, что с помощью identity они нумеруют строки, т.е. в таблицах появляются "первая строка", "вторая строка" и т.п. c) portability. Celko адепт программирования на чистом SQL, без использования специфики конкретной СУБД и надо признать, что умеет он это делать достаточно хорошо. соответственно пинают Celko за пункты а) и c) и продолжается это уже много-много лет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.08.2007, 11:48 |
|
||
|
Помогите понят проектирование ключей по Джо Селко
|
|||
|---|---|---|---|
|
#18+
не слышал про селко и не читал... но к подобным выводам не раз приходил... не хотел тратить время на развитие этих мыслей ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.08.2007, 11:58 |
|
||
|
Помогите понят проектирование ключей по Джо Селко
|
|||
|---|---|---|---|
|
#18+
softwarer sashenkaЧитаю книгу Джо Селко "Стиль программирования на SQL" Выбросьте. Ну а если хотите, сделайте поиск по сайту - этот аспект этой книги обсуждался, и довольно подробно. На счёт аспектов, Вы про это? http://www.sql.ru/forum/actualthread.aspx?tid=374405 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.08.2007, 14:02 |
|
||
|
Помогите понят проектирование ключей по Джо Селко
|
|||
|---|---|---|---|
|
#18+
Александр Гладченко (не глядя) Да, про это :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.08.2007, 14:35 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=34701365&tid=1544372]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
192ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
49ms |
get tp. blocked users: |
1ms |
| others: | 239ms |
| total: | 524ms |

| 0 / 0 |
