Thiết kế cơ sở dữ liệu để xem xét dự báo


8

Tôi đang cố gắng tìm hiểu thêm về Cơ sở dữ liệu quan hệ và tôi nghĩ rằng không có cách nào tốt hơn để học sau đó thực sự làm một cái gì đó. Tôi quyết định thực hiện một nỗ lực cá nhân để xem xét Dự báo và Kế toán Ngân sách Cá nhân. Tôi đã thực hiện một số nghiên cứu cho đến nay và muốn hiểu rõ hơn về Thiết kế và Chuẩn hóa Cơ sở dữ liệu hiện tại của tôi.

Suy nghĩ và đề xuất của bạn về Thiết kế cơ sở dữ liệu hiện tại của tôi là gì? Tôi đã bao gồm một số thông tin dưới đây để giúp bạn tốt hơn giúp tôi :)

Tiết lộ: Đây là một dự án cá nhân. Không phải cho bài tập về nhà hoặc cho công việc.

Sự kiện kinh doanh

  • Một ngân hàng ACCOUNTcó thể có nhiềuENTRIES

  • An ENTRYcó thể là một CREDIThoặcDEBIT

  • An ENTRYcó một ngày nó được ghi có hoặc ghi nợ vào
  • An ENTRYcó mộtPAYEE
  • An ENTRYcó thể được liên kết với mộtBUDGET CATEGORY

  • A CREDITcó một lượngENTRY

  • A CREDITcó một mô tả vềENTRY
  • A CREDITcó thể được lên lịch trong tương lai
  • A CREDITcó thể được định kỳ lại theo tần suất và hoặc số lượng

  • A DEBITcó một lượngENTRY

  • A DEBITcó một mô tả vềENTRY
  • A DEBITcó thể được lên lịch trong tương lai
  • A DEBITcó thể được định kỳ lại theo tần suất và hoặc số lượng

  • A PAYEEcó tên

  • A BUDGETcó nhiềuBUDGET CATEGORIES

  • A BUDGETchỉ có thể được liên kết với một tháng theo lịch

  • A BUDGET CATEGORYcó thể chứa nhiềuENTRIES

  • A BUDGET CATEGORYcó tên
  • A BUDGET CATEGORYcó một BUDGETsố tiền

  • A FORECASTcó ngày bắt đầu

  • A FORECASTcó ngày kết thúc
  • A FORECASTcó số dư đầu
  • A FORECASTcó nhiềuFORECASTED DAYS
  • A FORECASTcó mộtFORECASTED BUDGET

  • A FORECASTED DAYcó một ngày duy nhất

  • A FORECASTED DAYcó thể có nhiềuFORECASTED DEBITS
  • A FORECASTED DAYcó thể có nhiềuFORECASTED CREDITS

  • A FORECASTED DEBITcó một số tiền

  • A FORECASTED DEBITcó một mô tả
  • A FORECASTED DEBITcó mộtFORECASTED BUDGET CATEGORY
  • A FORECASTED DEBITcó mộtPAYEE
  • A FORECASTED DEBITcó thể được định kỳ lại

  • A FORECASTED CREDITcó một số tiền

  • A FORECASTED CREDITcó một mô tả
  • A FORECASTED CREDITcó mộtFORECASTED BUDGET CATEGORY
  • A FORECASTED CREDITcó mộtPAYEE
  • A FORECASTED CREDITcó thể được định kỳ lại

  • A FORECASTED BUDGETcó nhiềuFORECASTED BUDGET CATEGORIES

  • A FORECASTED BUDGET CATEGORYcó thể có nhiềuPAYEES

  • A PAYEEcó tên

Dữ liệu mẫu

+----------------+----------+------------------+----------------+---------------+--------------+------------------+
| Account Number |   Date   |   Description    |   Payee Name   | Credit Amount | Debit Amount | Budget Category  |
+----------------+----------+------------------+----------------+---------------+--------------+------------------+
|          25178 | 10/01/18 | Payroll          | My Work        | $1000.00      |              | Income           |
|          25178 | 10/02/18 | McRibs for Lunch | McDonalds      |               | $13.12       | Fast Food        |
|          25178 | 10/03/18 | Electric Bill    | FPL            |               | $133.68      | Electric         |
|          25178 | 10/04/18 | Water Bill       | City Water Co. |               | $58.12       | Water and Sewage |
|          25178 | 10/05/18 | Clothes for Work | Target         |               | $65.02       | Clothes          |
|          99875 | 10/28/18 | Bonus Check      | My Work        | $1300.00      |              | Income           |
+----------------+----------+------------------+----------------+---------------+--------------+------------------+

+----------+-------------+--------------+---------------+-----------------+------------------+
| Due Date |    Payee    | Debit Amount | Credit Amount | Budget Category | Re-Occurs On Day |
+----------+-------------+--------------+---------------+-----------------+------------------+
| 10/28/18 | Mortgage Co | $1500.00     |               | Mortgage        |               28 |
| 10/01/18 | My Work     |              | $990.00       | Income          |                1 |
| 10/03/18 | FPL         | $110.00      |               | Electric        |                3 |
+----------+-------------+--------------+---------------+-----------------+------------------+

Thiết kế cơ sở dữ liệu hiện tại

Tôi cho rằng sẽ rất hữu ích khi biết TẠI SAO tôi đã làm gì đó để bạn có thể hiểu logic và lý luận của tôi.

Revision4-Dự báo

  • Mỗi Ngân sách có thể chứa nhiều hơn 1 Danh mục Ngân sách. Tôi đã thêm một isActivecột trên cả hai BudgetsBudgetCategoriestrong trường hợp tôi muốn kích hoạt lại một loại ngân sách hoặc danh mục ngân sách khác.
  • Tôi tách các giao dịch thành hai bảng phân chia rất giống nhau DebitsCreditsnhư tôi thấy có hai loại giao dịch.
  • Để cho phép và theo dõi các giao dịch được lên lịch hoặc định kỳ, tôi đã tạo một ScheduledTransactionsbảng cho phép tôi có hai số tiền khác nhau, một số tiền dự kiến ScheduledTransactionsvà một số tiền thực tế trong một Debitshoặc Credits.

Sửa đổi4-Chính

  • Tôi hình dung mỗi dự báo sẽ cần ngày bắt đầu và ngày kết thúc cũng như số dư bắt đầu.
  • Mỗi ngày sẽ cần phải được dự báo để có thể xác định tổng số Nợ và Tín dụng.
  • Tôi nghĩ rằng tôi có thể đã sử dụng các bảng khác và thêm một vài Cột isForecasted và nó sẽ hoạt động tương tự. Tôi quyết định không đi theo con đường đó để giải mã cả hai trong trường hợp cần thực hiện bất kỳ thay đổi nào cũng như nếu đây là một ứng dụng quy mô lớn đọc và viết dự báo lớn vào cùng bảng như giao dịch thực tế tôi nghĩ sẽ gây ra nhật ký các vấn đề hiệu suất.

bạn chỉ cần một cột siêu dữ liệu trong mỗi bảng như khi hàng được chèn, ai đã chèn nó, khi cập nhật lần cuối, ai cập nhật nó, quá trình nào, v.v.?
Biju jose

Vì đây là để sử dụng cho sự phát triển cá nhân nên tôi không cần điều đó.
Jon H

1
Các quy tắc lược đồ và chuẩn hóa phụ thuộc vào cách bạn chọn để mô hình hóa vấn đề. Theo truyền thống, bạn có các bảng riêng cho thực tế, ngân sách và dự báo. Nhưng bạn có thể có tất cả chúng trong một bảng với một thuộc tính hoặc cờ để biểu thị sự khác biệt. Tương tự với DR / CR. Cùng một bảng nhưng sử dụng các giá trị +/- để chỉ I / O. Khi bạn chuyển sang kế toán kép, bạn cần cả hai mặt của phương trình để cân bằng và tạo tài khoản. Bạn đang đi xa đến vậy sao?
Ngài Swears-a-lot 6/11/18

1
Tôi nghĩ rằng đây là một dự án rất tham vọng để giải quyết cho mục đích tìm hiểu về cơ sở dữ liệu. Thiết kế và chuẩn hóa lược đồ Db là một chuyện, lưu trữ hồ sơ chính xác là một chuyện khác, kế toán và dự báo thậm chí còn phức tạp hơn nữa. Đó là ưu tiên của bạn?
Ngài Swears-a-lot 6/11/18

@ SirSwears-a-lot Vâng tôi sẽ không đi xa đến thế. Hãy suy nghĩ về việc chỉ có thể theo dõi tài chính cá nhân của bạn vào các nhóm ngân sách khác nhau và có thể dự án đơn giản nếu các tình huống như ... Điều gì xảy ra nếu tôi nhận được một khoản thanh toán xe mới và đi nghỉ 4 tháng? Tỷ lệ thu nhập trên nợ của tôi sẽ như thế nào theo tần suất từ ​​tuần này sang tuần khác hoặc tháng này sang tháng khác. Hoặc Điều gì xảy ra nếu tôi thay đổi Ngân sách tạp hóa từ 500 thành 600?
Jon H

Câu trả lời:


2

Tổng quát hơn: Tôi sẽ BẮT ĐẦU với một danh sách các câu hỏi mà tôi muốn trả lời. Giống:

Tôi là ai trả nhiều nhất? Tôi đã trả hóa đơn vận chuyển nước thải trong tháng này? Yêu cầu tiền mặt của tôi cho tháng này là gì? Tôi có cần phải ra ngoài và giết đồ ăn không?

Bản chất của những câu hỏi này sẽ thúc đẩy việc thiết kế lược đồ.

Điều đó nói rằng, lược đồ này trông khá tốt.

Tôi đồng ý với ý kiến ​​rằng các khoản ghi nợ và tín dụng có thể nằm trong một bảng duy nhất.


1

Tôi sẽ xác định người được trả tiền, về ngân sách và loại tài khoản. Nói rằng bạn cần liệt kê hoặc tham khảo ý kiến ​​của người được trả tiền. Tôi cũng sẽ có một cột hoạt động cho người được trả tiền. Thật tuyệt khi biết tài khoản nào trả ngân sách nào trong tương lai.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.