學生信息管理數(shù)據(jù)庫分析
時間:2022-05-04 09:36:31
導語:學生信息管理數(shù)據(jù)庫分析一文來源于網(wǎng)友上傳,不代表本站觀點,若需要原創(chuàng)文章可咨詢客服老師,歡迎參考。
1需求分析
概念模型,也稱為信息模型,是從用戶的角度出發(fā)來對信息建摸;它是設計人員和用戶之間進行交流的一個強有力的工具。由于概念模型是對信息世界建摸,所以概念模型應該能夠方便、準確地表達出信息世界中的事物及其聯(lián)系。常用E-R圖來描述現(xiàn)實世界的概念模型?,F(xiàn)實世界中的各種事物都不是孤立的,它們相互間存在著千絲萬縷的聯(lián)系著,信息管理系統(tǒng)中必須要真實地反映出現(xiàn)實世界中和個實體之間的這些聯(lián)系?,F(xiàn)實世界中實體之間的聯(lián)系共有三大種類即:一對一、一對多和多對多,在學生信息管理系統(tǒng)中存在的就是這三種基本的聯(lián)系:一個系擁有若干名學生,但是一個學生只能屬于一個系,因此系與學生之間的聯(lián)系屬于一對多聯(lián)系,其中系是一方,而學生是多方。一個系擁有多名教師,但是一個教師只能在一個系里工作,因此系與教師之間的聯(lián)系屬于一對多聯(lián)系,其中系是一方,而教師則是多方。同時由于不管是學生還是教師都是與系有聯(lián)系的,所以系是學生實體和教師實體之間的橋梁。另外學生在學校期間必須要學習課程,且每學習完一門課程之后學生都要參加考試,從而產(chǎn)生成績,因此學生和課程之間也有聯(lián)系。由于一個學生可以學習多門課程,另一方面一門課程可以被多個學生所學習,因此學生和課程之間的聯(lián)系的類型是多對多聯(lián)系。通過對各種學生信息管理系統(tǒng)中涉及到的實體及其聯(lián)系的分析,得出如圖1所示的系統(tǒng)整體E-R圖。
2數(shù)據(jù)庫設計
2.1關系設計
按照需求分析得出的學生信息管理系統(tǒng)的整體E-R模型,現(xiàn)在設計數(shù)據(jù)庫:數(shù)據(jù)庫名是studentdb;數(shù)據(jù)庫服務器是SQLServer2005。由于本系統(tǒng)將采用SQLServer2005這種關系數(shù)據(jù)庫管理系統(tǒng)來存儲和管理數(shù)據(jù)的,但是關系數(shù)據(jù)管理系統(tǒng),對于這種多對多聯(lián)系卻不能直接處理。所以要用一種方法來變換這種多對多聯(lián)系,從而使得關系數(shù)據(jù)庫管理系統(tǒng)能夠間接地處理,達到解決問題的目的。根據(jù)多對多分解的原則必須保證分解出來的結果既具有無損性的特點,而且還必須使得分解保持住原來的函數(shù)依賴。在本系統(tǒng)中通過引入一個中間關系即成績關系來把學生和課程這兩個實體之間的多對多聯(lián)系,轉換為兩個一對多聯(lián)系??梢赃@樣理解一個學生學習完多門課程參加考試之后會產(chǎn)生多條成績信息,但是一條成績信息只能對應著一個學生;同理一門課程在給多個學生講授完之后要進行考試也會產(chǎn)生多條成績信息,但是一條成績信息只能對應著一門課程。這樣便通過成績這個關系把學生實體和課程實體之間的多對多聯(lián)系分解為兩個一對多,并由成績這個關系把學生和課程這兩個關系聯(lián)系在一起且這種分解完全符合關系模式的分解上述兩個分解原則。這樣對應到數(shù)據(jù)庫中,本系統(tǒng)的主要就主要由學生、系、教師、課程和成績關系組成,但是為了用戶管理的需要還要多增加一個登錄關系,當然登錄關系里的用戶只有兩種類型,不是學生便是教師。所以登錄關系與學生和教師這兩個關系是一一對應的聯(lián)系,即一對一聯(lián)系。綜上所述本系統(tǒng)里共有6個關系,現(xiàn)僅列出score表的結構,如表1所示。
2.2完整性設計
在分析了以上實體之間聯(lián)系的種類之后,還要分析各實體及實體之間的完整性約束。表的完整性約束共分為三種,第一種是實體完整性規(guī)則,第二種是參照完整性規(guī)則,第三種是用戶定義的完整性規(guī)則。在本系統(tǒng)中存在實體之間的這三種完整性,從而保證各個表的完整性。登錄表中可以在用戶名上建立主鍵,保證了該表中沒有重復的元組出現(xiàn),這樣就可實現(xiàn)實體完整性。學生表中在學號上建立主鍵,保證了該表中沒有重復的元組出現(xiàn),這樣就可以實現(xiàn)實體完整性。其次,學生表中的系號雖然不是本表的主鍵,但它是系表的主鍵,所以系號可以作為學生表的外鍵,因此學生表中的系號不能隨便取值,只能參照系表中系號的取值,這樣通過系號這個外鍵實現(xiàn)了參照完整性。還有,學生表中的性別字段取值只能是“男”或“女”,這種類型的約束就是所謂的域完整性規(guī)則,域完整性約束屬于用戶定義的完整性的一種。教師表中在工號上建立主鍵,保證了該表中沒有重復的元組出現(xiàn),這樣可以通過工號來實現(xiàn)實體完整性。其次,教師表中的系號雖然不是本表的主鍵,但它卻是系表中主鍵所以系號可以作為教師表的外鍵,因此教師表中的系號不能隨便取值,只能參照系表中系號的取值,這樣通過系號這個外鍵即可實現(xiàn)參照完整性。還有,教師表中的性別字段取值只能是“男”或“女”,這樣可以和學生表類似在性別字段上建立域完整性規(guī)則,從而實現(xiàn)用戶定義的完整性。課程表中可以在課程號字段上建立主鍵,保證了該表中沒有重復的元組出現(xiàn),從而就可通過課程號來實現(xiàn)實體完整性。然而成績表中的學號字段對應著多條元組,因此學號單獨無法作為主鍵;同樣課程號也對應著多條元組,因此當單獨的某個字段已經(jīng)無保證該表中沒有重復的元組,在這種情況下,必須復合字段作為主鍵,因此可以選擇使用學號和課程號的組合作為主鍵,這樣就可以保證成績表中不會出現(xiàn)重復的元組,從而通過復合主鍵來實現(xiàn)實體完整性。其次,成績表中的學號雖然不能單獨作為本表的主鍵,但它卻是學生表中的主鍵,因此學號可以作為成績表的外鍵,同時成績表中的學號不能隨便取值,只能參照學生表中學號的取值范圍,這樣通過學號這個外鍵可以實現(xiàn)了參照完整性;同理,成績表中的課程號也不能單獨作為本表的主鍵,但它卻是課程表中的主鍵,因此課程號可以作為成績表的外鍵,同時成績表中的課程號不能隨便取值,只能參照課程表中課程號的取值范圍,這樣就可以通過課程號這個外鍵實現(xiàn)參照完整性。系表中可以選擇使用系號作為主鍵,這樣可以保證本表中無重復的元組出現(xiàn),從而實現(xiàn)了實體完整性。
2.3特殊業(yè)務規(guī)則設計
當一個學生畢業(yè)時系統(tǒng)應能夠刪除這個學生的基本信息及相應的成績信息,這也是所謂的級聯(lián)刪除,在SQLServer2005中可以用觸發(fā)器來實現(xiàn)這一特殊的業(yè)務規(guī)則。觸發(fā)器顧名思義,當觸發(fā)動作成功發(fā)生時自動執(zhí)行。打個比方,觸發(fā)動作相當于導火索,只有成功點燃導火索才能使炸藥包爆炸。使用觸發(fā)器必須分清楚哪些操作是觸發(fā)事件,而哪些操作是觸發(fā)器內部自動執(zhí)行的動作。在學生信息管理數(shù)據(jù)庫中,如果當刪除學生的基本信息時,要自動刪除其相應的成績信息,那么首先刪除該學生基本信息是一個觸發(fā)動作且作用在stu表上;只有當成功刪除該學生的基本信息后即導火索成功點燃之后,才能使觸發(fā)器啟動并自動執(zhí)行其內部動作即刪除其成績信息,觸發(fā)器應建立在stu表上,而觸發(fā)器內部自動執(zhí)行的動作應作用在score表??梢钥闯鲇|發(fā)器在應用中,一般都會用到兩個特殊的邏輯表即inserted表和deleted表。這兩個表都是只讀的邏輯表,它們動態(tài)駐留在內存中,在執(zhí)行DML操作時這兩個表才存在,且對它們的引用只能在觸發(fā)器中實現(xiàn),而當觸發(fā)器工作完成后,這兩個表也隨之被刪除,這兩個表主要保存因用戶操作而被影響到的原數(shù)據(jù)值或新數(shù)據(jù)值,在inserted表中存儲新值,而在deleted表中存儲舊值。對于insert操作來說只影響到inserted表;對于delete操作只影響deltede表;而對于update操作來說既影響inserted表也會影響到deleted表,它把新修改的值存入inserted表,而舊值存入deleted表。只有在觸發(fā)器中才能捕獲到這兩個邏輯表,在觸發(fā)器中通過引用表中的數(shù)據(jù),能夠實現(xiàn)級聯(lián)刪除;同理,也可以仿照上面所舉的例子來實現(xiàn)級聯(lián)修改。
3結語
總之,隨著在校學生人數(shù)的增長,學生信息管理系統(tǒng)所處理的數(shù)據(jù)越來越大,如何有效地管理學生的各種信息,有效提高工作效率,是開發(fā)學生信息管理系統(tǒng)中首要考慮的問題。因此應根據(jù)實際情況,利用關系理論,設計出合理高效的學生信息管理系統(tǒng)中的數(shù)據(jù)庫是開發(fā)學生信息管理系統(tǒng)的關鍵因素。
作者:楊軍莉工作單位:陜西財經(jīng)職業(yè)技術學院
精品范文
6學生家長