一、表的基本概念
表是包含資料庫中所有資料的資料對象,表定義是一列集合
資料在表中的組織方式與在試算表中相似,都是按行和列的格式組織的
每一行代表一條唯一記錄,每一列代表記錄中的一個欄位
(1)、資料完整性
資料完整性是指資料的精確性和可靠性,它是應防止資料庫中存在不符合語義規定的資料和防止因錯誤資訊的輸入/輸出造成無效操作或錯誤資訊而提出的
1、實體完整性
實體完整性將行定義為特定表的唯一實體
實體完整性通過unque(唯一)索引,unque約束或Primary key(主鍵)約束,強製表的標識符列或主鍵的完整性
2、值域完整性
值域完整性指特定列的有效性
可以強制值域完整性限制類型(通過使用資料類型)、限制格式(通過使用check約束和規則)或限制可能值的範圍(通過使用foreign key約束、check約束、Default定義、Not Null定義和規則)
3、參考完整性
輸入或刪除行時,參考完整性保留表之間定義的關係
參考完整性通過foreign key(外鍵)和check(檢查)約束,以外鍵與主鍵之間或外鍵與唯一鍵之間的關係為基礎
參考完整性確保索引值在所有表中一致
4、使用者定義完整性
使用者定義完整性命名您可以定義不屬於其他任何完整性類別的特定商務規則,所有完整性類別都支援使用者定義完整性
(2)、主鍵
主鍵唯一標識表中的行資料,一個主索引值對應一行資料
主鍵由一個或多個字元段組成,其值具有唯一性,不允許取空值(Null),一個表只能有一個主鍵
如果主鍵由多個列組成,則其中一列將允許重複值,但是主鍵中所有列的值各種組合必須是唯一的
二、使用SSMS操作資料表
SQL Server中的每個資料庫最多可以儲存20億個表,每個表可以有1024列
表的行資料及總大小僅受可用儲存空間的限制,每行最多可以儲存8060位元組
(1)、資料類型
資料類型是資料的一種屬性,用於指定對象可儲存的資料的類型,如整數資料、字元資料、貨幣資料、日期和時間資料、二進位字串等
資料類型類別:“精準數字、近似數字、日期和時間、字串、unicode字串、二進位字串、其他資料類型”
【精準數字】
int:整數資料類型,幾乎所有數值型的資料都可以使用這種資料類型,可以儲存c 從-(-2147483648)到(2147483648)之間的整數,它佔用了4個位元組的空間。
bigint:儲存資料值超過int資料類型支援範圍,可以儲存-到之間的數值,它點用了8個位元組的空間
smallint:儲存一些常限定在特定範圍內的數實值型別資料,可以儲存從-(-32768)到(32768)之間的整數,它佔用了1個位元組的空間
tinyint:在儲存有限數目的數值時很有用,儲存從0到255之間的數值,它佔用1個位元組的空間
bit:整型資料,其值只能是0、1或Null(空值)。它只能儲存只有兩種可能值的資料,如“yes或no”,“Falce或on、off”
decimal:小數,用來儲存從-到-1的固定精度和範圍的數值型資料。使用它必須指定範圍和精度。‘範圍’是小資料點左右所能儲存的數位總位元。‘精度’是小數點右邊儲存的數位位元
numeric:numeric在功能上等介於decimal
money:用來表示錢和貨幣值。精確到貨幣單位的萬分之一。它佔用了8個位元組空間,從-922337203685477.5808到922337203685477.5807之間
sumallmoney:smallmoney在功能上等價於money。從-214748.3648到214748.3647之間
【近似數字】
float:用於表示浮點數值資料的大致數值資料類型。浮點數據為近似值,因此,並非資料類型範圍內的所有數值都能精確地表示。表示值在-1.79E+308到1.79E+308之間的任意數
real:用於表示浮點數值資料的大致數值資料類型。表示值在-3.40E+38到3.40E+38之間的浮點數
【日期和時間】
date:用來表示日期。它佔用了3個位元組空間,儲存從公元元年1月1日到公元9999年12月31日間所有的日期資料
time:用來表示一天中的某個時間。它佔用了5個位元組空間
datetime:用來表示日期和時間。它佔用了8個位元組空間。儲存從1753年1月1日到9999年12月31日間所有的日期和時間資料
datetime2:可將datetime2視作現有datetime類型的擴充。其資料範圍更大,預設的小數精度更高
datetime offset:用來表示日期和時間。與datetime2相比,增加了時區
smalldatetime:用來表示從1900年1月1日到2079年6月6日的日期和時間,精確到一分鐘,該資料類型佔用了4個位元組空間