第三章 數(shù)據(jù)庫(kù)的創(chuàng)建與維護(hù)_第1頁(yè)
已閱讀1頁(yè),還剩19頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、第3章 數(shù)據(jù)庫(kù)的創(chuàng)建與管理,3.1 SQL Server的數(shù)據(jù)對(duì)象3.2 數(shù)據(jù)庫(kù)的基本操作,An Introduction to Database Systenm,3.1 SQL Server的數(shù)據(jù)庫(kù)對(duì)象,在SQL Server數(shù)據(jù)庫(kù)里,表、視圖、存儲(chǔ)過(guò)程、觸發(fā)器等具體存儲(chǔ)數(shù)據(jù)或?qū)?shù)據(jù)進(jìn)行操作的實(shí)體都稱為對(duì)象,主要包括創(chuàng)建表、數(shù)據(jù)類型、視圖、索引、約束、默認(rèn)值、存儲(chǔ)過(guò)程、觸發(fā)器等數(shù)據(jù)庫(kù)對(duì)象。,表對(duì)象,表是具體組織和存儲(chǔ)數(shù)據(jù)的

2、對(duì)象,由行和列組成。它是數(shù)據(jù)庫(kù)關(guān)系圖的基本構(gòu)件【數(shù)據(jù)庫(kù)關(guān)系圖中的每個(gè)表有三種不同的屬性:標(biāo)題欄、行選擇器和一組屬性列】。,An Introduction to Database Systenm,3.1 SQL Server的數(shù)據(jù)庫(kù)對(duì)象,為了確定新表的結(jié)構(gòu),用戶需要決定以下內(nèi)容: 表中將包含的數(shù)據(jù)類型 表中列數(shù)、每列的數(shù)據(jù)類型以及數(shù)據(jù)的長(zhǎng)度 列是否可以接受空值 是否使用約束 列類型的索引以及列應(yīng)是主鍵和外鍵

3、 在決定表的結(jié)構(gòu)以后,可以在數(shù)據(jù)庫(kù)關(guān)系圖中(或者使用表設(shè)計(jì)器)創(chuàng)建該表并定義表結(jié)構(gòu)。,An Introduction to Database Systenm,3.1 SQL Server的數(shù)據(jù)庫(kù)對(duì)象,數(shù)據(jù)類型,數(shù)據(jù)類型對(duì)象用來(lái)定義列或者變量的數(shù)據(jù)類型。SQL Server提供了系統(tǒng)數(shù)據(jù)類型,也允許用戶自定義數(shù)據(jù)類型。,視圖,視圖也稱為虛表,是從一個(gè)或幾個(gè)基本表中導(dǎo)出的表,在數(shù)據(jù)庫(kù)中僅僅存儲(chǔ)視圖的定義,不存儲(chǔ)對(duì)應(yīng)的數(shù)據(jù)。視

4、圖返回結(jié)果集的形式與基本表相似,并且在SQL語(yǔ)句中引用視圖的方式與基本表相同。,An Introduction to Database Systenm,3.1 SQL Server的數(shù)據(jù)庫(kù)對(duì)象,索引,索引提供無(wú)需掃描整張表就能實(shí)現(xiàn)對(duì)數(shù)據(jù)快速訪問(wèn)的途徑,使用索引可以快速訪問(wèn)數(shù)據(jù)表中的特定信息。 索引是對(duì)數(shù)據(jù)庫(kù)表中的一列或多列的值進(jìn)行排序的一種結(jié)構(gòu),它提供指向存儲(chǔ)在表的指定列中的數(shù)據(jù)值的指針,然后根據(jù)用戶指定的排序順

5、序?qū)@些指針排序。 索引的類型:唯一索引、主鍵索引和聚集索引。,An Introduction to Database Systenm,3.1 SQL Server的數(shù)據(jù)庫(kù)對(duì)象,約束,約束是SQL Server 中實(shí)施數(shù)據(jù)一致性和完整性規(guī)則的方法,是數(shù)據(jù)庫(kù)服務(wù)器強(qiáng)制的業(yè)務(wù)邏輯關(guān)系。約束限制用戶可以輸入到指定列的取值范圍,強(qiáng)制引用完整性。,默認(rèn)值,如果在向表中插入新數(shù)據(jù)時(shí)沒(méi)有指定列的值,默認(rèn)值就指定這些列所使用的值。默

6、認(rèn)值可以是任何取值為常量的對(duì)象,它也是SQL Server 提供確保數(shù)據(jù)一致性和完整性的一種方法。,An Introduction to Database Systenm,3.1 SQL Server的數(shù)據(jù)庫(kù)對(duì)象,存儲(chǔ)過(guò)程,存儲(chǔ)過(guò)程是T-SQL語(yǔ)句和可選控制語(yǔ)句的預(yù)編譯集合,以一個(gè)名稱存儲(chǔ)冰作為一個(gè)單元處理。存儲(chǔ)過(guò)程可以簡(jiǎn)化管理數(shù)據(jù)庫(kù)、顯示關(guān)于數(shù)據(jù)庫(kù)以及用戶信息的工作。 存儲(chǔ)過(guò)程存儲(chǔ)在數(shù)據(jù)庫(kù)內(nèi),可以通過(guò)來(lái)自應(yīng)用程序

7、的調(diào)用來(lái)執(zhí)行,并且允許用戶聲明變量、執(zhí)行條件以及其他強(qiáng)大的編程功能。 存儲(chǔ)過(guò)程可以包含程序流、邏輯關(guān)系和對(duì)數(shù)據(jù)庫(kù)的查詢。它們可以接受參數(shù)、輸出參數(shù)、返回單個(gè)或多個(gè)結(jié)果集以及返回值。,An Introduction to Database Systenm,3.1 SQL Server的數(shù)據(jù)庫(kù)對(duì)象,觸發(fā)器,觸發(fā)器是一種特殊類型的存儲(chǔ)過(guò)程,它在用戶使用一種或多種數(shù)據(jù)修改操作(UPDATE、INSERT或者DELETE

8、)來(lái)修改指定表中的數(shù)據(jù)時(shí)運(yùn)行。稱為INSTEAD OF觸發(fā)器的特殊觸發(fā)器可以指定對(duì)視圖的基礎(chǔ)基表的修改。 觸發(fā)器可以查詢其他表,而且可以包含復(fù)雜的SQL語(yǔ)句它們主要用于強(qiáng)制服從復(fù)雜的業(yè)務(wù)規(guī)則或要求。 觸發(fā)器也可以用于強(qiáng)制引用完整性,以便在多個(gè)表中添加、更新或刪除行時(shí),保留在這些表之間所定義的關(guān)系。但不建議這么做,這些最好還是使用主外鍵約束來(lái)實(shí)現(xiàn)。,An Introduction to Databas

9、e Systenm,3.2 數(shù)據(jù)庫(kù)的操作,2 創(chuàng)建數(shù)據(jù)庫(kù),4 刪除數(shù)據(jù)庫(kù),5 分離與附加以及導(dǎo)入導(dǎo)出數(shù)據(jù)庫(kù),,① 企業(yè)管理器,② T-SQL語(yǔ)句,1 數(shù)據(jù)庫(kù)的基本概念,操作演示,操作演示,3 修改數(shù)據(jù)庫(kù),An Introduction to Database Systenm,3.2.1 數(shù)據(jù)庫(kù)的基本概念,物理數(shù)據(jù)庫(kù),邏輯數(shù)據(jù)庫(kù),SQL 2000數(shù)據(jù)庫(kù)是存儲(chǔ)數(shù)據(jù)的容器,是一個(gè)存放數(shù)據(jù)的表和支持這些數(shù)據(jù)的存儲(chǔ)、檢索、安全性和完

10、整性的邏輯成分所組成的集合,即數(shù)據(jù)庫(kù)的用戶視圖。,數(shù)據(jù)庫(kù)管理員視圖:存儲(chǔ)數(shù)據(jù)庫(kù)的各種對(duì)象的實(shí)體。SQL Server 2000的物理數(shù)據(jù)庫(kù)架構(gòu)主要內(nèi)容包括文件以及文件組。,An Introduction to Database Systenm,3.2.2 創(chuàng)建數(shù)據(jù)庫(kù),例1:創(chuàng)建一個(gè)名為“學(xué)生信息管理”的數(shù)據(jù)庫(kù),初始大小為10MB,最大大小為100MB,數(shù)據(jù)庫(kù)自動(dòng)增長(zhǎng),按10%方式增長(zhǎng);日志文件初始大小為2MB,最大大小不受限

11、制,按1MB增長(zhǎng)。假設(shè)目前SQL Server服務(wù)已經(jīng)啟動(dòng),并以管理員身份登陸計(jì)算機(jī)。,只有系統(tǒng)管理員或者是授權(quán)具有創(chuàng)建數(shù)據(jù)庫(kù)權(quán)限的用戶才能創(chuàng)建數(shù)據(jù)庫(kù),創(chuàng)建數(shù)據(jù)庫(kù)時(shí)必須明確:數(shù)據(jù)庫(kù)名、所有者、數(shù)據(jù)庫(kù)大?。ǔ踔?、最大值、是否允許增長(zhǎng)以及增長(zhǎng)方式)和存儲(chǔ)數(shù)據(jù)庫(kù)的文件。,An Introduction to Database Systenm,3.2.2 創(chuàng)建數(shù)據(jù)庫(kù),CREATE DATABASE [ ON [ [,…n] ]

12、 /*文件屬性 [ , [,…n] ] /*文件組屬性][ LOG ON [,…n] ] /*日志文件屬性, ::= [Primary] (name = logical_file_name;filename = ‘os_file_name’; //完整的路徑名[ size = size; //數(shù)據(jù)庫(kù)

13、初始空間大小 maxsize = {maxsize | unlimited}; filegrowth = growth_increment ]),An Introduction to Database Systenm,3.2.3 修改數(shù)據(jù)庫(kù),創(chuàng)建數(shù)據(jù)后,可以對(duì)已經(jīng)存在的數(shù)據(jù)庫(kù)進(jìn)行修改,這主要包括:① 增加或者刪除數(shù)據(jù)文件;② 改變數(shù)據(jù)文件的大小和增長(zhǎng)方式;③ 改變?nèi)罩疚募拇笮『驮鲩L(zhǎng)方式;④

14、 增加或者刪除日志文件;⑤ 增加或者刪除文件組。,An Introduction to Database Systenm,3.2.3 修改數(shù)據(jù)庫(kù),1 使用企業(yè)管理器修改數(shù)據(jù)庫(kù)_演示,2 使用T-SQL修改數(shù)據(jù)庫(kù),ALTER DATABASE database_name ADD FILE [ TO FILEGROUP filegroup_name]| ADD LOG FILE | REMOVE FI

15、LE logical_file_name| ADD FILEGROUP filegroup_name| REMOVE FILEGROUP filegroup_name| MODIFY FILE | MODIFY NAME = new_database_name,An Introduction to Database Systenm,3.2.3 修改數(shù)據(jù)庫(kù),例3:在學(xué)生信息管理數(shù)據(jù)庫(kù)中添加一個(gè)數(shù)據(jù)文件:stu_

16、data2,初始大小5MB,最大大小不受限制,文件增長(zhǎng)方式為15%,存放D:\學(xué)生信息管理\數(shù)據(jù)\hdata\。,例4:在學(xué)生信息管理數(shù)據(jù)庫(kù)中增加一個(gè)名為THIRD的文件組,并為該文件組添加兩個(gè)數(shù)據(jù)文件: stu_data3:初始大小10MB,以2MB速度增長(zhǎng),最大容量不受限制,存放在D:\學(xué)生信息管理\數(shù)據(jù)\hdata\ stu_data4:初始大小12MB,以12%速度增長(zhǎng),最大容量為120MB,存放在D:\

17、學(xué)生信息管理\數(shù)據(jù)\hdata\,An Introduction to Database Systenm,3.2.3 修改數(shù)據(jù)庫(kù),例5:從數(shù)據(jù)庫(kù)中刪除數(shù)據(jù)文件stu_data4。,例6:將數(shù)據(jù)庫(kù)中的文件組third刪除。注意:刪除文件組時(shí)必須確保該文件組為空。,例7:為學(xué)生信息管理數(shù)據(jù)庫(kù)添加一個(gè)日志文件:stu_log1:初始大小5MB,最大大小100MB,按6MB的速度增長(zhǎng),存放于D:\學(xué)生信息管理\log\,例8:從數(shù)據(jù)庫(kù)中刪除

18、日志文件stu_log1。,An Introduction to Database Systenm,3.2.3 修改數(shù)據(jù)庫(kù),例9:修改學(xué)生信息管理數(shù)據(jù)庫(kù)的屬性,將stu_data2的初始大小改為8MB,最大大小為500MB,按10MB速度增長(zhǎng)。(每次只能修改數(shù)據(jù)文件的一個(gè)屬性),例10:修改學(xué)生信息管理數(shù)據(jù)庫(kù)名字為: 學(xué)生成績(jī)管理,An Introduction to Database Systenm,,3

19、.2.4 刪除數(shù)據(jù)庫(kù),DROP DATABASE database_name,命令格式:,例11:刪除數(shù)據(jù)庫(kù):學(xué)生信息管理,答案:DROP DATABASE 學(xué)生信息管理,數(shù)據(jù)庫(kù)刪除后,文件及其數(shù)據(jù)都從服務(wù)器上刪除,一旦刪除,將不能進(jìn)行檢索,除非使用以前的備份恢復(fù)數(shù)據(jù)庫(kù)。,An Introduction to Database Systenm,3.2.5 數(shù)據(jù)庫(kù)的分離與附加,--企業(yè)管理器中操作,分離數(shù)據(jù)庫(kù),附加數(shù)據(jù)庫(kù),

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫(kù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論