阿摩線上測驗 登入

申論題資訊

試卷:107年 - 107 鐵路特種考試_員級_資訊處理:資料處理概要#69661
科目:資料處理
年份:107年
排序:0

題組內容

一、請根據以下某家銀行對於記錄及儲存資料的要求,設計關聯式資料庫結構(Relational Database Schema),要標出主鍵(Primary Key) 、外來鍵(Foreign Key)及每一外來 鍵所參考的主鍵:(20 分)

申論題內容

⑷需記錄那一個客戶擁有那一筆存款,一個客戶只能有一個存款帳號,但一個存款 帳號可以多個客戶共用

詳解 (共 1 筆)

詳解 提供者:hchungw
欄位名稱(Column Name)
存款帳號(DepositID) - 主鍵(Primary Key)
存款餘額(Balance)
客戶編號(CustomerID) - 外來鍵(Foreign Key)參考客戶資料表的主鍵
存款資料表的 SQL 語句:

        
        
CREATE TABLE Deposits (
    DepositID INT PRIMARY KEY,
    Balance DECIMAL(10, 2),
    CustomerID INT,
    FOREIGN KEY (CustomerID) REFERENCES Customers(CustomerID)
);
這樣設計的資料庫結構可以有效管理客戶資料、帳戶資料、交易資料、貸款資料以及存款資料,同時確保資料之間的關聯性和完整性。
需記錄那一個客戶擁有那一筆存款,一個客戶只能有一個存款帳號,但一個存款 帳號可以多個客戶共用
ChatGPT
為了記錄一個客戶擁有那一筆存款,並且考慮到一個客戶只能有一個存款帳號,但一個存款帳號可以被多個客戶共用的需求,我們需要在資料庫結構中加入一個關聯表來管理客戶與存款之間的多對一關係。以下是更新後的關聯式資料庫結構:
客戶資料表(Customers)
欄位名稱(Column Name)
客戶編號(CustomerID) - 主鍵(Primary Key)
客戶姓名(Name)
地址(Address)
客戶資料表的 SQL 語句:

        
CREATE TABLE Customers (
    CustomerID INT PRIMARY KEY,
    Name VARCHAR(255),
    Address VARCHAR(255)
);
帳戶資料表(Accounts)
欄位名稱(Column Name)
帳戶編號(AccountID) - 主鍵(Primary Key)
帳戶類型(AccountType)
開戶日期(OpenDate)
客戶編號(CustomerID) - 外來鍵(Foreign Key)參考客戶資料表的主鍵
帳戶資料表的 SQL 語句:

        
        
CREATE TABLE Accounts (
    AccountID INT PRIMARY KEY,
    AccountType VARCHAR(50),
    OpenDate DATE,
    CustomerID INT,
    FOREIGN KEY (CustomerID) REFERENCES Customers(CustomerID)
);
交易資料表(Transactions)
欄位名稱(Column Name)
交易編號(TransactionID) - 主鍵(Primary Key)
交易日期(TransactionDate)
交易金額(Amount)
帳戶編號(AccountID) - 外來鍵(Foreign Key)參考帳戶資料表的主鍵
交易資料表的 SQL 語句:

        
        
CREATE TABLE Transactions (
    TransactionID INT PRIMARY KEY,
    TransactionDate DATE,
    Amount DECIMAL(10, 2),
    AccountID INT,
    FOREIGN KEY (AccountID) REFERENCES Accounts(AccountID)
);
貸款資料表(Loans)
欄位名稱(Column Name)
貸款帳號(LoanID) - 主鍵(Primary Key)
貸款金額(Amount)
客戶編號(CustomerID) - 外來鍵(Foreign Key)參考客戶資料表的主鍵
貸款資料表的 SQL 語句:

        
        
CREATE TABLE Loans (
    LoanID INT PRIMARY KEY,
    Amount DECIMAL(10, 2),
    CustomerID INT,
    FOREIGN KEY (CustomerID) REFERENCES Customers(CustomerID)
);
存款資料表(Deposits)
欄位名稱(Column Name)
存款帳號(DepositID) - 主鍵(Primary Key)
存款餘額(Balance)
存款資料表的 SQL 語句:

        
        
CREATE TABLE Deposits (
    DepositID INT PRIMARY KEY,
    Balance DECIMAL(10, 2)
);
客戶存款關聯表(CustomerDeposits)
欄位名稱(Column Name)
客戶編號(CustomerID) - 外來鍵(Foreign Key)參考客戶資料表的主鍵
存款帳號(DepositID) - 外來鍵(Foreign Key)參考存款資料表的主鍵
複合主鍵(Composite Primary Key)(CustomerID, DepositID)
客戶存款關聯表的 SQL 語句:

        
CREATE TABLE CustomerDeposits (
    CustomerID INT,
    DepositID INT,
    PRIMARY KEY (CustomerID, DepositID),
    FOREIGN KEY (CustomerID) REFERENCES Customers(CustomerID),
    FOREIGN KEY (DepositID) REFERENCES Deposits(DepositID)
);
這樣設計的資料庫結構可以有效管理客戶資料、帳戶資料、交易資料、貸款資料以及存款資料,同時確保客戶與存款之間的多對一關聯性和資料的完整性。