Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Thiết kế cơ sở dữ liệu:Tính Số dư Tài khoản

Một vấn đề lâu đời chưa bao giờ được giải quyết một cách tinh tế.

Tất cả các gói ngân hàng mà tôi đã làm việc đều lưu trữ số dư với thực thể tài khoản. Việc tính toán nó một cách nhanh chóng từ lịch sử chuyển động là điều không thể tưởng tượng được.

Cách đúng là:

  • Bảng chuyển động có giao dịch 'số dư mở' cho mỗi và mọi tài khoản. Bạn sẽ cần đến thứ này trong một vài năm tới khi bạn cần chuyển các chuyển động cũ ra khỏi bảng chuyển động đang hoạt động sang một lịch sử.
  • Thực thể tài khoản có trường số dư
  • Có một trình kích hoạt trên bảng chuyển động để cập nhật số dư tài khoản cho các tài khoản ghi có và ghi nợ. Rõ ràng, nó có kiểm soát cam kết. Nếu bạn không thể có trình kích hoạt, thì cần phải có duy nhất mô-đun ghi các chuyển động dưới sự kiểm soát cam kết
  • Bạn có một chương trình 'mạng lưới an toàn' mà bạn có thể chạy ngoại tuyến, chương trình này sẽ tính toán lại các số dư và hiển thị (và tùy ý sửa chữa) các số dư sai lệch. Điều này rất hữu ích cho việc bỏ qua.

Một số hệ thống lưu trữ tất cả các chuyển động dưới dạng số dương và biểu thị tín dụng / ghi nợ bằng cách đảo ngược các trường từ / sang hoặc bằng một cờ. Cá nhân tôi thích trường tín dụng, trường ghi nợ và số tiền đã ký, điều này làm cho việc đảo ngược trở nên dễ dàng hơn nhiều.

Lưu ý rằng các phương pháp này áp dụng cho cả tiền mặt và chứng khoán.

Các giao dịch chứng khoán có thể phức tạp hơn nhiều, đặc biệt là đối với các hoạt động của công ty, bạn sẽ cần phải thực hiện một giao dịch duy nhất cập nhật số dư tiền mặt của một hoặc nhiều người mua và người bán, số dư vị thế bảo mật của họ và có thể là nhà môi giới / lưu ký.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách bật Tất cả Ràng buộc CHECK &Khóa ngoại trong Cơ sở dữ liệu trong SQL Server (Ví dụ T-SQL)

  2. Chuyển bảng dưới dạng tham số vào UDF máy chủ sql

  3. Làm cách nào để chạy nhiều lệnh SQL trong một kết nối SQL?

  4. Truy xuất ID của bản ghi đã chèn:PHp &MS SQL SERVER

  5. Xóa dữ liệu thông qua một hàm có giá trị bảng trong SQL Server