powered by simpleCommunicator - 2.0.48     © 2025 Programmizd 02
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Стоит ли id в двух таблицах делать одинаковыми?
19 сообщений из 19, страница 1 из 1
Стоит ли id в двух таблицах делать одинаковыми?
    #39732942
kormot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день!

В приложении из одной сущности (A) в какой-то момент создаётся другая сущность (Б). Не каждая (А) может преобразиться в (Б), но если преображается то только один раз.
Т.е. одна сущность (А) соответствует не более чем одной сущности (Б).
Также всякая сущность (Б) имеет родительскую сущность (А) и только одну.

Так вот для этих сущностей есть таблицы А и Б, стоит ли при создании Б не генерировать ID автоинкрементом, а просто делать его таким-же как у родительской сущности А? Таким образом обойтись без доп. поля в таблице.
...
Рейтинг: 0 / 0
Стоит ли id в двух таблицах делать одинаковыми?
    #39732988
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kormotстоит ли при создании Б не генерировать ID автоинкрементом, а просто делать его таким-же
как у родительской сущности А?

Не просто можно, а нужно. Как ты foreign key между ними пробрасывать будешь?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Стоит ли id в двух таблицах делать одинаковыми?
    #39733018
kormot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovНе просто можно, а нужно. Как ты foreign key между ними пробрасывать будешь?
Ну исключая вариант с доп. таблицей связывающей А и Б, думал ещё о варианте с полем A_ID у сущности Б. Но вроде бы лишний индекс получается без особой на то надобности.
...
Рейтинг: 0 / 0
Стоит ли id в двух таблицах делать одинаковыми?
    #39733025
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kormotдумал ещё о варианте с полем A_ID у сущности Б. Но вроде бы лишний индекс получается без
особой на то надобности.

Прэлеестно. То есть контроль за "всякая сущность (Б) имеет родительскую сущность (А)" тебе
без надобности.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Стоит ли id в двух таблицах делать одинаковыми?
    #39733033
kormot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovПрэлеестно. То есть контроль за "всякая сущность (Б) имеет родительскую сущность (А)" тебе
без надобности.
Так нет, как без надобности, в случае с полем A_ID - оно было бы внешним ключом, в случае просто с id - id может быть внешним ключом и ещё с ограничением UNIQUE. Получается вроде и уникальный идентификатор записи в таблице и внешний ключ.
Просто почему думаю над этими вариантами, условие что сущность А имеет не более одного потомка Б - это я пока так думаю. А вот если окажется что допустимо их несколько, то в случае реализации этой связи доп.полем A_ID всё пройдёт гладко, достаточно будет лишь ограничение UNIQUE с него убрать, а вот в случае если id будет и PK и FK, то придётся перелопачивать думаю много всего и в итоге приходить к варианту либо с доп.полем, либо к третьей таблице связывающей сущности.

В общем понятно что сам ещё не понял чего надо :)
...
Рейтинг: 0 / 0
Стоит ли id в двух таблицах делать одинаковыми?
    #39733117
Фотография Ennor Tiegael
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kormotПросто почему думаю над этими вариантами, условие что сущность А имеет не более одного потомка Б - это я пока так думаю. А вот если окажется что допустимо их несколько, то в случае реализации этой связи доп.полем A_ID всё пройдёт гладко, достаточно будет лишь ограничение UNIQUE с него убрать, а вот в случае если id будет и PK и FK, то придётся перелопачивать думаю много всего и в итоге приходить к варианту либо с доп.полем, либо к третьей таблице связывающей сущности.Все правильно думаете, чрезмерно жесткую схему БД делать не стоит, чтобы потом не пришлось тратить доп. усилия на ее перекраивание.
...
Рейтинг: 0 / 0
Стоит ли id в двух таблицах делать одинаковыми?
    #39733123
Озверин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kormot, а можно реальный пример ?
...
Рейтинг: 0 / 0
Стоит ли id в двух таблицах делать одинаковыми?
    #39733141
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kormotстоит ли при создании Б не генерировать ID автоинкрементом, а просто делать его таким-же как у родительской сущности А?
это одна из распространённых реализаций отношения один к одному
...
Рейтинг: 0 / 0
Стоит ли id в двух таблицах делать одинаковыми?
    #39733168
kormot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Озверинkormot, а можно реальный пример ?
Реальный пример того что этим всем описывается?

Из черновика книги - сама книга. А подумал о возможном варианте один ко многим в связи с тем, что черновик может быть как-бы прародителем для разных произведений. Ну это так, высосанный из пальца пример :)
...
Рейтинг: 0 / 0
Стоит ли id в двух таблицах делать одинаковыми?
    #39733169
kormot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAэто одна из распространённых реализаций отношения один к одному
Хорошо, спасибо! Буду знать и употреблять в случае необходимости.
...
Рейтинг: 0 / 0
Стоит ли id в двух таблицах делать одинаковыми?
    #39733187
Озверин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kormotОзверинkormot, а можно реальный пример ?
Реальный пример того что этим всем описывается?

Из черновика книги - сама книга. А подумал о возможном варианте один ко многим в связи с тем, что черновик может быть как-бы прародителем для разных произведений. Ну это так, высосанный из пальца пример :)

как-то я не вижу тут связи - родитель-ребенок.
...
Рейтинг: 0 / 0
Стоит ли id в двух таблицах делать одинаковыми?
    #39733189
kormot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Озверинкак-то я не вижу тут связи - родитель-ребенок.
Ну это я говорю же притянутый за уши пример.
...
Рейтинг: 0 / 0
Стоит ли id в двух таблицах делать одинаковыми?
    #39733264
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kormotИз черновика книги - сама книга.
kormotНу это я говорю же притянутый за уши пример.

Здается мне тут не нужно сущности В от слова совсем...
В сущности А достаточно галку добавить, нету галки - это А, есть галка - считай что это В...
Если состояний больше, добавь не галку а число (1- черновик, 2- не черновик, 3- еще какая хрень)

На случай

kormotА подумал о возможном варианте один ко многим в связи с тем, что черновик может быть как-бы прародителем для разных произведений.

Добавь сразу подчиненную таблицу к А с по барабану каким колючем на перспективу и пусть пока болтается пустая (карман не тянет)
...
Рейтинг: 0 / 0
Стоит ли id в двух таблицах делать одинаковыми?
    #39733298
Озверин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vmag, черновик отдельная сущность от книги с совершенно другим набором атрибутов. Более того, черновиков может быть несколько.

p.s. Заводить таблицу только для того, чтобы она болталась пустой - это для чего?
...
Рейтинг: 0 / 0
Стоит ли id в двух таблицах делать одинаковыми?
    #39733364
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Озверинvmag, черновик отдельная сущность от книги с совершенно другим набором атрибутов. Более того, черновиков может быть несколько.

p.s. Заводить таблицу только для того, чтобы она болталась пустой - это для чего?

Да ТС может так, - ляпнул про книги с потолка...
Тут же все (как всегда) пытаются обсудить свое решение проблемы вместо самой проблемы...
Вместо того чтобы спросить так:
-нужно выкопать траншею, как вы смотрите на то чтобы выкопать ее лопатой?
-спрашивают - какой лопатой лучше копать с железной ручкой или деревянной...
...
Рейтинг: 0 / 0
Стоит ли id в двух таблицах делать одинаковыми?
    #39733367
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Озверин,

Если Так не с потолка
Озверинерновик отдельная сущность от книги с совершенно другим набором атрибутов
то да, возможно даже так будет : А идея -> В - черновики, -> С - книги
...
Рейтинг: 0 / 0
Стоит ли id в двух таблицах делать одинаковыми?
    #39733436
kormot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vmagДа ТС может так, - ляпнул про книги с потолка...
Тут же все (как всегда) пытаются обсудить свое решение проблемы вместо самой проблемы...
Вместо того чтобы спросить так:
-нужно выкопать траншею, как вы смотрите на то чтобы выкопать ее лопатой?
-спрашивают - какой лопатой лучше копать с железной ручкой или деревянной...
Красиво описано и в самую точку :) Так и есть, но всю идею над которой работаю и вправду не хочу описывать из различных соображений. Тут на форуме специалисты думаю уже не одну сотню носителей "секретных гениальных идей" пережили, и меня переживёте :)
...
Рейтинг: 0 / 0
Стоит ли id в двух таблицах делать одинаковыми?
    #39733547
Serguei
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kormotТак вот для этих сущностей есть таблицы А и Б, стоит ли при создании Б не генерировать ID автоинкрементом, а просто делать его таким-же как у родительской сущности А? Таким образом обойтись без доп. поля в таблице.

В чем проблема - две таблицы, у каждой свой ключ - ID, только у второй он по foreign key связан идентифицирующей связью с ID в первой таблице. Никаких доп полей.

kormotТ.е. одна сущность (А) соответствует не более чем одной сущности (Б).
Также всякая сущность (Б) имеет родительскую сущность (А) и только одну.
Все обозначенные условия выполняются
...
Рейтинг: 0 / 0
Стоит ли id в двух таблицах делать одинаковыми?
    #39733548
Serguei
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kormotА вот если окажется что допустимо их несколько, то в случае реализации этой связи доп.полем A_ID всё пройдёт гладко, достаточно будет лишь ограничение UNIQUE с него убрать, а вот в случае если id будет и PK и FK, то придётся перелопачивать думаю много всего и в итоге приходить к варианту либо с доп.полем, либо к третьей таблице связывающей сущности.
Если несколько допустимо -тогда во второй таблице в ключ надо добавить дату или не знаю что там идентифицирует однозначно запись.
В любом случае со стратегией записи нужно определиться до начала реализации.
...
Рейтинг: 0 / 0
19 сообщений из 19, страница 1 из 1
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Стоит ли id в двух таблицах делать одинаковыми?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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