以下是使用 SQL 的 DDL 語句來定義 Place、Person 和 EnterRecord 資料表,包括主鍵和外來鍵的定義以及參照完整性約束:
定義 Place 資料表
CREATE TABLE Place (
placeID INT PRIMARY KEY,
placeName VARCHAR(255) NOT NULL,
countyCity VARCHAR(255) NOT NULL,
district VARCHAR(255) NOT NULL,
address VARCHAR(255) NOT NULL
);
定義 Person 資料表
CREATE TABLE Person (
mobile VARCHAR(15) PRIMARY KEY,
name VARCHAR(255) NOT NULL,
telecomProvider VARCHAR(255) NOT NULL
);
定義 EnterRecord 資料表
CREATE TABLE EnterRecord (
placeID INT,
mobile VARCHAR(15),
date DATE,
time TIME,
PRIMARY KEY (placeID, mobile, date, time),
FOREIGN KEY (placeID) REFERENCES Place(placeID),
FOREIGN KEY (mobile) REFERENCES Person(mobile)
);
綜合 SQL DDL 語句
以下是綜合的 SQL DDL 語句,定義所有資料表及其關聯:
CREATE TABLE Place (
placeID INT PRIMARY KEY,
placeName VARCHAR(255) NOT NULL,
countyCity VARCHAR(255) NOT NULL,
district VARCHAR(255) NOT NULL,
address VARCHAR(255) NOT NULL
);
CREATE TABLE Person (
mobile VARCHAR(15) PRIMARY KEY,
name VARCHAR(255) NOT NULL,
telecomProvider VARCHAR(255) NOT NULL
);
CREATE TABLE EnterRecord (
placeID INT,
mobile VARCHAR(15),
date DATE,
time TIME,
PRIMARY KEY (placeID, mobile, date, time),
FOREIGN KEY (placeID) REFERENCES Place(placeID),
FOREIGN KEY (mobile) REFERENCES Person(mobile)
);
這些語句會創建 Place、Person 和 EnterRecord 資料表,並適當地設置主鍵和外來鍵約束以確保資料的一致性和參照完整性。