powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / ID из разных таблиц в одной таблице
7 сообщений из 7, страница 1 из 1
ID из разных таблиц в одной таблице
    #39528776
Есть три таблицы:
с юрлицами

с физлицами

с участниками сделки

Несколько юрлиц и физлиц могут участвовать в одной сделке.

Как лучше в таблице с участниками сделки хранить ссылки на соответствующие таблицы?

Додумался только до такого варианта: в таблице с участниками сделки добавить дополнительное поле с указанием таблицы (юрлицо или физлицо), по которому можно будет понять какой id из какой таблицы.
...
Рейтинг: 0 / 0
ID из разных таблиц в одной таблице
    #39528790
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходил1,

Можно добавить три поля: тип участника, id физ. лица, id юр. лица. Тогда не потеряется ссылочная целостность.
...
Рейтинг: 0 / 0
ID из разных таблиц в одной таблице
    #39528791
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходил1,

Или для юр. лиц и физ. лиц сделать общую таблицу с отношением 1:1 по ID, и работать с ним.
...
Рейтинг: 0 / 0
ID из разных таблиц в одной таблице
    #39528798
Фотография Дедушка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходил1,

раз уж вы сделали две отдельные таблицы для физ и юр
значит это было осознано и для этого были причины...

- табл_физлица
- табл_юрлица
- табл_сделки
- бридж_табл_физучастники_сделки (М2М)
- бридж_табл_юручастники_сделки (М2М)
...
Рейтинг: 0 / 0
ID из разных таблиц в одной таблице
    #39529231
LSV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
раз уж вы сделали две отдельные таблицы для физ и юр
значит это было осознано и для этого были причины ...С каких это пор профнепригодность это уважительная причина ?
...
Рейтинг: 0 / 0
ID из разных таблиц в одной таблице
    #39529346
Фотография Дедушка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LSV,
...
Рейтинг: 0 / 0
ID из разных таблиц в одной таблице
    #39533208
tunknown
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходил1Несколько юрлиц и физлиц могут участвовать в одной сделке.

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
create	table	damit.ProtocolEntity
(	Id		damit.TGUID		not null,
	Email		damit.TGUID		null,
	SFTP		damit.TGUID		null,
	FTPS		damit.TGUID		null,
	Folder		damit.TGUID		null,
constraint	PKdamitProtocolEntity		primary	key	nonclustered	( Id ),
constraint	FKdamitProtocolEntityEmail	foreign	key	( Email )	references	damit.Email	( Id ),
constraint	FKdamitProtocolEntitySFTP	foreign	key	( SFTP )	references	damit.SFTP	( Id ),
constraint	FKdamitProtocolEntityFTPS	foreign	key	( FTPS )	references	damit.FTPS	( Id ),
constraint	FKdamitProtocolEntityFolder	foreign	key	( Folder )	references	damit.Folder	( Id ),
constraint	CKdamitProtocolEntity		check	( Id=	isnull ( convert ( varbinary ( 16 ),	Email ),	0x )+
								isnull ( convert ( varbinary ( 16 ),	SFTP ),		0x )+
								isnull ( convert ( varbinary ( 16 ),	FTPS ),		0x )+
								isnull ( convert ( varbinary ( 16 ),	Folder ),	0x ) )	) 


Если идентификаторы целочисленные, то их нужно получать через identity из этой общей таблицы перед вставкой в частные. Если таблица не содержит много записей и можно использовать guid, то вставляем сразу в частные, потом сюда- в общую. Получаем эмуляцию внешнего ключа на несколько таблиц.
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / ID из разных таблиц в одной таблице
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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