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