Принципы разработки для разработки архитектуры базы данных системы финансовой транзакции?

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

Спасибо

16
задан marc_s 26 January 2010 в 16:08
поделиться

2 ответа

Некоторые вещи, которые специфические для финансовых систем включают внутренний контроль (это критический учет Сделайте некоторые исследования, чтобы действительно думать об этом через). Такие вещи, такие как человек, входящий в должность, не может одобрить его. Такие вещи, такие как использование хранящихся PECT, а не SQL, генерируемых из приложения, чтобы вы могли ограничивать права на только вопросы (без динамического SQL вообще - вообще - в финансовой системе), и поэтому пользователи могут делать только то, что они уполномочены. Нет прав для всех, кроме продукции DBA и альтернативы таблицам. Мошенничество - это то, что вы пытаетесь защитить систему не только за пределами нападений. Безопасность имеет решающее значение для финансовых систем.

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

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

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

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

Целостность данных имеет решающее значение. Вам нужны правильные типы данных, и вам нужны отношения PK / FK, ограничения и триггеры для обеспечения применения правил. Финансовая система не может позволить себе иметь осиротевших записей.

Вам нужно учитывать очень тщательно. Финансовые системы часто делают мягкие удаления (отметки записей в виде удаления, чтобы избежать потери исторических данных. Да, компания XYZ больше не является клиентом, но вы не хотите потерять финансовую историю заказов, которые они имели в прошлом. Я бы даже не хотел Рассмотрим использование каскада удаления в финансовой системе.

Не просто разговаривать с бухгалтерами при проектировании системы, разговаривать с финансовыми людьми, которые будут запускать систему и аудиторы, которые будут проверять результаты. Читайте и точно знают опубликованный публикуемый стандарт бухгалтерского учета для Страна, к которой вы проектируете. Посмотрите на налоговые последствия. Это сложный материал.

Подумайте о данных складирования и архивирования данных. Финансовые системы часто запрашивают старые данные для отчетов, отчетность - это большая, большая, большая для финансовых систем. Подумайте, как Чтобы сделать это эффективно, не влияя на повседневную запись данных.

18
ответ дан 30 November 2019 в 22:02
поделиться

В зависимости от того, что вы на самом деле пытаетесь достичь, для вас создать систему «финансовой транзакции», которая полезна, вам понадобится научить себя о журналах, журналах и других деталях бухгалтерского учета. Это не так просто, как регистрация фактических транзакций в таблице ...

Действительно, я не думаю, что вы найдете принципы проектирования базы данных для финансовых систем, которые отличаются от любой системы базы данных, которая нуждается в ее информации быть на 100% правильно.

Следовательно, чтение следующего при работе с базами данных никогда не повредит никому:

Дизайн базы данных лучшие практики

Вы источнили управляющие вашим базам данных?

ошибки развития базы данных, сделанные разработчиками приложений

, что Ваши самые полезные стандарты баз данных?

4
ответ дан 30 November 2019 в 22:02
поделиться
Другие вопросы по тегам:

Похожие вопросы: