互動SQL(Transact SQL,TSQL)
它是SQL Server的查詢語言。提供以下命令:
· 建立和資料庫物件。
· 存取和修改資料。
· 資料聚合(aggregation,又稱聚集)。
· 實施安全措施。
資料庫物件
資料庫物件是資料庫中的實體物件。這些物件擁有唯一的名字,並保存資料和資料關係資訊。 SQL Server定義瞭下列幾種物件:
1、 表(table)
表是用來儲存資料的兩維數組,它有行和列。列也稱為表屬性或字段,表中的每一列擁有唯一的名字,每一列包含具體的資料類型,這個資料類型由列中的資料類型定義。
2、 視圖(view)
視圖是虛擬的表,它只包含表的一部分。與表不同的是,保存在視圖中的數據並不是物理存儲的數據,它是由表派生的,派生表被稱為視圖的基本表。視圖的定義儲存在資料庫中。
3、 約束條件(constraint)
約束條件定義資料的完整性和有效性。約束條件為列中的值建立規則。換而言之,如果在某一列上定義了結束條件,則插入這一列的每一個值需要透過約束條件檢查。約束條件是在觸發器和規則上保證資料完整性和有效性的較佳選擇。 SQL Server Query Optimizer利用約束條件產生出低成本的查詢計劃。約束條件有以下類型:
· NOT NULL 這個約束條件要求列中不能有NULL值。
· CHECK 為列指定能擁有的值的集合後,檢查約束條件。列中任何在定義之外的資料都為無效資料。有效值集合稱為列的域。
· PRIMARY KEY 主關鍵字是列或列組合,它用來唯一標識一行。
· FOREIGN KEY 用來定義兩個表之間的父子關係。如果一個關鍵字既是一個表的主關鍵字的一部分,同時又是另一個表的主關鍵字,則稱它為外來關鍵字。外來關鍵字用來定義資料的引用完整性。
· UNIQUE 唯一限制條件是指無任何兩行在列中有相同的NON-NULL值。唯一性由主關鍵字保證,但他們不允許NULL值,並且每個表只能有一個關鍵字。
4、 預設值(default)
預設值是為列定義的值,如果在插入一行時沒有提供某一列的值,則此列使用預設值,預設值可以是以下的一種:
· 常數
· 數學表達式
· 內部函數(Built-in function)
5、 規則(rule)
規則執行和CHECK約束條件同樣的功能。但規則和約束條件不同的是:規則作為獨立的物件存在,它可以用於多個表,而約束條件則作為表的一部分儲存。然而,規則是作為向後相容特徵而提供的,建議使用者使用約束條件。
6、 觸發器和預存程序
觸發器和預存程序是一個TSQL命令集,它們作為一個物件儲存在資料庫中。
物件命名約定
SQL Server用三段式(three-part)名字標識物件:
..
前兩部分可以省略,系統有一個預設值。資料庫名稱的預設值是目前資料庫,擁有者名稱的預設值是資料庫擁有者(dbo)。
資料型別
任何包含資料的物件都有一個資料型別和它關聯。資料類型是指定物件能包含何種資料的屬性。
SQL Server資料型別
資料型態
說 明
同 義
Bit
1位元
Smallint
2字節,值為-2^15~2^15-1
Tinyint
1字節,值為0~255
Decimal (p,s)), ,寬度為S
Numeric
Money
8字節,存放貨幣類型,值為-2^63~2^63-1
Small money
4位元組,且存放貨幣值為214748.3647近似數值資料型別
Float (n)
N在1~24之間,4位元組,7位元精確度
N=1~7為real
N353 ,15位元精確度
=8~15為float
Datetime
8字節,描述某天的日期和時刻,數值的精確度為1/300秒
Smalldatetime與時刻,精準度為分鐘
Cursor
對遊標的引用
Timestamp
8字節,存放在資料庫內唯一的資料
字,唯一可存放Uniqueifier16) Char (n)
非unicode字串的固定長度,n=1~8000
Character (n)
Varchar (n)
可變長度,非unicode字串n=1~8000
Char varying(n)
Text
伺服器代碼頁中可變長度非unicode資料。最大長度為231-1個字元
Nchar
固定長度unicode字串n=1~4000
National character (n),
National char(n)
National character (n),
National char(n)
National character varying(n)
Ntext
可變長度unicode數據,最大長度為230-1個字元
National text
Binary (n)
National text
Binary (n)
National text
Binary (n)
National text
Binary (n)
固定長度 為n+4位元組
Varbinary (n)
可變長度二進位數據,n=1~8000
Binary varying (n)
Tmagecom
1) 對於數值型資料類型,寬度(scale)是指儲存在小數點後的數字位數,而精確度(precision)是指能儲存的包含小數點在內的所有數字位數。
2) money和small money的儲存寬度為4。
4) 唯一識別資料型別不能使用算術運算子(如+、-等),此資料型別只能使用相等比較運算。 Unicode是所有字元集的一致儲存資料的標準。它要使用兩倍於非Unicode資料儲存的儲存空間。