SQL Server數(shù)據(jù)庫實(shí)踐教程 課件 03-SQL概述、數(shù)據(jù)定義_第1頁
SQL Server數(shù)據(jù)庫實(shí)踐教程 課件 03-SQL概述、數(shù)據(jù)定義_第2頁
SQL Server數(shù)據(jù)庫實(shí)踐教程 課件 03-SQL概述、數(shù)據(jù)定義_第3頁
SQL Server數(shù)據(jù)庫實(shí)踐教程 課件 03-SQL概述、數(shù)據(jù)定義_第4頁
SQL Server數(shù)據(jù)庫實(shí)踐教程 課件 03-SQL概述、數(shù)據(jù)定義_第5頁
已閱讀5頁,還剩27頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

SQLServer數(shù)據(jù)庫實(shí)踐對數(shù)據(jù)庫有了初步認(rèn)識在圖形界面初步認(rèn)識了數(shù)據(jù)庫創(chuàng)建數(shù)據(jù)庫創(chuàng)建表錄入數(shù)據(jù)現(xiàn)在開始學(xué)習(xí)使用代碼操作數(shù)據(jù)庫數(shù)據(jù)庫嵌在程序中使用(客戶機(jī))請求網(wǎng)頁瀏覽器進(jìn)程Web應(yīng)用服務(wù)器進(jìn)程LAN或WANWeb服務(wù)器進(jìn)程Web服務(wù)器Web應(yīng)用服務(wù)器/(瀏覽淘寶網(wǎng)為例)數(shù)據(jù)庫服務(wù)器進(jìn)程數(shù)據(jù)庫服務(wù)器ODBC①⑨返回頁面②發(fā)送到Web服務(wù)器③轉(zhuǎn)發(fā)動態(tài)頁面請求④連接數(shù)據(jù)庫驅(qū)動程序⑤執(zhí)行查詢操作⑥返回查詢結(jié)果到數(shù)據(jù)庫驅(qū)動程序⑦返回結(jié)果到Web應(yīng)用服務(wù)器⑧生成并將動態(tài)數(shù)據(jù)插入頁面,返回給Web服務(wù)器⑩接受網(wǎng)頁,解釋并顯示網(wǎng)頁內(nèi)容數(shù)據(jù)庫SQL語言SQL(StructuredQueryLanguage)結(jié)構(gòu)化查詢語言,是關(guān)系數(shù)據(jù)庫的標(biāo)準(zhǔn)語言SQL是一個通用的、功能極強(qiáng)的關(guān)系數(shù)據(jù)庫語言層次模型樹形結(jié)構(gòu)網(wǎng)狀模型網(wǎng)狀結(jié)構(gòu)層次數(shù)據(jù)庫、網(wǎng)狀數(shù)據(jù)庫已經(jīng)淘汰目前使用的基本都是關(guān)系數(shù)據(jù)庫使用關(guān)系模型,數(shù)據(jù)結(jié)構(gòu)是二維表SQL結(jié)構(gòu)化查詢語言,NotonlyQuery

SQL語言數(shù)據(jù)查詢數(shù)據(jù)定義數(shù)據(jù)操縱(增、刪、改)數(shù)據(jù)安全控制事務(wù)處理SQL語言一般分四類數(shù)據(jù)定義語言(DDL,DataDefinitionLanguage)數(shù)據(jù)操縱語言(DML,DataManipulationLanguage)數(shù)據(jù)查詢語言(DQL,DataQuery

Language)數(shù)據(jù)控制語言(DCL,DataControlLanguage)(+事務(wù))九個主要動詞數(shù)據(jù)定義操作對象操作方式數(shù)據(jù)庫createdatabasealterdatabasedropdatabase表createtablealtertabledroptable視圖createviewalterviewdropview

數(shù)據(jù)定義

三個動詞數(shù)據(jù)定義語言需要兩個關(guān)鍵字有特定含義的單詞create創(chuàng)建

alter修改drop刪除創(chuàng)建數(shù)據(jù)庫語法:CREATEDATABASE<數(shù)據(jù)庫名>[[ON[PRIMARY]]([NAME=<數(shù)據(jù)文件邏輯文件名>][,FILENAME=<'數(shù)據(jù)文件物理文件名'>][,SIZE=<數(shù)據(jù)文件初始大小>],[,MAXSIZE=<數(shù)據(jù)文件最大大小>][,FILEGROWTH<數(shù)據(jù)文件增長比例>][,…n])]

[LOGON([NAME=<日志文件邏輯文件名>][,FILENAME=<'日志文件物理文件名'>][,SIZE=<日志文件初始大小>],[,MAXSIZE=<日志文件最大大小>][,FILEGROWTH<日志文件增長比例>][,…n])]可選可選提示:

語法中的方括號[]表示可選項(xiàng),非必需項(xiàng)創(chuàng)建數(shù)據(jù)庫【例題1】指定數(shù)據(jù)文件和日志文件屬性創(chuàng)建數(shù)據(jù)庫語句:CREATEDATABASEMyDBON(NAME=MyDB_data,

--數(shù)據(jù)文件邏輯名,半角逗號分隔FILENAME='C:\MyDB_data.mdf',--數(shù)據(jù)文件物理名,半角引號SIZE=10MB,

--數(shù)據(jù)文件初始大小MAXSIZE=UNLIMITED,

--數(shù)據(jù)文件最大設(shè)置FILEGROWTH=10%)

--數(shù)據(jù)文件增長方式,注意后面沒有逗號LOGON(NAME=MyDB_log,

--日志文件邏輯名

FILENAME='C:\MyDB_log.ldf',--日志文件物理名SIZE=3MB,

--日志文件初始大小MAXSIZE=5MB,

--日志文件最大設(shè)置

FILEGROWTH=1MB)

--日志文件增長方式,注意后面沒有逗號操作演示--后面是單行注釋,不執(zhí)行

創(chuàng)建數(shù)據(jù)庫

CREATEDATABASEMyDBON(NAME=MyDB_data,FILENAME='C:\MyDB_data.mdf',SIZE=10MB,MAXSIZE=UNLIMITED,FILEGROWTH=10%)

LOGON(NAME=MyDB_log,FILENAME='C:\MyDB_log.ldf',SIZE=3MB,MAXSIZE=5MB,

FILEGROWTH=1MB)

邏輯名NAME物理名FILENAME修改數(shù)據(jù)庫

語法ALTERDATABASE<數(shù)據(jù)庫名>{ADDFILE<數(shù)據(jù)文件參數(shù)>[,...n]|ADDLOGFILE<日志文件參數(shù)>[,...n]|REMOVEFILE數(shù)據(jù)文件邏輯名稱|ADDFILEGROUP文件組名|REMOVEFILEGROUP文件組名|MODIFYFILE<數(shù)據(jù)文件參數(shù)> |MODIFYNAME=新數(shù)據(jù)庫名 |SET<參數(shù)>/*數(shù)據(jù)庫參數(shù)設(shè)置*/}/**/中間是多行注釋,不執(zhí)行ALTERDATABASEMyDBADDFILE(NAME=MyDB_data2,FILENAME='C:\MyDB_data2.ndf',SIZE=10MB,MAXSIZE=2GB,FILEGROWTH=10%)

修改數(shù)據(jù)庫【例題2】增加數(shù)據(jù)文件次要數(shù)據(jù)文件擴(kuò)展名.NDF

修改數(shù)據(jù)庫【例題3】修改數(shù)據(jù)文件的增長方式ALTERDATABASE

MyDBMODIFYFILE(NAME=MyDB_data2,FILEGROWTH=15%)刪除數(shù)據(jù)庫語法:DROPDATABASE<數(shù)據(jù)庫名>提示:會丟失數(shù)據(jù),慎重使用刪除數(shù)據(jù)庫【例題4】刪除

MyDB數(shù)據(jù)庫語句:DROPDATABASE

MyDB打開數(shù)據(jù)庫

語法:

USE<數(shù)據(jù)庫名>

注意:

USE

DATABASE<數(shù)據(jù)庫名>

×

CREATEDATABASE<數(shù)據(jù)庫名>

ALTERDATABASE<數(shù)據(jù)庫名>

DROPDATABASE<數(shù)據(jù)庫名>

CREATETABLE<表名>

CREATEVIEW<視圖名>打開數(shù)據(jù)庫創(chuàng)建表

語法CREATETABLE<表名>(<列名><數(shù)據(jù)類型>[<列級完整性約束>][,<列名><數(shù)據(jù)類型>[<列級完整性約束>]]…[,<表級完整性約束>]);問題:數(shù)據(jù)類型都有哪些?

完整性約束有哪些?SQLServer中常用數(shù)據(jù)類型字符類型數(shù)據(jù)類型說明char[(n)]固定長度字符型,n的范圍:1~8000,默認(rèn)1字節(jié)varchar[(n)]可變長字符型,n的范圍:1~8000,默認(rèn)1字節(jié)nchar[(n)]固定長度Unicode字符型,每個字符都占2個字節(jié),n的范圍:1~4000,默認(rèn)1字節(jié)nvarchar[(n)]可變長度Unicode字符型,每個字符都占2個字節(jié),n的范圍:1~4000之間,默認(rèn)1字節(jié)text大長度字符型,最多231-1(2147483647)字節(jié)ntext大長度Unicode字符數(shù)據(jù),最多(231-1)∕2(1073741823)個字符SQLServer中常用數(shù)據(jù)類型數(shù)字類型數(shù)據(jù)類型說明bigint長整型,8個字節(jié),-263~263-1int整型,4個字節(jié),-231~231-1smallint短整型2個字節(jié),-215~215-1tinyint存儲長度為1個字節(jié)無符號整型,0~255float浮點(diǎn)型,8個字節(jié),–1.79E+308~1.79E+308real浮點(diǎn)型,4個字節(jié),–3.40E+38~3.40E+38bit二進(jìn)制整數(shù),1位值,為1或0numeric(p,s)固定精度和小數(shù)浮點(diǎn)型,取值范圍-1038+1~1038–1,p指定精度,取值范圍從1~38。s指小數(shù)位數(shù),取值范圍從0~pdecimal(p,s)decimal與numeric數(shù)據(jù)類型在功能上等效。SQLServer中常用數(shù)據(jù)類型日期類型數(shù)據(jù)類型說明精度date日期型,無時間,4個字節(jié),1753年1月1日~9999年12月31日1天datetime日期時間型,8個字節(jié),1753年1月1日~9999年12月31日3.33毫秒smalldatetime日期時間型,4個字節(jié),1900年1月1日~2079年6月6日1分鐘time時間型,不存日期,只存時分秒1毫秒SQLServer中常用數(shù)據(jù)類型貨幣類型數(shù)據(jù)類型說明money8個字節(jié),-263(-922,337,203,685,477.5808)~263-1(922,337,203,685,477.5807)smallmoney4個字節(jié),-231(-214,748.3648)~231-1(214,748.3647)完整性約束Primarykey:主鍵約束(唯一、不允許空)Foreignkeyreferences主鍵表(主鍵列):外鍵約束NULL|NOTNULL:非空約束(允許空|不允許空)Unique:唯一鍵約束Default(值):默認(rèn)值約束Check(完整表達(dá)式):檢查約束

完整性約束:保證數(shù)據(jù)完整性的一種方法,可以防止數(shù)據(jù)庫中輸入不符合語意規(guī)定、不正確的數(shù)據(jù)。創(chuàng)建基本表

約束分為表級約束和列級約束

只涉及一列的約束可以定義列級,也可以定義表級。

涉及多列的約束必須定義為表級(如SC表聯(lián)合主鍵)。提示:語法中的方括號[]表示可選項(xiàng),非必需項(xiàng)

語法CREATETABLE<表名>(<列名><數(shù)據(jù)類型>[<列級完整性約束>][,<列名><數(shù)據(jù)類型>[<列級完整性約束>]]…[,<表級完整性約束>]);創(chuàng)建基本表[例3]建立“學(xué)生”表Student,學(xué)號是主碼。

CREATETABLEStudent(SnoINTNOTNULL

PRIMARYKEY,/*列級完整性約束*/

SnameVARCHAR(20),SsexCHAR(2),SageSMALLINT,SdeptVARCHAR(20))主鍵提示:數(shù)據(jù)庫中不區(qū)分大小寫創(chuàng)建基本表[例4]建立一個“課程”表CourseCREATETABLECourse(CnoINTNOTNULL

PRIMARYKEY,CnameVARCHAR(40)UNIQUE,/*唯一約束*/

CpnoINT, CcreditSMALLINT

);創(chuàng)建基本表[例5]建立一個“學(xué)生選課”表SCCREATETABLESC(SnoINTFOREIGNKEYREFERENCESStudent(Sno),CnoINT,GradeSMALLINT,

PRIMARYKEY(Sno,Cno),/*表級約束,聯(lián)合主鍵,兩個屬性構(gòu)成*/FOREIGNKEY(Cno)REFERENCESCourse(Cno)

/*表級約束,外鍵,Cno

溫馨提示

  • 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論