Выполнение расчетов в поле таблицы с помощью таблицы транзакций - PullRequest
1 голос
/ 21 февраля 2010

Одна вещь, которую я хочу сделать, - это создать персональную базу данных для себя дома, чтобы использовать финансовую базу данных (журнал транзакций, таблицы чековых / сберегательных счетов и т. Д.), И я хочу сделать это, главным образом, чтобы больше узнать о разработке баз данных. Я довольно хорошо знаком с MS Access, хотя и не использую его в этом контексте, но на самом деле я пытаюсь изучить SQL Server.

Так что, как говорится, первый вопрос, который возник у меня в голове, заключается в том, что если у меня есть таблица транзакций, которую я хотел бы использовать в качестве главной книги, то существует ли какой-либо метод, позволяющий таблице автоматически выполнять вычисления для одного из них? поле (баланс) на основе другого поля (полей) (поля расходов, доходов)? Подобно тому, что кто-то может делать с Excel ......

Или это что-то, что я должен был бы сделать с несвязанной формой, а заявление UPDATE - своего рода подход? Если для этого типа идеи существует ограничение таблицы, я бы хотел его изучить ....

Я упомянул MS Access в названии, но SQL Server также наиболее ценен. Спасибо за помощь!

Ответы [ 2 ]

2 голосов
/ 22 февраля 2010

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

В дополнение к вычисляемым столбцам в таблицах SQL Server вы можете иметь их в VIEWS и индексировать их. Термин «индексированное представление», и когда вы делаете это, данные сохраняются в скрытой временной таблице и обновляются на лету, когда изменяются данные, полученные из VIEW. Вы можете прочитать об этом в теме «ТИПЫ ВЗГЛЯДОВ» по той же ссылке, что и в ответе @Roland Bouman.

И наконец, мне непонятно, зачем вообще упоминается Access, если вы используете SQL Server в качестве внутреннего сервера. Вы разрабатываете свой интерфейс в Access?

1 голос
/ 21 февраля 2010

На сервере MS SQL вы можете использовать вычисляемые столбцы для этого: http://msdn.microsoft.com/en-us/library/ms191250.aspx

...