學生學籍管理系統大數據庫系統SQL_第1頁
學生學籍管理系統大數據庫系統SQL_第2頁
學生學籍管理系統大數據庫系統SQL_第3頁
學生學籍管理系統大數據庫系統SQL_第4頁
學生學籍管理系統大數據庫系統SQL_第5頁
已閱讀5頁,還剩31頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、標準文案學生學籍管理系統(數據庫系統)1 設計內容和要求1.1設計背景隨著我國教育體制改革的深入進行,教育系統得到了前所未有的發展。學生管理正在逐步邁向管理信息現代化。但是我國的學生管理信息化水平還處在初級階段,主要表現在對學生的交費管理、學生的檔案管理還是采用原有的人工管理方式。學校的規模不斷擴大,學生數量急劇增加,有關學生的各種信息量也成倍增長。由于大學生類別和專業的設置的多樣化,大學生的學籍管理歷來是非常繁瑣和復雜的的工作。面對龐大的信息量, 這時的人工管理幾乎無法實現,在這種情況下用數據庫進行管理變的尤為必要,這可以發揮計算機的優勢,就需要有學生信息管理系統來提高學生管理工作的效率.通

2、過這樣的系統,可以做到信息的規范管理,科學統計和快速的查詢,從而減少管理方面的工作量和減少人為的錯誤。1.2開發環境本學生學籍管理系統(數據庫系統)的開發與運行環境如下:開發環境:Windows XP輔助工具:PowerDesigner Trial 11數據庫管理系統:SQL Server 2000運行環境:Windows 2000/XP/20031.3內容和要求1.3.1系統目標設計² 使得學生的學籍管理工作更加清晰、條理化、自動化。² 很容易地完成新生信息的輸入、老生信息的備份、畢業學生的信息可以很容易地保存。² 當學生需要查詢成績時,可以很簡單地將其需要的信

3、息從數據庫中查找出來并可以打印查詢結果。² 隨著當今網絡技術的發展,提供網絡在線查詢功能,可以為畢業生提供更多的就業機會。1.3.2系統功能要求(1)學生基本信息系統² 能夠完成新、老生信息的輸人、修改、插人、刪除等工作。² 可以按照特定的信息進行查找,并按照特定的要求進行排序。² 可以對老生的信息進行備份,以便日后查詢。² 可以對學生的信息進行打印輸出。² 提供詳細的幫助文件和系統維護功能。(2)學生成績管理系統 此部分的功能如下:² 學生成績的輸入、修改、刪除等基本操作。² 成績的綜合統計功能,包括學生成績按照

4、不同條件進行排名。管理人員可以選擇不同的排序條件,并可以將排序結果進行打印輸出。² 計算各班的總分和平均分,并按照平均分將各班成績進行排序。² 統計不及格考生的信息,根據條件確定是重修還是補考。² 學生獎勵統計,自動生成每班獲得獎學金的同學的信息,并可以將獎學金分成不同的等級,以及所得獎學金的數目。² 本系統可以在單機上運行,也可以應用在網絡上供在線查詢成績和其他一些學生的信息(此功能選做人提供給學生進行查詢的系統和提供給教務處使用的系統,在不同用戶使用時,應該會有不同的使用權限。² 提供詳細的幫助文件。由于數據庫內的信息會很多,注意數據庫表格

5、設計,使得學生查詢基本信息或學習成績時使用時間較短。按照數據庫系統開發步驟進行數據庫概念結構設計、邏輯結構設計、物理結構設計。系統的功能模塊設計圖如圖所示。圖 1-1 系統功能模塊設計圖2 需求分析2.1 引言 進行數據庫設計首先必須準確了解也分析用戶需求(包括數據和處理)。目的是為學籍管理數據庫系統的設計打下牢牢的基礎,是數據庫開發的重要文件依據,主要為數據庫設計人員使用,是用戶和系統分析員的項目依據文件。作為“地基”的需求分析是否做得充分與準確,它決定了在其上構建數據庫大廈的速度和質量。需求分析做得不好,甚至會導致整個數據庫設計返工重做。本系統的開發是設計一個學生學籍管理系統(數據庫系統)

6、。2.2 用戶需求本系統是針對高等院校的學生學籍管理,因此學籍管理系統的用戶包括系統管理員、教師和學生。主要涉及系部信息、班級信息、任課教師信息、學生信息、課程信息以及選課記錄和成績等多種數據信息。實現的具體功能如下:l 基本信息管理系統管理員負責對各種基本信息的錄入、修改、刪除等操作。l 學生成績管理系統管理員負責對學生成績的錄入、修改、刪除等操作,學生可以查詢各科成績。l 信息查詢統計學生可以查詢基本信息和各科的考試成績,老師可以查詢基本信息和授課信息,系統管理員負責把老師提交的學生成績進行管理,計算總成績和平均成績,統計不及格學生信息和獲得獎學金學生的信息,最后再輸出所有的信息。l 畢業

7、生信息管理系統管理員負責計算畢業學生在學校期間所修課程的總學分,并進行審核,最后輸出登記表和名冊。l 系統用戶管理系統管理員負責用不同的權限來限制不同用戶對系統的使用。以上是用戶對系統的基本的功能要求,此外用戶還要求系統的效率要高,查詢速度要快,比較小的冗余,易維護,具有較高的數據安全性。2.3 劃分功能模塊根據系統功能的需求分析和高等院校學籍管理的特點,經過模塊化的分析得到如下圖1-1所示的系統功能模塊結構圖。學籍管理系統基本信息管理畢業生信息管理學生成績管理系統用戶管理信息查詢統計基本信息刪除基本信息修改基本信息錄入學生成績刪除學生成績修改學生成績錄入修改密碼輸出相關信息統計學生成績計算學

8、生成績學生成績查詢基本信息查詢輸出名冊審核資格計算學分幫助信息圖 2-1 系統功能模塊圖2.4 數據字典2.4.1 數據項數據字典是系統中各類數據描述的集合,是進行詳細的數據收集和數據分析所獲得的主要成果,數據字典是對系統所用到的所有表結構的描述,學籍管理的主要數據見下表。表 2.1 老師基本信息表序號字段別名數據類型數據長度碼1tno學號char10Y2tname姓名varchar10N3tsex性別Char2N4profess職稱varchar10N5dname所屬院系varchar8N6tel電話intN表 2.2 學生基本信息表序號字段別名數據類型數據長度碼1sno學號varchar1

9、0Y2sname姓名varchar10N3ssex性別Char2N4birthday出生日期timestamp20N5symbol政治面貌varchar8N6Id身份證號varchar20N7Intime入學時間varchar20N8birthplace籍貫varchar10N9homeaddr家庭住址varchar30N10postcode郵政編碼intN表 2.3 專業信息表序號字段別名數據類型數據長度碼1mno專業號char10Y2sno學號varchar10N3mname專業名char10N4intime入學時間datetimeN表 2.4 畢業信息表序號字段別名數據類型數據長度碼1g

10、no畢業證編號char10Y2sno學號varchar10N3sname姓名varchar10N4ssex性別char2N5dname所屬院系varchar10N6intime入學時間datetimeN7ycredit已修學分floatN8xcredit需修學分floatN表 2.5 院系信息表序號字段別名數據類型數據長度碼1dmpno院系號varchar10Y2dname院系名稱varchar10N3dmphead院長名varchar20N表 2.6 課程信息表序號字段別名數據類型數據長度碼1cno課程號varchar5Y2cname課程名varchar15N3credit學分smallin

11、tN表 2.7 學生選課信息表序號字段別名數據類型數據長度碼1sno學號varchar10Y2cno課程號varchar5Y3grade成績floatN表 2.8 老師授課信息表序號字段別名數據類型數據長度碼1cno課程號varchar5Y2tno教工號char10Y3ctime課時smallintN2.4.2數據結構數據結構反映了數據之間的組合關系。一個數據結構可以由若干個數據項組成,也可以由若干個數據結構組成,或若干個數據項和數據結構混合組成。經過數據項和用戶需求的分析,我對本系統一共分了5個組,具體如下表所示:表 2.9 數據結構表數據結構名含義說明組成部分學生基本信息管理描述學生基本信

12、息學號+姓名+性別+出生日期+身份證號+入學時間+政治面貌+家庭住址+籍貫+郵政編碼+民族老師基本信息管理描述老師基本信息教工號+姓名+性別+職稱+所屬院系+電話學生、老師相關信息管理描述學生選課信息,畢業信息,專業、院系信息,老師授課信息,院系信息學號+課程號+成績課程號+教工號畢業證編號+學號+姓名+性別+身份證號+所屬院系+入學時間+已修學分+需修學分學生成績管理描述學生平均成績、總成績的計算,統計相關信息學號+課程號+成績系統管理描述用戶修改密碼,幫助信息2.4.3數據流數據流是數據結構在系統內傳輸的路徑。通過對用戶的需求分析,以及數據項和數據流的設計,得出了相應的數據流描述如下表所示

13、:1、數據流定義表表 2.10 數據流定義表編號數據流名組成流量備注01學生信息學號+姓名+性別+出生日期+身份證號+入學時間+政治面貌+家庭住址+籍貫+郵政編碼+民族大學生基本信息02教師信息教工號+姓名+性別+職稱+所屬院系+電話一般教師基本信息03學生成績學號+姓名+性別+學號+課程號+成績大學生詳細信息04科目成績學號+課程號+成績大學生考試成績05各門成績學號+課程號+成績課程號+課程名+學分大同上06查詢結果科目成績+各門成績大各種信息07統計分析科目成績+各門成績大學生獎勵2、外部項定義表表 2.11 外部項定義表編號名稱輸入數據流輸出數據流備注1學生處01主要用于錄入學生信息2

14、學生06主要用語學生查詢信息和成績3老師03主要用于老師提交成績4教務員06/07主要用于輸出查詢和統計信息的結果2.4.4數據存儲數據存儲是數據結構停留或保存的地方,也是數據流的來源和去向之一。經過數據項、數據結構和數據流的設計,本系統一共選用了三個數據存儲,具體對數據存儲的描述通常如下表所示:表 2.12 數據存儲表編號數據存儲名輸入數據流輸出數據流數據量存取方式A1學生相關信息01大批處理、順序檢索A2教師相關信息0302一般批處理、順序檢索A3學生成績單06,07大批處理、更新、順序檢索2.4.5處理過程處理過程的具體處理邏輯一般用判定表或判定樹來描述。對于本系統用于學生學籍管理一共設

15、計了四種處理方法,具體處理方式如下表所示:表 2.13 數據處理過程表編號名稱輸入數據流輸出數據流備注B1插入修改01,02,0301,02,03插入學生信息和老師信息B2更新修改01,02,0301,02,03更新學生信息和老師信息B3刪除修改01,02,0301,02,03刪除學生信息和老師信息B4統計分析05,0605,06統計學生信息和成績3 概念結構設計概念結構設計是整個數據庫設計的關鍵,它通過對用戶需求進行綜合、歸納與抽象,形成獨立于具體DBMS的概念模型。3.1數據流圖數據流圖表達了數據和處理的關系,根據用戶的需求分析和高校學籍管理系統的需求,得出如下圖1-1所示的學籍管理數據流

16、圖。學生教師管理員學生記錄成績畢業送進信息錄入查詢計算統計更新錄入新生?學生信息批準?成績單批準?核對信息學生名單提交申請審核信息合格圖 3-1 學籍管理系統數據流圖3.2 系統E-R圖1 對于學生信息管理,我們可以將學生實體抽象出來,學生屬于學院可以將學院作為一個實體,學生所屬專業和畢業信息都將可以作為一個實體。圖 3-2 學生實體E-R圖圖 3-3 院系實體E-R圖圖 3-4 專業實體E-R圖圖 3-5 畢業實體E-R圖在學生信息管理中存在這樣的關系:選擇(一個學生只能選擇一個專業,而一個專業可以供多個學生選擇,故是多對一的關系)、學習(一個學生只能在一個院系學習,而一個院系可以供多個學生

17、學習,故是多對一的關系)。圖 3-6 學生關系E-R圖2 對于老師信息管理,我們可以將老師實體抽象出來,老師屬于學院可以將學院作為一個實體。圖 3-7 老師實體E-R圖在老師信息管理中存在這樣的關系:擁有(一個老師只能在一個院系工作,而一個院系可以供多個多個老師工作,故是多對一的關系)。圖 3-8 老師關系E-R圖3 對于教務信息管理,我們可以將課程實體抽象出來。圖 3-9 課程實體E-R圖在教務信息管理中存在這樣的關系:畢業(一個學生擁有一個畢業信息,而一個畢業信息只屬于一個學生,故是一對一的關系)、選修(一個學生可以選修多門課程,而一門課程可以被多個學生選修,故是多對多的關系)、開設(一個

18、專業可以開設多門課程,而一門課程可以被多個專業選擇,故是多對多的關系)、授課(一門課程可以被多個老師講授,而一個老師可以講授多門課程,故是多對多的關系)。 圖 3-10 教務關系E-R圖以上是本系統中的基本的實體和關系,本系統是將其分步找出來加以描述,下面是本系統總體的E-R圖:圖 3-11 學籍管理系統E-R圖3.3 概念模型概念模型是在對用戶需求分析之后,通過畫出本系統抽象出的E-R圖,由概念模型輔助工具PowerDesigner11進行設計,通過具體地設置和繪圖,最后就形成了如下所示的概念模型圖,生成的概念結構就能真實、充分地反映現實世界,包括事物和事物之間的聯系,能滿足用戶對數據的處理

19、要求,是對現實世界的一個真實模型。圖 3-12 學籍管理系統概念模型圖大全4 邏輯結構設計邏輯結構設計就是把概念結構設計階段設計好的基本E-R圖轉換為與選用DBMS產品所支持的數據模型相符合的邏輯結構。設計邏輯結構一般分為3步進行:(1)將概念結構轉換為一般的關系、網狀、層次模型;(2)將轉換來的關系、網狀、層次模型向特定DBMS支持下的數據模型轉換;(3)對數據模型進行優化。4.1 關系模型將E-R圖轉換為關系模型實際上就是要獎實體型、實體的屬性和實體型之間的聯系轉換為關系模式,這種轉換一般遵循如下原則:一個實體型轉換為一個關系模式。實體的屬性就是關系的屬性,實體的碼就是關系的碼。對于實體型

20、間的聯系則有以下不同的情況:(1)一個1:1聯系可以轉換為一個獨立的關系模式,也可以與任意一端對應的關系模式合并。如果轉換為一個獨立的關系模式,則與該聯系相連的個實體的碼以及聯系本身的屬性均轉換為關系的屬性,每個實體的碼均是該關系的侯選碼。如果與某一端實體對應的關系模式合并,則需要在關系模式的屬性中加入另一個關系模式的碼和聯系本身的屬性。(2)一個1:n聯系可以轉換為一個獨立的關系模式,也可以與n端對應的關系模式合并。如果轉換為一個獨立的關系模式,則與該聯系相連的個各實體的碼以及聯系本身的屬性均轉換為關系的屬性,而關系的碼為n端實體的碼。(3)一個m:n聯系轉換為一個關系模式。與該聯系相連的個

21、實體的碼以及聯系本身的屬性均轉換為關系的屬性,各實體的碼組成關系的碼或關系碼的一部分。(4)3個或3個以上實體間的一個多元聯系可以轉換為一個關系模式。與該多元聯系相連的各實體的碼以及聯系本身的屬性均轉換為關系的屬性,各實體的碼組成關系的碼或關系碼的一部分。(5)具有相同碼的關系模式可合并。將概念結構設計階段設計好的基本E-R圖轉換為關系模型,如下所示:n 學生(學號,專業號,院系號,姓名,性別,出生日期,身份證號,入學時間,政治面貌,家庭住址,籍貫,郵政編碼,民族),此為學生實體對應的關系模式。n 教師(教工號,姓名,性別,職稱,所屬院系,電話),此為老師實體對應的關系模式。n 畢業(畢業證編

22、號,學號,姓名,性別,身份證號,所屬院系,入學時間,已修學分,需修學分),此為畢業實體對應的關系模式。n 課程(課程號,課程名,學分),此為課程實體對應的關系模式。n 院系(院系號,院系名稱,院長名),此為院系實體對應的關系模式。n 選修(學號,課程號,成績),此為選修關系對應的關系模式。n 授課(課程號,教工號,課時),此為老師授課關系對應的關系模式。n 開設(專業號,課程號),此為專業開設課程關系對應的關系模式。4.2 物理模型將生成的概念模型通過單擊PowerDesigner11工具菜單欄上的Tools選項,再選擇Generate Physical Data Model選項,就可以轉換為

23、物理模型,生成的最后結果具體如下圖所示:圖 4-1 學籍管理系統物理模型圖5 物理結構設計與功能實現5.1 物理結構設計數據庫的物理設計就是為一個給定的邏輯數據模型選取一個最適合應用要求的物理結構的過程。物理結構設計階段實現的是數據庫系統的內模式,它的質量直接決定了整個系統的性能。因此在確定數據庫的存儲結構和存取方法之前,對數據庫系統所支持的事務要進行仔細分析,獲得優化數據庫物理設計的參數數據庫的物理設計通常分為兩步:(1)確定數據庫的物理結構,在關系數據庫中主要指存取方法和存取結構;(2)對物理結構進行評價,評價的重點是時間和空間效率。5.1.1 確定數據庫的存儲結構由于本系統的數據庫建立不

24、是很大,所以數據存儲采用的是一個磁盤的一個分區。5.1.2 存取方法和優化方法存取方法是快速存取數據庫中數據的技術。數據庫管理系統一般都是提供多種存取方法。常用的存取方法有三類。第一類是索引方法,目前主要是B+樹索引方法;第二類是聚簇方法;第三類是HASH方法。數據庫的索引類似書的目錄。在書中,目錄允許用戶不必瀏覽全書就能迅速地找到所需要的位置。在數據庫中,索引也允許應用程序迅速找到表中的數據,而不必掃描整個數據庫。在書中,目錄就是內容和相應頁號的清單。在數據庫中,索引就是表中數據和相應存儲位置的列表。使用索引可以大大減少數據的查詢時間。但需要注意的是索引雖然能加速查詢的速度,但是為數據庫中的

25、每張表都設置大量的索引并不是一個明智的做法。這是因為增加索引也有其不利的一面:首先,每個索引都將占用一定的存儲空間,如果建立聚簇索引(會改變數據物理存儲位置的一種索引),占用需要的空間就會更大;其次,當對表中的數據進行增加、刪除和修改的時候,索引也要動態地維護,這樣就降低了數據的更新速度。5.2 功能實現完成數據庫的物理設計之后,設計人員就要用RDBMS提供的數據定義語言和其他實用程序將數據庫邏輯設計和物理設計結果嚴格描述出來,成為DBMS可以接受的源代碼,再經過調試產生目標模式。然后就可以組織數據入庫,最后就在此基礎上編寫各個表相關的觸發器和存儲過程。5.2.1 觸發器觸發器是用戶定義在關系

26、表上的一類由事件驅動的特殊過程。一旦定義,任何用戶對表的增、刪、改操作均由服務器自動激活相應的觸發器,在DBMS核心層進行集中的完整性控制。由于本系統的觸發器比較多,在這里我只寫出了其中的一部分觸發器,具體如下所示。(1)數據更新-CREATE TRIGGER scupdate ON dbo.student /建立學生信息表更新觸發器FOR UPDATE ASUPDATE SC /更新學生選課表SCSET SNO = (SELECT SNO FROM INSERTED) /將SC表中的學號改成學生表改后的WHERE SNO = (SELECT SNO FROM DELETED); /更改對應的

27、學生學號-CREATE TRIGGER graduateupdate ON dbo.student /建立學生信息表更新觸發器FOR UPDATE ASUPDATE GRADUATE /更新學生畢業信息表GRADUATESET SNO = (SELECT SNO FROM INSERTED) /將GRADUATE表中的學號改成學生表修改后的WHERE SNO = (SELECT SNO FROM DELETED); /更改對應的學生學號-CREATE TRIGGER majorupdate ON dbo.student /建立學生信息表更新觸發器FOR UPDATE ASUPDATE MAJO

28、R /更新專業信息表MAJORSET SNO = (SELECT SNO FROM INSERTED) /將MAJOR表中的學號改成學生表修改后的WHERE SNO = (SELECT SNO FROM DELETED); /更改對應的學生學號-CREATE TRIGGER student1 ON dbo.major /建立專業信息表更新觸發器FOR UPDATE ASUPDATE STUDENT /更新學生信息信息表STUDENTSET MNO = (SELECT MNO FROM INSERTED) /將STUDENT表中的專業號改成專業表修改后的WHERE MNO = (SELECT M

29、NO FROM DELETED); /更改對應的專業號-CREATE TRIGGER student2update ON dbo.department /建立院系信息表更新觸發器FOR UPDATE ASUPDATE STUDENT /更新學生信息信息表STUDENTSET DMPNO = (SELECT DMPNO FROM INSERTED) /將STUDENT表中的院系號改成專業表修改后的WHERE DMPNO = (SELECT DMPNO FROM DELETED); /更改對應的院系號-(2) 數據刪除-CREATE TRIGGER teach1update ON dbo.teac

30、her /建立教師信息表刪除觸發器FOR DELETE ASUPDATE TEACH /刪除授課信息表TEACHSET TNO = NULL /刪除TEACH表中的教工號刪除WHERE TNO = (SELECT TNO FROM DELETED) /找到對應的教工號-CREATE TRIGGER sc1update ON dbo.course /建立課程信息表刪除觸發器FOR DELETEASUPDATE SC /刪除選課信息表SCSET CNO = NULL /刪除SC表中的課程號刪除WHERE CNO = (SELECT CNO FROM DELETED) /找到對應的課程號-CREAT

31、E TRIGGER stu_majorupdate ON dbo.major /建立專業信息表刪除觸發器FOR DELETE ASUPDATE STUDENT /刪除學生信息表STUDENT SET MNO = NULL /刪除STUDENT 表中的專業號刪除WHERE MNO = (SELECT MNO FROM DELETED) /找到對應的專業號-CREATE TRIGGER teacherupdate ON dbo.department /建立院系信息表刪除觸發器FOR DELETE ASUPDATE TEACHER /刪除教師信息表TEACHER SET DMPNO = NULL /

32、刪除TEACHER表中的院系號刪除WHERE DMPNO = (SELECT DMPNO FROM DELETED) /找到對應的院系號-5.2.2 存儲過程存儲過程是PL/SQL語句書寫的過程,這個過程經編譯和優化后存儲在數據庫服務器中,使用時只要調用即可。(1)數據查詢-存儲過程名:教師信息查詢入口參數:tno varchar(10)/輸入教師的教工號出口參數:tno char(10), tname varchar(10), profess varchar(10), dname varchar(10), tel int, tsex char(2),/定義存放輸出教師信息的變量CREATE

33、PROCEDURE selectteacher /建立查詢教師信息存儲過程tnoASSELECT tno = tno FROM INSERTED /選擇與輸入教工號相等的所有記錄SELECT * /選出符合條件的教師所有信息 FROM teacher GO-存儲過程名:院系信息查詢入口參數:dmpno/輸入院系的院系號出口參數:dmpno, dmpname,dmphead, /定義存放輸出院系信息的變量CREATE PROCEDURE selectdepartment/建立查詢院系信息存儲過程dmpnoASSELECT dmpno = dmpno FROM INSERTED/選擇與輸入院系號相

34、等的所有記錄SELECT */選出符合條件的院系所有信息 FROM department GO-(2)數據插入-存儲過程名:學生信息插入入口參數:sno varchar(10), id varchar(20), intime varchar(20),birthplace varchar(10), sname varchar(10),ssex char(2), birthday varchar(20),symbol varchar(8), homeaddr varchar(20), postcode int,/輸入需要插入的學生所有信息 出口參數: 無CREATE PROCEDURE inser

35、tstudent/建立插入學生信息的存儲過程 sno varchar(10), id varchar(20),intime varchar(20),birthplace varchar(10), sname varchar(10),ssex char(2), birthday varchar(20),symbol varchar(8),homeaddr varchar(20), postcode int,/定義存放插入學生信息的變量ASINSERT INTO student(sno,sname,ssex,birthday,symbol,id,intime,birthplace,homeaddr

36、,postcode)/插入學生表對應的列名VALUES (sno varchar(10), sname varchar(10), ssex char(2),birthday varchar(20), symbol varchar(8), id varchar(20),intime varchar(20), birthplace varchar(10),homeaddr varchar(20), postcode int)/插入學生表對應列名值GO-存儲過程名:教師信息插入入口參數:tno char(10), tname varchar(10), profess varchar(10), dna

37、me varchar(10), tel int, tsex char(2), /輸入需要插入的教師所有信息 出口參數: 無CREATE PROCEDURE insertteacher tno char(10), tname varchar(10),profess varchar(10),dname varchar(10), tel int,tsex char(2),/定義存放輸出教師信息的變量ASINSERT INTO teacher(tno,tname,tsex,profess,dname,tel)/插入教師表對應的列名VALUES (tno char(10), tname varchar(

38、10), tsex char(2),profess varchar(10), dname varchar(10), tel int,)/插入教師表對應列名值GO-(3)數據刪除-存儲過程名:學生信息刪除入口參數:sno varchar(10) /輸入要刪除學生的學號 出口參數: 無CREATE PROCEDURE deletestudent /建立刪除學生信息的存儲過程sno,ASSELECT sno = sno FROM DELETED /選擇與輸入學號相等的所有記錄DELETE FROM student/刪除符合條件的記錄GO-存儲過程名:專業信息刪除入口參數:mno varchar(10

39、) /輸入要刪除專業的專業號 出口參數: 無CREATE PROCEDURE deletemajor/建立刪除專業信息的存儲過程 mname,ASSELECT mname = mname FROM DELETED/選擇與輸入專業號相等的所有記錄DELETE FROM major/刪除符合條件的記錄GO-(4)數據更新-存儲過程名:學生學號更新入口參數: no int, /輸入要更新的學生學號 出口參數: sno int,/輸出更新后的學生學號CREATE PROCEDURE updatesno /建立更新學生學號的存儲過程 no int,ASSELECT no = sno FROM INSER

40、TED/選擇與輸入學號相等的所有記錄UPDATE studentSET sno=no/更新符合條件的記錄GO-存儲過程名:專業名更新入口參數:mname varchar(20),/輸入要更新的專業名稱 出口參數:name varchar(20),/輸出更新后的專業名稱CREATE PROCEDURE updatemname /建立更新專業名的存儲過程 name varchar(20),ASSELECT mname = mname FROM INSERTED/選擇與輸入學號相等的所有記錄UPDATE majorSET mname=name/更新符合條件的記錄GO-5.3 數據庫的實施和維護完成數

41、據庫的物理設計之后,設計人員就要用RDBMS提供的數據定義語言和其他實用程序將數據庫邏輯設計和物理設計結果嚴格描述出來,成為DBMS可以接受的源代碼,再經過調試產生目標模式。然后就可以組織數據入庫了,這就是數據庫實施階段。5.3.1 數據庫的實施數據庫的實施主要是根據邏輯結構設計和物理結構設計的結果,在計算機系統上建立實際的數據庫結構、導入數據并進行程序的調試。它相當于軟件工程中的代碼編寫和程序調試的階段。當在PowerDesigner Trial 11中設計好本系統的物理結構之后,就可以向數據庫轉換為相應的表。先選擇菜單欄中Database的Connect,通過添加數據源,連接數據源,輸入用

42、戶名和密碼進行轉換,生成相關的SQL語句,在通過運行之后,最終在SQL Server 2000中生成了如下所示的表。u 學生基本信息表(主要描述一些學生入學前的基本信息):圖 5-1 學生基本信息表結構圖u 教師基本信息表(主要描述教師的一些基本信息):圖 5-2 教師基本信息表結構圖u 院系信息表(主要描述學校中各個院系的一些基本信息):圖 5-3 院系信息表結構圖u 專業信息表(主要描述學生選擇專業的信息):圖 5-4 專業信息表結構圖u 課程信息表(主要描述學校開設的課程的基本信息):圖 5-5 課程信息表結構圖u 選課信息表(主要描述學生選修課程的信息):圖 5-6 選課信息表結構圖u

43、 授課信息表(主要描述教師授課的信息):圖 5-7 授課信息表結構圖u 學生畢業信息表(主要描述學生畢業的基本信息):圖 5-8 學生畢業信息表結構圖5.3.2 數據的載入數據庫實施階段包括兩項重要的工作,一項是數據的載入,另一項是應用程序的編碼和調試。由于本次課程設計沒有進行應用程序的開發,因此對于后一項工作在這里就不做描述了。具體輸入的一部分數據如下圖所示:S 輸入學生基本信息:圖 5-9 學生部分基本信息數據圖S 輸入教師基本信息:圖 5-10 教師基本信息數據圖S 輸入課程基本信息:圖 5-11 課程信息數據圖S 輸入院系基本信息:圖 5-12 院系基本信息數據圖S 輸入專業信息:圖

44、5-13 專業信息數據圖S 輸入學生畢業基本信息:圖 5-14 學生畢業基本信息數據圖S 輸入學生選課信息:圖 5-15 學生選課信息數據圖S 輸入教師授課信息:圖 5-16 教師授課基本信息數據圖5.3 數據庫的試運行5.3.1 通過SQL語句進行簡單測試當一小部分數據輸入數據庫后,就可以開始對數據庫系統進行聯合調試,這一階段要實際運行數據庫應用程序,執行對數據庫的各種操作,由于沒有應用程序,所以只有通過SQL語言直接在數據庫中執行對數據庫的各種操作。通過在SQL Server 2000的查詢分析器中輸入相應的SQL語句,就可以得到相應的結果,具體如下所示:(1)查詢學生的基本信息輸入SQL語句:SELECT sno,sname,ssex,dmpno,mno,birthday,sid,intimeFROM student;執行結果:圖 5-17 查詢學生基本信息結果圖(2)插入教師的基本信息輸入SQL語句:INSERT INTO

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論