版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
資料庫基本概念1.1.1數(shù)據(jù)模型1.1.1數(shù)據(jù)模型
(1)關(guān)係模型以二維表格(關(guān)係表)的形式組織資料庫中的數(shù)據(jù)。學(xué)號姓名專業(yè)名性別出生時(shí)間總學(xué)分備註001101王林電腦男1980-02-1050
001102程明電腦男1981-02-0150
001103王燕電腦女1979-10-0650
001104韋嚴(yán)平電腦男1980-08-2650
001106李方方電腦男1980-11-2050
001107李明電腦男1980-05-0154提前修完《數(shù)據(jù)結(jié)構(gòu)》,並獲學(xué)分001108林一帆電腦男1979-08-0552已提前修完一門課001109張強(qiáng)民電腦男1978-08-1150
001110張蔚電腦女1981-07-2250三好生001111趙琳電腦女1980-03-1850
001113嚴(yán)紅電腦女1979-08-1148有一門功課不及格,待補(bǔ)考1.1.1數(shù)據(jù)模型學(xué)生資訊表001201王敏通信工程男1978-06-1042
001202王林通信工程男1979-01-2940有一門課不及格,待補(bǔ)考001203王玉民通信工程男1980-03-2642
001204馬琳琳通信工程女1978-02-1042
001206李計(jì)通信工程男1979-09-2042
001210李紅慶通信工程男1979-05-0144已提前修完一門課,並獲得學(xué)分001216孫祥欣通信工程男1978-03-0942
001218孫研通信工程男1980-10-0942
001220吳薇華通信工程女1980-03-1842
001221劉燕敏通信工程女1979-11-1242
001241羅林琳通信工程女1980-01-3050轉(zhuǎn)專業(yè)學(xué)習(xí)1.1.1數(shù)據(jù)模型課程資訊表
課程號課程名類別開課學(xué)期學(xué)時(shí)學(xué)分0101電腦導(dǎo)論216430102C++程式設(shè)計(jì)1210040103數(shù)據(jù)結(jié)構(gòu)1312050104電腦組成原理139640105操作系統(tǒng)1412050106資料庫原理1411250107電腦網(wǎng)絡(luò)159640108電腦新技術(shù)313220201國際貿(mào)易概論227230202經(jīng)營管理138040203系統(tǒng)工程149651.1.1數(shù)據(jù)模型成績資訊表
學(xué)號課程號成績學(xué)號課程號成績學(xué)號課程號成績0011011018000110710178001111206760011011027800110710280001113101630011012067600110720668001113102790011031016200110810185001113206600011031027000110810264001201101800011032068100110820687001202101650011041019000110910166001203101870011041028400110910283001204101910011042066500110920670001210101760011021027800111010195001216101810011022067800111010290001218101700011061016500111020689001220101820011061027100111110191001221101760011062068000111110270001241101901.1.1數(shù)據(jù)模型(2)層次模型以樹型層次結(jié)構(gòu)組織數(shù)據(jù)。
1.1.1數(shù)據(jù)模型(3)網(wǎng)狀模型每一個(gè)數(shù)據(jù)用一個(gè)節(jié)點(diǎn)表示,每個(gè)節(jié)點(diǎn)與其它節(jié)點(diǎn)都有聯(lián)繫,這樣資料庫中的所有數(shù)據(jù)節(jié)點(diǎn)就構(gòu)成了一個(gè)複雜的網(wǎng)路。1.1.2E-R模型學(xué)生成績管理系統(tǒng)中的實(shí)體集及每個(gè)實(shí)體集涉及的屬性。1.1.2E-R模型(1)一對一的聯(lián)繫(1:1)
1.1.2E-R模型(2)一對多的聯(lián)繫(1:n)
1.1.2E-R模型(3)多對多的聯(lián)繫(m:n)
1.1.3邏輯結(jié)構(gòu)設(shè)計(jì)1.(1:1)聯(lián)繫的E-R圖到關(guān)係模式的轉(zhuǎn)換
(1)聯(lián)繫單獨(dú)對應(yīng)一關(guān)係模式,則由聯(lián)繫屬性、參與聯(lián)繫的各實(shí)體集的主碼屬性構(gòu)成關(guān)係模式,其主碼可選參與聯(lián)繫的實(shí)體集的任一方的主碼。
BJ(班級編號,院系,專業(yè)名,人數(shù)) BZ(學(xué)號,姓名)SY(學(xué)號,班級編號)(2)聯(lián)繫不單獨(dú)對應(yīng)一關(guān)係模式,聯(lián)繫的屬性及一方的主碼加入另一方實(shí)體集對應(yīng)的關(guān)係模式中。BJ(班級編號,院系,專業(yè)名,人數(shù))BZ(學(xué)號,姓名,班級編號)或者BJ(班級編號,院系,專業(yè)名,人數(shù),學(xué)號)BZ(學(xué)號,姓名)1.1.3邏輯結(jié)構(gòu)設(shè)計(jì)2.(1:n)聯(lián)繫的E-R圖到關(guān)係模式的轉(zhuǎn)換(1)聯(lián)繫單獨(dú)對應(yīng)一關(guān)係模式,則由聯(lián)繫的屬性、參與聯(lián)繫的各實(shí)體集的主碼屬性構(gòu)成關(guān)係模式,n端的主碼作為該關(guān)係模式的主碼。BJ(班級編號,院系,專業(yè)名,人數(shù))XS(學(xué)號,姓名,專業(yè)名,性別,出生時(shí)間,總學(xué)分,備註)SY(學(xué)號,班級編號)(2)聯(lián)繫不單獨(dú)對應(yīng)一個(gè)關(guān)係模式,則將聯(lián)繫的屬性及1端的主碼加入n端實(shí)體集對應(yīng)的關(guān)係模式中,主碼仍為n端的主碼。BJ(班級編號,院系,專業(yè)名,人數(shù))XS(學(xué)號,姓名,專業(yè)名,性別,出生時(shí)間,總學(xué)分,備註,班級編號)1.1.3邏輯結(jié)構(gòu)設(shè)計(jì)3.(m:n)聯(lián)繫的E-R圖到關(guān)係模式的轉(zhuǎn)換
對於(m:n)的聯(lián)繫,單獨(dú)對應(yīng)一關(guān)係模式,該關(guān)係模式包括聯(lián)繫的屬性、參與聯(lián)繫的各實(shí)體集的主碼屬性,該關(guān)係模式的主碼由各實(shí)體集的主碼屬性共同組成。例如:圖描述的“學(xué)生(XS)”與“課程(KC)”實(shí)體集之間的聯(lián)繫可設(shè)計(jì)如下關(guān)係模式:
XS(學(xué)號,姓名,專業(yè)名,性別,出生時(shí)間,總學(xué)分,備註)KC(課程號,課程名稱,類別,開課學(xué)期,學(xué)時(shí),學(xué)分)
XS_KC(學(xué)號,課程號,成績)
關(guān)係模式XS_KC的主碼是由“學(xué)號”和“課程號”兩個(gè)屬性組合起來構(gòu)成的一個(gè)主碼,一個(gè)關(guān)係模式只能有一個(gè)主碼。1.2.1SQLServer2000簡介SQLServer2000是一個(gè)基於客戶機(jī)/伺服器(C/S)模式的關(guān)係資料庫管理系統(tǒng)。1.2.2SQLServer2000軟硬體環(huán)境
安裝SQLServer2000除了要有合適的Windows操作系統(tǒng)外,還應(yīng)確保電腦能滿足其硬體要求。硬體名稱最低要求電腦Intel或其相容機(jī),Pentium166MHz,或更高
記憶體(RAM)企業(yè)版:64MB標(biāo)準(zhǔn)版:32MB
硬碟空間要求SQLServer2000:180MB(完全安裝)、170MB(典型安裝)、65MB(最小安裝)、90MB(只安裝客戶端工具)
安裝SQLServer2000的Windows操作系統(tǒng)對硬體最低要求見Windows操作系統(tǒng)的有關(guān)說明。1.2.3SQLServer2000的安裝
SQLServer2000的安裝步驟如下:第1步將SQLServer2000安裝盤放入光驅(qū),運(yùn)行光驅(qū)中的autorun.exe,出現(xiàn)安裝介面,如圖所示。第2步選擇“安裝資料庫伺服器”選項(xiàng),進(jìn)入安裝嚮導(dǎo)的歡迎窗口,按照安裝嚮導(dǎo)提示的單擊“下一步”,選擇本地電腦/遠(yuǎn)程電腦。1.2.3SQLServer2000的安裝第3步進(jìn)入SQLServer2000的安裝選項(xiàng)窗口,如圖1.10所示。選“創(chuàng)建新的SQLServer實(shí)例,或安裝客戶端工具(C)”,單擊“下一步”。第4步系統(tǒng)顯示對話框,用戶輸入姓名和公司名,單擊“下一步”。第5步選擇“創(chuàng)建新的SQLServer的伺服器實(shí)例或安裝客戶端工具”,此時(shí),安裝嚮導(dǎo)將進(jìn)一步給用戶提供如圖1.11所示的選擇:
僅客戶端:若已有數(shù)據(jù)庫伺服器,只需安裝客戶端工具時(shí)選擇此項(xiàng)。
伺服器和客戶端:用於安裝資料庫伺服器和客戶機(jī)工具。
僅連接:用於應(yīng)用程式開發(fā)時(shí)使用,只是安裝連接工具。1.2.3SQLServer2000的安裝
第6步選擇安裝伺服器和客戶端,並輸入伺服器實(shí)例名,則進(jìn)入安裝類型選擇窗口。
典型安裝。系統(tǒng)默認(rèn)的安裝選項(xiàng),也是最常用的安裝選項(xiàng),此方式下將安裝SQLServer2000的全部管理工具及SQLServer2000的線上手冊。最小安裝。僅安裝使用SQLServer2000資料庫管理系統(tǒng)必須的選項(xiàng),主要為配置較低的用戶使用。自定義安裝。允許在安裝SQLServer2000的過程中,用戶根據(jù)自己的需要,選擇安裝內(nèi)容,這一安裝方式適用於有經(jīng)驗(yàn)的用戶。1.2.3SQLServer2000的安裝第7步選擇啟動(dòng)“服務(wù)帳戶”,確定SQLServer服務(wù)和SQLServer代理服務(wù)是同一帳戶用戶啟動(dòng),還是由不同帳戶用戶啟動(dòng)。1.2.3SQLServer2000的安裝第8步進(jìn)入身份驗(yàn)證模式窗口,如圖所示。Windows驗(yàn)證模式:使用WindowsNT、Windows2000、Windows2003上的登錄帳戶進(jìn)行連接,SQLServer利用Windows操作系統(tǒng)的用戶安全特性控制登錄訪問,實(shí)現(xiàn)了SQLServer與WindowsNT、Windows2000、Windows2003的登錄安全集成?;旌夏J?Windows身份驗(yàn)證和SQLServer身份驗(yàn)證):使用Windows身份驗(yàn)證或SQLServer身份驗(yàn)證與SQLServer連接。1.2.3SQLServer2000的安裝第9步選擇授權(quán)模式,如圖所示。
1.3.1SQLServer2000伺服器組件
SQLServer2000伺服器組件是SQLServer2000系統(tǒng)的主要服務(wù)單元。主要包括:
SQLServer資料庫引擎(MSSQLServer服務(wù))
SQLServer代理程式(SQLServerAgent服務(wù))
Microsoft搜索服務(wù)分佈式事務(wù)處理協(xié)調(diào)器(MSDTC服務(wù))。SQLServer2000伺服器組件可由SQLServer服務(wù)管理器啟動(dòng)、停止和暫停。
1.SQLServer資料庫引擎
(1)默認(rèn)實(shí)例:SQLServer2000默認(rèn)實(shí)例僅由運(yùn)行該實(shí)例的電腦的名稱唯一標(biāo)識,它沒有單獨(dú)的實(shí)例名,默認(rèn)實(shí)例的服務(wù)名稱為MSSQLServer。(2)命名實(shí)例:除默認(rèn)實(shí)例外,所有資料庫引擎實(shí)例都由安裝該實(shí)例的過程中指定的實(shí)例名標(biāo)識。1.3.1SQLServer2000伺服器組件2.SQLServer代理程式實(shí)現(xiàn)運(yùn)行調(diào)度的SQLServer管理任務(wù)的代理程式。在電腦上運(yùn)行的每個(gè)SQLServer實(shí)例都有一個(gè)SQLServer代理服務(wù)。3.Microsoft搜索服務(wù)僅用於WindowsNT、Windows2000和Windows2003,實(shí)現(xiàn)全文本檢索引擎。不論電腦上有多少個(gè)SQLServer實(shí)例,都只有一個(gè)搜索服務(wù)。4.分佈式事務(wù)處理協(xié)調(diào)器僅用於WindowsNT、Windows2000和Windows2003,管理分佈式事務(wù)。不論電腦上有多少個(gè)SQLServer實(shí)例,都只有一個(gè)MSDTC服務(wù)。1.3.2SQLServer2000服務(wù)啟動(dòng)和停止
1.啟動(dòng)和停止SQLServer伺服器實(shí)例啟動(dòng)和停止SQLServer伺服器實(shí)例有下列方法:(1)在操作系統(tǒng)啟動(dòng)時(shí)自動(dòng)啟動(dòng)每個(gè)服務(wù)。開始
所有程式
管理工具
服務(wù),系統(tǒng)打開Windows2003服務(wù)窗口如圖。選擇名稱為“MSSQLSERVER”的服務(wù),單擊“操作”菜單
選“啟動(dòng)”菜單項(xiàng)。1.3.2SQLServer2000服務(wù)啟動(dòng)和停止(2)用SQLServer服務(wù)管理器啟動(dòng)或停止服務(wù)。開始
所有程式
MicrosoftSQLServer
服務(wù)管理器,則進(jìn)入服務(wù)管理器介面,如圖
1.3.2SQLServer2000服務(wù)啟動(dòng)和停止(3)在WindowsNT或Windows2000中,使用netstart和netstop命令啟動(dòng)或停止SQLServer伺服器服務(wù),如圖所示。(4)用SQLServer企業(yè)管理器啟動(dòng)或停止服務(wù)。第1步選擇開始
所有程式
MicrosoftSQLServer
企業(yè)管理器,進(jìn)入企業(yè)管理器介面,右邊為系統(tǒng)安裝時(shí)建立的默認(rèn)SQLServer組的圖示。第2步雙擊SQLServer組圖示,右邊顯示的是系統(tǒng)安裝時(shí)建立的默認(rèn)伺服器實(shí)例的圖示,圖中的伺服器實(shí)例處於停止?fàn)顟B(tài)。1.3.2SQLServer2000服務(wù)啟動(dòng)和停止啟動(dòng)企業(yè)管理器後的介面未啟動(dòng)伺服器服務(wù)時(shí)的企業(yè)管理器第3步雙擊該圖示,系統(tǒng)將啟動(dòng)SQLServer伺服器的服務(wù),並建立企業(yè)管理器與該實(shí)例的連接,如圖所示。1.3.3設(shè)置Windows服務(wù)帳戶
Windows兩種類型的服務(wù)帳戶:本地系統(tǒng)帳戶:本地系統(tǒng)帳戶不需要設(shè)置密碼,沒有網(wǎng)路訪問許可權(quán),使用本地系統(tǒng)帳戶限制了SQLServer與其它伺服器的通信。(2)域用戶帳戶:只有使用域用戶帳戶時(shí),一些伺服器到伺服器的活動(dòng)才能進(jìn)行。默認(rèn)情況下,顯示當(dāng)前登錄到電腦的域用戶的帳戶資訊。所有域用戶帳戶必須滿足如下條件:帳戶必須是Administrators本地組的成員。帳戶密碼必須是永久有效(即設(shè)置PasswordNeverExpires屬性)。該帳戶有在SQLServer電腦上登錄的全部服務(wù)許可權(quán),並可在任意時(shí)間登錄。
在WindowsNT、2000、2003環(huán)境下安裝SQLServer2000,首先要?jiǎng)?chuàng)建Windows服務(wù)帳戶。SQLServer2000中的SQLServer、SQLServerAgent和MS-DTC都是作為服務(wù)啟動(dòng)和運(yùn)行的。1.4.1SQL企業(yè)管理器
SQLServer2000企業(yè)管理器(SQLEnterpriseManager)是Microsoft管理控制臺(MMC)的管理單元組件。MMC支持從單個(gè)控制臺管理多種類型的伺服器,企業(yè)管理器是按照“資料庫伺服器組”
“資料庫伺服器”
“資料庫”
“資料庫對象(表、視圖等)”這樣一個(gè)層次結(jié)構(gòu)組織對象並進(jìn)行管理的。1.4.1SQL企業(yè)管理器企業(yè)管理器的主要功能如下:註冊伺服器配置本地伺服器配置遠(yuǎn)程伺服器配置多重伺服器設(shè)置登錄安全性對數(shù)據(jù)庫、資料庫對象進(jìn)行管理和操作創(chuàng)建警告建立操作員為獨(dú)立的環(huán)境創(chuàng)建和安排作業(yè)為多重伺服器環(huán)境創(chuàng)建和安排作業(yè)創(chuàng)建和管理複製方案為企業(yè)管理器設(shè)置輪詢間隔1.4.2SQL查詢分析器1.從SQLServer企業(yè)管理器調(diào)用SQL查詢分析器選擇菜單:“工具”
“SQL查詢分析器”。
1.4.2SQL查詢分析器2.由“開始”任務(wù)欄進(jìn)入查詢分析器從“開始”任務(wù)欄,選擇“程式”
“MicrosoftSQLServer”“查詢分析器”。若要連接網(wǎng)上其他的SQLServer伺服器,選擇菜單項(xiàng):檔
連接,出現(xiàn)如圖所示的對話框。1.5註冊伺服器註冊伺服器後,將該伺服器加入指定的伺服器組。利用企業(yè)管理器註冊伺服器的步驟:第1步啟動(dòng)企業(yè)管理器
選擇SQLServer伺服器組圖示
右擊,出現(xiàn)圖所示的快捷菜單;第2步選擇“新建SQLServer伺服器註冊”快捷菜單項(xiàng),進(jìn)入圖伺服器註冊嚮導(dǎo);第3步選擇“下一步”,進(jìn)入添加可用伺服器的的介面;第4步選擇“下一步”,進(jìn)入SQLServer伺服器註冊嚮導(dǎo)的身份驗(yàn)證介面;第5步選擇“下一步”,進(jìn)入SQLServer伺服器註冊嚮導(dǎo)選擇連接選項(xiàng)的介面;1.5註冊伺服器第6步選擇“下一步”,進(jìn)入圖所示SQLServer伺服器註冊嚮導(dǎo)選擇伺服器組的介面;第7步選擇“下一步”,進(jìn)入註冊完成介面,然後與註冊的伺服器連接,以檢測伺服器註冊是否成功。1.5註冊伺服器
SQLServer伺服器註冊嚮導(dǎo)的身份驗(yàn)證介面
SQLServer伺服器註冊嚮導(dǎo)選擇連接選項(xiàng)的介面1.5註冊伺服器SQLServer伺服器註冊嚮導(dǎo)選擇伺服器組的介面
利用帳戶sa成功註冊到SQLServer伺服器HU後的介面
1.6SQLServer2000應(yīng)用過程SQLServer2000作為後臺資料庫,在前臺應(yīng)用程式開發(fā)環(huán)境下設(shè)計(jì)應(yīng)用程式,可按以下步驟進(jìn)行:第1步根據(jù)學(xué)生成績管理的特點(diǎn),確定資料庫包含的表及每個(gè)表的結(jié)構(gòu)。第2步啟動(dòng)企業(yè)管理器,並完成以下工作:(1)建立學(xué)生成績資料庫(XSCJ);建立XSCJ資料庫學(xué)生、課程和成績資訊表;建立資料庫、表及輸入數(shù)據(jù)的詳細(xì)步驟請參考第2~3章。第3步利用前臺應(yīng)用程式開發(fā)環(huán)境設(shè)計(jì)介面和相應(yīng)的程式。(1)設(shè)計(jì)表單,根據(jù)需要加入有關(guān)控件並設(shè)置相應(yīng)的屬性參數(shù);在表單中加入數(shù)據(jù)控件,並設(shè)置參數(shù),建立應(yīng)用程式與資料庫間的聯(lián)接;根據(jù)應(yīng)用要求,設(shè)計(jì)應(yīng)用程式。第4步在開發(fā)環(huán)境下調(diào)試運(yùn)行程式,使運(yùn)行結(jié)果滿足成績管理的應(yīng)用要求。第5步對調(diào)試通過的程式進(jìn)行編譯聯(lián)接,形成.EXE檔,並在Windows環(huán)境下運(yùn)行該EXE檔,檢查是否符合要求。2.1.1資料庫1.邏輯資料庫
SQLServer2000資料庫是存儲數(shù)據(jù)的容器,是一個(gè)存放數(shù)據(jù)的表和支持這些數(shù)據(jù)的存儲、檢索、安全性和完整性的邏輯成分所組成的集合。
資料庫對象說明表由行和列構(gòu)成的集合,用來存儲數(shù)據(jù)數(shù)據(jù)類型定義列或變數(shù)的數(shù)據(jù)類型,SQLServer提供了系統(tǒng)數(shù)據(jù)類型,並允許用戶自定義數(shù)據(jù)類型視圖由表或其他視圖導(dǎo)出的虛擬表索引為數(shù)據(jù)快速檢索提供支持且可以保證數(shù)據(jù)唯一性的輔助數(shù)據(jù)結(jié)構(gòu)約束用於為表中的列定義完整性的規(guī)則默認(rèn)值為列提供的缺省值存儲過程存放於伺服器的預(yù)先編譯好的一組T-SQL語句觸發(fā)器特殊的存儲過程,當(dāng)用戶表中數(shù)據(jù)改變時(shí),該存儲過程被自動(dòng)執(zhí)行2.1.1資料庫(1)完全限定名完全限定名是對象的全名,包括四個(gè)部分:伺服器名、資料庫名、所有者名和對象名,其格式為:server.database.owner.object在SQLServer2000上創(chuàng)建的每個(gè)對象都必須有一個(gè)唯一的完全限定名。(2)部分限定名在使用T-SQL編程時(shí),使用全名往往很繁瑣且沒有必要,所以常省略全名中的某些部分,對象全名的四個(gè)部分中的前三個(gè)部分均可以被省略,當(dāng)省略中間的部分時(shí),圓點(diǎn)符“.”不可省略。
在部分限定名中,未指出的部分使用以下默認(rèn)值:伺服器:默認(rèn)為本地伺服器。資料庫:默認(rèn)為當(dāng)前資料庫。所有者:默認(rèn)為在資料庫中與當(dāng)前連接會話的登錄標(biāo)識相關(guān)聯(lián)的資料庫用戶名,或者資料庫所有者(dbo)。2.1.1資料庫2.物理資料庫
下麵討論物理資料庫的檔和文件組。檔SQLServer2000使用一組操作系統(tǒng)檔來存儲資料庫的各種邏輯成分,包括三類檔:(1)主數(shù)據(jù)檔主數(shù)據(jù)檔簡稱主文件,正如其名字所示,該檔是資料庫的關(guān)鍵檔,包含了資料庫的啟動(dòng)資訊,並且存儲數(shù)據(jù)。每個(gè)資料庫必須有且僅能有一個(gè)主文件,其默認(rèn)擴(kuò)展名為.MDF。(2)輔助數(shù)據(jù)檔輔助數(shù)據(jù)檔簡稱輔(助)檔,用於存儲未包括在主文件內(nèi)的其他數(shù)據(jù)。輔助檔的默認(rèn)擴(kuò)展名為.NDF。(3)日誌檔日誌檔用於保存恢復(fù)資料庫所需的事務(wù)日誌資訊。每個(gè)資料庫至少有一個(gè)日誌檔,也可以有多個(gè)。日誌檔的擴(kuò)展名為.LDF。2.1.1資料庫
檔組
有兩類檔組:(1)主文件組主文件組主數(shù)據(jù)檔和任何沒有明確指派給其他檔組的其他檔。(2)用戶定義檔組T-SQL語句中用於創(chuàng)建和修改資料庫的語句分別是CREATEDATABASE語句和ALTERDATABASE。
在安裝SQLServer2000時(shí),將創(chuàng)建四個(gè)系統(tǒng)資料庫:master、model、msdb和tempdb。(1)master包含了SQLServer諸如登錄帳號、系統(tǒng)配置、資料庫位置及資料庫錯(cuò)誤資訊等,用於控制用戶數(shù)據(jù)庫和SQLServer的運(yùn)行。(2)model資料庫為新創(chuàng)建的資料庫提供範(fàn)本。(3)msdb為SQLServerAgent調(diào)度資訊和作業(yè)記錄提供存儲空間。(4)tempdb為臨時(shí)表和臨時(shí)存儲過程提供存儲空間,所有與系統(tǒng)連接的用戶的臨時(shí)表和臨時(shí)存儲過程都存儲於該資料庫中。2.1.2表表是在日常工作和生活中經(jīng)常使用的一種表示數(shù)據(jù)及其關(guān)係的形式,表2.2就是一個(gè)學(xué)生情況表。學(xué)
號姓
名專業(yè)名性
別出生時(shí)間總學(xué)分備註001101王林電腦男1980-02-1050
001102程明電腦男1981-02-0150
001103王燕電腦女1979-10-0650
001104韋嚴(yán)平電腦男1980-08-2650
001106李方方電腦男1980-11-2050
001107李明電腦男1980-05-0154提前修完《數(shù)據(jù)結(jié)構(gòu)》,並獲學(xué)分001108林一帆電腦男1979-08-0552已提前修完一門課001109張強(qiáng)民電腦男1978-08-1150
2.1.2表
表結(jié)構(gòu)每個(gè)資料庫包含了若干個(gè)表。每個(gè)表具有一定的結(jié)構(gòu),即組成表的各列的名稱及數(shù)據(jù)類型,也就是日常表格的“欄目資訊”。記錄每個(gè)表包含了若干行數(shù)據(jù),它們是表的“值”,表中的一行稱為一個(gè)記錄(Record),因此,表是記錄的有限集合。字段每個(gè)記錄由若干個(gè)數(shù)據(jù)項(xiàng)構(gòu)成,將構(gòu)成記錄的每個(gè)資料項(xiàng)目稱為字段(Field)。例如學(xué)生情況表中,表結(jié)構(gòu)為(學(xué)號,姓名,專業(yè)名,性別,出生時(shí)間,總學(xué)分,備註),包含7個(gè)字段,由8個(gè)記錄組成。關(guān)鍵字注意到,在學(xué)生情況表中,若不加以限制,每個(gè)記錄的姓名、專業(yè)、性別、出生時(shí)間、總學(xué)分和備註這6個(gè)字段的值都有可能相同,但是學(xué)號字段的值對表中所有記錄來說一定不同,即通過“學(xué)號”字段可以將表中的不同記錄區(qū)分開來。2.2.1資料庫的創(chuàng)建、修改和刪除
1.創(chuàng)建資料庫(1)通過企業(yè)管理器創(chuàng)建資料庫對於新創(chuàng)建的資料庫,系統(tǒng)對數(shù)據(jù)檔的默認(rèn)值為:初始大小1MB,最大大小不限制,而實(shí)際上僅受硬碟空間的限制,允許資料庫自動(dòng)增長,增長方式為按10%比例增長;對日誌檔的默認(rèn)值為:初始大小1MB,最大大小不限制,而實(shí)際上也僅受硬碟空間的限制,允許日誌檔自動(dòng)增長,增長方式為按10%比例增長?!纠?.1】創(chuàng)建資料庫XSCJ,初始大小為5MB,最大大小50MB,資料庫自動(dòng)增長,增長方式是按10%比例增長;日誌檔初始為2MB,最大可增長到5MB(默認(rèn)為不限制),按1MB增長(默認(rèn)是按10%比例增長);所有者是Administrator。以Administrator身份登錄電腦,並啟動(dòng)SQLServer服務(wù)。第1步開始
程式
MicrosoftSQLServer
企業(yè)管理器,SQLServer“企業(yè)管理器”啟動(dòng)。2.2.1資料庫的創(chuàng)建、修改和刪除第2步在“SQLServerEnterpriseManager”窗口中展開MicrosoftSQLServers和SQLServer組,選擇SQLServer伺服器。在選擇的SQLServer伺服器上點(diǎn)擊滑鼠右鍵,出現(xiàn)如圖2.1所示的快捷菜單,選擇“新建”
“資料庫…”。2.2.1資料庫的創(chuàng)建、修改和刪除第3步第2步操作結(jié)束後,出現(xiàn)如圖2.2所示的“資料庫屬性”對話框,該對話框共有三個(gè)選項(xiàng)卡:常規(guī)、數(shù)據(jù)檔和日誌檔。在“常規(guī)”選項(xiàng)卡“名稱”文本框中輸入創(chuàng)建的資料庫名(本例中資料庫名為XSCJ)。2.2.1資料庫的創(chuàng)建、修改和刪除
系統(tǒng)的主數(shù)據(jù)檔默認(rèn)存儲位置和文件如下:
SQLServer2000根目錄\data\資料庫名_Data.MDF
系統(tǒng)的主日誌檔的默認(rèn)存儲位置和文件如下:
SQLServer2000根目錄\data\資料庫名_Log.LDF
本例中SQLServer2000安裝目錄為e:\sql,所以創(chuàng)建的XSCJ資料庫的數(shù)據(jù)檔和日誌檔的默認(rèn)路徑及檔分別為:
e:\sql\data\XSCJ_Data.MDFe:\sql\data\XSCJ_Log.LDF
選擇“數(shù)據(jù)檔”和“事務(wù)日誌”兩個(gè)標(biāo)籤欄,顯示系統(tǒng)的默認(rèn)設(shè)置,用戶可以更改這兩個(gè)檔的存放位置和文件名。2.2.1資料庫的創(chuàng)建、修改和刪除第4步選擇“數(shù)據(jù)檔”標(biāo)籤欄,在檔案名為“XSCJ_DATA”這一行的“初始大小”列將系統(tǒng)缺省大小1改為5,設(shè)置是否允許資料庫增長、增長方式以及最大檔大小。見圖2.3中的標(biāo)注。2.2.1資料庫的創(chuàng)建、修改和刪除第5步選擇“事務(wù)日誌”標(biāo)籤欄,與第4步類似,設(shè)置日誌檔的初始大小、是否增長、增長方式及最大大小,其介面如圖2.4所示。2.2.1資料庫的創(chuàng)建、修改和刪除第6步單擊“確定”按鈕,資料庫就創(chuàng)建好了。創(chuàng)建好的資料庫XSCJ的介面如圖2.5所示。2.2.1資料庫的創(chuàng)建、修改和刪除在第3步中,選擇“數(shù)據(jù)檔”和“事務(wù)日誌”標(biāo)籤欄,則在其中可分別改變這兩個(gè)檔的存儲位置,操作過程為:在“資料庫檔”列表中,單擊相應(yīng)行的“位置”一欄的“…”按鈕,在所彈出的“查找資料庫檔”或“查找事務(wù)日誌檔”對話框中即可選擇或輸入檔路徑和文件名,如圖2.6和圖2.7所示。2.2.1資料庫的創(chuàng)建、修改和刪除(2)使用嚮導(dǎo)創(chuàng)建資料庫(CreateDatabaseWizard)這裏仍以創(chuàng)建資料庫XSCJ(其屬性與(1)相同)為例說明使用嚮導(dǎo)(CreateDatabaseWizard)創(chuàng)建資料庫的操作過程。2.2.1資料庫的創(chuàng)建、修改和刪除第1步啟動(dòng)SQLServer的“企業(yè)管理器”(EnterpriseManager)。在“SQLServerEnterpriseManager”窗口中展開MicrosoftSQLServers和SQLServer組,選擇SQLServer伺服器。第2步在“工具”菜單中選擇“嚮導(dǎo)…”項(xiàng),如圖2.8所示。2.2.1資料庫的創(chuàng)建、修改和刪除第3步選擇“嚮導(dǎo)…”後,出現(xiàn)如圖2.9所示的“選擇嚮導(dǎo)”對話框,展開“資料庫”,如圖2.10所示,選擇“創(chuàng)建資料庫嚮導(dǎo)”,單擊“確定”。2.2.1資料庫的創(chuàng)建、修改和刪除第4步第3步操作完成後,出現(xiàn)如圖2.11所示的“創(chuàng)建資料庫嚮導(dǎo)”介面,單擊“下一步”。2.2.1資料庫的創(chuàng)建、修改和刪除第5步輸入資料庫名,輸入或選擇數(shù)據(jù)檔和日誌檔的存放位置,具體操作見圖2.12中的標(biāo)注,單擊“下一步”。2.2.1資料庫的創(chuàng)建、修改和刪除第6步指定各數(shù)據(jù)檔的名稱及初始大小,操作方法見圖2.13中的標(biāo)注,單擊“下一步”。2.2.1資料庫的創(chuàng)建、修改和刪除第7步定義資料庫檔的增長,操作方法見圖2.14中的標(biāo)注,單擊“下一步”。2.2.1資料庫的創(chuàng)建、修改和刪除第8步指定日誌檔案名和初始大小,操作方法標(biāo)示於圖2.15中,單擊“下一步”。2.2.1資料庫的創(chuàng)建、修改和刪除第9步定義事務(wù)日誌檔的增長,操作方法標(biāo)示於圖2.16中,單擊“下一步”。2.2.1資料庫的創(chuàng)建、修改和刪除第10步完成。在圖2.17(a)中單擊“完成”按鈕,將出現(xiàn)如圖2.17(b)所示的提示資訊,單擊“確定”。2.2.1資料庫的創(chuàng)建、修改和刪除2.修改資料庫對已存在的資料庫可以進(jìn)行的修改包括:增加或刪除數(shù)據(jù)檔改變數(shù)據(jù)檔的大小和增長方式改變?nèi)照I檔的大小和增長方式增加或刪除日誌檔增加或刪除檔組在進(jìn)行任何修改操作以前,都要在“企業(yè)管理器”中選擇需要進(jìn)行修改的資料庫,在該資料庫名上點(diǎn)擊滑鼠右鍵,出現(xiàn)快捷菜單,選擇“屬性”,如圖2.18所示。2.2.1資料庫的創(chuàng)建、修改和刪除(1)改變數(shù)據(jù)檔的大小和增長方式【例2.2】將XSCJ資料庫的主數(shù)據(jù)檔XSCJ_Data.mdf檔的最大大小由50MB修改為不限制。2.2.1資料庫的創(chuàng)建、修改和刪除(2)增加數(shù)據(jù)檔【例2.3】在XSCJ資料庫中增加數(shù)據(jù)檔XSCJBAK,其屬性均取系統(tǒng)默認(rèn)值。操作方法:在“數(shù)據(jù)檔”選項(xiàng)卡中點(diǎn)擊緊隨已有檔案名後的空白行,在“檔案名”一欄中輸入數(shù)據(jù)檔案名,並可設(shè)置檔的初始大小和增長屬性,單擊“確定”。如圖2.20所示。2.2.1資料庫的創(chuàng)建、修改和刪除所增加的檔是輔助數(shù)據(jù)檔,單擊“…”按鈕,在彈出的對話框中可見新增檔擴(kuò)展名為.NDF,如圖2.21所示。2.2.1資料庫的創(chuàng)建、修改和刪除(3)刪除數(shù)據(jù)檔【例2.4】將XSCJ資料庫中剛增加的輔助檔XSCJBAK刪除。操作方法如圖2.22所示。2.2.1資料庫的創(chuàng)建、修改和刪除(4)增加或刪除檔組【例2.5】設(shè)要在資料庫XSCJ中增加一個(gè)名為FGroup的檔組。操作方法為:選擇“檔組”標(biāo)籤欄,在PRIMARY行的下麵一行輸入“FGroup”檔組,單擊“確定”按鈕,如圖2.23所示。2.2.1資料庫的創(chuàng)建、修改和刪除操作方法為:選擇“數(shù)據(jù)檔”標(biāo)籤欄,按增加數(shù)據(jù)檔的操作方法輸入數(shù)據(jù)檔案名,然後選擇檔組“Fgroup”,如圖2.24所示。2.2.1資料庫的創(chuàng)建、修改和刪除【例2.6】將剛才新增的FGroup檔組刪除。首先要?jiǎng)h除其中的數(shù)據(jù)檔XSCJ2,然後,選擇“檔組”標(biāo)籤欄,選擇FGroup檔組,單擊“刪除”按鈕,如圖2.25所示。2.2.1資料庫的創(chuàng)建、修改和刪除【例2.7】刪除XSCJ資料庫。第1步在“企業(yè)管理器”中選擇名為XSCJ的資料庫,在其上單擊滑鼠右鍵,在彈出的快捷菜單上選擇“刪除”,如圖2.26所示。2.2.1資料庫的創(chuàng)建、修改和刪除第2步在彈出如圖2.27所示的對話框中單擊“確定”,即刪除了資料庫XSCJ。注意:刪除資料庫後,該資料庫的所有對象均被刪除,將不能再對該資料庫作任何操作,因此應(yīng)十分慎重。2.2.2表的創(chuàng)建、修改和刪除1.SQLServer支持的數(shù)據(jù)類型
精度:指數(shù)值數(shù)據(jù)中所存儲的十進(jìn)位數(shù)據(jù)的總位數(shù)。小數(shù)位數(shù):指數(shù)值數(shù)據(jù)中小數(shù)點(diǎn)右邊可以有的數(shù)字位數(shù)的最大值。例如數(shù)值數(shù)據(jù)3890.587的精度是7,小數(shù)位數(shù)是3。長度:指存儲數(shù)據(jù)所使用的位元組數(shù)。數(shù)據(jù)類型符
號
標(biāo)
識整數(shù)型bigint,int,smallint,tinyint
精確數(shù)值型decimal,numeric浮點(diǎn)型float,real貨幣型money,smallmoney
位型bit字元型char,varchar
Unicode字元型nchar,nvarchar
文本型text,ntext二進(jìn)位型binary,varbinary日期時(shí)間類型datetime,smalldatetime時(shí)間戳型Timestamp圖象型Image其他cursor,sql_variant,table,uniqueidentifier2.2.2表的創(chuàng)建、修改和刪除
下麵分別說明系統(tǒng)數(shù)據(jù)類型:整數(shù)型整數(shù)包括bigint、int、smallint和tinyint,從識別字的含義就可以看出,它們的表示數(shù)範(fàn)圍逐漸縮小。
bigint:大整數(shù),數(shù)範(fàn)圍為-263(-9223372036854775808)~263-1(9223372036854775807),其精度為19,小數(shù)位數(shù)為0,長度為8位元組。
int:整數(shù),數(shù)範(fàn)圍為-231(-2,147,483,648)~231-1(2,147,483,647),其精度為10,小數(shù)位數(shù)為0,長度為4位元組。
smallint:短整數(shù),數(shù)範(fàn)圍為-215(-32768)~215-1(32767),其精度為5,小數(shù)位數(shù)為0,長度為2位元組。
tinyint:微短整數(shù),數(shù)範(fàn)圍為0~255,長度為1位元組,其精度為3,小數(shù)位數(shù)為0,長度為1位元組。2.2.2表的創(chuàng)建、修改和刪除(2)精確整數(shù)型decimal和numeric可存儲從-1038+1到1038–1的固定精度和小數(shù)位的數(shù)字?jǐn)?shù)據(jù),它們的存儲長度隨精度變化而變化,最少為5位元組,最多為17位元組。精度為1~9時(shí),存儲位元組長度為5;精度為10~19時(shí),存儲位元組長度為9;精度為20~28時(shí),存儲位元組長度為13;精度為29~38時(shí),存儲位元組長度為17。(3)浮點(diǎn)型real:使用4位元組存儲數(shù)據(jù),表數(shù)範(fàn)圍為-3.40E+38到3.40E+38,數(shù)據(jù)精度為7位有效數(shù)字。
float:定義中的n取值範(fàn)圍是1~53,用於指示其精度和存儲大小。
2.2.2表的創(chuàng)建、修改和刪除(4)貨幣型
money:數(shù)據(jù)的數(shù)範(fàn)圍為-263(-922337203685477.5808)~263-1(922337203685477.5807),其精度為19,小數(shù)位數(shù)為4,長度為8位元組。
smallmoney:數(shù)範(fàn)圍為–231(-2,147,48.3648)~231-1(2,147,48.3647),其精度為10,小數(shù)位數(shù)為4,長度為4位元組。(5)位型SQLServer中的位(bit)型數(shù)據(jù)相當(dāng)於其他語言中的邏輯型數(shù)據(jù),它只存儲0和1,長度為一個(gè)位元組。(6)字元型字元型數(shù)據(jù)用於存儲字串,字串中可包括字母、數(shù)字和其他特殊符號(如#、@、&等等)。SQLServer字元型包括兩類:固定長度(char)或可變長度
(varchar)字元數(shù)據(jù)類型。2.2.2表的創(chuàng)建、修改和刪除(7)Unicode字元型Unicode是“統(tǒng)一字元編碼標(biāo)準(zhǔn)”,用於支持國際上非英語語種的字元數(shù)據(jù)的存儲和處理。
nchar[(n)]:nchar[(n)]為包含n個(gè)字元的固定長度Unicode字元型數(shù)據(jù),n
的值在1與4,000之間,缺省為1。長度為2n位元組。若輸入的字串長度不足n,將以空白字元補(bǔ)足。
nvarchar[(n)]:nvarchar[(n)]為最多包含n個(gè)字元的可變長度Unicode字元型數(shù)據(jù),n
的值在1與4,000之間,缺省為1。(8)文本型文本型包括text和ntext兩類,分別對應(yīng)ASCII字元和Unicode字元。text類型可以表示最大長度為231-1(2,147,483,647)個(gè)字元,其數(shù)據(jù)的存儲長度為實(shí)際字元數(shù)個(gè)位元組。ntext可表示最大長度為230-1(1,073,741,823)個(gè)Unicode字元,其數(shù)據(jù)的存儲長度是實(shí)際字元個(gè)數(shù)的兩倍(以位元組為單位)。2.2.2表的創(chuàng)建、修改和刪除(9)二進(jìn)位型
binary[(n)]:固定長度的n個(gè)位元組二進(jìn)位數(shù)據(jù)。n取值範(fàn)圍為1到8,000,缺省為1。
varbinary
[(n)]:n個(gè)位元組變長二進(jìn)位數(shù)據(jù)。n取值範(fàn)圍為1到8,000,缺省為1。varbinary(n)數(shù)據(jù)的存儲長度為實(shí)際輸入數(shù)據(jù)長度+4個(gè)位元組。(10)日期時(shí)間類型datetime類型數(shù)據(jù)長度為8位元組,日期和時(shí)間分別使用4個(gè)位元組存儲。(11)時(shí)間戳型識別字是timestamp。若創(chuàng)建表時(shí)定義一個(gè)列的數(shù)據(jù)類型為時(shí)間戳類型,那麼每當(dāng)對該表加入新行或修改已有行時(shí),都由系統(tǒng)自動(dòng)將一個(gè)計(jì)數(shù)器值加到該列,即將原來的時(shí)間戳值加上一個(gè)增量。2.2.2表的創(chuàng)建、修改和刪除創(chuàng)建表空值(NULL)概念空值通常表示未知、不可用或?qū)⒃谝葬崽砑拥臄?shù)據(jù)。列的identity(標(biāo)識)屬性對任何表都可創(chuàng)建包含系統(tǒng)所生成序號值的一個(gè)標(biāo)識列,該序號值唯一標(biāo)識表中的一行,可以作為鍵值?!纠?.8】以XSCJ資料庫中創(chuàng)建學(xué)生情況表為例說明通過SQLServer的企業(yè)管理器創(chuàng)建表的操作過程。列名數(shù)據(jù)類型長度是否允許為空值默認(rèn)值說明學(xué)號定長字元型(char)6×無主鍵姓名定長字元型(char)8×無
專業(yè)名定長字元型(char)10√無
性別位型(bit)1×1男1,女0出生時(shí)間日期時(shí)間類型(smalldatetime)4×無
總學(xué)分整數(shù)型(tinyint)1√無
備註文本型(text)16(系統(tǒng)默認(rèn)值)√無
2.2.2表的創(chuàng)建、修改和刪除以下是通過“企業(yè)管理器”創(chuàng)建表XS的操作步驟:第1步啟動(dòng)SQLServer企業(yè)管理器,用滑鼠右鍵單擊選擇資料庫(這裏是資料庫XSCJ),將出現(xiàn)如圖2.28所示的快捷菜單,選擇“新建(N)”
“表(T)…”。2.2.2表的創(chuàng)建、修改和刪除第2步在所彈出的編輯窗口中分別輸入或選擇各列的名稱、數(shù)據(jù)類型、是否允許為空值等屬性,在“學(xué)號”列上單擊滑鼠右鍵,選擇“設(shè)置主鍵”菜單項(xiàng),將學(xué)號列設(shè)置為主鍵,將“性別”列的缺省值設(shè)置為1。如圖2.29所示。2.2.2表的創(chuàng)建、修改和刪除第3步在表的各列的屬性均編輯完成後,單擊“保存”圖形按鈕,出現(xiàn)如圖2.30所示的“選擇表名”對話框。第4步在“選擇表名”對話框中輸入表名XS,單擊“確定”,XS表就創(chuàng)建好了,如圖2.31所示。2.2.2表的創(chuàng)建、修改和刪除創(chuàng)建課程表,名稱為KC,表結(jié)構(gòu)如表2.5所示。KC表創(chuàng)建後的介面,如圖2.32所示。列
名數(shù)據(jù)類型長度是否允許為空值默認(rèn)值說明課程號定長字元型(char)3×無主鍵課程名定長字元型(char)16×無
開課學(xué)期整數(shù)型(tinyint)1×1只能為1—8學(xué)時(shí)整數(shù)型(tinyint)1×無
學(xué)分整數(shù)型(tinyint)1√無
2.2.2表的創(chuàng)建、修改和刪除創(chuàng)建成績表,名稱為XS_KC,表結(jié)構(gòu)如表2.6所示。KC表創(chuàng)建後的介面,如圖2.33所示。2.2.2表的創(chuàng)建、修改和刪除創(chuàng)建成績表,名稱為XS_KC,表結(jié)構(gòu)如表2.6所示。KC表創(chuàng)建後的介面,如圖2.33所示。列名數(shù)據(jù)類型長度是否允許為空值默認(rèn)值說明學(xué)號定長字元型(char)6×無主鍵課程號定長字元型(char)3×無主鍵成績整數(shù)型(tinyint)1√無
學(xué)分整數(shù)型(tinyint)1√無
2.2.2表的創(chuàng)建、修改和刪除3.修改表對一個(gè)已存在的表可以進(jìn)行的修改操作包括:更改表名增加列刪除列修改已有列的屬性(列名、數(shù)據(jù)類型、是否為空值)(1)更改表名SQLServer中允許改變一個(gè)表的名字,但當(dāng)表名改變後,與此相關(guān)的某些對象如視圖,以及通過表名與表相關(guān)的存儲過程將無效,建議一般不要更改一個(gè)已有的表名,特別是在其上定義了視圖或建立了相關(guān)的表。【例2.9】將XS表的表名改為student。2.2.2表的創(chuàng)建、修改和刪除更改表名的操作步驟:第1步在SQLServer企業(yè)管理器中展開需更名的表,在其上單擊滑鼠右鍵,在彈出的快捷菜單上選擇“重命名”,如圖2.34所示。2.2.2表的創(chuàng)建、修改和刪除第2步在表名位置上輸入新的表名,如圖2.35所示,按下回車鍵。2.2.2表的創(chuàng)建、修改和刪除第3步系統(tǒng)彈出如圖2.36所示的對話框,提示用戶若更改了表名,那麼將引起引用該表的存儲過程、視圖或觸發(fā)器無效,要求用戶對更名操作予以確認(rèn)。點(diǎn)擊“是”按鈕確認(rèn)該操作。第4步第3步操作完成後,系統(tǒng)彈出如圖2.37所示的對話框,提示用戶表更名操作已經(jīng)完成。點(diǎn)擊“確定”。2.2.2表的創(chuàng)建、修改和刪除(2)增加列【例2.10】向表XS中添加一個(gè)“獎(jiǎng)學(xué)金等級”列,“獎(jiǎng)學(xué)金等級”列為微整型,允許為空值。在SQLServer企業(yè)管理器中展開需進(jìn)行操作的表XS,在其上單擊滑鼠右鍵,在彈出的快捷菜單上選擇“設(shè)計(jì)表”,如圖2.38所示。2.2.2表的創(chuàng)建、修改和刪除
在SQLServerEnterpriseManager的設(shè)計(jì)表“XS
”窗口中點(diǎn)擊第一個(gè)空白行,輸入列名“獎(jiǎng)學(xué)金等級”,選擇數(shù)據(jù)類型“tinyint”,如圖2.39所示。2.2.2表的創(chuàng)建、修改和刪除
當(dāng)需向表中添加的列均輸入完畢後,點(diǎn)擊關(guān)閉設(shè)計(jì)表“XS”窗口按鈕,此時(shí)將彈出如圖2.40所示的對話框,單擊“是”,保存修改後的表。(3)刪除列在SQLServer企業(yè)管理器中展開需進(jìn)行操作的表XS,在其上單擊滑鼠右鍵,在彈出的快捷菜單上選擇“設(shè)計(jì)表”。2.2.2表的創(chuàng)建、修改和刪除(4)修改已有列的屬性具有以下特性的列不能被修改:具有text、ntext、image或timestamp數(shù)據(jù)類型的列計(jì)算列全局識別字列複製列用於索引的列(但若用於索引的列為varchar、nvarchar或varbinary數(shù)據(jù)類型時(shí),可以增加列的長度)用於由CREATESTATISTICS生成統(tǒng)計(jì)的列。若需修改這樣的列,必須先用DROPSTATISTICS語句刪除統(tǒng)計(jì)用於主鍵或外鍵約束的列用於CHECK或UNIQUE約束的列關(guān)聯(lián)有默認(rèn)值的列這裏所羅列的特性。當(dāng)改變列的數(shù)據(jù)類型時(shí),要求:原數(shù)據(jù)類型必須能夠轉(zhuǎn)換為新數(shù)據(jù)類型;新類型不能為timestamp類型;如果被修改的是IDENTITY列,則新數(shù)據(jù)類型必須是有效的IDENTITY數(shù)據(jù)類型。2.2.2表的創(chuàng)建、修改和刪除【例2.11】在創(chuàng)建的XS表中,將“姓名”列的列名改為“name”,數(shù)據(jù)長度由8改為10,允許為空值;將“出生時(shí)間”列的列名改為“birthday”,數(shù)據(jù)類型由“smalldatetime”改為“datetime”。第1步在SQLServer企業(yè)管理器中展開需進(jìn)行操作的表XS,在其上單擊滑鼠右鍵,在彈出的快捷菜單上選擇“設(shè)計(jì)表”。第2步在SQLServer企業(yè)管理器的設(shè)計(jì)表“XS
”窗口中點(diǎn)擊需修改的列(本例中是“姓名”和“出生時(shí)間”),修改相應(yīng)的屬性,如圖2.42所示。2.2.2表的創(chuàng)建、修改和刪除第3步當(dāng)需修改的列均修改完畢後,點(diǎn)擊關(guān)閉設(shè)計(jì)表“XS”窗口按鈕,此時(shí)將彈出對話框,單擊“是”保存修改後的表。4.表的刪除刪除一個(gè)表時(shí),表的定義、表中的所有數(shù)據(jù)以及表的索引、觸發(fā)器、約束等均被刪除。設(shè)需將XSCJ資料庫中的表test刪除,操作過程為:第1步在“企業(yè)管理器”中展開資料庫XSCJ,再展開表,在表test上點(diǎn)擊滑鼠右鍵,在彈出的快捷菜單上選擇“刪除”,如圖2.43所示。2.2.2表的創(chuàng)建、修改和刪除第2步上一步操作結(jié)束後,系統(tǒng)彈出如圖2.44所示的“除去對象”對話框,點(diǎn)擊“全部除去”按鈕,即可刪除選擇的表。2.3命令方式創(chuàng)建資料庫和表
語法格式:CREATEDATABASEdatabase_name[ON /*指定資料庫檔和文件組屬性*/
[<filespec>[,...n]]
[,<filegroup>[,...n]]][LOGON{<filespec>[,...n]}] /*指定日誌檔屬性*/[COLLATEcollation_name][FORLOAD|FORATTACH]
<filespec>::=[PRIMARY]([NAME=logical_file_name,]
FILENAME='os_file_name'
[,SIZE=size]
[,MAXSIZE={max_size|UNLIMITED}]
[,FILEGROWTH=growth_increment])[,...n]
<filegroup>::=FILEGROUPfilegroup_name<filespec>[,...n]2.3.1使用CREATEDATABASE創(chuàng)建資料庫
【例2.12】創(chuàng)建一個(gè)名為XSCJ1的資料庫,其初始大小為5MB,最大大小50MB,允許資料庫自動(dòng)增長,增長方式是按10%比例增長;日誌檔初始為2MB,最大可增長到5MB,按1MB增長。假設(shè)SQLServer服務(wù)已啟動(dòng),並以Administrator身份登錄電腦。2.3.1使用CREATEDATABASE創(chuàng)建資料庫在T-SQL語句輸入窗口中輸入如下語句:CREATEDATABASEXSCJ1 ON ( NAME='XSCJ1_Data', FILENAME='e:\sql\data\MSSQL\Data\XSCJ1.mdf', SIZE=5MB, MAXSIZE=50MB, FILEGROWTH=10% ) LOGON ( NAME='XSCJ1_Log', FILENAME='e:\sql\data\MSSQL\Data\XSCJ1_Log.ldf', SIZE=2MB, MAXSIZE=5MB, FILEGROWTH=1MB )GO2.3.1使用CREATEDATABASE創(chuàng)建資料庫輸入完畢後,單擊“執(zhí)行查詢”按鈕。如圖2.47所示。2.3.1使用CREATEDATABASE創(chuàng)建資料庫【例2.13】創(chuàng)建TEST1的資料庫。CREATEDATABASETEST1ON( NAME=‘TEST1_data’, FILENAME=‘e:\sql\data\MSSQL\data\t1.mdf’)GO【例2.14】創(chuàng)建一個(gè)名為TEST2的資料庫,它有三個(gè)數(shù)據(jù)檔,其中主數(shù)據(jù)檔為100MB,最大大小為200MB,按20MB增長;2個(gè)輔數(shù)據(jù)檔為20MB,最大大小不限,按10%增長;有2個(gè)日誌檔,大小均為50MB,最大大小均為100MB,按10MB增長。CREATEDATABASETEST2 ON PRIMARY ( NAME=‘TEST2_data2’, FILENAME=‘e:\sql\data\t2\test2_data2.ndf’, SIZE=20MB, MAXSIZE=UNLIMITED, FILEGROWTH=10% ),( NAME=‘TEST2_data3’, FILENAME=‘e:\sql\data\t2\test2_data3.ndf’, SIZE=20MB, MAXSIZE=UNLIMITED, FILEGROWTH=10% )LOGON( NAME=‘TEST2_log1’, FILENAME=‘e:\sql\data\t2\test2_log1.ldf’, SIZE=50MB, MAXSIZE=100MB, FILEGROWTH=10MB),( NAME=‘TEST2_log2’, FILENAME=‘e:\sql\data\t2\test2_log2.ldf’, SIZE=50MB, MAXSIZE=100MB, FILEGROWTH=10MB )GO2.3.1使用CREATEDATABASE創(chuàng)建資料庫2.3.2使用ALTERDATABASE修改資料庫使用ALTERDATABASE命令對數(shù)據(jù)庫可進(jìn)行以下修改:增加或刪除數(shù)據(jù)檔改變數(shù)據(jù)檔的大小和增長方式改變?nèi)照I檔的大小和增長方式增加或刪除日誌檔增加或刪除檔組1.ALTERDATABASE語句2.3.2使用ALTERDATABASE修改資料庫語法格式:ALTERDATABASEdatabase_name{ ADDFILE<filespec>[,…n][TOFILEGROUPfilegroup_name] /*在檔組中增加數(shù)據(jù)檔*/ |ADDLOGFILE<filespec>[,…n] /*增加日誌檔*/ |REMOVEFILElogical_file_name /*刪除數(shù)據(jù)檔*/ |ADDFILEGROUPfilegroup_name /*增加檔組*/ |REMOVEFILEGROUPfilegroup_name /*刪除檔組*/ |MODIFYFILE<filespec> /*更改檔屬性*/ |MODIFYNAME=new_dbname /*資料庫更名*/ |MODIFYFILEGROUPfilegroup_name{filegroup_property|NAME=new_filegroup_name} |SET<optionspec>[,...n][WITH<termination>]/*設(shè)置資料庫屬性*/ |COLLATE<collation_name>/*指定資料庫排序規(guī)則*/}2.3.2使用ALTERDATABASE修改資料庫【例2.16】設(shè)已經(jīng)創(chuàng)建了資料庫XSCJ,它只有一個(gè)主數(shù)據(jù)檔,其邏輯檔案名為XSCJ_Data,物理檔案名為e:\sql\data\MSSQL\data\XSCJ_Data.mdf,大小為5MB,最大大小為50MB,增長方式為按10%增長;ALTERDATABASEXSCJ MODIFYFILE ( NAME=XSCJ_Data,MAXSIZE=UNLIMITED) GO/*這是第1次,將主數(shù)據(jù)檔的最大大小改為不限制。*/ ALTERDATABASEXSCJ MODIFYFILE ( NAME=XSCJ_Data, FILEGROWTH=5MB) GO/*這是第2次,將主數(shù)據(jù)檔的增長方式改為按5MB增長。*/2.3.2使用ALTERDATABASE修改資料庫【例2.17】先為數(shù)據(jù)庫XSCJ增加數(shù)據(jù)檔XSCJBAK。然後刪除數(shù)據(jù)檔XSCJBAK。ALTERDATABASEXSCJ ADDFILE ( NAME=XSCJBAK FILENAME=‘e:\sql\data\MSSQL\data\XSCJBAK_dat.ndf’, SIZE=10MB, MAXSIZE=50MB, FILEGROWTH=5% )GO通過企業(yè)管理器觀察資料庫XSCJ是否增加數(shù)據(jù)檔XSCJBAK。ALTERDATABASEXSCJREMOVEFILEXSCJBAKGO2.3.2使用ALTERDATABASE修改資料庫【例2.18】為數(shù)據(jù)庫XSCJ添加檔組FGROUP,並為此檔組添加兩個(gè)大小均為10MB的數(shù)據(jù)檔。ALTERDATABASEXSCJADDFILEGROUPFGROUPGOALTERDATABASEXSCJ ADDFILE ( NAME=XSCJ_DATA2, FILENAME='e:\sql\data\MSSQL\data\XSCJ_Data2.ndf', SIZE=10MB, MAXSIZE=30MB, FILEGROWTH=5MB ), ( NAME=XSCJ_DATA3, FILENAME='e:\sql\data\MSSQL\data\XSCJ_Data3.ndf', SIZE=10MB, MAXSIZE=30MB, FILEGROWTH=5MB ) TOFILEGROUPFGROUPGO2.3.2使用ALTERDATABASE修改資料庫【例2.19】從資料庫中刪除檔組,將示例4添加到XSCJ資料庫中的數(shù)據(jù)組FGROUP刪除。注意被刪除的檔組中的數(shù)據(jù)檔必須先刪除,且不能刪除主文件組。ALTERDATABASETEST REMOVEFILETEST_DATA2GOALTERDATABASETESTREMOVEFILETEST_DATA3GOALTERDATABASETEST REMOVEFILEGROUPTGROUPGO2.3.2使用ALTERDATABASE修改資料庫【例2.20】為數(shù)據(jù)庫XSCJ添加一個(gè)日誌檔。ALTERDATABASEXSCJ ADDLOGFILE ( NAME=XSCJ_LOG2, FILENAME='e:\sql\data\MSSQL\data\XSCJ_Log2.ldf', SIZE=5MB, MAXSIZE=10MB, FILEGROWTH=1MB )GO【例2.21】從資料庫XSCJ中刪除一個(gè)日誌檔,將日誌檔XSCJ_LOG2刪除。注意不能刪除主日誌檔。ALTERDATABASETEST REMOVEFILEXSCJ_LOG2GOALTERDATABASEXSCJ MODIFYNAME=JUST_TESTGO語法格式:CREATETABLE[database_name.[owner].|owner.]table_name({<column_definition> /*列的定義*|column_nameAScomputed_column_expression/*定義計(jì)算列*/|<table_constraint>} /*指定表的約束*/)[ON{filegroup|DEFAULT}]/*指定存儲表的檔組*/[TEXTIMAGE_ON{filegroup|DEFAULT}]/*指定存儲text、ntext和image類型數(shù)據(jù)的檔組*/2.3.3使用DROPDATABASE刪除資料庫語法格式:DROPDATABASEdatabase_name[,…n]其中database_name是要?jiǎng)h除的資料庫名。要?jiǎng)h除資料庫TEST,使用命令:DROPDATABASETESTGO2.3.4使用CREATETABLE創(chuàng)建表2.3.4使用CREATETABLE創(chuàng)建表【例2.22】設(shè)已經(jīng)創(chuàng)建了資料庫XSCJ,現(xiàn)在該資料庫中需創(chuàng)建學(xué)生情況表XS,該表的結(jié)構(gòu)見表2.2。創(chuàng)建表XS的T-SQL語句如下:USEXSCJCREATETABLEXS( 學(xué)號char(6)NOTNULL,
姓名char(8)NOTNULL,
專業(yè)名char(10)NULL,
性別bitNOTNULL,
出生時(shí)間smalldatetimeNOTNULL,
總學(xué)分tinyintNULL,
備註textNULL)GO2.3.5使用ALTERTABLE修改表
語法格式:ALTERTABLEtable{[ALTERCOLUMNcolumn_name /*修改已有列的屬性*/
{new_data_type[(precision[,scale])]
[COLLATE<collation_name>]
[NULL|NOTNULL]
|{ADD|DROP}ROWGUIDCOL}
]
|ADD /*增加新列*/
{[<column_definition>]
|column_nameAScomputed_column_expression
}[,...n]
|[WITHCHECK|WITHNOCHECK]ADD
{<table_constraint>}[,...n]
|DROP /*刪除列*/
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度金融科技平臺技術(shù)服務(wù)合同范本2篇
- 2024房產(chǎn)異業(yè)聯(lián)盟合作合同樣本版B版
- 2024年跨境電商商鋪?zhàn)赓U及運(yùn)營合同3篇
- 2024年美食制作合作協(xié)議2篇
- 2024年度客運(yùn)站聘用班車司機(jī)勞動(dòng)合同(升級版)3篇
- 2024日照房屋租賃合同
- 三方商業(yè)地產(chǎn)轉(zhuǎn)租條款:正式協(xié)議版A版
- 2024年鏟車油料供應(yīng)與回收合同
- 2024購車所需民間借款合同
- 2024年限酒店前臺接待工作人員協(xié)議版
- DL∕T 2602-2023 電力直流電源系統(tǒng)保護(hù)電器選用與試驗(yàn)導(dǎo)則
- DL∕T 1919-2018 發(fā)電企業(yè)應(yīng)急能力建設(shè)評估規(guī)范
- 小學(xué)二年級數(shù)學(xué)口算練習(xí)題1000道
- DBJ43-T 315-2016 現(xiàn)澆混凝土保溫免拆模板復(fù)合體系應(yīng)用技術(shù)規(guī)程
- 健康狀況與風(fēng)險(xiǎn)評估智慧樹知到期末考試答案章節(jié)答案2024年上海健康醫(yī)學(xué)院
- 常識判斷常見題型附參考答案(黃金題型)
- 《無機(jī)及分析化學(xué)》期末考試試卷附答案
- XX醫(yī)院《居民死亡醫(yī)學(xué)證明書》管理制度
- 2024年中國電科集團(tuán)春季招聘公開引進(jìn)高層次人才和急需緊缺人才筆試參考題庫(共500題)答案詳解版
- 綠化養(yǎng)護(hù)服務(wù)整體養(yǎng)護(hù)方案
- 記賬實(shí)操-管家婆輝煌版財(cái)務(wù)軟件年結(jié)操作流程
評論
0/150
提交評論