基于角色訪問的數(shù)據(jù)庫課程設(shè)計實驗報告_第1頁
基于角色訪問的數(shù)據(jù)庫課程設(shè)計實驗報告_第2頁
基于角色訪問的數(shù)據(jù)庫課程設(shè)計實驗報告_第3頁
基于角色訪問的數(shù)據(jù)庫課程設(shè)計實驗報告_第4頁
基于角色訪問的數(shù)據(jù)庫課程設(shè)計實驗報告_第5頁
已閱讀5頁,還剩23頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上目 錄 1、 實驗內(nèi)容32、 問題描述53、 需求分析54、 系統(tǒng)設(shè)計65、 系統(tǒng)實現(xiàn)136、 場景描述247、 實驗總結(jié)288、 心得體會299、 參考文獻(xiàn)29 實驗課題 大學(xué)評教系統(tǒng)一 實驗內(nèi)容1. 實驗?zāi)繕?biāo)l 掌握如何在真實數(shù)據(jù)庫系統(tǒng)中實現(xiàn)基于角色訪問控制(RBAC)模型l 掌握如何在特定軟件系統(tǒng)中基于RBAC模型訪問和操控數(shù)據(jù)庫。2.實驗?zāi)繕?biāo)l 在真實數(shù)據(jù)庫系統(tǒng)中實現(xiàn)RBAC模型l 開發(fā)應(yīng)用演示界面,演示如何基于RBAC訪問某數(shù)據(jù)庫l 演示界面最好是可實際操作的可視化界面,要能演示。l 如果未可視化,必須演示代碼運行過程及結(jié)果。l 數(shù)據(jù)庫依據(jù)應(yīng)用系統(tǒng)的需求而定

2、,應(yīng)用系統(tǒng)從如下列表中選擇。題目列表1. 圖書出版管理系統(tǒng)2. 大學(xué)教學(xué)管理系統(tǒng)3. 大學(xué)學(xué)生成績管理系統(tǒng)4. 大學(xué)教工管理系統(tǒng)5. 大學(xué)評課系統(tǒng) 【實驗選題】6. 大學(xué)貴重儀器管理系統(tǒng)7. 大學(xué)后勤管理系統(tǒng)8. 科研會議管理系統(tǒng)9. 課外培訓(xùn)管理系統(tǒng)原理:RBAC簡介基于角色訪問控制(RBAC)是當(dāng)前主流的數(shù)據(jù)庫訪問控制技術(shù)。RBAC的一般模型如下:RBAC參考模型通過四個RBAC模型組件來進(jìn)行定義核心RBAC角色層次RBAC靜態(tài)職責(zé)分離關(guān)系動態(tài)職責(zé)分離關(guān)系。核心RBAC定義了能夠完整地實現(xiàn)一個RBAC系統(tǒng)所必需的元素元素集和關(guān)系的最小集合,其中包括最基本的用戶/角色分配和權(quán)限/角色分配關(guān)系

3、。此外,它還引入了角色激活的概念作為計算機系統(tǒng)中用戶會話的一個組成部分。核心RBAC對于任何RBAC系統(tǒng)而言都是必需的,其它RBAC組件彼此相互獨立并且可以被獨立地實現(xiàn)。角色層次RBAC組件支持角色層次。角色層次從數(shù)學(xué)上講是一個定義角色之間級別關(guān)系的偏序,高級別的角色獲得低級別角色的權(quán)限,低級別角色獲得高級別角色的用戶成員。此外,層次RBAC還引入了角色的授權(quán)用戶和授權(quán)權(quán)限的概念。靜態(tài)職責(zé)分離針對用戶/角色分配定義了角色間的互斥關(guān)系。由于可能與角色繼承產(chǎn)生不一致,靜態(tài)職責(zé)分離關(guān)系組件在沒有角色層次和存在角色層次的情況下分別進(jìn)行了定義。動態(tài)職責(zé)分離關(guān)系針對用戶會話中可以激活的角色定義了互斥關(guān)系。

4、每個模型組件都由下列子組件來定義:a) 一些基本元素集;b) 一些基于上述基本元素集的RBAC關(guān)系;c) 一些映射函數(shù),在給定來自某個元素集的實例元素的情況下能夠得到另一個元素集的某些實例元素。RBAC參考模型給出了一種RBAC特征的分類,可以基于這些分類的特征構(gòu)建一系列RBAC特征包。本標(biāo)準(zhǔn)的主要目的不是試圖定義RBAC特征的全集,而是致力于提供一組標(biāo)準(zhǔn)的術(shù)語來定義已有的模型和商業(yè)產(chǎn)品中最主要的RBAC特征。核心RBAC的元素集和關(guān)系在Error! Reference source not found.中進(jìn)行了定義。核心RBAC包含了5個基本的數(shù)據(jù)元素:用戶集(USERS)角色集(ROLES

5、)對象集(OBJS)操作集(OPS)權(quán)限集(PRMS)。權(quán)限被分配給角色,角色被分配給用戶,這是RBAC的基本思想。角色命名了用戶和權(quán)限之間的多對多的關(guān)系。此外,核心RBAC中還包含了用戶會話集,會話是從用戶到該用戶的角色集的某個激活角色子集的映射。角色是組織上下文中的一個工作職能,被授予了角色的用戶將具有相應(yīng)的權(quán)威和責(zé)任。權(quán)限是對某個或某些受RBAC保護的對象執(zhí)行操作的許可。操作是一個程序的可執(zhí)行映像,被調(diào)用時能為用戶執(zhí)行某些功能。操作和對象的類型依賴于具體系統(tǒng),例如在一個文件系統(tǒng)中,操作可以包含讀寫執(zhí)行;在數(shù)據(jù)庫管理系統(tǒng)中,操作包含select、insertdeleteupdate等。訪問

6、控制機制的核心功能是保護系統(tǒng)資源。與以前的訪問控制模型一致,RBAC模型中的對象是包含或接收信息的實體。對一個實現(xiàn)RBAC的系統(tǒng),對象可以代表信息容器(如操作系統(tǒng)中的文件和目錄或數(shù)據(jù)庫中的表視圖字段),或者諸如打印機磁盤空間CPU周期等可耗盡的系統(tǒng)資源。RBAC覆蓋的對象包括所有在分配給角色的權(quán)限中出現(xiàn)的對象。角色層次通常被作為RBAC模型的重要部分,并且經(jīng)常在RBAC商業(yè)產(chǎn)品中得以實現(xiàn)。角色層次可以有效地反映組織內(nèi)權(quán)威和責(zé)任的結(jié)構(gòu)。角色層次定義了角色間的繼承關(guān)系。繼承通常是從權(quán)限的角度來說的,例如,如果角色r1“繼承”角色r2,角色r2的所有權(quán)限都同時為角色r1所擁有。在某些分布式RBAC實

7、現(xiàn)中,角色層次是集中管理的,而權(quán)限/角色分配卻是非集中管理的。對這些系統(tǒng),角色層次的管理主要是從用戶成員包含關(guān)系的角度進(jìn)行的:如果角色r1的所有用戶都隱含地成為角色r2的用戶,則稱角色r1“包含”角色r2。這種用戶成員包含關(guān)系隱含了這樣一個事實:角色r1的用戶將擁有角色r2的所有權(quán)限。然而角色r1和角色r2之間的權(quán)限繼承關(guān)系并不對它們的用戶分配做任何假設(shè)。2、 問題描述本實驗課題為“大學(xué)評教系統(tǒng)”,用來實現(xiàn)大學(xué)教師學(xué)生的相互評價,從評分結(jié)果來判斷教學(xué)質(zhì)量以及學(xué)生的學(xué)習(xí)態(tài)度、學(xué)習(xí)狀況等。 教學(xué)工作是學(xué)校工作的重中之重,教師在教學(xué)過程中發(fā)揮著主導(dǎo)作用。科學(xué)地評價教師的教學(xué)行為,對教師自身發(fā)展和學(xué)校

8、辦學(xué)質(zhì)量的提高有著極為重要的意義。但在相當(dāng)長的時期內(nèi),教育行政部門和學(xué)校總是將教學(xué)成績作為最重要的評價指標(biāo),而且往往以這種片面的教師績效評價代替對教師教學(xué)行為的評價。但是,教師不僅要讓學(xué)生掌握知識,更要讓學(xué)生學(xué)會做人,加之不同的學(xué)生有著不同的基礎(chǔ)、潛力和成長環(huán)境,而且處于不斷的變化之中,所以,完全用教學(xué)成績來衡量教師的教學(xué)水平,是有很大不足的。所以,我們應(yīng)該給學(xué)生更多的空間來評價這個老師的教學(xué)質(zhì)量。大學(xué)評教系統(tǒng)能夠?qū)崿F(xiàn)這個功能。 同時,評價一個學(xué)生,往往從他的期末考試成績出發(fā),評定這個學(xué)生的好壞。如果一個學(xué)生學(xué)習(xí)狀態(tài)很好,但期末考試由于一些原因不是很理想,但從期末考試成績來評價,對這個學(xué)生也是

9、很不公平的。而且對于一個學(xué)生的評價,也應(yīng)該包括思想品質(zhì),學(xué)習(xí)態(tài)度等人格方面的認(rèn)定。所以,大學(xué)評教系統(tǒng)給了老師一個權(quán)力,可以給自己所教授的學(xué)生一個客觀公正的素質(zhì)評價。這樣就避免了單一從末考成績判定學(xué)生的片面性。 大學(xué)評教系統(tǒng)提供了一個教師和學(xué)生之間的交流平臺,有利于學(xué)生更改自己的不足之處,同時也給教師提供建議,提高教學(xué)質(zhì)量。對教師和學(xué)生的評價更加公平,有利于教學(xué)質(zhì)量和學(xué)生成長的健康發(fā)展。三、需求分析3.1 系統(tǒng)功能要求設(shè)計(1) 通過用戶名和密碼登陸系統(tǒng),查詢課程和用戶的基本信息(2) 老師通過用戶名和密碼登陸系統(tǒng),查詢所選學(xué)生的成績,并且可以進(jìn)行相關(guān)修改。同時,也可以查看學(xué)生給自己的評分(3)

10、 學(xué)生通過用戶名和密碼登陸系統(tǒng),查詢授課考試的評分,并且可進(jìn)行相關(guān)修改。同時,也可以查看教師給自己的評分。(4) 管理員通過用戶名和密碼登陸,可以查詢和修改評分信息,可以修改角色權(quán)限,可以查看更新用戶信息和密碼。3.2 系統(tǒng)功能流圖 系統(tǒng)設(shè)計以前,要對系統(tǒng)需求進(jìn)行歸納分析,查找出所有的業(yè)務(wù)主角,確定業(yè)務(wù)主角后,每個主角的相關(guān)活動及流程應(yīng)清晰地制定出來,最終設(shè)計出邏輯視圖、用戶界面示意圖。在進(jìn)行業(yè)務(wù)流程設(shè)計,需要注意以下事項: 1, 調(diào)查用戶網(wǎng)絡(luò)環(huán)境和配置,使系統(tǒng)能夠具有合理可行的系統(tǒng)架構(gòu); 2, 調(diào)查用戶偏好和技能水平,這將直接影響到項目開發(fā)的深度和用戶界面的設(shè)計;

11、0;3, 預(yù)測并制定系統(tǒng)的性能指標(biāo),為編寫測試計劃提供依據(jù)。 經(jīng)過對系統(tǒng)功能的分析,調(diào)查,研究,可以對該系統(tǒng)繪制業(yè)務(wù)流程圖,如圖2.2所示:(其中圖2.1是業(yè)務(wù)流程圖圖例) 圖 2.1圖 2.2四、系統(tǒng)設(shè)計4.1系統(tǒng)的性能需求及可行性分析 系統(tǒng)的性能需求:操作簡單:本系統(tǒng)應(yīng)該適用于不同水平的使用者,同時系統(tǒng)不應(yīng)太復(fù)雜和煩瑣,因此要求系統(tǒng)的操作盡可能簡單易行。使用簡便:用戶操作簡潔明了,使用簡單方便。代碼可讀性好:文中的代碼將盡可能簡潔,易懂。便于修改和維護。4.2大學(xué)評教系統(tǒng)具體功能結(jié)構(gòu)圖 圖 3.1 大學(xué)評教系統(tǒng)結(jié)構(gòu)圖4.3 系統(tǒng)功能詳細(xì)設(shè)計通過對本系統(tǒng)的分析,該系統(tǒng)主要實現(xiàn)的功能

12、有:管理員后臺管理模塊、學(xué)生登錄模塊、教師登錄模塊。下面針對各模塊的詳細(xì)設(shè)計進(jìn)行說明。4.4.1 管理員后臺管理模塊該模塊主要是對人員信息、課程評比信息、系統(tǒng)管理信息。其中對人員信息管理主要包括對學(xué)生信息管理、教師信息管理、教師學(xué)生課程對應(yīng)關(guān)心管理;課程評比管理模塊主要實現(xiàn)的是查看評比結(jié)果、修改對應(yīng)評比結(jié)果;系統(tǒng)管理模塊包括對評比項目管理、用戶賬戶管理模塊。對角色權(quán)限的管理包括添加角色、添加權(quán)限、更新角色權(quán)限等;對學(xué)生信息管理模塊主要實現(xiàn)對學(xué)生信息進(jìn)行添加、查看、修改、刪除和查詢等操作。對教師信息管理模塊主要實現(xiàn)對教師信息進(jìn)行添加、查看、修改、刪除和查詢等操作。專業(yè)課程模塊實現(xiàn)的是對專業(yè)進(jìn)行評

13、分。管理員登錄系統(tǒng)后,可對評教信息按照課程或教師進(jìn)行評比情況查詢和修改。評比項目管理模塊主要實現(xiàn)的是對評比項目進(jìn)行添加、查看、查詢、修改、刪除。賬號管理模塊主要實現(xiàn)的是對賬戶的添加、刪除、密碼信息修改等操作。4.4.2 學(xué)生登錄管理模塊學(xué)生登錄模塊主要實現(xiàn)的是對評教課程信息的查看和對其進(jìn)行評教以及對自己的課程評分的查看。學(xué)生評教管理模塊的流程圖如圖3.2所示。 圖 3.2 學(xué)生評教管理模塊流程圖4.4.3 評教查詢信息管理模塊教師登錄模塊實現(xiàn)的是查詢評比結(jié)果、查詢更新所教學(xué)生評分。在該模塊中,教師進(jìn)行登錄,在登錄的時候需要輸入教師的用戶名和密碼,經(jīng)過身份驗證后,實現(xiàn)登錄。然后,教師可以根據(jù)教師

14、的姓名或編號進(jìn)行查詢評教的信息,也可以根據(jù)課程查詢評比結(jié)果的情況。同時也可以對所教課學(xué)生的課程進(jìn)行評分、查看修改學(xué)生課程評分。4.5 概念設(shè)計在概念設(shè)計階段中,設(shè)計人員從用戶的角度看待數(shù)據(jù)及處理要求和約束,產(chǎn)生一個反映用戶觀點的概念模式。然后再把概念模式轉(zhuǎn)換成邏輯模式。將概念設(shè)計從設(shè)計過程中獨立開來,使各階段的任務(wù)相對單一化,設(shè)計復(fù)雜程度大大降低,不受特定DBMS的限制。利用ER方法進(jìn)行數(shù)據(jù)庫的概念設(shè)計,可分成三步進(jìn)行:首先設(shè)計局部ER模式,然后把各局部ER模式綜合成一個全局模式,最后對全局ER模式進(jìn)行優(yōu)化,得到最終的模式,即概念模式。ER圖是識別功能模型與數(shù)據(jù)模型間關(guān)聯(lián)關(guān)系的,在主題數(shù)據(jù)庫的

15、抽取和規(guī)范化的過程中,采用的是簡化的E-R圖表示方法,從而避免過繁過細(xì)的E-R圖表示影響規(guī)劃的直觀和可用性。系統(tǒng)建模階段的重要工作主要包括主題數(shù)據(jù)庫的抽取、建立,基本表的登記和數(shù)據(jù)元素的規(guī)范化等。在規(guī)劃工具包中也提供專門的ER圖繪制軟件,并且與相應(yīng)的ERWIN、POWERDESIGN等軟件有接口,保證數(shù)據(jù)的可用性和系統(tǒng)的開放性,利于實施階段的成果展現(xiàn)和使用。構(gòu)成E-R圖的基本要素是實體型、屬性以及聯(lián)系,其表示方法為:實體型:用矩形表示,矩形框內(nèi)寫明實體名;屬 性:用橢圓形表示,并用無向邊將其與相應(yīng)的實體連接起來;聯(lián) 系:用菱形表示,菱形框內(nèi)寫明聯(lián)系名。局部E-R圖根據(jù)系統(tǒng)的特點,可繪制如圖4.

16、1所示的系統(tǒng)總體E-R圖。圖 4.1 全局E-R圖4.6數(shù)據(jù)字典數(shù)據(jù)字典是對流程圖加以補充說明的工具,為系統(tǒng)管理員提供了數(shù)據(jù)項的綜合信息。下面將列出管理系統(tǒng)中的幾個重要數(shù)據(jù)元素。(1)用戶信息管理模塊數(shù)據(jù)字典部分?jǐn)?shù)據(jù)條目外部實體定義:名稱:用戶 總編號:1001說明:用戶信息查看人員 編 號:001輸入數(shù)據(jù)流:教師分?jǐn)?shù)輸出數(shù)據(jù)流:教師分?jǐn)?shù)名稱: 管理員 總編號:1002說明:系統(tǒng)管理用戶信息人員 編 號:002輸入數(shù)據(jù)流:用戶信息輸出數(shù)據(jù)流:用戶信息處理過程定義:名稱:管理用戶信息 總編號:2001說明: 編 號:P3輸入數(shù)據(jù)流:用戶信息輸出數(shù)據(jù)流:用戶信息名稱:查看用戶信息 總編號:2002

17、說明:用戶對個人信息進(jìn)行查看 編 號:P4輸入數(shù)據(jù)流:用戶信息 輸出數(shù)據(jù)流:用戶信息數(shù)據(jù)存儲定義:名稱:學(xué)生信息 總編號:3001別名:已增加的學(xué)生信息 編 號:D2數(shù)據(jù)流來源:學(xué)生編號姓名等關(guān)鍵字:學(xué)生編號(2)評分信息管理模塊數(shù)據(jù)字典部分?jǐn)?shù)據(jù)條目外部實體定義:名稱:學(xué)生 總編號:1001說明:評分人員 編 號:001輸入數(shù)據(jù)流:評比信息輸出數(shù)據(jù)流:評比信息名稱: 管理員 總編號:1002說明:評比信息查看人員 編 號:002輸入數(shù)據(jù)流:評比信息輸出數(shù)據(jù)流:評比信息名稱: 教師 總編號:1002說明:評分人員 編 號:002輸入數(shù)據(jù)流:評比信息輸出數(shù)據(jù)流:評比信息處理過程定義:名稱:查看評比

18、信息 總編號:2001說明:管理員查看評比信息 編 號:P7輸入數(shù)據(jù)流:評比信息輸出數(shù)據(jù)流:評比信息 名稱:評比 總編號:2001說明:老師對評比項目進(jìn)行評分 編 號:P8輸入數(shù)據(jù)流:評比信息輸出數(shù)據(jù)流:評比信息名稱:評比 總編號:2001說明:學(xué)生對評比項目進(jìn)行評分 編 號:P9輸入數(shù)據(jù)流:評比信息輸出數(shù)據(jù)流:評比信息名稱:查看評比信息 總編號:2001說明:學(xué)生查看評比結(jié)果 編 號:P10輸入數(shù)據(jù)流:評比信息輸出數(shù)據(jù)流:評比信息名稱:查看評比信息 總編號:2001說明:教師查看評比結(jié)果 編 號:P11輸入數(shù)據(jù)流:評比信息輸出數(shù)據(jù)流:評比信息數(shù)據(jù)存儲定義:名稱:評分信息 總編號:3001別名

19、:學(xué)生對評比項目的打分情況 編 號:D4數(shù)據(jù)流來源:評比編號、學(xué)生編號、教師編號等關(guān)鍵字:評比信息編號4.7數(shù)據(jù)庫基本表單信息數(shù)據(jù)庫表名關(guān)系模式名稱備注users用戶用戶信息表role角色用戶角色表authority權(quán)限用戶權(quán)限表roleuser用戶角色信息角色用戶映射表roleauthority角色權(quán)限信息角色權(quán)限映射表studentcourse學(xué)生上課信息表學(xué)生所修課程信息表course課程信息課程信息表teachercourse教師教授課程教師教授課程信息表用戶信息表(users)基本情況:字段名字段類型說明uidChar用戶編號unamechar用戶姓名studentNochar學(xué)生學(xué)

20、號teacherNochar教師編號course基本情況數(shù)據(jù)表:字段名字段類型說明cidChar課程號cnamechar課程名teacherNochar任課教師scorechar學(xué)分studentcourse基本情況數(shù)據(jù)表:字段名字段類型說明scidChar學(xué)生修習(xí)課程編號cidchar課程編號teacherNochar任課教師studentNochar學(xué)生學(xué)號itemscorechar學(xué)生得分titemscorechar教師得分五、系統(tǒng)實現(xiàn)5.1數(shù)據(jù)庫SQL源代碼 建表源代碼:if exists (select 1 from sysobjects where id = object_id(&

21、#39;course') and type = 'U') drop table coursego/*=*/* Table: course */*=*/create table course ( cid char(2) not null, cname char(20) , score char(10) , tid char(2), constraint PK_COURSE primary key (cid)go/*=*/* Table: users */*=*/create table users( uid char(2) not null, userName varch

22、ar(20) null, password char(6) null, rid char(2) null, studentNo char(6) null, teacherNo char(6) null, constraint PK_USER primary key (uid)go/*=*/* Table: authority */*=*/create table authority ( aid char(2) not null, aname char(20) null, action char(10) null, target char(20) null, constraint PK_AUTH

23、ORITY primary key (aid)go/*=*/* Table: roleuser */*=*/create table roleuser ( rid char(2) not null, uid char(2) not null)Go/*=*/* Table: roleauthority */*=*/create table roleauthority ( rid char(2) not null, aid char(2) null )go/*=*/* Table: role */*=*/create table role ( rid char(2) not null, rname

24、 char(20) null, constraint PK_ROLE primary key (rid)go/*=*/* Table: studentcourse */*=*/create table studentcourse ( scid char(2) not null, cid char(2) not null, studentNo char(2) not null, teacherNo char(2) not null, Itemscore char(10) , Titemscore char(10),constraint PK_STUDENTCOURSE primary key (

25、scid)go/*=*/* Table: teachercourse */*=*/create table teachercourse ( tcid char(2) not null, cid char(2) not null, teacherNo char(2) not null, constraint PK_ROLE primary key (rid)go5.2創(chuàng)建存儲過程源代碼1、用戶登錄USE 大學(xué)評教系統(tǒng)GO/* Object: StoredProcedure dbo.userlogin Script Date: 07/09/2013 22:06:17 */SET ANSI_NULL

26、S ONGOSET QUOTED_IDENTIFIER ONGOALTER PROCEDURE dbo.userlogin uid char(2) output,passwd char(6) - ,output,out char(10) output,outid char(2) output,check int output as declare rid char(2),role char(20) declare out char(10) declare outid char(2) declare check int if(select password from users where ui

27、d=uid) =passwd begin set rid=( select min(rid) from roleuser where uid=uid)set out= case rid when 1 then '管理員' when 2 then '教師' when 3 then '學(xué)生' end set outid=uid set check=1 return 0endelsebegin set outid='0' set out='0' set check=0 return 1end2、 修改密碼USE 大學(xué)評教

28、系統(tǒng)GO/* Object: StoredProcedure dbo.update_users_psw Script Date: 07/12/2013 02:19:06 */SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGO ALTER proc dbo.update_users_psw rname char(20), uid char(20), uidup char(20), password char(20),out int output as if 'update' in (select action from authority,

29、roleauthority,role where authority.aid=roleauthority.aid and role.rid=roleauthority.rid and rname=rname and target='users' ) begin if rname='管理員' begin update users set password=password where uid=uidup set out=1 end else if rname='教師' begin if uidup !=uid begin print '教師

30、不能修改他人密碼' set out=2 end else begin update users set password=password where uid=uidup set out=3 end end else if rname='學(xué)生' begin if uidup !=uid begin print '學(xué)生不能修改他人密碼' set out=4 end else begin update users set password=password where uid=uidup set out=5 end end end 3、更新學(xué)生評分 USE

31、大學(xué)評教系統(tǒng)GO/* Object: StoredProcedure dbo.updatestudentcourse Script Date: 07/12/2013 11:24:28 */SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOALTER proc dbo.updatestudentcourse rname char(20),uid char(2), studentNo char(2), scid char(2),itemscore char(10),tcid char(2),out int output as if 'update&#

32、39; in (select action from authority,roleauthority,role where authority.aid=roleauthority.aid and role.rid=roleauthority.rid and rname=rname and target='studentcourse' ) begin if rname='管理員' begin if scid not in(select scid from studentcourse where studentNo=studentNo ) or studentNo

33、not in (select studentNo from studentcourse where tcid =tcid ) print '該學(xué)生未修此課程' set out=1 end else begin update studentcourse set itemscore=itemscore where studentNo=studentNo and scid=scid and tcid=tcid set out=2 end end else if rname='教師' begin if tcid not in (select tcid from teac

34、hercourse where tcid=tcid) or studentNo not in (select studentNo from studentcourse where studentNo=studentNo) begin set out=3 print '教師只能修改自己教的課程的成績' end else begin update studentcourse set itemscore=itemscore where studentNo=studentNo and scid=scid and tcid=tcid set out=4 end end else begi

35、n set out=5 print '學(xué)生沒有權(quán)限' end4、更新教師評分USE 大學(xué)評教系統(tǒng)GO/* Object: StoredProcedure dbo.updatestudentcourse Script Date: 07/11/2013 17:37:26 */SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOalter proc dbo.updatetitemcourse rname char(20),uid char(2),studentNo char(6),scid char(2),titemscore char(10),

36、out int output as if 'update' in (select action from authority,roleauthority,role where authority.aid=roleauthority.aid and role.rid=roleauthority.rid and rname=rname and target='studentcourse' ) begin if rname='管理員' begin if scid not in (select scid from studentcourse where

37、studentNo=studentNo) begin set out=1 print '學(xué)生課程對應(yīng)關(guān)系錯誤' end else begin update studentcourse set titemscore=titemscore where scid=scid set out=2 return 0 end end else if rname='學(xué)生' if scid not in (select scid from studentcourse where studentNo=studentNo) begin set out=3 print '學(xué)生只

38、能評價給自己上課的老師' return 1 end else begin update studentcourse set titemscore=titemscore where studentNo=studentNo and scid=scid set out=4 return 0 end end else begin set out=3 print '學(xué)生權(quán)限不夠' end5、查看教師評分USE 大學(xué)評教系統(tǒng)GO/* Object: StoredProcedure dbo.checktscore Script Date: 07/12/2013 02:19:54 */

39、SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGO ALTER proc dbo.checktscore rname char(20) ,uid char(2),teacherNo char(2), scid char (2) , -out int output as declare out int if 'check' in (select action from authority,roleauthority,role where authority.aid=roleauthority.aid and role.rid=roleaut

40、hority.rid and rname=rname and target='teacherNo' ) set rname='教師' if (select teacherNo from users where uid=uid)=teacherNo begin select titemscore from studentcourse where scid=scid set out=3 return 0 end else print '只能查看自己教授的課程成績' return 1 6、查看學(xué)生評分USE 大學(xué)評教系統(tǒng)GO/* Object: Sto

41、redProcedure dbo.check Script Date: 07/12/2013 02:23:22 */SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGO ALTER proc dbo.check rname char(20) ,uid char(2),studentNo char(2),scid char(2)-itemscore char(10) output,out int output as declare out int declare itemscore char(10) if 'check' in (select

42、 action from authority,roleauthority,role where authority.aid=roleauthority.aid and role.rid=roleauthority.rid and rname=rname and target='studentcourse' ) begin set rname='學(xué)生' begin if (select studentNo from users where users.uid=uid)=studentNo begin select itemscore from studentcou

43、rse where scid=scid set out=3 return 0 end else print '只能查看自己的成績' return 1 end end7、刪除角色權(quán)限USE 大學(xué)評教系統(tǒng)GO/* Object: StoredProcedure dbo.delete_roleauthority Script Date: 07/12/2013 02:24:35 */SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGO ALTER proc dbo.delete_roleauthority rname char(20),rid ch

44、ar(2), action char(20),target char(20) -ut int output as declare out int if 'delete' in (select action from authority,roleauthority,role where authority.aid=roleauthority.aid and role.rid=roleauthority.rid and rname=rname and target='roleauthority')BeginIf rname= 管理員begin delete roleauthority where

溫馨提示

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

評論

0/150

提交評論