本文提供一個可直接執行的 T-SQL 腳本,涵蓋資料庫建立、檔案群規劃、資料表結構定義、約束建立、測試資料插入與基本查詢,適合作為專案初始化或教學參考範本。
xp_cmdshell 建立資料檔目錄。Student(含計算欄位 Age)、Team、teacher。CREATE DATABASE Study
ON PRIMARY (
NAME = 'Study_data',
FILENAME = 'D:\data\Study_data.mdf',
SIZE = 10MB,
FILEGROWTH = 10%
)
LOG ON (
NAME = 'Study_log',
FILENAME = 'D:\data\Study_log.ldf',
SIZE = 1MB,
MAXSIZE = 20MB,
FILEGROWTH = 10%
);
GO
CREATE TABLE Student (
id INT IDENTITY(1,1) PRIMARY KEY,
[name] VARCHAR(20) NOT NULL,
sex CHAR(2) NOT NULL,
birthday DATETIME NOT NULL,
phone CHAR(11) NOT NULL,
remark TEXT,
tId INT NOT NULL,
age AS DATEDIFF(YEAR, birthday, GETDATE()) -- 計算欄位
);
GO
ALTER TABLE Student ADD
CONSTRAINT CH_sex CHECK (sex IN ('男','女')),
CONSTRAINT CH_birthday CHECK (birthday BETWEEN '1950-01-01' AND '1988-12-31'),
CONSTRAINT CH_phone CHECK (LEN(phone) = 11),
CONSTRAINT FK_tId FOREIGN KEY (tId) REFERENCES Team(id),
CONSTRAINT DF_remark DEFAULT ('請在這裡填寫備註') FOR remark;
GO
INSERT INTO Team VALUES ('第一組',1), ('第二組',2), ('第三組',3), ('第四組',4), ('第五組',5);
INSERT INTO Student (name,sex,birthday,phone,remark,tId)
VALUES ('張三','男','1982-6-9','23456789451','來自天津',1),
('李四','男','1987-6-9','78945678945','安徽',4),
('王五','男','1982-6-9','65987845651','大連',3),
('趙六','男','1981-6-9','25487965423','湖南',5),
('江七','男','1984-6-9','25487965423',5); -- 使用 DEFAULT remark
SELECT * FROM Team;
SELECT * FROM Student;
xp_cmdshell,建議由 DBA 手動建立目錄。age 不佔儲存空間,查詢時即時計算,適合年齡等衍生屬性。此腳本展示了從零到有的標準化建庫流程,可作為專案資料庫初始化的基準版本。