第二章 數(shù)據(jù)庫(kù)表管理_第1頁(yè)
第二章 數(shù)據(jù)庫(kù)表管理_第2頁(yè)
第二章 數(shù)據(jù)庫(kù)表管理_第3頁(yè)
第二章 數(shù)據(jù)庫(kù)表管理_第4頁(yè)
第二章 數(shù)據(jù)庫(kù)表管理_第5頁(yè)
已閱讀5頁(yè),還剩30頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、2本章目標(biāo)使用企業(yè)管理器創(chuàng)建數(shù)據(jù)庫(kù)表使用企業(yè)管理器創(chuàng)建數(shù)據(jù)庫(kù)表設(shè)置表的主鍵、外鍵和建立表之間的關(guān)系設(shè)置表的主鍵、外鍵和建立表之間的關(guān)系為表增加約束為表增加約束3完整性包括2-1輸入的類(lèi)型是否正確?輸入的類(lèi)型是否正確?年齡必須是數(shù)字年齡必須是數(shù)字輸入的格式是否正確?輸入的格式是否正確?身份證號(hào)碼必須是身份證號(hào)碼必須是18位位是否在允許的范圍內(nèi)?是否在允許的范圍內(nèi)?性別只能是性別只能是”男男”或者或者”女女”是否存在重復(fù)輸入?是否存在重復(fù)輸入?學(xué)員信息輸入了兩次學(xué)員信息輸入了兩次是否符合其他特定要求?是否符合其他特定要求?信譽(yù)值大于信譽(yù)值大于5的用戶(hù)才能夠加入會(huì)員列表的用戶(hù)才能夠加入會(huì)員列表列值要

2、求(約束)整行要求(約束)4完整性包括2-2域完整性實(shí)體完整性引用完整性自定義完整性5實(shí)體完整性河南新鄉(xiāng)趙可以0010016河南新鄉(xiāng)張麗鵑0010015江西南昌雷銅0010014湖南新田吳蘭0010013山東定陶李山0010012. .地址地址姓名姓名學(xué)號(hào)學(xué)號(hào)江西南昌雷銅0010014約束方法:唯一約束、主鍵約束、標(biāo)識(shí)列約束方法:唯一約束、主鍵約束、標(biāo)識(shí)列6域完整性河南新鄉(xiāng)趙可以0010016河南新鄉(xiāng)張麗鵑0010015江西南昌雷銅0010014湖南新田吳蘭0010013山東定陶李山0010012. .地址地址姓名姓名學(xué)號(hào)學(xué)號(hào)湖北江門(mén)李亮8700000000約束方法:限制數(shù)據(jù)類(lèi)型、檢查約束、外

3、鍵約束、約束方法:限制數(shù)據(jù)類(lèi)型、檢查約束、外鍵約束、默認(rèn)值、非空約束默認(rèn)值、非空約束7引用完整性河南新鄉(xiāng)趙可以0010016河南新鄉(xiāng)張麗鵑0010015江西南昌雷銅0010014湖南新田吳蘭0010013山東定陶李山0010012地址地址姓名姓名學(xué)號(hào)學(xué)號(hào)980010021數(shù)學(xué)約束方法:外鍵約束約束方法:外鍵約束科目科目學(xué)號(hào)學(xué)號(hào)分?jǐn)?shù)分?jǐn)?shù)數(shù)學(xué)數(shù)學(xué)001001200100128888數(shù)學(xué)數(shù)學(xué)001001300100137474語(yǔ)文語(yǔ)文001001200100126767語(yǔ)文語(yǔ)文001001300100138181數(shù)學(xué)數(shù)學(xué)0010016001001698988通過(guò)查詢(xún)窗格定義表創(chuàng)建表的基本語(yǔ)法創(chuàng)建表的

4、基本語(yǔ)法 create table 表名表名 (列名列名 數(shù)據(jù)類(lèi)型數(shù)據(jù)類(lèi)型數(shù)據(jù)長(zhǎng)度數(shù)據(jù)長(zhǎng)度 identity(增長(zhǎng)的初始值增長(zhǎng)的初始值,增長(zhǎng)的長(zhǎng)度增長(zhǎng)的長(zhǎng)度) null/not null)例例:創(chuàng)建客戶(hù)表創(chuàng)建客戶(hù)表 Create table Customer (CustomerId bigint IDENTITY(1,1) NOT NULL, ClearedBalance money NOT NULL, CustomerTitleId int NOT NULL, CustomerFirstName nvarchar(50) not null, CustomerLastName nvarchar

5、(50) not null, Address nvarchar(50) not null, ProductId bigint not null, ProductDetail nvarchar(200) not null )9更改表通過(guò)查詢(xún)窗格更改表通過(guò)查詢(xún)窗格更改表 語(yǔ)法語(yǔ)法: Alter table 表名表名 Add 列名列名 數(shù)據(jù)類(lèi)型數(shù)據(jù)類(lèi)型長(zhǎng)度長(zhǎng)度 null/not null drop column 列名列名 Alter Column列名列名 數(shù)據(jù)類(lèi)型數(shù)據(jù)類(lèi)型長(zhǎng)度長(zhǎng)度 null/not null 例例:alter table student add birthday smalldate

6、null, alter column name varchar(10) null, drop column address10SQL Server的約束約束的目的:確保表中數(shù)據(jù)的完整型約束的目的:確保表中數(shù)據(jù)的完整型常用的約束類(lèi)型:常用的約束類(lèi)型:主鍵約束(主鍵約束(Primary Key Constraint):要求主鍵列數(shù)據(jù)唯一,并且不):要求主鍵列數(shù)據(jù)唯一,并且不允許為空允許為空唯一約束(唯一約束(Unique Constraint):要求該列唯一,允許為空,但只能):要求該列唯一,允許為空,但只能出現(xiàn)一個(gè)空值。出現(xiàn)一個(gè)空值。檢查約束(檢查約束(Check Constraint):某列取

7、值范圍限制、格式限制等,):某列取值范圍限制、格式限制等,如有關(guān)年齡的約束如有關(guān)年齡的約束默認(rèn)約束(默認(rèn)約束(Default Constraint):某列的默認(rèn)值,如我們的男性學(xué)員):某列的默認(rèn)值,如我們的男性學(xué)員較多,性別默認(rèn)為較多,性別默認(rèn)為“男男”外鍵約束(外鍵約束(Foreign Key Constraint):用于兩表間建立關(guān)系,需要指):用于兩表間建立關(guān)系,需要指定引用主表的那列定引用主表的那列11添加約束 添加約束的語(yǔ)法:添加約束的語(yǔ)法:ALTER TABLE 表名 ADD CONSTRAINT 約束名 約束類(lèi)型 具體的約束說(shuō)明q 約束名的取名規(guī)則推薦采用:約束類(lèi)型_約束字段q主

8、鍵(Primary Key)約束:如 PK_stuNoq唯一(Unique Key)約束:如 UQ_stuIDq默認(rèn)(Default Key)約束:如 DF_stuAddressq檢查(Check Key)約束:如 CK_stuAgeq外鍵(Foreign Key)約束:如 FK_stuNo 12添加約束示例演示:查看約束結(jié)果13創(chuàng)建數(shù)據(jù)庫(kù)表-114SQL Server的數(shù)據(jù)類(lèi)型分類(lèi)分類(lèi)備注和說(shuō)明備注和說(shuō)明數(shù)據(jù)類(lèi)型數(shù)據(jù)類(lèi)型說(shuō)明說(shuō)明二進(jìn)制數(shù)據(jù)類(lèi)二進(jìn)制數(shù)據(jù)類(lèi)型型存儲(chǔ)非子符和文本的數(shù)據(jù)存儲(chǔ)非子符和文本的數(shù)據(jù)Image可用來(lái)存儲(chǔ)圖像可用來(lái)存儲(chǔ)圖像文本數(shù)據(jù)類(lèi)型文本數(shù)據(jù)類(lèi)型字符數(shù)據(jù)包括任意字母、符字符數(shù)據(jù)

9、包括任意字母、符號(hào)或數(shù)字字符的組合號(hào)或數(shù)字字符的組合Char固定長(zhǎng)度的非固定長(zhǎng)度的非 Unicode 字字符數(shù)據(jù)符數(shù)據(jù)Varchar可變長(zhǎng)度非可變長(zhǎng)度非 Unicode 數(shù)據(jù)數(shù)據(jù)Nchar固定長(zhǎng)度的固定長(zhǎng)度的 Unicode 數(shù)據(jù)數(shù)據(jù)Nvarchar可變長(zhǎng)度可變長(zhǎng)度 Unicode 數(shù)據(jù)數(shù)據(jù)Text存儲(chǔ)長(zhǎng)文本信息存儲(chǔ)長(zhǎng)文本信息Ntext存儲(chǔ)可變長(zhǎng)度的長(zhǎng)文本存儲(chǔ)可變長(zhǎng)度的長(zhǎng)文本日期和時(shí)間日期和時(shí)間日期和時(shí)間在單引號(hào)內(nèi)輸入日期和時(shí)間在單引號(hào)內(nèi)輸入Datetime 日期和時(shí)間日期和時(shí)間數(shù)字?jǐn)?shù)據(jù)數(shù)字?jǐn)?shù)據(jù)該數(shù)據(jù)僅包含數(shù)字,包括正該數(shù)據(jù)僅包含數(shù)字,包括正數(shù)、負(fù)數(shù)以及分?jǐn)?shù)數(shù)、負(fù)數(shù)以及分?jǐn)?shù)intsmallin

10、t整數(shù)整數(shù)floatreal數(shù)字?jǐn)?shù)字貨幣數(shù)據(jù)類(lèi)型貨幣數(shù)據(jù)類(lèi)型用于十進(jìn)制貨幣值用于十進(jìn)制貨幣值MoneyBit數(shù)據(jù)類(lèi)型數(shù)據(jù)類(lèi)型表示是表示是/否的數(shù)據(jù)否的數(shù)據(jù)Bit存儲(chǔ)布爾數(shù)據(jù)類(lèi)型存儲(chǔ)布爾數(shù)據(jù)類(lèi)型15表的數(shù)據(jù)類(lèi)型用戶(hù)在創(chuàng)建表時(shí)需要根據(jù)數(shù)據(jù)的需要進(jìn)行數(shù)據(jù)類(lèi)型的選擇,從而方便用戶(hù)在創(chuàng)建表時(shí)需要根據(jù)數(shù)據(jù)的需要進(jìn)行數(shù)據(jù)類(lèi)型的選擇,從而方便的對(duì)數(shù)據(jù)進(jìn)行操作。上述作者表中,作者的名字應(yīng)為字符的對(duì)數(shù)據(jù)進(jìn)行操作。上述作者表中,作者的名字應(yīng)為字符(char)型。型。而成績(jī)表中的成績(jī)應(yīng)為浮點(diǎn)型而成績(jī)表中的成績(jī)應(yīng)為浮點(diǎn)型(float)。因而我們應(yīng)對(duì)數(shù)據(jù)類(lèi)型有比較。因而我們應(yīng)對(duì)數(shù)據(jù)類(lèi)型有比較深入的學(xué)習(xí)和了解。深入的學(xué)習(xí)和

11、了解。1、char (nchar存儲(chǔ)存儲(chǔ)unicode格式的字符格式的字符) ,固定數(shù)據(jù)類(lèi)型。如果定,固定數(shù)據(jù)類(lèi)型。如果定義義10個(gè)字符長(zhǎng)度的字段時(shí),注意如輸入個(gè)字符長(zhǎng)度的字段時(shí),注意如輸入”aaa”時(shí)將會(huì)變成時(shí)將會(huì)變成”aaa ”共共10個(gè)字符存進(jìn)硬盤(pán)中。最長(zhǎng)為個(gè)字符存進(jìn)硬盤(pán)中。最長(zhǎng)為8000字符。字符。2、varchar(nvarchar存儲(chǔ)存儲(chǔ)unicode格式的字符格式的字符),可變數(shù)據(jù)類(lèi)型。如,可變數(shù)據(jù)類(lèi)型。如果定義果定義10個(gè)字符長(zhǎng)度的字段時(shí),注意如輸入個(gè)字符長(zhǎng)度的字段時(shí),注意如輸入”aaa”時(shí)將會(huì)以時(shí)將會(huì)以3個(gè)字符個(gè)字符共存進(jìn)硬盤(pán)中。最長(zhǎng)為共存進(jìn)硬盤(pán)中。最長(zhǎng)為8000字符。字符。

12、3、text(ntext存儲(chǔ)存儲(chǔ)unicode格式的字符格式的字符),最大可存儲(chǔ)最大可存儲(chǔ)2G字符。字符。4、image,用于存儲(chǔ)任何類(lèi)型的二進(jìn)制數(shù)據(jù),包括圖像、視頻、音,用于存儲(chǔ)任何類(lèi)型的二進(jìn)制數(shù)據(jù),包括圖像、視頻、音樂(lè)。樂(lè)。165、int數(shù)據(jù)類(lèi)型用于存儲(chǔ)沒(méi)有小數(shù)點(diǎn)的數(shù)字值數(shù)據(jù)類(lèi)型用于存儲(chǔ)沒(méi)有小數(shù)點(diǎn)的數(shù)字值,從從-2147483648至至2147483647之間的數(shù)據(jù)。之間的數(shù)據(jù)。6、bigint數(shù)據(jù)類(lèi)型與數(shù)據(jù)類(lèi)型與int數(shù)據(jù)類(lèi)型相似,不同的是能存更大的數(shù)據(jù)數(shù)據(jù)類(lèi)型相似,不同的是能存更大的數(shù)據(jù)-9223372036854775808至至9223372036854775807。7、smalli

13、nt數(shù)據(jù)類(lèi)型與以上兩個(gè)數(shù)據(jù)差不多,只是存儲(chǔ)的數(shù)相對(duì)比數(shù)據(jù)類(lèi)型與以上兩個(gè)數(shù)據(jù)差不多,只是存儲(chǔ)的數(shù)相對(duì)比較小較小-32768至至32767。8、tinyint數(shù)據(jù)類(lèi)型比數(shù)據(jù)類(lèi)型比smallint的數(shù)據(jù)類(lèi)型更小,只能存儲(chǔ)的數(shù)據(jù)類(lèi)型更小,只能存儲(chǔ)0至至255的的數(shù)據(jù)。數(shù)據(jù)。9、decimal/numeric數(shù)據(jù)類(lèi)型用于存儲(chǔ)相同精度和范圍的數(shù)據(jù)數(shù)據(jù)類(lèi)型用于存儲(chǔ)相同精度和范圍的數(shù)據(jù)-1038到到1038-1的數(shù)據(jù)。的數(shù)據(jù)。10、float數(shù)據(jù)類(lèi)型用于存儲(chǔ)小數(shù)點(diǎn)不固定的數(shù)值,能存儲(chǔ)數(shù)據(jù)類(lèi)型用于存儲(chǔ)小數(shù)點(diǎn)不固定的數(shù)值,能存儲(chǔ)-1.79E+308至至1.79E+308的數(shù)據(jù)。的數(shù)據(jù)。1711、real數(shù)據(jù)類(lèi)型跟

14、數(shù)據(jù)類(lèi)型跟float數(shù)據(jù)類(lèi)型,存儲(chǔ)的數(shù)值范圍是數(shù)據(jù)類(lèi)型,存儲(chǔ)的數(shù)值范圍是 -3.40E+38至至3.40E+38的數(shù)值。的數(shù)值。12、money數(shù)據(jù)類(lèi)型存儲(chǔ)的范圍是數(shù)據(jù)類(lèi)型存儲(chǔ)的范圍是-922337203685477.5808至至922337203685477.5807的數(shù)值。的數(shù)值。13、smallmoney與與money相似,其存儲(chǔ)的數(shù)值范圍是相似,其存儲(chǔ)的數(shù)值范圍是 -214 748.3648至至214 748.3647。14、datetime日期類(lèi)型用于存儲(chǔ)日期類(lèi)型用于存儲(chǔ)1753年年1月月1日至日至9999年年12月月31日的日的時(shí)間。時(shí)間。15、smalldatetime與與dat

15、etime相類(lèi)似,其存儲(chǔ)范圍是從相類(lèi)似,其存儲(chǔ)范圍是從1900年年1月月1日至日至2079年年6月月6日日.16、binary以二進(jìn)制數(shù)據(jù)存儲(chǔ)數(shù)據(jù)。主要存儲(chǔ)作為標(biāo)記或標(biāo)記組合以二進(jìn)制數(shù)據(jù)存儲(chǔ)數(shù)據(jù)。主要存儲(chǔ)作為標(biāo)記或標(biāo)記組合的數(shù)據(jù)。的數(shù)據(jù)。17、varbinary,與,與binary相似,主要存儲(chǔ)類(lèi)似圖像的數(shù)據(jù)。相似,主要存儲(chǔ)類(lèi)似圖像的數(shù)據(jù)。18思考電話(huà)號(hào)碼一般使用什么數(shù)據(jù)類(lèi)型存儲(chǔ)電話(huà)號(hào)碼一般使用什么數(shù)據(jù)類(lèi)型存儲(chǔ)?性別一般使用什么數(shù)據(jù)類(lèi)型存儲(chǔ)性別一般使用什么數(shù)據(jù)類(lèi)型存儲(chǔ)?年齡信息一般使用什么數(shù)據(jù)類(lèi)型存儲(chǔ)年齡信息一般使用什么數(shù)據(jù)類(lèi)型存儲(chǔ)?照片信息一般使用什么數(shù)據(jù)類(lèi)型存儲(chǔ)照片信息一般使用什么數(shù)據(jù)類(lèi)型

16、存儲(chǔ)?薪水一般使用什么數(shù)據(jù)類(lèi)型存儲(chǔ)薪水一般使用什么數(shù)據(jù)類(lèi)型存儲(chǔ)?19創(chuàng)建數(shù)據(jù)庫(kù)表-220思考學(xué)員姓名允許為空嗎學(xué)員姓名允許為空嗎?家庭地址允許為空嗎家庭地址允許為空嗎?電子郵件信息允許為空嗎電子郵件信息允許為空嗎?考試成績(jī)?cè)试S為空嗎考試成績(jī)?cè)试S為空嗎?21創(chuàng)建數(shù)據(jù)庫(kù)表-322思考在主鍵列輸入的數(shù)值,允許為空嗎在主鍵列輸入的數(shù)值,允許為空嗎?在一個(gè)學(xué)校數(shù)據(jù)庫(kù)中,如果一個(gè)學(xué)校內(nèi)允許重名的學(xué)員,在一個(gè)學(xué)校數(shù)據(jù)庫(kù)中,如果一個(gè)學(xué)校內(nèi)允許重名的學(xué)員,但是一個(gè)班級(jí)內(nèi)不允許學(xué)員重名,可以組合班級(jí)和姓名兩但是一個(gè)班級(jí)內(nèi)不允許學(xué)員重名,可以組合班級(jí)和姓名兩個(gè)字段一起來(lái)作為主鍵嗎?個(gè)字段一起來(lái)作為主鍵嗎?23選擇主

17、鍵的原則最少性最少性盡量選擇單個(gè)鍵作為主鍵盡量選擇單個(gè)鍵作為主鍵穩(wěn)定性穩(wěn)定性盡量選擇數(shù)值更新少的列作為主鍵盡量選擇數(shù)值更新少的列作為主鍵24創(chuàng)建數(shù)據(jù)庫(kù)表-4表中沒(méi)有合適的列作為主鍵怎么辦?表中沒(méi)有合適的列作為主鍵怎么辦?25思考標(biāo)識(shí)列允許為字符數(shù)據(jù)類(lèi)型嗎?標(biāo)識(shí)列允許為字符數(shù)據(jù)類(lèi)型嗎?如果標(biāo)識(shí)列如果標(biāo)識(shí)列A的初始值為的初始值為1,增長(zhǎng)量為,增長(zhǎng)量為2,則輸入三行數(shù)據(jù),則輸入三行數(shù)據(jù)以后,再刪除兩行,下次再輸入數(shù)據(jù)行的時(shí)候,標(biāo)識(shí)值從以后,再刪除兩行,下次再輸入數(shù)據(jù)行的時(shí)候,標(biāo)識(shí)值從多少開(kāi)始?多少開(kāi)始?26創(chuàng)建數(shù)據(jù)庫(kù)表-527創(chuàng)建數(shù)據(jù)庫(kù)表-6演示建立主-外鍵關(guān)系28關(guān)系圖演示關(guān)系圖29主表和從表1、

18、當(dāng)主表中沒(méi)有當(dāng)主表中沒(méi)有對(duì)應(yīng)對(duì)應(yīng)的記錄時(shí),的記錄時(shí),不能不能將記錄添加到將記錄添加到子子表表成績(jī)表中不能出現(xiàn)在學(xué)員信息表中不存在的學(xué)號(hào);成績(jī)表中不能出現(xiàn)在學(xué)員信息表中不存在的學(xué)號(hào);2、不能不能更改主表中的值更改主表中的值而而導(dǎo)致導(dǎo)致子子表中的記錄孤立表中的記錄孤立把學(xué)員信息表中的學(xué)號(hào)改變了,學(xué)員成績(jī)表中的學(xué)號(hào)也應(yīng)當(dāng)隨之把學(xué)員信息表中的學(xué)號(hào)改變了,學(xué)員成績(jī)表中的學(xué)號(hào)也應(yīng)當(dāng)隨之改變;改變;3、子表子表存在與存在與主表對(duì)應(yīng)的主表對(duì)應(yīng)的記錄記錄,不能從,不能從主表中刪除主表中刪除該行該行不能不能把把有成績(jī)的有成績(jī)的學(xué)員刪除了學(xué)員刪除了4、刪除主表前,先刪子表刪除主表前,先刪子表先刪學(xué)員成績(jī)表、后刪除學(xué)員信息表先刪學(xué)員成績(jī)表、后刪除學(xué)員信息表30創(chuàng)建數(shù)據(jù)庫(kù)表-7演示建立檢查約束31創(chuàng)建數(shù)據(jù)庫(kù)表完畢!輸入數(shù)據(jù)項(xiàng),驗(yàn)證主鍵、主外鍵關(guān)系、檢查約束輸入數(shù)據(jù)項(xiàng),驗(yàn)證主鍵、主外鍵關(guān)系、檢查約束32導(dǎo)入-導(dǎo)出數(shù)據(jù)演示導(dǎo)出數(shù)據(jù)為EXCEL文件33總結(jié)SQL Server創(chuàng)建表的過(guò)程是規(guī)定數(shù)據(jù)列的

溫馨提示

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

評(píng)論

0/150

提交評(píng)論