Sobes.tech
Senior

Zaprojektuj strukturę danych dla systemu bankowego: klient może mieć kilka kart (debetowych, kredytowych), do każdej karty jest przypisane konto, a także klient może mieć konta bez kart. Użyj trzech tabel.

sobes.tech AI

Odpowiedź od AI

Для описанной банковской системы можно использовать три таблицы: Clients, Accounts и Cards.

  • Clients — хранит информацию о клиентах.

    • ClientID (PK)
    • Name
    • другие данные клиента
  • Accounts — хранит счета, которые могут быть как с привязанными картами, так и без них.

    • AccountID (PK)
    • ClientID (FK) — связь с клиентом
    • AccountType (например, "сберегательный", "текущий")
    • Balance
  • Cards — хранит информацию о картах, каждая карта связана с одним счетом.

    • CardID (PK)
    • AccountID (FK) — связь с счетом
    • CardType ("дебетовая", "кредитная")
    • CardNumber

Таким образом, клиент может иметь несколько счетов, некоторые из которых могут иметь карты, а некоторые — нет. Каждая карта привязана к одному счету.

Пример связи:

Clients (1) --- (N) Accounts (1) --- (N) Cards