Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Помогите понят проектирование ключей по Джо Селко / 10 сообщений из 10, страница 1 из 1
01.08.2007, 22:17
    #34699663
sashenka
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите понят проектирование ключей по Джо Селко
Читаю книгу Джо Селко "Стиль программирования на SQL"
и там говориться про уникальность ключей в таблицах и что он тех кто реализует с помощью идентити называет идиотами.
Там описывается что типа ключем должен быть не инкремент а само значение представляющее из себя уникальность. С этим я с ним согласен но как спроектировать тогда связи
например(пока без ИД):
Имеем таблицу Словарь в которой есть поле Значение (тоесть само название словаря)
по идее ключ нужно строить по полю значение так как оно и есть олицетворение ключа(уникально--> ну по идее зачем иметь два одинаково называющихся словаря).
Затем создаем таблицу ЗначенияСловаря в которой есть столбцы: СсылкаНаСловарь, Значение
по идее ключ должен быть составным и захватывать два столбца так как уникальность значения дает словарь родитель и значение его записи(зачем иметь в одном словаре два повторяющихся значения).
Но вот как потом на значение из таблицы айтимов словаря дать ссылку из третьей какой нить таблицы + опять же поля текстовый что может привести к индексам большого размера ну и т.д
Кто в курсе правильности понимания организации такой структуры поделитесь опытом
...
Рейтинг: 0 / 0
02.08.2007, 01:03
    #34699834
softwarer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите понят проектирование ключей по Джо Селко
sashenkaЧитаю книгу Джо Селко "Стиль программирования на SQL"
Выбросьте. Ну а если хотите, сделайте поиск по сайту - этот аспект этой книги обсуждался, и довольно подробно.

sashenkaИмеем таблицу Словарь в которой есть поле Значение (тоесть само название словаря)
по идее ключ нужно строить по полю значение так как оно и есть олицетворение ключа(уникально--> ну по идее зачем иметь два одинаково называющихся словаря).
Затем, что придется иметь их по жизни. Будет словарь Мюллера 2-го издания и будет словарь Мюллера 3-го издания. Будет словарь Мюллера в полноформатном (грубо говоря, A4) и обычном (грубо говоря, A5) вариантах. Будет словарь Мюллера издательства Аз и словарь Мюллера издательства Бука. И даже в самом издательстве Бука будет словарь Мюллера в красной обложке и словарь Мюллера в коричневой обложке.

sashenkaНо вот как потом на значение из таблицы айтимов словаря дать ссылку из третьей какой нить таблицы
Все правильно. Я видел БД, где таким образом дошли до ключей из не то двенадцати, не то пятнадцати полей. Маразм forever.
...
Рейтинг: 0 / 0
02.08.2007, 01:16
    #34699839
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите понят проектирование ключей по Джо Селко
sashenka пишет:
> Читаю книгу Джо Селко "Стиль программирования на SQL"
> и там говориться про уникальность ключей в таблицах и что он тех кто
> реализует с помощью идентити называет идиотами.

И Целко туда же ? Ну ну...

> Но вот как потом на значение из таблицы айтимов словаря дать ссылку из
> третьей какой нить таблицы + опять же поля текстовый что может привести
> к индексам большого размера ну и т.д

Ну будет ссылка по составному ключу. Ничего страшного нет.
Или что - очень длинные ключи получаются ?
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
02.08.2007, 09:36
    #34700058
Сергей Васкецов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите понят проектирование ключей по Джо Селко
sashenkaКто в курсе правильности понимания организации такой структуры поделитесь опытом
Теоретики, блин. Понимайте следующим образом. Должен быть уникальный ключ, который определяется предметной областью. Например, в справочнике номенклатуры - ее код. Должен быть также идентификатор записи (не важно, честный identity или sequence или еще как - зависит от реализации и здесь не принципиально, важно, чтобы он не менялся "слишком просто") для того, чтобы можно было как минимум просто ссылаться на таблицу по одному этому полю (в запросах, триггерах и т.п.). В 99% случаев эта логика работает безукоризненно и позволяет, как минимум, исправлять ошибки в значении ключевых полей и расширять их перечень без выполнения каскадных обновлений. А ссылаться на ЕК - практически всегда означает рыть себе или другим могилу, если можно заменить ссылку на него ссылкой на СК.
...
Рейтинг: 0 / 0
02.08.2007, 09:43
    #34700085
sashenka
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите понят проектирование ключей по Джо Селко
Я не спорю что Селко что то не договаривает так как в книге под данным высказыванием я не увидел примера реализации ссылочной целостности по его принципу, но так как чел вроде аторитетный подумал что сам что то недопонял.
...
Рейтинг: 0 / 0
02.08.2007, 11:48
    #34700622
Alexey Kudinov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите понят проектирование ключей по Джо Селко
sashenkaЯ не спорю что Селко что то не договаривает так как в книге под данным высказыванием я не увидел примера реализации ссылочной целостности по его принципу. Думаю что и не увидите. Или увидите что-то типа того, о чем говорил softwarer.

Суть высказываний Celko на тему id-отов состоит в том, что программисты
a) бездумно лепят identity, вместо того чтобы использовать "industry standarts"
b) полагают, что с помощью identity они нумеруют строки, т.е. в таблицах появляются "первая строка", "вторая строка" и т.п.
c) portability. Celko адепт программирования на чистом SQL, без использования специфики конкретной СУБД и надо признать, что умеет он это делать достаточно хорошо.

соответственно пинают Celko за пункты а) и c) и продолжается это уже много-много лет.
...
Рейтинг: 0 / 0
02.08.2007, 11:58
    #34700675
johndes
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите понят проектирование ключей по Джо Селко
не слышал про селко и не читал... но к подобным выводам не раз приходил... не хотел тратить время на развитие этих мыслей
...
Рейтинг: 0 / 0
02.08.2007, 14:02
    #34701233
Александр Гладченко
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите понят проектирование ключей по Джо Селко
softwarer sashenkaЧитаю книгу Джо Селко "Стиль программирования на SQL"
Выбросьте. Ну а если хотите, сделайте поиск по сайту - этот аспект этой книги обсуждался, и довольно подробно.


На счёт аспектов, Вы про это? http://www.sql.ru/forum/actualthread.aspx?tid=374405
...
Рейтинг: 0 / 0
02.08.2007, 14:35
    #34701365
softwarer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите понят проектирование ключей по Джо Селко
Александр Гладченко
(не глядя) Да, про это :)
...
Рейтинг: 0 / 0
02.08.2007, 18:17
    #34702372
ModelR
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите понят проектирование ключей по Джо Селко
Это экстремисткое высказывание Селко полезно обдумать.
Модельный пример:
"В некотором царстве, некотором государстве жил-был царь".
...
Рейтинг: 0 / 0
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Помогите понят проектирование ключей по Джо Селко / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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