Для таблиц accounts и payments первичные и внешние ключи обычно определяются следующим образом:
Что такое реляционные и не реляционные БД?
Для таблиц accounts и payments первичные и внешние ключи обычно определяются следующим образом:
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Условие
Что такое реляционные и не реляционные БД? Определить первичные и внешние ключи в таблицах (см. скриншот)
TABLE t_account (id int, client_id int, open_dt date, close_dt date);
TABLE t_payments (id int, account_id int, amount numeric(10,2), success_flg varchar(1), payment_date date);
Ответ
Для таблиц accounts и payments первичные и внешние ключи обычно определяются следующим образом:
-
accounts:
- Первичный ключ (Primary Key) — уникальный идентификатор аккаунта, например,
account_id. - Внешние ключи в этой таблице обычно отсутствуют, если только аккаунт не связан с другими сущностями.
- Первичный ключ (Primary Key) — уникальный идентификатор аккаунта, например,
-
payments:
- Первичный ключ — уникальный идентификатор платежа, например,
payment_id. - Внешний ключ (Foreign Key) — ссылка на аккаунт, с которого или на который производится платеж, например,
account_id, ссылающийся наaccounts.account_id.
- Первичный ключ — уникальный идентификатор платежа, например,
Пример определения в SQL:
CREATE TABLE accounts (
account_id INT PRIMARY KEY,
account_name VARCHAR(100)
);
CREATE TABLE payments (
payment_id INT PRIMARY KEY,
account_id INT,
amount DECIMAL(10,2),
payment_date DATE,
FOREIGN KEY (account_id) REFERENCES accounts(account_id)
);
Таким образом, account_id в таблице payments связывает платеж с конкретным аккаунтом.