複数の通貨と為替レートの処理をサポートするために、MySQL で拡張可能な会計システムのテーブル構造を設計するにはどうすればよいですか?
世界経済の発展に伴い、会計システムで複数の通貨や為替レートを扱う必要がある企業が増えています。この要件を効果的にサポートするには、データベース内で拡張可能なテーブル構造を設計する必要があります。
MySQL では、次の手順に従って、スケーラブルな会計システムのテーブル構造を設計できます。
CREATE TABLE 通貨 (
id INT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(50) NOT NULL, symbol VARCHAR(10) NOT NULL
);
CREATE TABLEexchange_rate (
id INT PRIMARY KEY AUTO_INCREMENT, base_currency_id INT NOT NULL, target_currency_id INT NOT NULL, rate DECIMAL(10, 4) NOT NULL, effective_date DATE NOT NULL, FOREIGN KEY (base_currency_id) REFERENCES currency(id), FOREIGN KEY (target_currency_id) REFERENCES currency(id)
);
CREATE TABLE トランザクション (
id INT PRIMARY KEY AUTO_INCREMENT, transaction_date DATE NOT NULL, currency_id INT NOT NULL, amount DECIMAL(10, 2) NOT NULL, exchange_rate_id INT NOT NULL, FOREIGN KEY (currency_id) REFERENCES currency(id), FOREIGN KEY (exchange_rate_id) REFERENCES exchange_rate(id)
);
SELECT c.symbol, SUM(t.amount) AS total_amount
FROM トランザクション t
JOIN 通貨 c ON t.currency_id = c.id
WHERE t.transaction_date = '2022-01-01'
GROUP BY c.symbol;
このクエリは、特定の日付 (2022-01-) における各通貨の合計取引額を返します。 01)。
概要:
上記の設計により、複数の通貨と為替レート処理をサポートする拡張可能な会計システム テーブル構造を MySQL に作成できます。通貨テーブルにはさまざまな通貨に関する情報が格納され、為替レート テーブルにはさまざまな通貨間の為替レート情報が格納され、トランザクション テーブルには通貨間のトランザクション情報が格納されます。上記のテーブル構造を使用すると、さまざまな会計ニーズを満たすさまざまなクエリと操作を実行できます。
以上が複数の通貨と為替レートの処理をサポートするために、MySQL でスケーラブルな会計システムのテーブル構造を設計するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。