一、某一個連鎖商店要建置一個關聯式資料庫(Relational Database),請設計一個資料庫綱要(Database Schema)以滿足下列資料需求:
1.商店(Store):每一家商店有一個商店編號(SID)、商店名稱(Name)、以及商店所在的城市名稱(City),每一家商店的商店編號是唯一的。
2.顧客(Customer):每一位顧客有一個顧客編號(CID)、姓名(Name)、性別(Gender)、地址(Address)、以及若干個電話號碼(Phone),
每一位顧客的顧客編號是唯一的。
3.交易(Transaction):每一筆交易記錄顧客編號(CID)、商店編號(SID) 、交易日期與時間(Time)、以及交易金額(Amount),每一筆交易是由顧客編號、商店編號、以及交易日期與時間來唯一識別。

詳解 (共 2 筆)

蔡芷芸
蔡芷芸
詳解 #5650804
2022/11/05


(共 1 字,隱藏中)
前往觀看
hchungw
hchungw
詳解 #6106984
2024/05/24

為滿足上述資料需求,設計一個關聯式資料庫綱要如下:

1. 商店(Store)資料表

欄位名稱 資料型態 鍵
SID INT PRIMARY KEY
Name VARCHAR  
City VARCHAR  

2. 顧客(Customer)資料表

欄位名稱 資料型態 鍵
CID INT PRIMARY KEY
Name VARCHAR  
Gender CHAR(1)  
Address VARCHAR  

3. 顧客電話號碼(CustomerPhone)資料表

欄位名稱 資料型態 鍵
CID INT FOREIGN KEY REFERENCES Customer(CID)
Phone VARCHAR PRIMARY KEY (CID, Phone)

4. 交易(Transaction)資料表

欄位名稱 資料型態 鍵
CID INT FOREIGN KEY REFERENCES Customer(CID)
SID INT FOREIGN KEY REFERENCES Store(SID)
Time DATETIME PRIMARY KEY (CID, SID, Time)
Amount DECIMAL  
ㅤㅤ
CREATE TABLE Store (
    SID INT PRIMARY KEY,
    Name VARCHAR(255),
    City VARCHAR(255)
);
CREATE TABLE Customer (
    CID INT PRIMARY KEY,
    Name VARCHAR(255),
    Gender CHAR(1),
    Address VARCHAR(255)
);
CREATE TABLE CustomerPhone (
    CID INT,
    Phone VARCHAR(20),
    PRIMARY KEY (CID, Phone),
    FOREIGN KEY (CID) REFERENCES Customer(CID)
);
CREATE TABLE Transaction (
    CID INT,
    SID INT,
    Time DATETIME,
    Amount DECIMAL(10, 2),
    PRIMARY KEY (CID, SID, Time),
    FOREIGN KEY (CID) REFERENCES Customer(CID),
    FOREIGN KEY (SID) REFERENCES Store(SID)
);
  1. Store 資料表:儲存每家商店的基本資訊,包括唯一的商店編號(SID)、商店名稱(Name)和商店所在城市(City)。

  2. Customer 資料表:儲存每位顧客的基本資訊,包括唯一的顧客編號(CID)、姓名(Name)、性別(Gender)和地址(Address)。

  3. CustomerPhone 資料表:儲存顧客的電話號碼,每位顧客可以有多個電話號碼。這張表使用複合主鍵(CID, Phone)來唯一識別每個電話號碼,並且通過外鍵(CID)關聯到顧客資料表。

  4. Transaction 資料表:儲存交易資訊,包括顧客編號(CID)、商店編號(SID)、交易日期與時間(Time)和交易金額(Amount)。這張表的複合主鍵是(CID, SID, Time),並且通過外鍵(CID, SID)分別關聯到顧客和商店資料表。

此資料庫綱要能夠有效地儲存並管理連鎖商店的商店資訊、顧客資訊及交易記錄。