집 >데이터 베이스 >MySQL 튜토리얼 >여러 통화 및 환율 처리를 지원하기 위해 MySQL에서 확장 가능한 회계 시스템 테이블 구조를 설계하는 방법은 무엇입니까?
다양한 통화 및 환율 처리를 지원하기 위해 MySQL에서 확장 가능한 회계 시스템 테이블 구조를 설계하는 방법은 무엇입니까?
세계 경제가 발전함에 따라 점점 더 많은 기업이 회계 시스템에서 다양한 통화와 환율을 처리해야 합니다. 이 요구 사항을 효과적으로 지원하려면 데이터베이스에 확장 가능한 테이블 구조를 설계해야 합니다.
MySQL에서는 다음 단계를 통해 확장 가능한 회계 시스템 테이블 구조를 설계할 수 있습니다.
CREATE TABLE 통화(
id INT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(50) NOT NULL, symbol VARCHAR(10) NOT NULL
);
CREATE TABLE exchange_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 transaction (
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 transaction 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!