Senior
Kako će izgledati veza između tabela transfers i accounts (dve spoljne ključeve na jednu tabelu)?
sobes.tech АИ
Одговор од АИ
В таблице transfers будет две внешние ключа (FK), обе ссылающиеся на таблицу accounts: одна для счета отправителя (from_account_id), другая — для счета получателя (to_account_id). Это позволяет однозначно указать, с какого счета и на какой был перевод.
Пример SQL-схемы:
CREATE TABLE accounts (
id SERIAL PRIMARY KEY,
account_number VARCHAR(20) UNIQUE NOT NULL,
balance NUMERIC NOT NULL
);
CREATE TABLE transfers (
id SERIAL PRIMARY KEY,
from_account_id INT NOT NULL,
to_account_id INT NOT NULL,
amount NUMERIC NOT NULL,
transfer_date TIMESTAMP NOT NULL,
CONSTRAINT fk_from_account FOREIGN KEY (from_account_id) REFERENCES accounts(id),
CONSTRAINT fk_to_account FOREIGN KEY (to_account_id) REFERENCES accounts(id)
);
Таким образом, каждая запись в transfers связывает два разных аккаунта из таблицы accounts.