powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / связка PK + UK
25 сообщений из 140, страница 2 из 6
связка PK + UK
    #38223962
Кот Матроскин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miksoftНасколько я помню, гарантированно уникального естественного ключа так и не нашлось. Т.е. его нарушение - это только вопрос времени.
"гарантированно уникального естественного ключа" не нашлось для чего ? Для какой сущности? Ни для какой? :)
...
Рейтинг: 0 / 0
связка PK + UK
    #38223970
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кот МатроскинmiksoftНасколько я помню, гарантированно уникального естественного ключа так и не нашлось. Т.е. его нарушение - это только вопрос времени.
"гарантированно уникального естественного ключа" не нашлось для чего ? Для какой сущности? Ни для какой? :)Речь шла о сущностях, встречающихся в практике хозяйственного учета чего-либо, т.е. товары, люди, предметы, документы и т.п.
...
Рейтинг: 0 / 0
связка PK + UK
    #38223982
Кот Матроскин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miksoft,

Курс валюты, например - это "сущность, встречающаясся в практике хозяйственного учета чего-либо"?
...
Рейтинг: 0 / 0
связка PK + UK
    #38224009
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кот Матроскинmiksoft,

Курс валюты, например - это "сущность, встречающаясся в практике хозяйственного учета чего-либо"?А что, из курса валюты кто-то пытался сделать ключ ???
...
Рейтинг: 0 / 0
связка PK + UK
    #38224018
Кот Матроскин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miksoftКот Матроскинmiksoft,

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

Курс валюты - это сущность . У нее может/должен быть ключ. Вы считаете, что выявить уникальный "естественный" ключ для нее невозможно?
...
Рейтинг: 0 / 0
связка PK + UK
    #38224023
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> Курс валюты - это сущность

Нет, конечно. Сущность - валюта. Типичный пример для таймсерий.

Никогда не задумывались о том, какие бывают курсы и для каких целей они нужны?
...
Рейтинг: 0 / 0
связка PK + UK
    #38224026
Кот Матроскин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
guest_20040621,

Курс валюты - это сущность ;) Причем более сложная, чем (Валюта, Дата).
И какое отношение "таймсерии"(с) имеют к возможности/невозможности ествественного ключа?
...
Рейтинг: 0 / 0
связка PK + UK
    #38224039
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> Курс валюты - это сущность

Вы заблуждаетесь. Долго рассказывать. Просто поверьте.
...
Рейтинг: 0 / 0
связка PK + UK
    #38224076
Бредятина
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Павел Евгеньевичздравствуй, уважаемое сообщество. Проектирую первую свою базу данных, читаю много разных книжек вдоль и поперек, но они не дают ответы на практические вопросы, а может я их не вижу).
Здесь нужна точность. Вы проектируете свою первую реляционную базу данных . Именно поэтому Вы и сталкиваетесь с определенными проблемами.
Павел ЕвгеньевичВ каждой таблице я использую суррогатный PK и уникальный UK, например PK - это ID записи в таблице, этот столбец участвует в в ссылочной целостности, а UK - это уникальный номер документа (в ссылочной целостности не участвует).
В объектно-ориентированных БД, в отличие от записе-ориентированных (к которым относится реляционная БД), Вам не нужно было бы "использовать суррогатный PK". Потому что, идентификатор сущности в таких системах поддерживается автоматически и находится вне свойств сущности, то есть, не нужно объявлять такое "поле" в "таблице", выражаясь языком реляционных систем.
13254920
И этот идентификатор, конечно же, используется в связях. Причем связи в объектно-ориентированных системах моделируются явно (именно как связи), а не с помощью то "таблиц", то "ключей"
13840069
13545785
Павел ЕвгеньевичИ так в каждой таблице, ну пока что кроме развязок M:M. Правильно ли я поступаю, применяя везде связку PK+UK, или у меня паранойя?
Могут ли у сущностей быть уникальные свойства. Видимо, да. Никаких проблем в этом нет....
Что такое "Курс валюты"?)) М2 дает теоретический ответ на этот вопрос
13577413
Дополнительно. Если сущность Валюта, а Курс валюты - не сущность, то сущность Человек, а Болезнь человека - не сущность. Вероятно, если речь идет, например, о наследственной хронической (неизлечимой) болезни, то ее можно рассматривать, как свойство Человека. Но суть, все-таки, заключается в обычном непонимании друг друга))
...
Рейтинг: 0 / 0
связка PK + UK
    #38224086
Павел Евгеньевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
спасибо всем за помощь ) интересно Вас почитать)
...
Рейтинг: 0 / 0
связка PK + UK
    #38224101
Фотография vadiminfo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Павел Евгеньевич Правильно ли я поступаю, применяя везде связку PK+UK, или у меня паранойя?
Ну, в принципе, это распространенная практика. Суррогат в основном для ссылочной целостности: чтобы избежать изменений значений атрибутов, участвующие в связи и связь по одой колонке . А UK для целостности отношения - чтобы е вводили одно и то же (один и тот же документ) многократно.
...
Рейтинг: 0 / 0
связка PK + UK
    #38224194
NickAlex66
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Павел ЕвгеньевичspПавел Евгеньевич,

PK вам в руки для связей, Unique (Index | Constraint) - для поддержания уникальности
Спасибо, а что лучше Unique index или unique constraint? (при каких условиях)

UI более гибок - можно использовать для пользовательских запросов слегка изменив, не в ущерб уникальности.
...
Рейтинг: 0 / 0
связка PK + UK
    #38224604
sp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivПавел Евгеньевичпропущено...
Да, это я понимаю. Тогда стоит ли вводить в таблицу развязок суррогатный PK?

Это стоит делать только если
связь является самостоятельнос сущностью

на связь будут ссылки из других таблиц.


добавлю еще пунктик
- если сущность будет создаваться/редактироваться в интерфейсе (безключевые или ключевые с множеством колонок сущности - тяжело в интерфейсе с ними работать :) )
...
Рейтинг: 0 / 0
связка PK + UK
    #38226282
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vadiminfoвнедряется все больше и больше идентификатров для электронных сущностей,
Пока что с ними возникают те же самые типовые проблемы естественных ключей - "не у всех есть", "иногда повторяются", "иногда ошибочно вводятся", "иногда меняются". Но если в некоем неопределённом будущем они и достигнут необходимого качества, они собственно будут уже "ну совсем не естественными" ключами.
...
Рейтинг: 0 / 0
связка PK + UK
    #38226657
Фотография vadiminfo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarerПока что с ними возникают те же самые типовые проблемы естественных ключей - "не у всех есть", "иногда повторяются",
Ну пока, возможно, возникает. Но это пока.

softwarer "иногда ошибочно вводятся", "иногда меняются".


Это, скорее всего проблема не ключей. Это ограничения компьютерной реализация. Но тоже, возможно, пока.

softwarerНо если в некоем неопределённом будущем они и достигнут необходимого качества, они собственно будут уже "ну совсем не естественными" ключами.
Суррогатными станут? Или какими?
...
Рейтинг: 0 / 0
связка PK + UK
    #38226773
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vadiminfosoftwarerНо если в некоем неопределённом будущем они и достигнут необходимого качества, они собственно будут уже "ну совсем не естественными" ключами.
Суррогатными станут? Или какими?
Да мне в общем пофиг, как их называть. "Если что-то выглядит как утка, плавает как утка и крякает как утка, то это утка" (ц). Можно будет называть суррогатными, можно будет придумать новый, более узкий термин, но факт в том, что эти ключи уже ни выглядеть, ни плавать, ни крякать как естественные не будут.
...
Рейтинг: 0 / 0
связка PK + UK
    #38226790
Фотография vadiminfo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarerДа мне в общем пофиг, как их называть. Можно будет называть суррогатными, можно будет придумать новый, более узкий термин, но факт в том, что эти ключи уже ни выглядеть, ни плавать, ни крякать как естественные не будут.
Ну если Вам "в общем пофиг", то может назвать как есть: "естественные ключи"? Ну пока не придумали что-то стоящее их заменить. А то не ровен час запутаемся в названиях. Тем более что проверить "факт в том, что эти ключи уже ни выглядеть, ни плавать, ни крякать как естественные не будут", пока нет возможности, в виду того, что он (этот факт) не наступил.
...
Рейтинг: 0 / 0
связка PK + UK
    #38226934
_мод
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vadiminfoНу пока не придумали что-то стоящее их заменить.
О как. А rowid чем не подходит ?
...
Рейтинг: 0 / 0
связка PK + UK
    #38226959
Бредятина
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_модvadiminfoНу пока не придумали что-то стоящее их заменить.
О как. А rowid чем не подходит ?
Снова и снова предлагаю модераторам переименовать форум в "Проектирование реляционных БД". Поскольку к "Проектированию БД" здесь не имеет отношения практически ни одна тема))
14175096
...
Рейтинг: 0 / 0
связка PK + UK
    #38227130
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
БредятинаСнова и снова предлагаю модераторам переименовать форум в "Проектирование реляционных БД".Учитывая степень распространённости тех и других, логичнее было бы выделить подфорум "Проектирование НЕреляционных БД" :)
...
Рейтинг: 0 / 0
связка PK + UK
    #38227138
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vadiminfoНу если Вам "в общем пофиг", то может назвать как есть: "естественные ключи"?
Не стоит. Это будет впрягание коня к трепетной лани - испортим разумный термин и ничего более.
...
Рейтинг: 0 / 0
связка PK + UK
    #38227164
_мод
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
БредятинаСнова и снова предлагаю модераторам переименовать форум в "Проектирование реляционных БД".
Принципы проектирования одинаковы
...
Рейтинг: 0 / 0
связка PK + UK
    #38227208
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
spMasterZivпропущено...


Это стоит делать только если
связь является самостоятельнос сущностью

на связь будут ссылки из других таблиц.


добавлю еще пунктик
- если сущность будет создаваться/редактироваться в интерфейсе (безключевые или ключевые с множеством колонок сущности - тяжело в интерфейсе с ними работать :) )


Да нет никаких проблем, если ты не дебил полный.
...
Рейтинг: 0 / 0
связка PK + UK
    #38227217
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tanglirБредятинаСнова и снова предлагаю модераторам переименовать форум в "Проектирование реляционных БД".Учитывая степень распространённости тех и других, логичнее было бы выделить подфорум "Проектирование НЕреляционных БД" :)

Лучше выделить отдельный топик "проектирование бредовых бд", где бредятина будет сама себе вопрошать и ответствовать.
...
Рейтинг: 0 / 0
связка PK + UK
    #38227227
Фотография vadiminfo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_модО как. А rowid чем не подходит ?
Не имеет преимуществ перед суррогатом в плане содержательности значений, но утрачивает достоинства оных в плане изменчивости. Причем в худьшем ее проявлении: по инициативе СУБД. Они указывают а физическое место хранение,которое может в принцип меняться.
Думаю, что использовать их как первичные ключ может прийти в голову каким-то начинающим челам или, можт быть, прозженным иерархистам.
...
Рейтинг: 0 / 0
25 сообщений из 140, страница 2 из 6
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / связка PK + UK
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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