SQL數據庫表建立與刪除_第1頁
SQL數據庫表建立與刪除_第2頁
SQL數據庫表建立與刪除_第3頁
SQL數據庫表建立與刪除_第4頁
SQL數據庫表建立與刪除_第5頁
已閱讀5頁,還剩30頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、SQL Server 2005第1頁數據庫表的建立與刪除數據庫表的建立與刪除SQL Server 2005第2頁回顧n數據庫的作用n數據庫的發展過程以及當前流行的數據庫n數據庫基本概念:數據存儲方式、實體和記錄、數據庫和數據庫表、數據冗余和數據完整性n使用SQL Server管理平臺創建組、注冊n在SQL Server管理平臺中和T-SQL語句創建、刪除數據庫SQL Server 2005第3頁本章目標n使用SQL Server管理平臺創建和刪除數據庫表n使用T-SQL Server語句命令行創建和刪除數據庫表n設置數據庫表的主鍵、外鍵和建立表之間的關系n為數據庫表增加約束SQL Server

2、 2005第4頁數據完整性數據完整性數據完整性可靠性可靠性準確性準確性SQL Server 2005第5頁n數據存放在表中n“數據完整性的問題大多是由于設計引起的”n創建表的時候,就應當保證以后數據輸入是正確的錯誤的數據、不符合要求的數據不允許輸入創建表:保證數據的完整性創建表:保證數據的完整性 = 實施完整性約束實施完整性約束SQL Server 2005第6頁完整性包括n輸入的類型是否正確?出生日期不是字符n輸入的格式是否正確?身份證號碼是18位或15位n是否在允許的范圍內?性別只能是”男”或者”女”n是否存在重復輸入?學生信息輸入了兩次n是否符合其他特定要求?班級編號要受班級表的控制列值

3、要求(約束)整行要求(約束)SQL Server 2005第7頁完整性包括域完整性實體完整性引用完整性自定義完整性SQL Server 2005第8頁實體完整性男諸葛亮男劉備女蔡文姬男司馬懿男曹操.性別性別姓名姓名學號學號男趙云約束方法:唯一約束、主鍵約束、標識列約束方法:唯一約束、主鍵約束、標識列SQL Server 2005第9頁田地趙云1000000000域完整性約束方法:限制數據類型、檢查約束、外鍵約束、約束方法:限制數據類型、檢查約束、外鍵約束、默認值、非空約束默認值、非空約束男諸葛亮男劉備女蔡文姬男司馬懿男曹操.性別性別姓名姓名學號學號SQL Server 2005第10頁參照完整

4、性6530004約束方法:外鍵約束約束方法:外鍵約束課程編號學號班級人數300018830002null30003783000131031000178310310諸葛亮310310劉備310220蔡文姬310220司馬懿310220曹操.班級編號班級編號姓名姓名學號學號SQL Server 2005第11頁SQL Server管理平臺的表操作在對象資源管理器中演示打開表、數據輸入等操作SQL Server 2005第12頁創建數據庫表-數據類型SQL Server 2005第13頁SQL Server的數據類型分類備注和說明數據類型說明二進制數據類型存儲非字符和文本的數據Image可用來存儲圖

5、像文本數據類型字符數據包括任意字母、符號或數字字符的組合Char固定長度的非 Unicode 字符數據Varchar可變長度非 Unicode 數據Nchar固定長度的 Unicode 數據Nvarchar可變長度 Unicode 數據Text存儲長文本信息Ntext存儲可變長度的長文本日期和時間日期和時間在單引號內輸入Datetime 日期和時間數字數據該數據僅包含數字,包括正數、負數以及分數intsmallint整數floatreal數字貨幣數據類型用于十進制貨幣值MoneyBit數據類型表示是/否的數據Bit存儲布爾數據類型SQL Server 2005第14頁思考n電話號碼一般使用什么

6、數據類型存儲?n性別一般使用什么數據類型存儲?n年齡信息一般使用什么數據類型存儲?n照片信息一般使用什么數據類型存儲?n工資一般使用什么數據類型存儲?SQL Server 2005第15頁創建數據庫表-空約束SQL Server 2005第16頁n學號允許為空嗎?n姓名允許為空嗎?n家庭地址允許為空嗎?n電子郵件信息允許為空嗎?n考試成績允許為空嗎?思考SQL Server 2005第17頁創建數據庫表-主鍵SQL Server 2005第18頁n在主鍵列輸入的數值,允許為空嗎?n一個表可以有多個主鍵嗎?n在一個學校數據庫中,如果一個學校內允許重名的學員,但是一個班級內不允許學員重名,可以組合

7、班級和姓名兩個字段一起來作為主鍵嗎?思考SQL Server 2005第19頁n最少性n盡量選擇單個鍵作為主鍵n穩定性n盡量選擇數值更新少的列作為主鍵選擇主鍵的原則SQL Server 2005第20頁n表中沒有合適的列作為主鍵怎么辦?創建數據庫表-標識列SQL Server 2005第21頁n標識列允許為字符數據類型嗎?n如果標識列A的初始值為1,增長量為2,則輸入三行數據以后,再刪除兩行,下次再輸入數據行的時候,標識值從多少開始?思考SQL Server 2005第22頁標示列的實現必須注意:n1 標識列的數據類型必須是整型n2 定義成標識列后,需要分別指定標識種子和標識增量,默認值為1n

8、3 輸入該列數據時,第一次以標識種子開始,以后以標識增量增加數值n4 當刪除某一條記錄時,替他所有標識列的值不變,當增加一條新記錄時,仍以前一條輸入的標示列的值為基礎,按標識增量增加。SQL Server 2005第23頁創建數據庫表-默認約束SQL Server 2005第24頁創建數據庫表外鍵SQL Server 2005第25頁演示建立主-外鍵關系創建數據庫表外鍵SQL Server 2005第26頁演示建立主-外鍵關系SQL Server 2005第27頁演示關系圖關系圖SQL Server 2005第28頁n1、當主表中沒有對應的記錄時,不能將記錄添加到子表成績表中不能出現在學員信息

9、表中不存在的學號;n2、不能更改主表中的值而導致子表中的記錄孤立把學員信息表中的學號改變了,學員成績表中的學號也應當隨之改變;n3、子表存在與主表對應的記錄,不能從主表中刪除該行不能把有成績的學員刪除了n4、刪除主表前,先刪子表先刪學員成績表、后刪除學員信息表主表和從表SQL Server 2005第29頁演示建立檢查約束創建數據庫表檢查約束SQL Server 2005第30頁T-SQL 語句命令的表操作create table ( 列名列名1 列的數據類型及寬度等特征,列的數據類型及寬度等特征, 列名列名2 列的數據類型及寬度等特征,列的數據類型及寬度等特征,)SQL Server 200

10、5第31頁T-SQL 語句命令的表操作主鍵約束空約束默認約束檢查約束唯一性約束外鍵約束SQL Server 2005第32頁輸入數據項,驗證主鍵、主外鍵關系、檢查約束輸入數據項,驗證主鍵、主外鍵關系、檢查約束創建數據庫表約束SQL Server 2005第33頁n如果用戶想自己給以約束定義一個名稱,則需要把每一個約束修改為constraint 用戶定義的約束名形式n create table tblstudent (stud_id char (8) constraint pk_tblstud primary key, stud_name varchar(8) not null, stud_se

11、x char(2) constraint df_stud default 男 constraint ck_stud check (stud_sex in (男, 女)), Birth datetime, enroll datetime, identity_id varchar(18) constraint uq_stud unique, class_id char(6) constraint fk_stud foreign key references tblclass(class_id) )SQL Server 2005第34頁總結nSQL Server創建表的過程是規定數據列的屬性的過程,同時也是實施數據完整性(包括實體完整性、引用完整性和域完整性等)保證的過程n實體完整性數據行不能存在重復,引用完整性要求子表中的相關項必須在主表中存在n域完整性實現了對輸入到特定列的數值的限制nSQL Server中存在五種約束,分別是:主

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論