實(shí)驗(yàn)7域、繼承、文件、分區(qū)表、索引的使用_第1頁(yè)
實(shí)驗(yàn)7域、繼承、文件、分區(qū)表、索引的使用_第2頁(yè)
實(shí)驗(yàn)7域、繼承、文件、分區(qū)表、索引的使用_第3頁(yè)
實(shí)驗(yàn)7域、繼承、文件、分區(qū)表、索引的使用_第4頁(yè)
實(shí)驗(yàn)7域、繼承、文件、分區(qū)表、索引的使用_第5頁(yè)
已閱讀5頁(yè),還剩11頁(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、XX實(shí)驗(yàn)報(bào)告學(xué)號(hào) : 系別專業(yè)班級(jí)姓 名課程名稱課程類(lèi)型學(xué)時(shí)數(shù)實(shí)驗(yàn)名稱域、繼承、文件、分區(qū)表、索引的使用實(shí)驗(yàn)?zāi)康模?. 能夠使用PowerDesigner在PDM中定義和使用域。2. 能夠使用PowerDesigner在CDM中定義和使用繼承。3. 能夠合理的進(jìn)行數(shù)據(jù)庫(kù)物理設(shè)計(jì)并確定數(shù)據(jù)庫(kù)的存儲(chǔ)結(jié)構(gòu)。4. 能夠創(chuàng)建和使用區(qū)分表。實(shí)驗(yàn)內(nèi)容:1、 定義并使用域1. 打開(kāi)概念數(shù)據(jù)模型SIM 選擇FileOpen命令,打開(kāi)實(shí)驗(yàn)2中創(chuàng)建的概念數(shù)據(jù)模型SIM。2. 打開(kāi)List of Domains窗口 選擇ModelDomains命令,出現(xiàn)List of Domains窗口,如圖所示,如果已經(jīng)定義了域,

2、則會(huì)顯示出來(lái)。 3.創(chuàng)建一個(gè)域單擊Add a Row按鈕,第一個(gè)空行處開(kāi)始出現(xiàn)一個(gè)箭頭,Name和Code中都被賦予了默認(rèn)值。設(shè)置Name為Sex,Code與Name相同即可,單擊Apply按鈕,確認(rèn)新創(chuàng)建的域,如圖: 4. 打開(kāi)域的屬性設(shè)置窗口選擇sex域,單擊工具欄上的Properties按鈕,打開(kāi)域的屬性窗口,如圖所示: 5. 指定域的數(shù)據(jù)類(lèi)型和長(zhǎng)度單擊Data Type下拉列表框后面的三個(gè)點(diǎn)按鈕,將顯示Standard Data Types對(duì)話框,在該對(duì)話框中指定應(yīng)用到sex域的數(shù)據(jù)類(lèi)型為characters,長(zhǎng)度為2,然后單擊ok按鈕,如圖所示:6. 設(shè)置業(yè)務(wù)規(guī)則選擇Rules選項(xiàng)卡

3、,再單擊工具欄上的Create an Object按鈕,出現(xiàn)業(yè)務(wù)規(guī)則屬性設(shè)置窗口,在General選項(xiàng)卡中設(shè)置Name為sex_r。Code與name一致即可。在Expression選項(xiàng)卡中設(shè)置規(guī)則表達(dá)式,單擊確定按鈕,如圖所示:7. 在模型對(duì)象瀏覽區(qū)查看域 在模型對(duì)象瀏覽區(qū)展開(kāi)Domains選項(xiàng),可以查看新建的sex域。8. 實(shí)體屬性關(guān)聯(lián)到域在CDM中,雙擊實(shí)體student,出現(xiàn)實(shí)體屬性設(shè)置框口,選擇Attributes選項(xiàng)卡,單擊Ssex所在行的Domain列,從下拉列表中選擇sex域,單擊“應(yīng)用”按鈕,這是,Ssex所在的行的Data Type和Length將顯示sex域的相應(yīng)特性值,

4、并且變?yōu)榛疑鐖D所示:參照前面的操作,把實(shí)體teacher的Tsex關(guān)聯(lián)到sex域上。 把實(shí)體student的Ssex域。Teacher的Tsex域關(guān)聯(lián)到sex域上后,約束Ssex_r和 Tsex_r就可以刪除了。保存修改后的CDM,然后轉(zhuǎn)換為PDM。二、定義繼承(概括)學(xué)生是一個(gè)實(shí)體型,本科生、研究生也是實(shí)體型。本科生、研究生均是學(xué)生的子集,學(xué)生為超類(lèi),本科生、研究生為學(xué)生的子類(lèi)。本科生、研究生繼承了學(xué)生類(lèi)型的屬性,并可以增加自己的特殊屬性。學(xué)生實(shí)體型的屬性有學(xué)號(hào)、姓名、性別、出生日期、院系和專業(yè),學(xué)號(hào)為主鍵。本科生實(shí)體型的特殊屬性有班級(jí);研究生實(shí)體型的特殊屬性有研究方向,導(dǎo)師。1.創(chuàng)建實(shí)

5、體型參照實(shí)驗(yàn)2,新建一個(gè)CDM,命名為student;創(chuàng)建三個(gè)實(shí)體型,分別命名為student、u_student和postgradute,依次代表學(xué)生,本科生和研究生實(shí)體型,如圖所示:創(chuàng)建student實(shí)體創(chuàng)建u_student實(shí)體創(chuàng)建postgradute實(shí)體型2. 創(chuàng)建繼承單擊設(shè)計(jì)元素面板上的Inheritance工具,將光標(biāo)至于實(shí)體postgradute,然后把光標(biāo)拖動(dòng)到student上,在兩個(gè)實(shí)體之間出現(xiàn)一個(gè)繼承聯(lián)系。繼承聯(lián)系在中間有一個(gè)半圓和一個(gè)指向?qū)嶓wstudent的箭頭,表示student為父實(shí)體,postgradute為子實(shí)體。如圖所示:Student與postgradute

6、之間的繼承聯(lián)系將光標(biāo)置于u_student實(shí)體,然后拖到上圖的半圓上,如圖:Student與u_student之間的繼承聯(lián)系3. 設(shè)置繼承的屬性單擊設(shè)計(jì)元素面板上的Pointer工具,雙擊半圓,出現(xiàn)繼承的屬性設(shè)置窗口。(1) 在General選項(xiàng)卡中,設(shè)置Name為different_student,Code與Name一致即可。確認(rèn)Parent為student。(2) 選擇Children選項(xiàng)卡,確認(rèn)Child Entity為postgradute和u_student。(3) 選擇Generation選項(xiàng)卡,設(shè)置生成模式。生成模式定義了繼承的物理實(shí)現(xiàn),即描述了繼承聯(lián)系中的哪些實(shí)體到PDM中應(yīng)該

7、生成相應(yīng)的表。下面分別設(shè)置為三種不同的方式,并轉(zhuǎn)換為PDM,觀察PDM中表結(jié)構(gòu)。生成模式1:選擇Generate parent復(fù)選框,同時(shí)選擇Generate children復(fù)選框,并進(jìn)一步選擇Inherit only primary attributes單選按鈕,如圖所示: 生成模式1單擊確定“按鈕”。打開(kāi)Tools菜單,選擇Generate Physical Data Model命令,創(chuàng)建PDM,設(shè)置DBMS為Microsoft SQL Server 2008,設(shè)置Name為student_pdm1,單擊“確定”按鈕。下圖顯示了PDM,觀察三個(gè)表的結(jié)構(gòu)。 由生成模式1生成的PDM生成模式

8、2:不選擇Generate parent復(fù)選框,只選擇Generate children復(fù)選框,并進(jìn)一步選擇Inherit all attributes單選按鈕,如圖所示: 生成模式2 單擊“確定”按鈕。打開(kāi)Tools菜單,創(chuàng)建PDM,將Name名設(shè)為student_pdm2,觀察兩個(gè)表結(jié)構(gòu),并與生成模式1進(jìn)行對(duì)比。 由生成模式2生成的PDM生成模式3:選擇Generate parent復(fù)選框,不選擇Generate children復(fù)選框,在Specifying attributes下面的屬性列表中添加一個(gè)屬性,Name為tag,Code與Name一致即可,類(lèi)型為integer。這種情況下,

9、只生成一個(gè)表,而tag的作用是區(qū)分每個(gè)子實(shí)體的實(shí)例。Specifying attributes只有在選擇Generate parent復(fù)選框后,才能進(jìn)一步設(shè)置。創(chuàng)建PDM,觀察表結(jié)構(gòu),與生成模式1和2對(duì)比。 生成模式3 由生成模式3生成的PDM3、 數(shù)據(jù)庫(kù)的文件與文件組1. 了解數(shù)據(jù)庫(kù)文件和文件組文件主要有三種類(lèi)型:主要文件/主文件,次要文件/輔助文件,事務(wù)日志。文件組:每個(gè)數(shù)據(jù)庫(kù)必須而且只能有一個(gè)主要文件組,此文件組包含主要數(shù)據(jù)文件和未放入其他文件組的所有次要文件。可以創(chuàng)建用戶定義的文件組,用于將數(shù)據(jù)文件集合起來(lái),以便于管理,數(shù)據(jù)分配和放置。2. 創(chuàng)建包含多個(gè)文件,文件組的數(shù)據(jù)庫(kù)創(chuàng)建數(shù)據(jù)庫(kù),

10、數(shù)據(jù)庫(kù)名稱為mydb,主文件邏輯名稱采用默認(rèn)值,即mydb,主文件物理名稱和位置也采用默認(rèn)值。分別在兩個(gè)磁盤(pán)驅(qū)動(dòng)器上創(chuàng)建文件Data1.ndf和Date2.ndf,然后將特們分配給文件組FG_1。接下來(lái),可以明確的在FG_1上創(chuàng)建一個(gè)表,那么對(duì)表中數(shù)據(jù)的查詢將分散到兩個(gè)磁盤(pán)上,從而提高性能。具體實(shí)現(xiàn)過(guò)程如下:進(jìn)入“新建數(shù)據(jù)庫(kù)”窗口,設(shè)置數(shù)據(jù)庫(kù)名稱為mydb,主文件和日志文件相關(guān)屬性默認(rèn)即可。如圖所示:設(shè)置數(shù)據(jù)庫(kù)名稱以及主文件,日志文件相關(guān)屬性接下來(lái)單擊一個(gè)添加按鈕,增加一個(gè)數(shù)據(jù)文件,邏輯名稱為Data1,路徑為D:Data,默認(rèn)物理文件名為Data1.ndf。該文件所屬文件組為默認(rèn)的PRIMA

11、RY,單擊PRIMARY,則出現(xiàn)下拉列表框,在下拉列表框中選擇“<新建文件組>”選項(xiàng),則出想新建文件組對(duì)話框,如圖所示,設(shè)置新文件組名稱為“FG_1”,單擊“確定”按鈕。 設(shè)置新文件組的名稱按照同樣的方法再添加一個(gè)Data2數(shù)據(jù)文件,設(shè)置完畢后如圖:次要文件設(shè)置單擊工具欄中“腳本”按鈕旁邊的下三角按鈕,從中選擇“將操作腳本保存到新建查詢窗口選項(xiàng)”,則對(duì)應(yīng)的SQL語(yǔ)句和命令將出現(xiàn)在Management Studio的查詢編輯器中。單擊確定,完成數(shù)據(jù)庫(kù)的創(chuàng)建。3. 在文件組FG_1上創(chuàng)建表新建一個(gè)表,選擇“視圖”“屬性”命令,在打開(kāi)的“屬性”窗口設(shè)置“Text/Image文件組”和“文

12、件組或分區(qū)方案名稱”均為FG_1,然后制定表的屬性及類(lèi)型并保存即可。如圖: 4、 區(qū)分表1. 添加多個(gè)新的文件和文件組給mydb數(shù)據(jù)庫(kù)添加兩個(gè)文件組:FG_I_M和 FG_N_Z。創(chuàng)建數(shù)據(jù)文件FIle_I_M到文件組FG_I_M中,創(chuàng)建數(shù)據(jù)文件FIle_I_Z到文件組FG_N_Z中,SQL語(yǔ)句和命令如下所示,在Management Studio中新建查詢,并執(zhí)行這段代碼。USE MasterALTER DATABASE mydb ADD FILEGROUP FG_I_MGOALTER DATABASE mydbADD FILE(NAME=NFILE_I_M,FILENAME=D:D:Progr

13、amFilesMicrosoftSQLServerMSSQL10_50.MSSQLSERVERMSSQLDATAFile_I_M.ndf)TO FILEGROUP FG_I_MGOALTER DATABASE mydb ADD FILEGROUP FG_N_ZGOALTER DATABASE mydbADD FILE(NAME=NFILE_I_M,FILENAME=D:D:ProgramFilesMicrosoftSQLServerMSSQL10_50.MSSQLSERVERMSSQLDATAFile_N_Z.ndf)TO FILEGROUP FG_N_ZGO2. 創(chuàng)建分區(qū)函數(shù)下面的分區(qū)函數(shù)可

14、以獲得三個(gè)分區(qū):AH,IM,NZ。CREATE PARTITION FUNCTION StaffNameRangePen(varchar(100)ASRANGE LEEF FOR VALIES (H,M)GO3. 創(chuàng)建分區(qū)SchemeUSE mydbCREATE PARTITION FUNCTION StaffNamePSchemeASPARTITION StaffNameRangePenTO (primary,FG_I_M,FG_N_Z)GO4. 創(chuàng)建分區(qū)表USE mydbIF OBJECT_ID(NStaff) IS NOT NULLDROP TABLE dbo.Satff;CREATE

15、TABLEdbo.Staff(StaffName varchar(100) NOT NULL)ON StaffNamePScheme(StaffName)GOCREATE CLUSTERED INDEX IX_StaffName ON Staff(StaffName)GO5. 插入一些測(cè)試數(shù)據(jù)INSERT INTO dbo.StaffSELECT FirestName FROM mydb.Person.Contact6. 查看數(shù)據(jù)分布情況運(yùn)行下面的代碼,看看數(shù)據(jù)的分布情況,三個(gè)分區(qū)的數(shù)據(jù)量都差不多。5、 索引的使用和使用原則1. 認(rèn)識(shí)索引 數(shù)據(jù)庫(kù)索引好比是一本書(shū)前面的目錄,能加快數(shù)據(jù)庫(kù)的查詢速

16、度。索引分為聚簇索引和非聚簇索引兩種,聚簇索引 是按照數(shù)據(jù)存放的物理位置為順序的,而非聚簇索引就不一樣了;聚簇索引能提高多行檢索的速度,而非聚簇索引對(duì)于單行的檢索很快。根據(jù)數(shù)據(jù)庫(kù)的功能,可以在數(shù)據(jù)庫(kù)設(shè)計(jì)器中創(chuàng)建三種索引:唯一索引、主鍵索引和聚集索引。(1)唯一索引:唯一索引是不允許其中任何兩行具有相同索引值的索引。當(dāng)現(xiàn)有數(shù)據(jù)中存在重復(fù)的鍵值時(shí),大多數(shù)數(shù)據(jù)庫(kù)不允許將新創(chuàng)建的唯一索引與表一起保存。數(shù)據(jù)庫(kù)還可能防止添加將在表中創(chuàng)建重復(fù)鍵值的新數(shù)據(jù)。例如,如果在employee表中職員的姓(lname)上創(chuàng)建了唯一索引,則任何兩個(gè)員工都不能同姓。(2)主鍵索引:數(shù)據(jù)庫(kù)表經(jīng)常有一列或多列組合,其值唯一標(biāo)

17、識(shí)表中的每一行。該列稱為表的主鍵。在數(shù)據(jù)庫(kù)關(guān)系圖中為表定義主鍵將自動(dòng)創(chuàng)建主鍵索引,主鍵索引是唯一索引的特定類(lèi)型。該索引要求主鍵中的每個(gè)值都唯一。當(dāng)在查詢中使用主鍵索引時(shí),它還允許對(duì)數(shù)據(jù)的快速訪問(wèn)。(3)聚集索引:在聚集索引中,表中行的物理順序與鍵值的邏輯(索引)順序相同。一個(gè)表只能包含一個(gè)聚集索引。如果某索引不是聚集索引,則表中行的物理順序與鍵值的邏輯順序不匹配。與非聚集索引相比,聚集索引通常提供更快的數(shù)據(jù)訪問(wèn)速度。(4)索引列:可以基于數(shù)據(jù)庫(kù)表中的單列或多列創(chuàng)建索引。多列索引可以區(qū)分其中一列可能有相同值的行。 如果經(jīng)常同時(shí)搜索兩列或多列或按兩列或多列排序時(shí),索引也很有幫助。例如,如果經(jīng)常在同一查詢中為姓和名兩列設(shè)

溫馨提示

  • 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ù)網(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論