版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第一章
數(shù)據(jù)庫(kù)概述1.1資料庫(kù)基本知識(shí)
1.1.1資料庫(kù)的基本概念1.數(shù)據(jù)(data)2.資料庫(kù)(database) 3.資料庫(kù)管理系統(tǒng) (DataBaseManagementSystem,簡(jiǎn)稱DBMS)
4.資料庫(kù)系統(tǒng)(DataBaseSystem,簡(jiǎn)稱DBS)1.1.2數(shù)據(jù)管理技術(shù)的發(fā)展1.人工管理階段2.檔系統(tǒng)階段3.資料庫(kù)系統(tǒng)階段1.1.3數(shù)據(jù)模型
1.層次模型(HierarchicalModel)
2.網(wǎng)狀模型(NetworkModel)
3.關(guān)係模型(RelationalModel)
1.1.4資料庫(kù)系統(tǒng)的模式結(jié)構(gòu)
1.模式:資料庫(kù)的總體框架,是對(duì)數(shù)據(jù)庫(kù)中全體數(shù)據(jù)的 邏輯結(jié)構(gòu)和特性的描述。
2.外模式:資料庫(kù)用戶看到的數(shù)據(jù)視圖
3.內(nèi)模式:定義數(shù)據(jù)的存儲(chǔ)方式和物理結(jié)構(gòu)
1.2關(guān)係資料庫(kù) 關(guān)係資料庫(kù)(RelationDataBase)是建立在嚴(yán)密的數(shù)學(xué)基礎(chǔ)之上的,它應(yīng)用數(shù)學(xué)方法來處理資料庫(kù)中的數(shù)據(jù)。1.2.1關(guān)係模型與關(guān)係資料庫(kù)1.2.2關(guān)係的完整性
1.實(shí)體完整性
2.參照完整性
3.用戶定義的完整性1.3關(guān)係資料庫(kù)設(shè)計(jì)1.3.1ER關(guān)係模型資料庫(kù)設(shè)計(jì)
1.實(shí)體:一組有相同屬性的對(duì)象,被用戶標(biāo)識(shí)為獨(dú)立存 在的對(duì)象集合。
2.關(guān)係:實(shí)體之間的具有某種含義的關(guān)聯(lián)。
3.屬性:實(shí)體或關(guān)係的性質(zhì)。
4.鍵:實(shí)體的鍵可以分為:超鍵(SuperKey)、候選 鍵(CandidateKey)、主鍵(PrimaryKey,簡(jiǎn) 稱PK)和備用鍵(AlternateKey)
1.3.2關(guān)係模型的規(guī)範(fàn)化
1.第一範(fàn)式:每個(gè)列和記錄包含一個(gè)而且只包含一個(gè) 值的表。
2.第二範(fàn)式:一個(gè)第一範(fàn)式的表並且每個(gè)非主鍵列都 可以從構(gòu)成主鍵的全部的列得到。
3.第三範(fàn)式:是一個(gè)已經(jīng)是第一範(fàn)式和第二範(fàn)式的 表,並且所有非主鍵列的值都只能由主 鍵列中決定,而不能由其他非主鍵列決 定。
1.3.3關(guān)係資料庫(kù)的關(guān)係
1.一對(duì)一關(guān)係
2.一對(duì)多關(guān)係
3.多對(duì)多關(guān)係
1.3.4資料庫(kù)的一般設(shè)計(jì)方法
1.需求分析
2.概念設(shè)計(jì)
3.邏輯設(shè)計(jì)
4.物理設(shè)計(jì)
5.資料庫(kù)的實(shí)施
6.資料庫(kù)的運(yùn)行和維護(hù)第2章
VB.NET簡(jiǎn)介第2章VB.NET簡(jiǎn)介2.1VS.NET與VB.NET簡(jiǎn)介2.2VS.NET安裝與啟動(dòng)2.3變數(shù)和類型2.4面向?qū)ο笳Z(yǔ)法2.5一個(gè)簡(jiǎn)單的VB.NET示例本章內(nèi)容第2章VB.NET簡(jiǎn)介2.1VS.NET與VB.NET簡(jiǎn)介2.1.1VisualStudio.NET簡(jiǎn)介2.1.2VB.NET簡(jiǎn)介
VisualBasic.NET的新特性:封裝特性、繼承、多態(tài)性、結(jié)構(gòu)化錯(cuò)誤處理、類型安全保證、用戶介面繼承、Web表單、Web服務(wù)第2章VB.NET簡(jiǎn)介2.2VS.NET安裝與啟動(dòng)2.2.1VS.NET的安裝步驟2.2.2VS.NET的啟動(dòng)2.3變數(shù)和類型
.NET只有兩個(gè)主要變數(shù)類型:值類型和引用類型。值類型表示位於堆疊上的簡(jiǎn)單數(shù)據(jù)存儲(chǔ),它們就是VB6開發(fā)人員常說的數(shù)據(jù)類型。引用類型是基類,是從其父類繼承實(shí)現(xiàn)的。
值類型和引用類型在賦值語(yǔ)句中的處理是不同的。它們的記憶體管理方式也不同。第2章VB.NET簡(jiǎn)介2.3.1值類型
值類型常被稱為基本類型,這些基本類型用關(guān)鍵字如String、Long和Integer來標(biāo)識(shí),它們是.NET類庫(kù)定義的類的別名。
表2-1列出了VB.NET定義的基本類型以及它們的映射結(jié)構(gòu)或類。
基本類型.NET類或結(jié)構(gòu)ByteSystem.Byte(結(jié)構(gòu))ShortSystem.Int16(結(jié)構(gòu))IntegerSystem.Int32(結(jié)構(gòu))LongSystem.Int64(結(jié)構(gòu))SingleSystem.Single(結(jié)構(gòu))DoubleSystem.Double(結(jié)構(gòu))DecimalSystem.Decimal(結(jié)構(gòu))BooleanSystem.Boolean(結(jié)構(gòu))DateSystem.Datetime(結(jié)構(gòu))CharSystem.Char(結(jié)構(gòu))StringSystem.String(類)表2-1第2章VB.NET簡(jiǎn)介2.3.2引用類型
1.Object類
Object類是每個(gè)類型的基礎(chǔ),包括值類型和引用類型。在其核心,每個(gè)變數(shù)都是一個(gè)對(duì)象,都可以作為對(duì)象來處理。Object類型由4個(gè)位元組的地址來存儲(chǔ),該地址可以引用應(yīng)用程式中的對(duì)象。Object也可以用來存儲(chǔ)各種類型的數(shù)據(jù)變數(shù),這個(gè)功能使Object類型取代了VisualBasic以前版本的Variant類型。
第2章VB.NET簡(jiǎn)介2.String類
String類是.NET中特有的,因?yàn)樗遣粚凫吨殿愋偷囊粋€(gè)基本類型。String類提供了一些共用的方法,即這些方法不是String專有的。這些方法代替了VisualBasic6中處理字串的函數(shù),並可以執(zhí)行諸如插入字串、分割字串和搜索字串等操作。第2章VB.NET簡(jiǎn)介2.4面向?qū)ο笳Z(yǔ)法2.4.1面向?qū)ο蟮母拍? 面向?qū)ο蟮木幊逃腥齻€(gè)重要的特徵:封裝、繼承、多態(tài)。2.4.2面向?qū)ο蟮膶?shí)現(xiàn)
1.類的創(chuàng)建
2.繼承的使用第2章VB.NET簡(jiǎn)介2.5一個(gè)簡(jiǎn)單的VB.NET示例
1.創(chuàng)建ASP.NETWeb應(yīng)用程式
2.創(chuàng)建ASP.NET頁(yè)面
3.添加控件
4.保存和流覽頁(yè)面
5.添加代碼,完成功能設(shè)計(jì)
6.運(yùn)行第3章SQL
Server2000概述第3章SQLServer2000概述3.1SQLServer2000簡(jiǎn)介3.2SQLServer2000的安裝3.3SQLServer2000的常用工具本章內(nèi)容第3章SQLServer2000概述3.1SQLServer2000簡(jiǎn)介
SQLServer2000的主要特點(diǎn)具體體現(xiàn)在以下幾個(gè)方面:
1.Internet集成
2.可伸縮性和可用性
3.企業(yè)級(jí)數(shù)據(jù)庫(kù)功能
4.易於安裝、部署和使用
5.?dāng)?shù)據(jù)倉(cāng)庫(kù)第3章SQLServer2000概述3.2SQLServer2000的安裝3.2.1SQLServer2000的環(huán)境需求
1.SQLServer2000的版本
SQLServer2000的版本主要有:企業(yè)版、標(biāo)準(zhǔn)版、個(gè)人版、開發(fā)版等。
2.SQLServer2000安裝的硬體環(huán)境
3.SQLServer2000安裝的軟體環(huán)境3.2.2SQLServer2000的安裝步驟第3章SQLServer2000概述3.3SQLServer2000的常用工具3.3.1SQLServer企業(yè)管理器 利用SQLServer企業(yè)管理器能夠完成的操作主要有:
1、定義SQLServer伺服器群組以及在群組中註冊(cè)個(gè)別伺服器
2、為每一個(gè)已註冊(cè)的伺服器設(shè)置SQLServer選項(xiàng)
3、創(chuàng)建、管理資料庫(kù)
4、創(chuàng)建、管理表
5、創(chuàng)建管理視圖、存儲(chǔ)過程、觸發(fā)器
6、管理SQLServer的安全性
7、備份與恢復(fù)資料庫(kù)第3章SQLServer2000概述3.3.2SQLServer查詢分析器
利用SQLServer查詢分析器能夠完成的操作主要有:
1、查詢窗口,讓用戶可以方便地鍵入Transact-SQL語(yǔ)句。
2、在查詢窗口中鍵入的Transact-SQL語(yǔ)句,以不同的色彩標(biāo)識(shí)不同的對(duì)象,從而增加SQL語(yǔ)句的可讀性。
3、對(duì)象流覽器與對(duì)象搜尋工具,讓用戶可以很方便地在資料庫(kù)中尋找、對(duì)象及查看對(duì)象的結(jié)構(gòu)。
4、查詢的執(zhí)行結(jié)果可以顯示在方格或文字窗口中,或是直接寫入到指、定的報(bào)表檔上。
5、範(fàn)本檔包含了在資料庫(kù)中建立對(duì)象時(shí)所需的Transact-SQL語(yǔ)句的基本結(jié)構(gòu)。範(fàn)本的使用可以加快Transact-SQL語(yǔ)句的編寫。第3章SQLServer2000概述3.3.3SQLServer服務(wù)管理器SQLServer服務(wù)管理器有下列四種服務(wù),分別為:
1、SQLServer服務(wù)
2、SQLServerAgent服務(wù)
3、MicrosoftSearch服務(wù)
4、MSDTC(MicrosoftDistributedTransactionCoordinator)服務(wù)第3章SQLServer2000概述
1、SQLServer服務(wù):用以實(shí)現(xiàn)SQLServer資料庫(kù)引擎,它可以說是SQLServer的最基本組件,停止SQLServer服務(wù)將會(huì)停止所有的SQL服務(wù)。每一個(gè)SQLServer實(shí)例都有一個(gè)SQLServer服務(wù)。
2、SQLServerAgent服務(wù):即SQLServer代理服務(wù),可以自動(dòng)執(zhí)行指定任務(wù)、監(jiān)視SQLServer運(yùn)行並在必要時(shí)進(jìn)行報(bào)警。每一個(gè)SQLServer實(shí)例都有一個(gè)SQLServer代理服務(wù)。
3、MicrosoftSearch服務(wù):用以實(shí)現(xiàn)全文搜尋引擎。不論電腦上有多少個(gè)SQLServer實(shí)例,都只會(huì)有一個(gè)MicrosoftSearch服務(wù)。
4、MSDTC服務(wù):稱為微軟分佈式事務(wù)協(xié)調(diào)器,用以管理分佈式交易。不論電腦上有多少個(gè)SQLServer實(shí)例,都只會(huì)有一個(gè)MSDTC服務(wù)。第4章
數(shù)據(jù)庫(kù)與表第4章資料庫(kù)與表4.1資料庫(kù)的創(chuàng)建與使用4.2表的創(chuàng)建與使用4.3約束的創(chuàng)建與使用4.4ADO.NET訪問資料庫(kù)4.5實(shí)驗(yàn)與指導(dǎo)本章內(nèi)容第4章資料庫(kù)與表4.1資料庫(kù)的創(chuàng)建與使用4.1.1資料庫(kù)的組成
SQLServer2000的資料庫(kù)大致可分為三類。
(1)主數(shù)據(jù)檔:每一個(gè)資料庫(kù)都必須有一個(gè)主數(shù)據(jù)檔,這個(gè)主數(shù)據(jù)檔中記錄了資料庫(kù)的起始資訊、數(shù)據(jù)檔成員以及資料庫(kù)的對(duì)象成員,如表、視圖、規(guī)則等。主數(shù)據(jù)檔一旦建立了之後,就不能將它刪除,除非將整個(gè)資料庫(kù)刪除。默認(rèn)主數(shù)據(jù)檔的擴(kuò)展名為“.mdf”。
第4章資料庫(kù)與表
(2)輔助數(shù)據(jù)檔:SQLServer可以將資料庫(kù)存成多個(gè)數(shù)據(jù)檔,一個(gè)主數(shù)據(jù)檔與多個(gè)輔助數(shù)據(jù)檔,一個(gè)資料庫(kù)也可以沒有輔助數(shù)據(jù)檔。默認(rèn)輔助數(shù)據(jù)檔的擴(kuò)展名為“.ndf”。通常情況下資料庫(kù)並不需要建立輔助數(shù)據(jù)檔,只有當(dāng)數(shù)據(jù)過於龐大,資料庫(kù)的內(nèi)容太多時(shí),單一數(shù)據(jù)檔無法負(fù)荷,需要使用輔助數(shù)據(jù)檔分散存儲(chǔ)數(shù)據(jù),以提高數(shù)據(jù)的存取效率。 (3)事務(wù)日誌檔:事務(wù)日誌檔是用來記錄資料庫(kù)的事務(wù)活動(dòng)記錄,它可以為SQLServer取消事務(wù)、回存事務(wù)等操作提供參考依據(jù),以便在資料庫(kù)損壞時(shí),能利用事務(wù)日誌檔恢復(fù)資料庫(kù)。默認(rèn)事務(wù)日誌檔的擴(kuò)展名為“.ldf”。 如果一個(gè)資料庫(kù)是由多個(gè)數(shù)據(jù)檔組成時(shí),就可以使用SQLServer的檔組功能來管理這些數(shù)據(jù)檔。檔組允許多個(gè)數(shù)據(jù)檔組成一個(gè)組,並對(duì)它們進(jìn)行管理。第4章資料庫(kù)與表4.1.2系統(tǒng)資料庫(kù)
在SQLServer初始安裝後,打開企業(yè)管理器,可以看到系統(tǒng)中已經(jīng)包含了6個(gè)數(shù)據(jù)庫(kù):master、tempdb、model和msdb是SQLServer的4個(gè)系統(tǒng)資料庫(kù)。pubs和Northwind是SQLServer的示例資料庫(kù),讓學(xué)習(xí)者作為學(xué)習(xí)範(fàn)例使用的。第4章資料庫(kù)與表
SQLServer的4個(gè)系統(tǒng)資料庫(kù)的作用說明如下: (1)master資料庫(kù)
master資料庫(kù)可以說是SQLServer的主要資料庫(kù),它記錄了SQLServer系統(tǒng)級(jí)的資訊,包括啟動(dòng)參數(shù)、登錄帳號(hào)、系統(tǒng)配置資訊以及所有資料庫(kù)的相關(guān)資訊等。由於matser資料庫(kù)記錄了如此多且重要的資訊,一旦該資料庫(kù)檔遺失或損毀,將對(duì)整個(gè)SQLServer系統(tǒng)的運(yùn)行造成重大影響,因此建議資料庫(kù)系統(tǒng)管理員最好要保留最近的master資料庫(kù)備份,以便在發(fā)生問題時(shí),將資料庫(kù)恢復(fù)。 每個(gè)資料庫(kù)都有屬於自己的一組系統(tǒng)表,記錄了每個(gè)資料庫(kù)的系統(tǒng)資訊,這些系統(tǒng)表在創(chuàng)建資料庫(kù)時(shí)就會(huì)自動(dòng)產(chǎn)生。為了使系統(tǒng)表與用戶自己創(chuàng)建的表相區(qū)別,系統(tǒng)表的表名都以“sys”開頭。 第4章資料庫(kù)與表(2)model資料庫(kù)
model資料庫(kù)是一個(gè)範(fàn)本資料庫(kù),是系統(tǒng)中所有資料庫(kù)的範(fàn)本。它包含了建立新資料庫(kù)時(shí)所需要的基本對(duì)象,如系統(tǒng)表、查看表、登錄資訊等,當(dāng)在系統(tǒng)中新創(chuàng)建一個(gè)資料庫(kù)時(shí),剛創(chuàng)建的資料庫(kù)都和model資料庫(kù)完全一樣。由於所有新建立的資料庫(kù)都是繼承這個(gè)model資料庫(kù)而來的,因此當(dāng)我們更改了model資料庫(kù)上的內(nèi)容,如增加對(duì)象,則稍後建立的資料庫(kù)也都包含該變動(dòng)。第4章資料庫(kù)與表(3)msdb資料庫(kù)
msdb資料庫(kù)是提供給SQLServer代理(SQLServerAgent)服務(wù)使用的,用來記錄進(jìn)行調(diào)度、警示、操作員與操作等運(yùn)作所需的相關(guān)資訊。如果不需要使用到這些SQLServer代理專案,就不會(huì)使用到這個(gè)系統(tǒng)資料庫(kù)。(4)tempdb資料庫(kù)
tempdb資料庫(kù)用於存放所有連接到系統(tǒng)的用戶臨時(shí)表、臨時(shí)存儲(chǔ)過程以及SQLServer產(chǎn)生的其他任何臨時(shí)性對(duì)象。 當(dāng)SQLServer關(guān)閉時(shí),tempdb資料庫(kù)中所有對(duì)象會(huì)被刪除。當(dāng)SQLServer被啟動(dòng),tempdb資料庫(kù)就會(huì)被重新建立,以便讓系統(tǒng)以一個(gè)初始狀態(tài)開始執(zhí)行。第4章資料庫(kù)與表4.1.3創(chuàng)建資料庫(kù)SQLServer創(chuàng)建資料庫(kù)有三種方法:
1.用企業(yè)管理器創(chuàng)建資料庫(kù)
2.在查詢分析器中用T-SQL命令創(chuàng)建資料庫(kù) 創(chuàng)建時(shí)使用CREATEDATABASE命令,該命令語(yǔ)法如下:CREATEDATABASEdatabase_name
[ON[PRIMARY][<filespec>[,…n][,<filegroupspec>[,…n]]][LOGON{<filespec>[,…n]}][FORLOAD|FORATTACH]第4章資料庫(kù)與表4.1.4修改資料庫(kù)
1.資料庫(kù)更名 利用系統(tǒng)存儲(chǔ)過程sp_renamedb可以修改資料庫(kù)的名稱。在重命名資料庫(kù)之前,應(yīng)該確保沒有用戶使用該資料庫(kù),而且資料庫(kù)應(yīng)該設(shè)置為“單用戶”模式。系統(tǒng)存儲(chǔ)過程sp_renamedb的語(yǔ)法結(jié)構(gòu)如下:
sp_renamedb‘@old_name’‘new_name’第4章資料庫(kù)與表
2.修改資料庫(kù)選項(xiàng) 資料庫(kù)創(chuàng)建後,可以在企業(yè)管理器中利用資料庫(kù)的屬性設(shè)置,來更改資料庫(kù)的某些設(shè)置。4.1.5刪除資料庫(kù) 可以利用T-SQL的DROPDATABASE語(yǔ)句來刪除資料庫(kù):DROPDATABASEdatabase_name[,...n]
另外,無法除去系統(tǒng)資料庫(kù)(msdb、model、master、tempdb)。第4章資料庫(kù)與表4.1.6附加與分離資料庫(kù)
1.分離資料庫(kù) 分離資料庫(kù)是將資料庫(kù)從SQLServer企業(yè)管理器中分離出來,刪除資料庫(kù)在SQLServer中的定義,並不會(huì)刪除資料庫(kù)存儲(chǔ)在硬碟上的資料庫(kù)檔。當(dāng)資料庫(kù)被分離後,數(shù)據(jù)檔的位置就可以任意移動(dòng),並且在需要時(shí)隨時(shí)將該分離的資料庫(kù)附加到SQLServer中,再次使用該資料庫(kù)。
2.附加資料庫(kù) 資料庫(kù)被從SQLServer中分離後,將資料庫(kù)檔重新附 加給SQLServer,資料庫(kù)就能再次使用。第4章資料庫(kù)與表4.2表的創(chuàng)建與使用4.2.1數(shù)據(jù)類型
在SQLServer資料庫(kù)中存儲(chǔ)的數(shù)據(jù)都具有自己的數(shù)據(jù)類型,數(shù)據(jù)類型決定了數(shù)據(jù)的存儲(chǔ)格式,以及數(shù)據(jù)所佔(zhàn)用的空間,代表了各種不同的資訊類型。
SQLServer2000提供系統(tǒng)數(shù)據(jù)類型和用戶自定義數(shù)據(jù)類型,本節(jié)將主要介紹系統(tǒng)數(shù)據(jù)類型。
常見的數(shù)據(jù)類型見表。第4章資料庫(kù)與表
數(shù)據(jù)類型使用位元組數(shù)據(jù)範(fàn)圍整數(shù)數(shù)值tinyint1Bytes0~255smallint2Bytes-215~(215-1)
int4Bytes-231~(231-1)
bigint8Bytes-263~(263-1)小數(shù)數(shù)值decimal(numeric)最大至38Bytes(-1038-1)~(1038-1)浮點(diǎn)數(shù)值float單精確度:4Bytes雙精度:8Bytes-1.79E+308~1.79E+308real4Bytes-3.40E+38~3.40E+38表--數(shù)值數(shù)據(jù)的特性及取值範(fàn)圍第4章資料庫(kù)與表4.2.2創(chuàng)建表
1.用企業(yè)管理器創(chuàng)建資料庫(kù)
2.在查詢分析器中用T-SQL命令創(chuàng)建表 使用Transact-SQL語(yǔ)言中的:CREATETABLE
命令來創(chuàng)建表。第4章資料庫(kù)與表4.2.3修改表 使用Transact-SQL語(yǔ)言中的:ALTERTABLE
修改表。4.2.4刪除表 使用Transact-SQL語(yǔ)言中的:DROPTABLEtable_name
刪除表。第4章資料庫(kù)與表4.3約束的創(chuàng)建與使用
約束是SQLServer提供的自動(dòng)強(qiáng)制數(shù)據(jù)完整性的一種方法,它是通過定義列的取值規(guī)則來維護(hù)數(shù)據(jù)的完整性。在SQLServer2000中常用的約束有5種,分別為檢查約束(CHECK)、惟一性約束(UNIQUE)、主鍵約束(PRIMARYKEY)、外鍵約束(FOREIGNKEY)和默認(rèn)約束(DEFAULT)。第4章資料庫(kù)與表4.3.1創(chuàng)建約束
1.PRIMARYKEY約束
PRIMARYKEY約束標(biāo)識(shí)列或列集,這些列或列集的值惟一地標(biāo)識(shí)表中的行。在一個(gè)表中,不能有兩行包含相同的主鍵值。不能在主鍵內(nèi)的任何列中輸入NULL值。每個(gè)表都應(yīng)有一個(gè)主鍵。
2.UNIQUE約束
UNIQUE約束在列集內(nèi)強(qiáng)制執(zhí)行值的惟一性。對(duì)於UNIQUE約束中的列,表中不允許有兩行包含相同的非空值。主鍵也強(qiáng)制執(zhí)行惟一性,但主鍵不允許有空值。UNIQUE約束優(yōu)於惟一索引。
第4章資料庫(kù)與表 3.CHECK約束
CHECK約束對(duì)可以放入列中的值進(jìn)行限制,以強(qiáng)制執(zhí)行域的完整性。
4.DEFAULT約束
DEFAULT約束用來強(qiáng)制數(shù)據(jù)的域完整性,它為表中某列建立一個(gè)默認(rèn)值,當(dāng)用戶插入記錄時(shí),如果沒有為該列提供輸入值,則系統(tǒng)會(huì)自動(dòng)將默認(rèn)值賦給該列。
5.FOREIGNKEY約束
FOREIGNKEY約束標(biāo)識(shí)表之間的關(guān)係。通過外鍵約束可以為相關(guān)聯(lián)的兩個(gè)表建立聯(lián)繫,實(shí)現(xiàn)數(shù)據(jù)的參照完整性,維護(hù)兩表之間數(shù)據(jù)的一致性關(guān)係。第4章資料庫(kù)與表4.3.2查看約束的定義
SQLServer2000提供了使用企業(yè)管理器和系統(tǒng)存儲(chǔ)過程兩種方式,查看約束的定義。
1.使用企業(yè)管理器查看約束的定義
2.系統(tǒng)存儲(chǔ)過程查看約束的定義4.3.3刪除約束
刪除定義在表上的約束,可以用企業(yè)管理器,也可以使用DROP命令刪除約束。第4章資料庫(kù)與表4.4ADO.NET訪問資料庫(kù)4.4.1ADO.NET訪問資料庫(kù)的步驟 在ADO.NET裏,最重要概念之一是DataSet。DataSet是不依賴於資料庫(kù)的獨(dú)立數(shù)據(jù)集合。所謂獨(dú)立,就是:即使斷開資料鏈路,或者關(guān)閉資料庫(kù),DataSet依然是可用的。有了DataSet,那麼,ADO.NET訪問資料庫(kù)的步驟如下:
1、建一個(gè)資料庫(kù)鏈路;
2、求一個(gè)記錄集合;
3、把記錄集合暫存到DataSet;
4、如果需要,返回第2步(DataSet可以容納多個(gè)數(shù)據(jù)集合);
5、關(guān)閉資料庫(kù)鏈路;
6、在DataSet上作所需要的操作。第4章資料庫(kù)與表4.4.2ADO.NET對(duì)象模型
ADO.NET有許多對(duì)象,為了使用ADO.NET對(duì)象,我們需要引入兩個(gè)NameSpace:System.Data和System.Data.SqlClient,使用ASP.NET的Import指令就可以了:
<%@ImportNamespace="System.Data"%> <%@ImportNamespace="System.Data.SqlClient"%>第4章資料庫(kù)與表使用ADO.NET時(shí)常用到5個(gè)主要的對(duì)象類型:
Connection對(duì)象:通過Connection對(duì)象,可以將所有指令發(fā)送到數(shù)據(jù)記憶體。用戶可以指定連接哪個(gè)資料庫(kù),使用什麼驗(yàn)證等等。
Command對(duì)象:Command對(duì)象包含了指定將什麼資訊發(fā)送到資料庫(kù)的指令,它還包含了將要使用的連接的鏈接。
DataReader對(duì)象:DataReader對(duì)象“獲取”通過Command對(duì)象檢索到的資訊。這種資訊是只讀的,因此不能被編輯,每次只能讀取一項(xiàng)數(shù)據(jù)。該對(duì)象提供了處理大量數(shù)據(jù)的有效方法;有時(shí)它們被描述為提供了連接訪問,因?yàn)橹灰褂肈ataReader,那麼必須保持對(duì)數(shù)據(jù)庫(kù)的連接。第4章資料庫(kù)與表
DataAdapterSet對(duì)象提供了一組命令和數(shù)據(jù)庫(kù)連接,它是另一種檢索數(shù)據(jù)的方法。它對(duì)數(shù)據(jù)更新的支持也是只讀的,DataAdapter並不允許編輯數(shù)據(jù)源;它用數(shù)據(jù)源的資訊副本填充數(shù)據(jù)集,接著將對(duì)數(shù)據(jù)的改變寫入資料庫(kù)中。
Data對(duì)象可以被看作數(shù)據(jù)記憶體的部分?jǐn)?shù)據(jù)的本地副本,可以讀取、添加、修改和刪除其中的數(shù)據(jù)。因?yàn)檫@些數(shù)據(jù)是本地緩存的,與DataReader的讀取方式不同,可以以隨機(jī)的方式讀取它。在對(duì)數(shù)據(jù)作改變時(shí),通過DataAdapter將它們發(fā)送回?cái)?shù)據(jù)記憶體中。在這之前,DataSet都是與數(shù)據(jù)記憶體斷開的。第4章資料庫(kù)與表4.4.3ADO.NET數(shù)據(jù)連接方法 創(chuàng)建ADO.NET數(shù)據(jù)連接對(duì)象時(shí),所需的5個(gè)編程步驟: 第1步:創(chuàng)建到數(shù)據(jù)源的連接:
SQLConnection
Conn=new SQLConnection("server=localhost; uid=sa;pwd=;database=bhd");
第2步:創(chuàng)建SqlDataAdapter對(duì)象,指定一個(gè)存儲(chǔ)過程的名字或者一個(gè)SQL語(yǔ)句,指定資料鏈路:
Stringstr="select*fromspxx";
SqlDataAdapter
da= newSqlDataAdapter(str,Conn);第4章資料庫(kù)與表
第3步:創(chuàng)建一個(gè)Dataset對(duì)象
DataSet
ds=newDataSet();
第4步:調(diào)用SqlDataAdapter對(duì)象的Fill方法,為Dataset填充數(shù)據(jù)
da.Fill(ds,"products");
第5步:運(yùn)算元據(jù)
dgProducts.DataSource= ds.Tables["products"].DefaultView;
dgProducts.DataBind();
第6步:
SqlConnection對(duì)象一旦使用完,應(yīng)及時(shí)關(guān)閉它。
Conn.Close();第4章資料庫(kù)與表4.5實(shí)驗(yàn)與指導(dǎo)
實(shí)驗(yàn)一:創(chuàng)建銷售管理資料庫(kù)實(shí)驗(yàn)?zāi)康模? 通過本實(shí)驗(yàn),要求學(xué)生掌握利用企業(yè)管理器和查詢分析器,創(chuàng)建資料庫(kù)的方法。實(shí)驗(yàn)內(nèi)容: 本書實(shí)例提供了銷售管理網(wǎng)站的後臺(tái)資料庫(kù)bhd,在設(shè)計(jì)數(shù)據(jù)表結(jié)構(gòu)之前,首先要?jiǎng)?chuàng)建一個(gè)bhd資料庫(kù)。 資料庫(kù)bhd的參數(shù)為數(shù)據(jù)檔案名稱為“bhd_data”,檔路徑及名稱為e:\xsgl\db\bhd.mdf,初始大小為10MB,最大值的為100MB,增長(zhǎng)速度為每次增長(zhǎng)1MB;事務(wù)日誌檔的名稱為“bhd_log”,檔路徑及名稱為e:\xsgl\db\bhd.ldf,初始大小為10MB,最大值為無限大,增長(zhǎng)速度為每次增長(zhǎng)10%。第4章資料庫(kù)與表實(shí)現(xiàn)方法:
bhd資料庫(kù)可以在企業(yè)管理器中創(chuàng)建,也可以在查詢分析器中使用CREATEDATABASE命令創(chuàng)建。 在查詢分析器中創(chuàng)建bhd資料庫(kù),程式如下:CREATEDATABASEbhdONPRIMARY(NAME=bhd_data,FILENAME=e:\xsgl\db\bhd.mdf’,SIZE=10,MAXSIZE=100,FILEGROWTH=1)LOGON(NAME=bhd_Log,FILENAME=e:\xsgl\db\bhd.ldf’,SIZE=10,MAXSIZE=UNLIMITED,FILEGROWTH=10%)第4章資料庫(kù)與表實(shí)驗(yàn)二:創(chuàng)建銷售庫(kù)的表實(shí)驗(yàn)?zāi)康模? 通過本實(shí)驗(yàn),要求學(xué)生掌握利用企業(yè)管理器和查 詢分析器,創(chuàng)建資料庫(kù)中的表,並輸入記錄。實(shí)驗(yàn)內(nèi)容: 銷售管理資料庫(kù)bhd由7個(gè)表構(gòu)成。資料庫(kù)bhd包 含的7個(gè)表如下:商品資訊表spxx、銷售歷史表xsls、庫(kù) 存歷史表kcls、人員資訊表ryxx、價(jià)格歷史表jgls、銷售 資訊表xsxx、人員業(yè)績(jī)表ryyj。 其中商品資訊表已在前面章節(jié)中創(chuàng)建過,其他6 個(gè)表的表結(jié)構(gòu)如下:第4章資料庫(kù)與表銷售歷史表xsls保存商品銷售過程中的資訊,表結(jié)構(gòu)如下所示。字段名稱類型長(zhǎng)度允許空說明lshint4否流水號(hào),設(shè)置為自動(dòng)編號(hào),並設(shè)為主鍵spbhchar6否商品編號(hào)xsslint
4否銷售數(shù)量xsrqdatetime8否銷售日期ysjedecimal9否應(yīng)收金額,默認(rèn)值為0spdjdecimal9否商品定價(jià),默認(rèn)值為0ssjedecimal9否實(shí)收金額zljedecimal9否找零金額rybhchar6否人員編號(hào)jsrchar10否經(jīng)手人第4章資料庫(kù)與表庫(kù)存的歷史資訊保存在庫(kù)存歷史表kcls中,表結(jié)構(gòu)如下所示。字段名稱類型長(zhǎng)度允許空說明lshint4否流水號(hào),設(shè)置為自動(dòng)編號(hào),並設(shè)為主鍵spbhchar6否商品編號(hào)lrrqdatetime8否錄入日期,默認(rèn)值getdate()jsrchar10否經(jīng)手人kcslint4否庫(kù)存數(shù)量rckslint4否入出庫(kù)數(shù)量rckbzchar2否入出庫(kù)標(biāo)誌第4章資料庫(kù)與表價(jià)格歷史表jgls保存商品銷售的價(jià)格歷史資訊,表結(jié)構(gòu)如下所示。字段名稱類型長(zhǎng)度允許空說明spbhchar6否商品編號(hào)tjrqdatetime8是調(diào)價(jià)日期spxjdecimal9否商品新價(jià)spyjdecimal9否商品原價(jià)jsrchar10否經(jīng)手人lyrqdatetime8是錄入日期第4章資料庫(kù)與表人員資訊表ryxx保存人員的基本資訊,表結(jié)構(gòu)如下所示。字段名稱類型長(zhǎng)度允許空說明rybhchar6否人員編號(hào),設(shè)為主鍵rymcchar10否人員名稱ryxbchar2否人員性別ryzzchar50是人員住址yzbmchar10是郵遞區(qū)號(hào)gwmcchar10否崗位名稱rgrqdatetime8否入崗日期mimachar6否人員密碼第4章資料庫(kù)與表銷售資訊表xsxx保存所有商品銷售的資訊,表結(jié)構(gòu)如下所示。字段名稱類型長(zhǎng)度允許空說明spbhchar6否商品編號(hào)xsrqdatetime8否銷售日期xsslint4否銷售數(shù)量jsrchar10否經(jīng)手人第4章資料庫(kù)與表人員業(yè)績(jī)表ryyj保存所有銷售人員的業(yè)績(jī),表結(jié)構(gòu)如下所示。字段名稱類型長(zhǎng)度允許空說明rybhchar6否人員編號(hào)xsslint4否銷售數(shù)量,默認(rèn)值為0tjrqdatetime8否提交日期xsjedecimal9否銷售金額,默認(rèn)值為0jycsint4否交易次數(shù),默認(rèn)值為0第4章資料庫(kù)與表實(shí)現(xiàn)方法:
以價(jià)格歷史表jgls為例,在查詢分析器中創(chuàng)建數(shù)據(jù)表,程式如下:USEbhdGOCREATETABLEjgls(spbhchar(6)NOTNULL,tjrq
datetime,spxjdecimal(18,2)NOTNULL,spyjdecimal(18,2)NOTNULL,jsrchar(10)NOTNULL,lyrq
datetime
)
第5章
數(shù)據(jù)查詢第5章數(shù)據(jù)查詢5.1SQL語(yǔ)言簡(jiǎn)介5.2SELECT語(yǔ)句5.3INSERT語(yǔ)句UPDATE語(yǔ)句5.5DELETE語(yǔ)句本章內(nèi)容第5章數(shù)據(jù)查詢5.1SQL語(yǔ)言簡(jiǎn)介5.1.1概述
SQL是結(jié)構(gòu)化查詢語(yǔ)言(StructuredQueryLanguage)的英文縮寫。它是一種通用的關(guān)係資料庫(kù)標(biāo)準(zhǔn)語(yǔ)言,其功能包括查詢、操縱、定義、控制。
1.SQL語(yǔ)言的特點(diǎn)
2.SQL語(yǔ)言的構(gòu)成第5章數(shù)據(jù)查詢5.1.2使用注釋
注釋是程式代碼中不執(zhí)行的文本字串(也稱為注解)。注釋用於說明代碼或暫時(shí)禁用正在進(jìn)行診斷的部分Transact-SQL語(yǔ)句和批處理。使用注釋對(duì)代碼進(jìn)行說明,可使程式代碼更易於維護(hù)。注釋通常用於記錄程式名稱、作者姓名和主要代碼更改的日期。注釋可用於描述複雜計(jì)算或解釋編程方法。第5章數(shù)據(jù)查詢 SQLServer支持兩種類型的注釋字元。
1.--(雙連字元) 這些注釋字元可與要執(zhí)行的代碼處在同一行,也可另起一行。從雙連字元開始到行尾均為注釋。對(duì)於多行注釋,必須在每個(gè)注釋行的開始使用雙連字元。表示用戶提供的用來進(jìn)行注解用的文本。可以將注釋插入單獨(dú)行中、嵌套(只限--)在Transact-SQL命令行的末端,或者Transact-SQL語(yǔ)句中。伺服器不對(duì)注釋進(jìn)行處理。兩個(gè)連字元(--)是SQL-92標(biāo)準(zhǔn)的注釋指示符。
語(yǔ)法格式:
--
text_of_comment
參數(shù):text_of_comment是指包含注釋文本的字串。第5章數(shù)據(jù)查詢 2./*...*/(正斜杠-星號(hào)對(duì)) 這些注釋字元可與要執(zhí)行的代碼處在同一行,也可另起一行,甚至在可執(zhí)行代碼內(nèi)。從開始注釋對(duì)(/*)到結(jié)束注釋對(duì)(*/)之間的全部?jī)?nèi)容均視為注釋部分。對(duì)於多行注釋,必須使用開始注釋字元對(duì)(/*)開始注釋,使用結(jié)束注釋字元對(duì)(*/)結(jié)束注釋。注釋行上不應(yīng)出現(xiàn)其他注釋字元。 “/*...*/”表示用戶提供的文本。伺服器不對(duì)位於/*和*/之間的注釋字元之間的文本進(jìn)行處理。
語(yǔ)法格式:
/*text_of_comment*/
參數(shù):text_of_comment是指包含注釋文本的字串。第5章數(shù)據(jù)查詢5.2SELECT語(yǔ)句5.2.1SELECT語(yǔ)句概述1.SELECT語(yǔ)句功能
SELECT語(yǔ)句按指定的條件從數(shù)據(jù)表或視圖中查詢數(shù)據(jù)。主要功能是從FROM列出的數(shù)據(jù)源表中,找出滿足WHERE檢索條件的記錄,並按SELECT子句的字段列表輸出查詢結(jié)果,在查詢結(jié)果中可以進(jìn)行分組與排序。第5章數(shù)據(jù)查詢 2.SELECT語(yǔ)句基本語(yǔ)法格式
SELECT字段列表
[INTO目標(biāo)數(shù)據(jù)表] FROM源數(shù)據(jù)表或視圖[,…n] [WHERE條件運(yùn)算式] [GROUPBY分組運(yùn)算式[HAVING搜索運(yùn)算式]] [ORDERBY排序運(yùn)算式[,…n][ASC]|[DESC]] [COMPUTE行聚合函數(shù)名(統(tǒng)計(jì)表達(dá)式)[,…n] [BY分類運(yùn)算式[,…n]]]第5章數(shù)據(jù)查詢
3.SELECT語(yǔ)句執(zhí)行方式 使用SELECT語(yǔ)句進(jìn)行數(shù)據(jù)查詢, SQL提供了兩 種執(zhí)行方式,分別是:企業(yè)管理器和查詢分析器。 (1)企業(yè)管理器方式 (2)查詢分析器方式第5章數(shù)據(jù)查詢5.2.2簡(jiǎn)單查詢
簡(jiǎn)單查詢是指只需熟練掌握SELECT語(yǔ)句的基本部分,就可以很容易的在資料庫(kù)表中查出相應(yīng)的資訊。
1.簡(jiǎn)單查詢的基本語(yǔ)法格式
SELECT列名1[,...列名n] FROM表名
2.具體應(yīng)用第5章數(shù)據(jù)查詢5.2.3使用WHERE子句 有條件查詢是指在資料庫(kù)中查找滿足一定條件的記錄。在SELECT語(yǔ)句中使用WHERE子句就可以實(shí)現(xiàn)此功能。
1.有條件查詢的基本語(yǔ)法格式
SELECT列名1[,...列名n] FROM表名
WHERE條件運(yùn)算式
2.具體應(yīng)用第5章數(shù)據(jù)查詢WHERE子句中可以使用的條件運(yùn)算式與運(yùn)算符如表所示。運(yùn)算符分類運(yùn)算符說明比較運(yùn)算符>、>=、=、<、<=、<>、!=、!>、!<用於比較大小。!>、!<表示不大於和不小於範(fàn)圍運(yùn)算符BETWEEN…AND、NOTBETWEEN…AND用於判斷列值是否在指定的範(fàn)圍內(nèi)列表運(yùn)算符IN、NOTIN用於判斷列值是否是列表中的指定值模糊匹配符LIKE、NOTLIKE用於判斷列值是否與指定的字元通配格式相符空值判斷符ISNULL、NOTNULL用於判斷列值是否為空邏輯運(yùn)算符AND、OR、NOT用於多個(gè)條件的邏輯連接第5章數(shù)據(jù)查詢5.2.4使用ORDERBY子句
1.使用ORDERBY子句的基本語(yǔ)法格式
SELECT列名1[,...列名n] FROM表名
ORDERBY
列名1[,...列名n][ASC][DESC]
2.具體應(yīng)用第5章數(shù)據(jù)查詢5.2.5使用INTO子句
使用INTO子句允許用戶定義一個(gè)新表,並且把SELECT子句的數(shù)據(jù)插入到新表中。
1.使用INTO子句的語(yǔ)法格式
SELECT列名1[,...列名n] INTO新表名
FROM表名
WHERE條件運(yùn)算式
2.具體應(yīng)用第5章數(shù)據(jù)查詢5.2.6使用GROUPBY子句
集合函數(shù)進(jìn)行的統(tǒng)計(jì)都是針對(duì)整個(gè)查詢結(jié)果,一般情況下,還要求按照一定的條件對(duì)數(shù)據(jù)進(jìn)行分組統(tǒng)計(jì),GROUPBY子句就可實(shí)現(xiàn)功能,即按照指定的列,對(duì)查詢結(jié)果進(jìn)行分組統(tǒng)計(jì),GROUPBY子句要寫在WHERE子句的後面。
1.使用GROUPBY子句的語(yǔ)法格式
GROUPBY列名[HAVING條件運(yùn)算式]
2.具體應(yīng)用第5章數(shù)據(jù)查詢5.2.7使用COMPUTEBY子句 如果既需要進(jìn)行數(shù)據(jù)統(tǒng)計(jì),又需要看到統(tǒng)計(jì)的明細(xì),使用COMPUTEBY子句就可以實(shí)現(xiàn)此功能。即COMPUTEBY子句對(duì)BY後面給出的列進(jìn)行分組顯示,並計(jì)算該列的分組小計(jì)。但是,使用COMPUTEBY子句時(shí)必須使用ORDERBY子句,它對(duì)COMPUTEBY中指定的列進(jìn)行排序。
1.使用COMPUTEBY子句的語(yǔ)法格式 語(yǔ)法格式如下:
COMPUTE集合函數(shù)[BY列名] 2.具體應(yīng)用第5章數(shù)據(jù)查詢5.2.8使用集合函數(shù)
使用集合函數(shù)可以實(shí)現(xiàn)SELECT語(yǔ)句的統(tǒng)計(jì)功能,即在進(jìn)行資訊查詢的同時(shí)對(duì)查詢結(jié)果集進(jìn)行求和、求平均值、求最大值、最小值等操作。一般通過集合函數(shù)和GROUPBY子句、COMPUTE子句進(jìn)行組合來實(shí)現(xiàn)。
1.常用的集合函數(shù) 集合函數(shù)如下頁(yè)表所示。
2.具體應(yīng)用第5章數(shù)據(jù)查詢表--集合函數(shù)及其統(tǒng)計(jì)功能集合函數(shù)功能SUM([ALL|DISTINCT]列表達(dá)式)計(jì)算數(shù)據(jù)的總和AVG([ALL|DISTINCT]列表達(dá)式)計(jì)算數(shù)據(jù)的平均值MIN([ALL|DISTINCT]列表達(dá)式)求出數(shù)據(jù)中的最小值MAX([ALL|DISTINCT]列表達(dá)式)求出數(shù)據(jù)中的最大值COUNT({[ALL|DISTINCT]列表達(dá)式}*)計(jì)算總記錄數(shù)。COUNT(*)返回行數(shù),包括含有空值的行,不能與DISTINCT一起使用CHECKSUM(*|列表達(dá)式[,...n])對(duì)計(jì)算出的數(shù)值的和進(jìn)行校驗(yàn)BINARY_CHECKSUM(*|列表達(dá)式[,...n])對(duì)二進(jìn)位的和進(jìn)行校驗(yàn)第5章數(shù)據(jù)查詢5.2.9高級(jí)查詢
在SELECT語(yǔ)句中通常都要通過FROM子句指定查詢 數(shù)據(jù)的來源,在實(shí)際應(yīng)用中,數(shù)據(jù)查詢不僅一個(gè)表,還往往 會(huì)涉及到多個(gè)表,就需要將多個(gè)表連接起來進(jìn)行查詢。這種 查詢稱為高級(jí)查詢或多表查詢。高級(jí)查詢分為交叉連接查 詢、內(nèi)連接查詢、外連接查詢和自連接查詢4種。
1.交叉連接查詢 交叉連接查詢是將兩個(gè)表的內(nèi)容進(jìn)行組合,形成兩個(gè) 表笛卡兒積,即行數(shù)為兩個(gè)表行數(shù)的乘積,列為兩個(gè)表列數(shù) 和的組合表。交叉連接有以下兩種語(yǔ)法格式。
SELECT列名列表FROM表名1CROSSJOIN表名2
或者
SELECT列名列表FROM表名1,表名2第5章數(shù)據(jù)查詢 2.內(nèi)連接查詢 內(nèi)連接是將交叉連接查詢結(jié)果集按照連接條件進(jìn)行過 濾的結(jié)果。連接條件通常採(cǎi)用“主鍵=外鍵”的形式。內(nèi)連接有 以下兩種語(yǔ)法格式:
SELECT列名列表FROM表名1[INNER] JOIN表名20N表名1.列名=表名2.列名 或
SELECT列名列表FROM表名1,表名2 WHERE表名1.列名=表名2.列名第5章數(shù)據(jù)查詢 3.外連接查詢 在一般連接查詢中,只有在兩個(gè)表中匹配 的行才能出現(xiàn)在查詢結(jié)果中出現(xiàn)。而在外連接查詢中可 以只限制一個(gè)表,而對(duì)另外一個(gè)表不加限制(即另外一 個(gè)表中的所有行都出現(xiàn)查詢結(jié)果中)。 外連接查詢又分為左外連接查詢、右外連接查詢 和全外連接查詢。左外連接查詢是對(duì)連接條件中左邊的 表不加限制;右外連接是對(duì)右邊的表不加限制;全外連 接對(duì)兩個(gè)表都不加限制,所有兩個(gè)表中的行都會(huì)包括在 查詢結(jié)果中。第5章數(shù)據(jù)查詢
左外連接查詢語(yǔ)法格式:
FROM表1LEFT[OUTER] JOIN表2ON條件運(yùn)算式 右外連接查詢語(yǔ)法格式:
FROM表1RIGHT[OUTER] JOIN表2ON條件運(yùn)算式 全外連接查詢語(yǔ)法格式:
FROM表lFULL[OUTER] JOIN表2ON條件運(yùn)算式第5章數(shù)據(jù)查詢 4.自連接查詢 連接操作不僅可以在不同的表上進(jìn)行,也可以在 同一張表內(nèi)進(jìn)行自身連接,即將同一個(gè)表的不同行連接 起來。自連接可以看作一張表的兩個(gè)副本之間的連接。 在自連接中,必須為表指定兩個(gè)別名,使之在邏輯上成 為兩張表。
5.聯(lián)合查詢
UNION運(yùn)算符用於將兩個(gè)或多個(gè)檢索結(jié)果合併成 一個(gè)結(jié)果,當(dāng)使用UNION時(shí),需遵循以下兩個(gè)規(guī)則。 (1)所有查詢中的列數(shù)和列的順序必須相同。 (2)所有查詢中按順序?qū)?yīng)列的數(shù)據(jù)類型必須相容。第5章數(shù)據(jù)查詢 6.嵌套查詢 在SQL語(yǔ)言中,當(dāng)一個(gè)查詢語(yǔ)句嵌套在另一個(gè)查 詢的查詢條件之中時(shí),稱為嵌套查詢。也就是在 SELECT語(yǔ)句的WHERE或HAVING子句中嵌套另一條 SELECT語(yǔ)句。 外層的SELECT語(yǔ)句稱為外查詢,內(nèi)層的 SELECT語(yǔ)句稱為內(nèi)查詢(或子查詢)。 子查詢要使用括弧括起來。子查詢分為兩種:嵌 套子查詢和相關(guān)子查詢。子查詢有幾種表現(xiàn)形式,分別 用於比較測(cè)試、集合成員測(cè)試、存在性測(cè)試、批量比較 測(cè)試中。第5章數(shù)據(jù)查詢5.3INSERT語(yǔ)句
INSERT語(yǔ)句中的SELECT子查詢可用於將一個(gè)或多個(gè)其他的表或視圖的值添加到表中。使用SELECT子查詢可同時(shí)插入多行。5.3.1INSERT語(yǔ)句的語(yǔ)法格式
INSERTINTO<表名1> SELECT<列名1[,...列名n]> FROM<表名2> WHERE[條件運(yùn)算式]5.3.2INSERT語(yǔ)句應(yīng)用第5章數(shù)據(jù)查詢5.4UPDATE語(yǔ)句 在SQLServer2000中,對(duì)數(shù)據(jù)的修改可以使用UPDATE語(yǔ)句。5.4.1UPDATE語(yǔ)句的語(yǔ)法格式
UPDATE<表名>或<視圖名> SET<更新列名>=<新的運(yùn)算式值> [WHERE<條件運(yùn)算式>]5.4.2UPDATE語(yǔ)句應(yīng)用第5章數(shù)據(jù)查詢5.5DELETE語(yǔ)句 表中的無用記錄,可以用DELETE語(yǔ)句刪除。5.5.1DELETE語(yǔ)句的語(yǔ)法格式
DELETE[FROM]<表名>或<視圖名> [WHERE<條件運(yùn)算式>]
如果在DELETE語(yǔ)句中不使用WHERE子句,則表中數(shù)據(jù)將被全部刪除。5.5.2DELETE語(yǔ)句應(yīng)用第5章數(shù)據(jù)查詢5.6實(shí)驗(yàn)與指導(dǎo)實(shí)驗(yàn)?zāi)康模?/p>
學(xué)會(huì)使用ADO.NET連接SQLServer資料庫(kù);學(xué)會(huì)使用SELECT語(yǔ)句創(chuàng)建一個(gè)查詢,將查詢結(jié)果顯示在網(wǎng)頁(yè)中,並將此網(wǎng)頁(yè)發(fā)佈。實(shí)驗(yàn)內(nèi)容:
1、創(chuàng)建一個(gè)名為“bhd”的資料庫(kù),在該資料庫(kù)中建立一個(gè)商品資訊表,表名稱為“spxx”,並在表中填寫相應(yīng)的測(cè)試數(shù)據(jù),其結(jié)構(gòu)如表所示。第5章數(shù)據(jù)查詢表--spxx表結(jié)構(gòu)字段名稱字段描述數(shù)據(jù)類型長(zhǎng)度是否可以為空spbh商品編號(hào)char6(不為空)spmc商品名稱char50(不為空)spdj商品定價(jià)decimal9(不為空)splb商品類別char10(不為空)kcsl當(dāng)前庫(kù)存數(shù)量int4(不為空)xsrq最後一次銷售日期datetime8√(可以為空)第5章數(shù)據(jù)查詢 2、使用VisualStudio.NET創(chuàng)建一個(gè)名為“bhd.vbproj”的專案,在該專案中添加一個(gè)名為“cxsl.aspx”的web窗體,使用該頁(yè)面顯示查詢結(jié)果,如圖所示。第6章
視圖與索引第6章視圖與索引6.1視圖的創(chuàng)建與使用6.2索引的創(chuàng)建與使用本章內(nèi)容第6章視圖與索引
視圖是資料庫(kù)中的一種檔形式。它可以使用與表相同的方式在SQL語(yǔ)句中引用的資料庫(kù)中的對(duì)象。視圖可以被看成是虛擬表或存儲(chǔ)查詢??赏ㄟ^視圖訪問的數(shù)據(jù)不作為獨(dú)特的對(duì)象存儲(chǔ)在資料庫(kù)內(nèi)。
索引提供指針以指向存儲(chǔ)在表中指定列的數(shù)據(jù)值,然後根據(jù)指定的排序次序排列這些指針。資料庫(kù)使用索引的方式與書使用目錄的方式很相似:通過搜索索引找到特定的值,然後跟隨指針到達(dá)包含該值的行。索引是關(guān)係資料庫(kù)中基於鍵值提供對(duì)表的行中數(shù)據(jù)的快速訪問的資料庫(kù)對(duì)象。索引還可以在表的行上強(qiáng)制唯一惟一性。SQLServer支持聚集索引和非聚集索引。對(duì)表的主鍵自動(dòng)進(jìn)行索引。在全文搜索中,全文索引存儲(chǔ)關(guān)於重要詞和這些詞在給定列中的位置的資訊。第6章視圖與索引6.1視圖的創(chuàng)建與使用6.1.1視圖概述
視圖(View)是利用Transact-SQL查詢語(yǔ)句,從一個(gè)或多個(gè)表或視圖中引用數(shù)據(jù)的“虛擬表”。從表面上看,視圖和表的結(jié)構(gòu)一樣,是由數(shù)據(jù)行、列組成。但實(shí)質(zhì)上視圖中的數(shù)據(jù)列和數(shù)據(jù)行是在用戶使用該視圖時(shí),臨時(shí)通過事先定義的Transact-SQL查詢語(yǔ)句,引用自資料庫(kù)中的表或其他視圖。
創(chuàng)建視圖必須依賴於已有的資料庫(kù)數(shù)據(jù)。視圖檔中的Transact-SQL查詢語(yǔ)句所引用的數(shù)據(jù)表稱為視圖的基表。對(duì)視圖的操作與對(duì)表的操作大致相同。對(duì)視圖中看到的數(shù)據(jù)進(jìn)行修改時(shí),相應(yīng)的基表的數(shù)據(jù)也要發(fā)生變化。若基表的數(shù)據(jù)發(fā)生變化,則這種變化也可以自動(dòng)地反映到視圖中。第6章視圖與索引 1.視圖的定義
視圖(View)可以使用與表相同的方式在Transact-SQL語(yǔ)句中引用資料庫(kù)對(duì)象。視圖使用SELECT語(yǔ)句定義,類似於包含該語(yǔ)句的結(jié)果集的對(duì)象。
2.視圖的功能
3.視圖的特點(diǎn)第6章視圖與索引6.1.2創(chuàng)建視圖
1.使用命令方式創(chuàng)建視圖 創(chuàng)建視圖的命令如下:
CREATEVIEW[<owner>.]view_name [(column[,...n])] [WITH<view_attribute>[,...n]] ASselect_statement[WITHCHECKOPTION]
2.使用創(chuàng)建嚮導(dǎo)創(chuàng)建視圖第6章視圖與索引6.1.3通過視圖管理數(shù)據(jù) 通過視圖對(duì)數(shù)據(jù)進(jìn)行更新與刪除時(shí),需要注意到兩個(gè)問題:
1、執(zhí)行UPDATEDELETE時(shí)所刪除與更新的數(shù)據(jù)必須包含在視圖結(jié)果集中;
2、如果視圖引用多個(gè)表時(shí)無法用DELETE命令刪除數(shù)據(jù)。若使用UPDATE則應(yīng)與INSERT操作一樣,保證被更新的列屬於同一個(gè)表。第6章視圖與索引6.1.4修改視圖
1.使用命令方式修改視圖
使用下列語(yǔ)句可以修改視圖,但不影響相關(guān)的存儲(chǔ)過程或觸發(fā)器,也不能修改許可權(quán)。
ALTERVIEW[<database_name>.] [<owner>.]view_name[(column[,...n])] [WITH<view_attribute>[,...n]] ASselect_statement
[WITHCHECKOPTION] 2.使用企業(yè)管理器修改視圖第6章視圖與索引6.1.5刪除視圖
如果不再需要視圖或希望清除視圖定義及相關(guān)聯(lián)的許可權(quán),可以刪除該視圖。刪除視圖後,表和視圖所引用的數(shù)據(jù)不受影響,但任何與已刪除視圖對(duì)象相關(guān)的查詢將會(huì)失敗。
1.使用命令方式刪除視圖
從當(dāng)前資料庫(kù)中刪除一個(gè)或多個(gè)視圖,可以執(zhí)行DROPVIEW命令,語(yǔ)法格式如下。
DROPVIEW{view}[,...n]
2.在企業(yè)管理器中刪除視圖第6章視圖與索引6.2索引的創(chuàng)建與使用6.2.1索引的概念
SQLServer中的索引是以B-樹結(jié)構(gòu)來維護(hù)。B-樹是一個(gè)多層次自維護(hù)的結(jié)構(gòu),一個(gè)B-樹包括一個(gè)頂層,稱為根節(jié)點(diǎn)(RootNode0),多個(gè)中間層(Intermediate),一個(gè)底層(Level0),底層中包括若干葉節(jié)點(diǎn)(LeafNode)。圖中每個(gè)方框代表一個(gè)索引頁(yè),B-樹的層次越多,寬度越大,讀取記錄所要訪問的索引頁(yè)就越多,數(shù)據(jù)查詢的性能將隨索引列層次數(shù)目的增加而降低。第6章視圖與索引6.2.2索引分類
SQLServer的資料庫(kù)中按存儲(chǔ)結(jié)構(gòu)的不同將索引分為兩類,聚集索引(ClusteredIndex)和非聚集索引(NonclusteredIndex)。
聚集索引對(duì)表的物理數(shù)據(jù)頁(yè)中的數(shù)據(jù)按列進(jìn)行排序,然後再重新存儲(chǔ)到磁片上。聚集索引查找數(shù)據(jù)速度很快。它所需要的空間相當(dāng)於原表中數(shù)據(jù)所占空間的1.2倍。一個(gè)表只能有一個(gè)聚集索引。
第6章視圖與索引
非聚集索引是與表的數(shù)據(jù)完全分離的存儲(chǔ)結(jié)構(gòu),無需將物理數(shù)據(jù)頁(yè)中的數(shù)據(jù)按列排序。非聚集索引將行定位器按關(guān)鍵字的值排序。這個(gè)順序與表的行在數(shù)據(jù)頁(yè)中的排序是不匹配的。由於非聚集索引使用索引頁(yè)存儲(chǔ),因此它比聚集索引需要更多的存儲(chǔ)空間,且檢索效率更低。
在實(shí)際操作中,可在資料庫(kù)設(shè)計(jì)器中創(chuàng)建三種類型的索引:惟一索引、主鍵索引和聚集索引。第6章視圖與索引6.2.3創(chuàng)建索引
創(chuàng)建索引時(shí),表中可以沒有任何數(shù)據(jù)。所有者可通過指定限定的資料庫(kù)名稱,為另一個(gè)資料庫(kù)中的表或視圖創(chuàng)建索引。如果需要?jiǎng)?chuàng)建不依賴於約束的索引,可以使用CREATEINDEX語(yǔ)句。默認(rèn)情況下,如果未指定聚集選項(xiàng),將創(chuàng)建非聚集索引。創(chuàng)建索引時(shí)有如下限制:
只有表或視圖的所有者才能創(chuàng)建索引。每個(gè)表中只能創(chuàng)建一個(gè)聚集索引。包括PRIMARYKEY或UNIQUE約束創(chuàng)建的所有索引在內(nèi),每個(gè)表可以創(chuàng)建的非聚集索引最多為249個(gè)。同一個(gè)索引中包含的任何長(zhǎng)度固定的列的寬度總合不能超過900位元組。同一索引最多只能包含有16個(gè)列。第6章視圖與索引
在大型數(shù)據(jù)表上生成索引的首選方法是先創(chuàng)建聚集索引,然後生成非聚集索引。刪除所有索引時(shí),首先刪除非聚集索引,最後刪除聚集索引。若先創(chuàng)建了任何非聚集索引,那麼在創(chuàng)建聚集索引時(shí),將重建表上現(xiàn)有的非聚集索引。 1.使用命令方式創(chuàng)建索引
CREATEINDEX既可以創(chuàng)建一個(gè)可改變表的物理順序的聚集索引,也可以創(chuàng)建只提高查詢性能的非聚集索引,其語(yǔ)法如下。第6章視圖與索引CREATE[UNIQUE][CLUSTERED|NONCLUSTERED] INDEXindex_nameON{table|view} (column[ASC|DESC][,...n]) [WITH[PAD_INDEX] [[,]FILLFACTOR=fillfactor] [[,]IGNORE_DUP_KEY] [[,]DROP_EXISTING] [[,]STATISTICS_NORECOMPUTE] [[,]SORT_IN_TEMPDB] ] [ONfilegroup]第6章視圖與索引
2.使用企業(yè)管理器創(chuàng)建索引
3.在表設(shè)計(jì)器中創(chuàng)建索引6.2.4修改和刪除索引
刪除所有索引時(shí),首先刪除非聚集索引,最後刪除聚集索引,這樣就無需重建索引。
1.用企業(yè)管理器查看索引
2.使用命令方式刪除索引
DROPINDEX命令可以刪除一個(gè)或多個(gè)當(dāng)前資料庫(kù)中的索引,語(yǔ)法格式如下。
DROPINDEX'table.index|view.index'[,...n]
3.使用企業(yè)管理器刪除索引第6章視圖與索引6.3實(shí)驗(yàn)與指導(dǎo)實(shí)驗(yàn)?zāi)康模?/p>
創(chuàng)建視圖,並通過VB.NET實(shí)現(xiàn)對(duì)視圖的調(diào)用。實(shí)驗(yàn)內(nèi)容:
創(chuàng)建名為view_jgls的視圖,顯示商品資訊表中的商品編號(hào)、商品名稱等資訊。編寫名為stsl.aspx的頁(yè)面檔,並利用VB.NET在該頁(yè)面中實(shí)現(xiàn)調(diào)用view_jgls視圖,並查詢商品價(jià)格的歷史記錄。查詢執(zhí)行前介面如圖a所示,查詢執(zhí)行後介面如圖b所示。第6章視圖與索引圖a圖b第7章
存儲(chǔ)過程與觸發(fā)器第7章存儲(chǔ)過程與觸發(fā)器7.1存儲(chǔ)過程的創(chuàng)建與使用7.2觸發(fā)器的創(chuàng)建與使用本章內(nèi)容第7章存儲(chǔ)過程與觸發(fā)器
存儲(chǔ)過程和觸發(fā)器都是SQLServer的資料庫(kù)對(duì)象。存儲(chǔ)過程的獨(dú)立於表存儲(chǔ),同批處理相比具有永久有效性。用戶可以使用存儲(chǔ)過程來完善應(yīng)用程式,使得程式的執(zhí)行效率更高。而觸發(fā)器主要的用途是保障數(shù)據(jù)完整性,並可實(shí)現(xiàn)複雜的邏輯校驗(yàn)規(guī)則。7.1存儲(chǔ)過程的創(chuàng)建與使用7.1.1存儲(chǔ)過程概述
1.存儲(chǔ)過程的定義 存儲(chǔ)過程(StoredProcedure)是一組為了完成特定功能的SQL語(yǔ)句集合,經(jīng)編譯後按照給定名稱存儲(chǔ)在資料庫(kù)中,用戶可以通過指定存儲(chǔ)過程的名稱,並給出參數(shù)(若該存儲(chǔ)過程帶有參數(shù))來執(zhí)行它。第7章存儲(chǔ)過程與觸發(fā)器 2.存儲(chǔ)過程的組成
創(chuàng)建存儲(chǔ)過程時(shí),需要確定存儲(chǔ)過程的三個(gè)組成部分:存儲(chǔ)過程名稱,包括所有的輸入?yún)?shù)以及傳給調(diào)用者的輸出參數(shù)。被執(zhí)行的針對(duì)資料庫(kù)的操作語(yǔ)句以及調(diào)用其他存儲(chǔ)過程的語(yǔ)句。返回給調(diào)用者的狀態(tài)值,以指明調(diào)用是成功還是失敗。
3.存儲(chǔ)過程的優(yōu)點(diǎn)
4.存儲(chǔ)過程類型分類第7章存儲(chǔ)過程與觸發(fā)器7.1.2創(chuàng)建存儲(chǔ)過程
創(chuàng)建存儲(chǔ)過程有兩種方式:命令方式和創(chuàng)建嚮導(dǎo)方式。
1.使用命令方式創(chuàng)建存儲(chǔ)過程 用CreateProcedure命令,語(yǔ)法規(guī)則如下:
CREATEPROC[EDURE]procedure_name[;number] [{@parameterdata_type} [VARYING][=default][OUTPUT] ][,...n] [WITH{RECOMPILE|ENCRYPTION |RECOMPILE,ENCRYPTION}] [FORREPLICATION] ASsql_statement[...n] 2.使用創(chuàng)建嚮導(dǎo)創(chuàng)建存儲(chǔ)過程第7章存儲(chǔ)過程與觸發(fā)器7.1.3修改存儲(chǔ)過程
修改以前用CREATEPROCEDURE命令創(chuàng)建的存儲(chǔ)過程,並且不改變?cè)S可權(quán)的授予情況以及不影響任何其他的獨(dú)立的存儲(chǔ)過程或觸發(fā)器常使用ALTERPROCEDURE命令。其語(yǔ)法規(guī)則如下。
ALTERPROC[EDURE]procedure_name[;number] [{@parameterdata_type}[VARYING][=default] [OUTPUT]][,...n] [WITH {RECOMPILE|ENCRYPTION |RECOMPILE,ENCRYPTION}] [FORREPLICATION] AS
sql_statement[...n]第7章存儲(chǔ)過程與觸發(fā)器7.1.4刪除存儲(chǔ)過程
刪除存儲(chǔ)過程使用drop命令。該命令可將一個(gè)或多個(gè)存儲(chǔ)過程或者存儲(chǔ)過程組從當(dāng)前資料庫(kù)中刪除,其語(yǔ)法規(guī)則如下。
DROPPROCEDURE{procedure}}[,…n]
另外,也可以使用企業(yè)管理器實(shí)現(xiàn)刪除存儲(chǔ)過程。第7章存儲(chǔ)過程與觸發(fā)器7.2觸發(fā)器的創(chuàng)建與使用7.2.1觸發(fā)器概述
1.觸發(fā)器的定義
觸發(fā)器是修改指定表中的數(shù)據(jù)時(shí)執(zhí)行的存儲(chǔ)過程。創(chuàng)建觸發(fā)器的目的是強(qiáng)制不同表中邏輯相關(guān)數(shù)據(jù)的引用完整性或一致性。
2.觸發(fā)器的主要功能
3.觸發(fā)器的類型第7章存儲(chǔ)過程與觸發(fā)器7.2.2創(chuàng)建觸發(fā)器
創(chuàng)建觸發(fā)器有兩種方式:命令方式和企業(yè)管理器方式。
1.使用命令方式創(chuàng)建觸發(fā)器 創(chuàng)建觸發(fā)器命令的語(yǔ)法見下頁(yè)。
2.使用企業(yè)管理器創(chuàng)建觸發(fā)器
第7章存儲(chǔ)過程與觸發(fā)器CREATETRIGGERtrigger_nameON{table|view}[WITHENCRYPTION]{
{{FOR|AFTER|INSTEADOF} {[INSERT][,][UPDATE][,][DELETE]} [WITHAPPEND][NOTFORREPLICATION]
AS[{IFUPDATE(column)[{AND|OR}UPDATE(column)][...n]|IF(COLUMNS_UPDATED(){bitwise_operator}updated_bitmask){comparison_operator}column_bitmask[...n]
}]
sql_statement[...n]
}}
第7章存儲(chǔ)過程與觸發(fā)器7.2.3修改觸發(fā)器 修改觸發(fā)器的方法有兩種方式:命令方式和企業(yè)管理器方式。
1.使用命令方式修改觸發(fā)器 修改觸發(fā)器命令的語(yǔ)法見下頁(yè)。
2.使用企業(yè)管理器修改觸發(fā)器第7章存儲(chǔ)過程與觸發(fā)器ALTERTRIGGERtrigger_nameON(table|view)[WITHENCRYPTION]{{(FOR|AFTER|INSTEADOF) {[DELETE][,][INSERT][,][UPDATE]}[NOTFORREPLICATION]
AS
sql_statement[...n]
}
|{(FOR|AFTER|INSTEADOF){[INSERT][,][UPDATE]}
[NOTFORREPLICATION]
AS
{IFUPDATE(column)
[{AND|OR}UPDATE(column)]
[...n]
|IF(COLUMNS_UPDATED(){bitwise_operator}updated_bitmask)
{comparison_operator}column_bitmask[...n]
}
sql_statement[...n]
}}第7章存儲(chǔ)過程與觸發(fā)器7.2.4刪除觸發(fā)器
當(dāng)不再需要某個(gè)觸發(fā)器時(shí),可將其刪除。刪除觸發(fā)器時(shí),將從sysobjects和syscomments系統(tǒng)表中刪除有關(guān)觸發(fā)器的資訊。觸發(fā)器被刪除時(shí),它所基於的表和數(shù)據(jù)並不受影響。刪除表將自動(dòng)刪除其上的所有觸發(fā)器。刪除觸發(fā)器的許可權(quán)默認(rèn)授予該觸發(fā)器所在表的所有者。
1.使用命令方式刪除觸發(fā)器 刪除觸發(fā)器命令的語(yǔ)法如下:
DROPTRIGGER{trigger}[,...n]
2.使用企業(yè)管理器刪除觸發(fā)器第7章存儲(chǔ)過程與觸發(fā)器7.3實(shí)驗(yàn)與指導(dǎo)實(shí)驗(yàn)一:利用VB.NET調(diào)用存儲(chǔ)過程實(shí)驗(yàn)?zāi)康模? 創(chuàng)建存儲(chǔ)過程,並利用VB.NET實(shí)現(xiàn)對(duì)存儲(chǔ)過程的調(diào)用。 實(shí)驗(yàn)內(nèi)容: 創(chuàng)建名為sp_xzjgls的存儲(chǔ)過程,在價(jià)格歷史中插入記錄。編寫名為xzjgls.aspx的頁(yè)面檔,並利用VB.NET在該頁(yè)面中實(shí)現(xiàn)調(diào)用sp_xzjgls存儲(chǔ)過程,更新商品價(jià)格。xzjgls.aspx頁(yè)面如圖a所示,輸入相關(guān)資料項(xiàng)目後,單擊“增加”按鈕,調(diào)用xzjgls.aspx.vb腳本,即可在jgls表中插入新記錄,插入成功後顯示“操作成功!”提示資訊。第7章存儲(chǔ)過程與觸發(fā)器圖a第7章存儲(chǔ)過程與觸發(fā)器實(shí)驗(yàn)二:觸發(fā)器的創(chuàng)建
實(shí)驗(yàn)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 華為企業(yè)培訓(xùn)管理制度
- 管理人員業(yè)務(wù)培訓(xùn)制度
- 新專聯(lián)學(xué)習(xí)培訓(xùn)制度
- 農(nóng)藥生產(chǎn)人員培訓(xùn)制度
- 食品四員培訓(xùn)考核制度
- 焊工培訓(xùn)學(xué)員管理制度
- 退役局就業(yè)創(chuàng)業(yè)培訓(xùn)制度
- 保健門診培訓(xùn)制度及流程
- 學(xué)校教研室培訓(xùn)制度
- 新員工輪崗培訓(xùn)制度
- 大學(xué)任課老師教學(xué)工作總結(jié)(3篇)
- 《功能性食品學(xué)》第七章-輔助改善記憶的功能性食品
- 幕墻工程竣工驗(yàn)收?qǐng)?bào)告2-2
- 1、工程竣工決算財(cái)務(wù)審計(jì)服務(wù)項(xiàng)目投標(biāo)技術(shù)方案
- 改進(jìn)維持性血液透析患者貧血狀況PDCA
- 阿司匹林在心血管疾病級(jí)預(yù)防中的應(yīng)用
- 化工設(shè)備培訓(xùn)
- D500-D505 2016年合訂本防雷與接地圖集
- 國(guó)家開放大學(xué)電大??啤毒W(wǎng)絡(luò)信息編輯》期末試題標(biāo)準(zhǔn)題庫(kù)及答案(試卷號(hào):2489)
- GB/T 20914.1-2007沖模氮?dú)鈴椈傻?部分:通用規(guī)格
- FZ/T 90086-1995紡織機(jī)械與附件下羅拉軸承和有關(guān)尺寸
評(píng)論
0/150
提交評(píng)論