首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> SQL Server 資料庫 >> 關於SqlServer

MS SQL 基礎教學:建立資料庫表完整指南 (欄位屬性、NULL/NOT NULL、IDENTITY 自動編號、檔案群組)

     編輯:關於SqlServer

資料表是資料儲存核心容器。本文系統建立表的核心知識:1) 欄位屬性:名稱 (表內唯一)、資料型別、NULL|NOT NULL (預設 NOT NULL,可透過 SET ANSI_NULL_DFLT_ON 或 sp_dboption 'ANSI null default', true 變更)、IDENTITY (seed, increment) 自動產生唯一數值 (種子/增量預設 1,1);2) 建立表語法:CREATE TABLE schema.table (col_def..., constraints...) ON filegroup;3) Enterprise Manager 建立:右鍵 Tables → New Table → 欄位網格輸入屬性 → 設定主鍵/索引/約束 → 儲存命名。奠定後續約束、索引、資料操作章節基礎。

欄位核心屬性決策指南

屬性決策要點
資料型別選擇最小足夠型別:整數用 tinyint/smallint/int/bigint,定點用 decimal(p,s),字串用 varchar(n)/nvarchar(n),日期用 date/datetime2。
NULL/NOT NULL業務必填 → NOT NULL;選填 → NULL。避免不必要的 NULL 增加查詢複雜度 (三值邏輯)。
IDENTITY代理鍵 (Surrogate Key) 首選:INT IDENTITY(1,1) 或 BIGINT。種子/增量可自訂 (如負數遞減)。
DEFAULT常數/函數 (GETDATE, NEWID, USER) 自動填入,減少應用層邏輯。

CREATE TABLE 完整範例

CREATE TABLE dbo.Employees (
  EmpID int IDENTITY(1,1) NOT NULL,
  FirstName nvarchar(50) NOT NULL,
  LastName nvarchar(50) NOT NULL,
  HireDate date DEFAULT GETDATE() NOT NULL,
  Salary decimal(10,2) CHECK (Salary > 0),
  DeptID int NULL,
  CONSTRAINT PK_Employees PRIMARY KEY CLUSTERED (EmpID),
  CONSTRAINT FK_Employees_Departments FOREIGN KEY (DeptID) REFERENCES Departments(DeptID)
) ON [PRIMARY];

建立表介面

檔案群組 (ON filegroup) 應用

  • 將大表/索引分散至不同磁碟陣列,平衡 I/O。
  • 歸檔歷史資料至唯讀檔案群組,簡化備份。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved