Size: a a a

pgsql – PostgreSQL

2021 February 05

YS

Yaroslav Schekin in pgsql – PostgreSQL
horpto
Всмысле при физической репликации или физической таблице?
Физическая репликация создаёт бинарную копию всего кластера, т.е. реплика вообще не может ничем отличаться от primary.
А при логической можно делать много чего, в т.ч. разные индексы.
источник

SS

Shamil Sabirov in pgsql – PostgreSQL
Yaroslav Schekin
Когда используются естественные ключи, и их значения меняются, вот и всё.
ну в реальной жизни не видел такого. не имею в виду что естественные ключи, обычно(или не всегда обычно?) они бывают по бизнес процессу. но все же при проектировании БД создается суррогатный PK. чтото вроде "ID BIGSERIAL NOT NULL". ничего общего с БП, но и не завязывается на логику приложения
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
Shamil Sabirov
ну в реальной жизни не видел такого. не имею в виду что естественные ключи, обычно(или не всегда обычно?) они бывают по бизнес процессу. но все же при проектировании БД создается суррогатный PK. чтото вроде "ID BIGSERIAL NOT NULL". ничего общего с БП, но и не завязывается на логику приложения
> но все же при проектировании БД создается суррогатный PK.

Или не создаётся. Ведь подходы к проектированию бывают разные.
Так что, если используется другой, то и значения ключей, бывает, меняются.
источник

VY

Victor Yegorov in pgsql – PostgreSQL
Shamil Sabirov
ну в реальной жизни не видел такого. не имею в виду что естественные ключи, обычно(или не всегда обычно?) они бывают по бизнес процессу. но все же при проектировании БД создается суррогатный PK. чтото вроде "ID BIGSERIAL NOT NULL". ничего общего с БП, но и не завязывается на логику приложения
вы же понимате, что при суррогатном ключе у вас в таблице могут быть логически дублирующиеся записи?
источник

SS

Shamil Sabirov in pgsql – PostgreSQL
Yaroslav Schekin
> но все же при проектировании БД создается суррогатный PK.

Или не создаётся. Ведь подходы к проектированию бывают разные.
Так что, если используется другой, то и значения ключей, бывает, меняются.
ну а разве по другому бывает? тот же оракл так делает. если не PK то накрайняк Unique Index. и все чтобы на них можно было FK построить
источник

SS

Shamil Sabirov in pgsql – PostgreSQL
а если делать PK логически, а не физически, на поля по БП - то зачем тут реляционка?
источник

D

Den in pgsql – PostgreSQL
Yaroslav Schekin
Хмм... откуда они там взялись, интересно (и почему это вообще "вылезло" — ведь в БД, с которой он был снят, всё же было нормально, наверное)?
Именно. Откуда взялись? Буду смотреть...
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
Shamil Sabirov
ну а разве по другому бывает? тот же оракл так делает. если не PK то накрайняк Unique Index. и все чтобы на них можно было FK построить
Да, бывает.

> тот же оракл так делает

Хмм... а о чём именно речь (и какая разница, как делает "оракл")?

> если не PK то накрайняк Unique Index

И этого тоже не понял. :(

> то зачем тут реляционка?

Почему / причём тут это?
источник

E

ETL in pgsql – PostgreSQL
Rustam
да я вообще зеленый, так что грешу, да! Но спасибо за помощь теперь точно усвою)
про триггеры классный видос от PostgresProfessional
https://www.youtube.com/watch?v=oK8TrRBzVow
источник

SS

Shamil Sabirov in pgsql – PostgreSQL
Yaroslav Schekin
Да, бывает.

> тот же оракл так делает

Хмм... а о чём именно речь (и какая разница, как делает "оракл")?

> если не PK то накрайняк Unique Index

И этого тоже не понял. :(

> то зачем тут реляционка?

Почему / причём тут это?
я к тому что в оракл может быть таблица без PK. вместо него  Unique Index, и на него все FK с других таблиц. которые такие же)
источник

SS

Shamil Sabirov in pgsql – PostgreSQL
постгре незнаю, но думаю и ожидаю такое же. или ошибаюсь?
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
Shamil Sabirov
постгре незнаю, но думаю и ожидаю такое же. или ошибаюсь?
Да, и в PostgreSQL (и практически где угодно, в смысле в любой (?) современной RDBMS) может быть таблица без PK, а с UNIQUE INDEX, и на него FK с других таблиц. Т.е. PK — это просто UNIQUE + NOT NULL, и только один на таблицу (если не считать мелких технических отличий в той или иной СУБД), и всё.

СУБД сокращённо называется постгрес, кстати. ;)
источник

SS

Shamil Sabirov in pgsql – PostgreSQL
🙂
источник

SS

Shamil Sabirov in pgsql – PostgreSQL
а в чем смысл? подскажите пож-та
источник

SS

Shamil Sabirov in pgsql – PostgreSQL
т.е. между PK и UNIQUE INDEX(constraint)
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
Shamil Sabirov
а в чем смысл? подскажите пож-та
Смысл "между"? ;) О чём вопрос?
Почему так? Потому что PK предназначен для уникальной идентификации записей, а UNIQUE без NOT NULL этого не даёт.
А только один потому, что традиция такая, да и всё.
источник

VY

Victor Yegorov in pgsql – PostgreSQL
Shamil Sabirov
а в чем смысл? подскажите пож-та
мне кажется вы путаете физическую реализацию (как в DDL, так и как функционал СУБД) с логическим смыслом понятий первичный и уникальный ключ.
вам бы теорию подтянуть…
источник

SS

Shamil Sabirov in pgsql – PostgreSQL
Victor Yegorov
мне кажется вы путаете физическую реализацию (как в DDL, так и как функционал СУБД) с логическим смыслом понятий первичный и уникальный ключ.
вам бы теорию подтянуть…
спасибо за совет) теорию знаю, сам кого угодно поспрашаю
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
Shamil Sabirov
спасибо за совет) теорию знаю, сам кого угодно поспрашаю
А в чём тогда был вопрос-то, и что Вы имели в виду тут https://t.me/pgsql/281591 и тут https://t.me/pgsql/281592 ?
источник

SS

Shamil Sabirov in pgsql – PostgreSQL
Yaroslav Schekin
Смысл "между"? ;) О чём вопрос?
Почему так? Потому что PK предназначен для уникальной идентификации записей, а UNIQUE без NOT NULL этого не даёт.
А только один потому, что традиция такая, да и всё.
вот так оракл делает. в одном из своих продуктов. разницу PK и UX - понятно. вопрос то был - зачем они так делают? в чем профит? или это особенность именно оракла?
источник