Ссылочная целостность

Даже не знаю как такую связь назвать. В общем:
Таблицы для бухгалтерского учета.

1.Табл. Бухгалтерские операции
Столбцы: Счет дебета(таб2, или таб3, или таб4), Счет кредита(таб2, или таб3, или таб4), Содержание операции, Сумма,...
2.Табл. Счет 60
Столбцы: Договор(таб.5), Контрагент, ...
3.Табл. Счет 51
Столбцы: Банковский счет(таб.6), ...
4.Табл. Счет 70
Столбцы: Физическое лицо, ...
5.Табл. Договора
Столбцы: Наименование, ...
6.Табл. Банковские счета
Столбцы: Наименование, ...

разделим условно таблицы на три уровня:
Iур. - таб1
IIур. - таб2, 3, 4
IIIур. - таб5, 6

Со связью II и III уровня все понятно, а вот как связать I и II уровни? Ведь в счет дебета, таб1, могут подставляться отдна из 2,3,4 таблиц.

Вроде как это можно решить ведя промежуточную таблицу(связку):
7.Табл. План счетов
Столбцы: № счета, Таблица

Но как это все увязать незнаю, ПОМОГИТЕ!
P.S. Эту структуру предпологается использовать в OpenSource

Опции просмотра комментариев

Выберите предпочитаемый вами способ показа комментариев и нажмите "Сохранить настройки" для активации изменений.

Нормализуй таблицы до 3-й

Нормализуй таблицы до 3-й нормальной формы. Тогда станет понятно что с чем связывать.

Проще сказать, чем сделать.

Проще сказать, чем сделать.

Обычно все счета хранятся в

Обычно все счета хранятся в одной таблице счетов (обобщенно т.к. балансовые счета необходимо выделять как отдельную сущность), к примеру
табл. Accounts (Ид., Номер балансового счета, собственно счет и т.д.);
все проводки хранятся в таблице Transaction (Ид., Счет дебита references Accounts (Ид.), Счет кредета references Accounts (Ид.), Сумма и т.д.).
естественно Счет дебита не может быть равен счету кредета.
А дальше структура примерно такая (один -> много), судя из названий используемых таблиц:
Контрагенты (Физлица, Юр. лица) -> Договора -> Счета

Первая часть ясна, а вот "А

Первая часть ясна, а вот
"А дальше структура примерно такая (один -> много), судя из названий используемых таблиц:
Контрагенты (Физлица, Юр. лица) -> Договора -> Счета" - чего то не понял, можно разъяснить?

я пытался разрисовать

я пытался разрисовать отношения между сущностями
т.е. таблица Контрагенты относится к таблице Договоров отношением один ко многогим. Или так таб Договоров ссылается на табл. Контрагентов. Ну и т.д.

Опции просмотра комментариев

Выберите предпочитаемый вами способ показа комментариев и нажмите "Сохранить настройки" для активации изменений.

Back to top

(С) Виктор Вислобоков, 2008-2023