2012-03-26 3 views
2

Я разрабатываю систему онлайн-учета как проект колледжа. У меня есть следующие простые транзакции.Разработка таблиц MySQL для системы учета

1.Sales на наличные деньги $ 300

2.Cash зарылся от Smith $ 250

3.Electricity законопроект заплатил $ 50

enter image description here

я говорил Double Entry Accounting in a Relational Database и спроектировали выше Transaction Таблица (знак минус означает сумму кредита). Идентификаторы 1 и 2 относятся к транзакции 1, идентификаторы 3 и 4 относятся к транзакции 2 и т. Д. Как я могу идентифицировать каждую из двух строк как одну транзакцию в базе данных MySQL. Например, если первая транзакция будет выбрана, как я могу ее сделать, поскольку между двумя строками нет отношения. Если этот дизайн не подходит, вы можете предложить альтернативу.

Спасибо заранее

+0

вы можете добавить transaction_id для вашей таблицы. – Sara

+0

Thanx для ответа. Предположим, он должен быть добавлен вручную для каждой транзакции, и я не могу автоматически увеличивать это поле. Я не могу найти способ подключения учетных записей в разных строках. – Rav

+0

Технически - с строго нормированной точки зрения у вас есть 2 записи за транзакцию. Вы можете хранить идентификаторы транзакций в отдельной таблице и автоматически увеличивать их там, а затем просто ссылаться на них в этой таблице транзакций. Конечно, если вы собираетесь хранить информацию о триллионах по триллионам транзакций, число с автоматическим приращением может быть не таким же полезным, как уникальная строка, определенная приложением в любом случае ... – CD001

ответ

1

Вы должны уронить дизайн две строки, если это не действительно необходимо. Я бы объединил строки и добавил дополнительное поле, где вы могли бы хранить, если бы оно было наличным или нет, и значение суммы было бы + при кредитовании и - если дебетовано (или наоборот, я плохо разбираюсь в бухгалтерском учете :))

+0

Я тоже пробовал, когда есть еще чем два счета, которые мы не можем объединить, можем ли мы? – Rav

+0

Ну, дайте пример. Вы имеете в виду более двух строк для одной транзакции? Если да, какая разница? – slash197

+0

Я имею в виду запись вроде этого Списание плохих долгов. DR-Резерв по сомнительным долгам DR-GST CR-Recievables Три счета будут занимать три строки в приведенной выше таблице. Я новичок в разработке, вы можете показать мне, как объединить строки и добавить дополнительное поле, как вы сказали. :) – Rav

0

Единственное, что я могу добавить, это две числовые столбцы для дебетования и кредитования. Это будет выглядеть так же, как журнал в текстовых книгах или старых книгах бухгалтерского учета. Это будет немного более очевидным и обрабатывать любые количество двойных записей. Ваша текущая сумма может быть рассчитана по дебетовому кредиту, если хотите.

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

Смежные вопросы