庫表管理SQLserver數(shù)據(jù)庫_第1頁
庫表管理SQLserver數(shù)據(jù)庫_第2頁
庫表管理SQLserver數(shù)據(jù)庫_第3頁
庫表管理SQLserver數(shù)據(jù)庫_第4頁
庫表管理SQLserver數(shù)據(jù)庫_第5頁
已閱讀5頁,還剩26頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

庫表管理SQLserver數(shù)據(jù)庫第1頁/共31頁幾個問題請大家告訴我,關(guān)于你們所學(xué)的專業(yè)?通過這個專業(yè)的學(xué)習(xí),你對今后的職業(yè)有什么預(yù)期?針對你所從事的職業(yè),你認為你應(yīng)該具備怎樣的職業(yè)能力?現(xiàn)在請大家告訴我,你們?yōu)槭裁磿_設(shè)《數(shù)據(jù)庫原理與應(yīng)用——SQL》這門課程?關(guān)于這個學(xué)習(xí)領(lǐng)域,你還想了解什么呢?第2頁/共31頁關(guān)于數(shù)據(jù)庫技術(shù)數(shù)據(jù)庫技術(shù)在我們當(dāng)前的社會生活中有大量的應(yīng)用,你知道嗎?根據(jù)你的理解,你可以想像把數(shù)據(jù)庫比喻成什么?根據(jù)你的類比,你可以推斷出數(shù)據(jù)庫技術(shù)應(yīng)用包含哪些內(nèi)容嗎?翻開我們的教材,看看目錄,你們的判斷是否準(zhǔn)確?第3頁/共31頁第一講數(shù)據(jù)庫創(chuàng)建管理教學(xué)目標(biāo)了解數(shù)據(jù)庫的文件組成熟練掌握創(chuàng)建及管理數(shù)據(jù)庫第4頁/共31頁任務(wù)背景描述為適應(yīng)學(xué)院的現(xiàn)代化管理需要,切實、有效地做好學(xué)院種類繁多的考務(wù)管理工作,以實現(xiàn)學(xué)院基礎(chǔ)課程考試的無紙化管理。本教研室承接開發(fā)“九江職業(yè)技術(shù)學(xué)院網(wǎng)上考試系統(tǒng)”,為此,需要設(shè)計一個“學(xué)生考試管理系統(tǒng)”數(shù)據(jù)庫exam。為了能夠科學(xué)有效地管理數(shù)據(jù)庫的運行,我們將為這個數(shù)據(jù)庫配置多個數(shù)據(jù)文件和有關(guān)的文件組,并對每個數(shù)據(jù)文件的相關(guān)屬性進行科學(xué)配置。第5頁/共31頁預(yù)備知識數(shù)據(jù):是數(shù)據(jù)庫中存儲的基本對象,可以是數(shù)字、文字、圖形、圖像、聲音等。數(shù)據(jù)庫:是指存儲在計算機內(nèi)、按一定格式存放、可共享的數(shù)據(jù)集合。是SQLServer用來存儲數(shù)據(jù)表、視圖、存儲過程等對象的邏輯實體。數(shù)據(jù)庫對象:SQLServer2000的數(shù)據(jù)庫由不同的對象所組成,它們分別用于存儲特定的信息并支持特定功能。如表對象、視圖對象、存儲過程等。第6頁/共31頁預(yù)備知識數(shù)據(jù)庫管理系統(tǒng):專門用于科學(xué)地組織和存儲數(shù)據(jù),高效地獲取和維護數(shù)據(jù)的系統(tǒng)軟件,MicrosoftSQLServer就是其中最受歡迎的一種關(guān)系數(shù)據(jù)庫管理系統(tǒng)。主數(shù)據(jù)庫文件:用于記錄數(shù)據(jù)庫的初始信息、存儲數(shù)據(jù)和數(shù)據(jù)庫中的其他文件,其默認擴展名為.mdf。一個數(shù)據(jù)庫只有一個主數(shù)據(jù)文件。次要數(shù)據(jù)文件:用來存儲數(shù)據(jù)庫中的其他各類信息,可以作為主數(shù)據(jù)庫文件的補充,其默認的擴展名為.ndf。次數(shù)據(jù)文件可有可無。日志文件:用于記錄對數(shù)據(jù)庫的所有修改操作,以便在必要時恢復(fù)和重新啟動數(shù)據(jù)庫,其默認的擴展名為.ldf。第7頁/共31頁1-1創(chuàng)建數(shù)據(jù)庫任務(wù)1:創(chuàng)建一個最簡單的數(shù)據(jù)庫“exam1”,并查看“exam1”數(shù)據(jù)庫的各項屬性,并簡單分析相關(guān)屬性的含義。第8頁/共31頁任務(wù)2:啟動SQLServer建立“exam”數(shù)據(jù)庫,該數(shù)據(jù)庫中數(shù)據(jù)文件的屬性如下所述:主數(shù)據(jù)文件:邏輯文件名為“exam_data1”,物理文件名為“d:\mydatabase\data\exam_data1.mdf”,初始容量為5MB,按2MB遞增,最大增至50MB,位于主文件組內(nèi)。次數(shù)據(jù)文件:邏輯文件名為“exam_data2”,物理文件名為“d:\mydatabase\data\exam_data2.ndf”,初始容量為1MB,按20%遞增,最大增至10MB,位于主文件組組內(nèi)。日志文件:邏輯文件名為“exam_log1”,物理文件名為“e:\mydatabase\log\exam_log1.ldf”,初始容量為2MB,按20%遞增,最大增至50MB。第9頁/共31頁1-2管理維護數(shù)據(jù)庫任務(wù)3:在SQLServer中對“exam”數(shù)據(jù)庫中數(shù)據(jù)文件的屬性進行修改:修改主數(shù)據(jù)文件:初始容量增為10MB,按20%遞增,設(shè)置文件增長不受限制。修改日志文件:初始容量增為5MB,按2MB遞增,最大增至50MB。第10頁/共31頁任務(wù)4:在SQLServer中對“exam”數(shù)據(jù)庫進行擴充:添加次數(shù)據(jù)文件:邏輯文件名為“exam_data3”,物理文件名為“d:\mydatabase\data\exam_data3.ndf”,初始容量為1MB,按20%遞增,最大增至10MB,位于examgroup文件組內(nèi)。添加次數(shù)據(jù)文件:邏輯文件名為“exam_data4”,物理文件名為“d:\mydatabase\data\exam_data4.ndf”,初始容量為1MB,按2MB遞增,最大增至10MB,位于examgroup文件組內(nèi)。添加日志文件:邏輯文件名為“exam_log2”,物理文件名為“e:\mydatabase\log\exam_log2.ldf”,初始容量為2MB,按1MB遞增,最大增至10MB。第11頁/共31頁1-3刪除數(shù)據(jù)庫任務(wù)5:刪除以上所創(chuàng)建的“exam”數(shù)據(jù)庫。第12頁/共31頁1-4小結(jié)一、創(chuàng)建數(shù)據(jù)庫SQLServer數(shù)據(jù)庫使用的操作系統(tǒng)文件分為:主數(shù)據(jù)文件(.mdf)、次要數(shù)據(jù)文件(.ndf)和日志文件(.ldf)三大類。一個數(shù)據(jù)文件不能存在于兩個或兩個以上的文件組里,日志文件不屬于任何文件組。第13頁/共31頁二、修改維護數(shù)據(jù)庫在SQLServer中可以通過三種方法進行數(shù)據(jù)庫擴容:將數(shù)據(jù)庫設(shè)置為自動增長。為數(shù)據(jù)庫原有的數(shù)據(jù)文件分配更多的空間。為數(shù)據(jù)庫增加另外的數(shù)據(jù)文件、日志文件或文件組并為之分配適當(dāng)?shù)目臻g。在SQLServer中也可以收縮數(shù)據(jù)庫容量:設(shè)置“數(shù)據(jù)庫屬性”中的自動收縮。第14頁/共31頁三、刪除數(shù)據(jù)庫絕對不能刪除系統(tǒng)數(shù)據(jù)庫,否則會導(dǎo)致SQLServer服務(wù)器無法使用。在使用dropdatabase語句之前,要確保該數(shù)據(jù)庫的readonly選項被設(shè)置為false。當(dāng)某一個數(shù)據(jù)庫被刪除后,其中的所有數(shù)據(jù)庫對象和數(shù)據(jù)都被刪除,所有日志文件和數(shù)據(jù)文件也都將被刪除,所占用的空間將會釋放給操作系統(tǒng)。只有數(shù)據(jù)庫擁有者和sysadmin固定服務(wù)器角色的成員可以執(zhí)行刪除數(shù)據(jù)庫的操作。第15頁/共31頁第二講數(shù)據(jù)庫表管理通過本課程的學(xué)習(xí),要求達到如下的教學(xué)目標(biāo):掌握SQLServer的常用數(shù)據(jù)類型熟練掌握表結(jié)構(gòu)的創(chuàng)建、數(shù)據(jù)錄入熟練掌握表數(shù)據(jù)的查詢管理及設(shè)計掌握表數(shù)據(jù)的更新管理及設(shè)計第16頁/共31頁任務(wù)背景描述在前面的課題中我們已經(jīng)完成了“exam”數(shù)據(jù)庫的創(chuàng)建與配置,但是到目前為止,在該數(shù)據(jù)庫中并沒有真正存儲數(shù)據(jù)。為此,在本章我們的主要工作就是要在“exam”數(shù)據(jù)庫中創(chuàng)建并配置好用來存放所有數(shù)據(jù)的數(shù)據(jù)表對象??梢哉f,數(shù)據(jù)表是數(shù)據(jù)庫中最主要的對象。為了保證數(shù)據(jù)表中數(shù)據(jù)的完整性,在創(chuàng)建數(shù)據(jù)表時應(yīng)該添加適當(dāng)?shù)募s束。在SQLSERVER中有五種約束,分別是:主鍵約束、唯一約束、檢查約束、默認約束和外鍵約束。在數(shù)據(jù)管理過程中可能會發(fā)現(xiàn)數(shù)據(jù)表的結(jié)構(gòu)不太科學(xué)的情況,進而需要對數(shù)據(jù)表結(jié)構(gòu)進行修改。第17頁/共31頁預(yù)備知識表:是數(shù)據(jù)庫中非常重要的對象,它用于存儲用戶的數(shù)據(jù)。在關(guān)系數(shù)據(jù)庫中每一個關(guān)系都體現(xiàn)為一張表,表是用來存儲數(shù)據(jù)和操作數(shù)據(jù)的邏輯結(jié)構(gòu),關(guān)系數(shù)據(jù)庫中所有數(shù)據(jù)都表現(xiàn)為表格的形式。行:是組織數(shù)據(jù)的單位,每一行都是一條獨立的數(shù)據(jù)記錄。列:是用于描述數(shù)據(jù)的屬性,每一列表示記錄中的一個元素。創(chuàng)建表:就是定義表所包含的列的結(jié)構(gòu),其中包括列的名稱、數(shù)據(jù)類型、約束等。第18頁/共31頁2-1 數(shù)據(jù)庫表設(shè)計在exam數(shù)據(jù)庫設(shè)計過程中,經(jīng)過概念設(shè)計、邏輯設(shè)計、物理設(shè)計后,進入到數(shù)據(jù)庫的實施階段,就是要將數(shù)據(jù)庫的關(guān)系模式集合用RDBMS的創(chuàng)建表格命令進行實現(xiàn)。根據(jù)我校在無紙化考試考務(wù)管理的需要,設(shè)計出以下七個數(shù)據(jù)表:Admin(userid,username,pwd)Test_user(test_no,test_name,test_class,test_sex,test_dept)Exam_database(question_id,subject_id,type,question,test1,test2,test3,test4,answer,mark)Exam_subject(subject_id,subject_name,credit,teacher_id)Exam_test(subject_id,subject_name,totalper,singlecount,blankcount,judgecount,testtime,starttime,endtime,settime)Exam_score(test_no,subject_id,score)Teacher(Teacher_id,Teacher_name,Sex,T_bank,T_field,Dept)第19頁/共31頁管理員表(管理員編號、姓名、密碼)考生信息表(考生學(xué)號、姓名、班級、性別、所在系)試題庫表(試題編號、科目編號、題型、題目、選項1、選項2、選項3、選項4、答案、標(biāo)識)考試科目表(科目編號、科目名稱、學(xué)分、教師編號)考試設(shè)置表(科目編號、教師編號、總分、選擇題分值、填空題分值、判斷題分值、考試時間、開始時間、結(jié)束時間、設(shè)置時間)考試成績表(考生學(xué)號、科目編號、分數(shù))教師表(教師編號、姓名、性別、職稱、專業(yè)、所在系)以下是exam數(shù)據(jù)庫中各數(shù)據(jù)表的中文含義第20頁/共31頁管理員表試題庫表考試設(shè)置表考試科目表考生信息表考試成績表以上exam數(shù)據(jù)庫中數(shù)據(jù)表之間關(guān)系如下圖所示第21頁/共31頁2-1數(shù)據(jù)表的創(chuàng)建與配置任務(wù)1:請根據(jù)之前規(guī)劃的數(shù)據(jù)表格,在“exam”數(shù)據(jù)庫中設(shè)計并定義相應(yīng)的六個數(shù)據(jù)表結(jié)構(gòu)(各字段的名稱、類型等),試著錄入一些數(shù)據(jù)。在輸入數(shù)據(jù)的過程中可能會出現(xiàn)“輸入的值與數(shù)據(jù)類型不一致,或者此值與列的長度不一致”的錯誤提示,注意避免。[注意]:在表中輸入列名必須惟一,并且選擇正確的數(shù)據(jù)類型、數(shù)據(jù)長度和精度。常用的數(shù)據(jù)類型有:int,float,char,varchar,datatime等。在定義數(shù)據(jù)表的結(jié)構(gòu)時,各列的命名應(yīng)符合ANSI的命名規(guī)則,這將有利于日后的編程控制。第22頁/共31頁任務(wù)2:在剛剛設(shè)計定義完成的“exam”數(shù)據(jù)庫的六個數(shù)據(jù)表中,試著錄入一些數(shù)據(jù),我們發(fā)現(xiàn)了很多“不正?!钡默F(xiàn)象,雖然這些數(shù)據(jù)不應(yīng)該出現(xiàn)在我們的數(shù)據(jù)表中,但事實上在數(shù)據(jù)表中卻存在了這些“不正?!钡臄?shù)據(jù)。為了防止這種“不正?!钡臄?shù)據(jù)出現(xiàn)在數(shù)據(jù)庫里,SQLServer提供了約束管理機制,請在任務(wù)1中定義的數(shù)據(jù)庫表上進行修改,添加必要的約束來規(guī)范用戶的數(shù)據(jù)錄入過程。[分析]:約束是實現(xiàn)數(shù)據(jù)完整性的有效手段。SQLServer可以實現(xiàn)的約束有:第23頁/共31頁非空(即該列中不允許出現(xiàn)空值)主鍵約束(規(guī)定該列中的值不可以為空,也不可以重復(fù),每個數(shù)據(jù)表有且只有一個主鍵約束)唯一約束(規(guī)定該列中的值不可以重復(fù),但可以為空,常常用來作為主鍵約束功能的一種擴充)默認約束(設(shè)定某列中在缺省狀態(tài)下的取值,這樣的列在錄入時空缺,將以默認值自動插入)檢查約束(用于規(guī)定某列中值的取值范圍,這樣的規(guī)定可以有效避免在數(shù)據(jù)表中出現(xiàn)沒有意義的數(shù)據(jù))外鍵約束(用于說明多個數(shù)據(jù)表間的制約關(guān)系,這種約束相對比較抽象,但卻非常有意義)。第24頁/共31頁Admin表中的相關(guān)約束主鍵約束標(biāo)識種子第25頁/共31頁Exam_subject表中的相關(guān)約束主鍵約束標(biāo)識種子第26頁/共31頁Exam_database表中的相關(guān)約束主鍵約束標(biāo)識種子參照exam_subject設(shè)置外鍵約束第27頁/共31頁exam_score表中的相關(guān)約束兩個列組合的主鍵約束參照exam_subject設(shè)置外鍵約束參照test_user設(shè)置外鍵約束第28頁/共31頁任務(wù)3:修改數(shù)據(jù)表test_user的結(jié)構(gòu),向test_user表中添加一列Phone(char,15)來記錄學(xué)生的電話號碼信息。[注意]:在向已經(jīng)輸入記錄的數(shù)據(jù)表中添加新列時,必須允許該新列為“空”,否則出錯,為什么?任務(wù)4:刪除“exam”數(shù)據(jù)庫中的所有用戶數(shù)據(jù)表。[注意]:刪除表格的權(quán)力只屬于表格擁有者,并且不能轉(zhuǎn)移。當(dāng)

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論