基于sql的學(xué)生成績(jī)管理系統(tǒng)課程設(shè)計(jì)報(bào)告.doc
《基于sql的學(xué)生成績(jī)管理系統(tǒng)課程設(shè)計(jì)報(bào)告.doc》由會(huì)員分享,可在線閱讀,更多相關(guān)《基于sql的學(xué)生成績(jī)管理系統(tǒng)課程設(shè)計(jì)報(bào)告.doc(12頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
一、實(shí)驗(yàn)題目 學(xué)生證管理系統(tǒng)數(shù)據(jù)庫(kù)的設(shè)計(jì)與實(shí)現(xiàn) 描述:設(shè)計(jì)一個(gè)學(xué)生證管理系統(tǒng)。實(shí)現(xiàn)下列功能: 1.錄入某位學(xué)生的學(xué)生證信息 2.給定學(xué)號(hào),查詢(xún)某位學(xué)生的學(xué)生證信息; 3.給定班號(hào),顯示該班所有學(xué)生的學(xué)生證信息; 4.給定學(xué)號(hào),修改該學(xué)生的學(xué)生證信息; 5.給定學(xué)號(hào),刪除該學(xué)生的學(xué)生證信息; 三、實(shí)驗(yàn)?zāi)康? 數(shù)據(jù)庫(kù)課程設(shè)計(jì)課程實(shí)驗(yàn)是對(duì)學(xué)生的一種全面綜合訓(xùn)練,是與課堂聽(tīng)講、自學(xué)和練習(xí)相輔相成的必不可少的一個(gè)教學(xué)環(huán)節(jié),通過(guò)實(shí)驗(yàn)達(dá)到深化理解和靈活掌握教學(xué)內(nèi)容的目的,以及提高學(xué)生分析問(wèn)題、解決問(wèn)題的應(yīng)用能力。同時(shí),使學(xué)生的工作規(guī)范和科學(xué)作風(fēng)得到培養(yǎng)。 通過(guò)該課程的學(xué)習(xí),要求學(xué)生能獨(dú)立分析問(wèn)題,設(shè)計(jì)算法,實(shí)現(xiàn)程序的各項(xiàng)功能,得到正確的可執(zhí)行程序,學(xué)會(huì)調(diào)試程序,對(duì)設(shè)計(jì)過(guò)程進(jìn)行系統(tǒng)的總結(jié)。 本實(shí)踐課的主要目的: 1、掌握運(yùn)用數(shù)據(jù)庫(kù)原理進(jìn)行系統(tǒng)分析和設(shè)計(jì)的方法; 2、掌握關(guān)系數(shù)據(jù)庫(kù)的設(shè)計(jì)方法; 3、掌握利用SQL Server 2000技術(shù); 4、熟悉各種SQL語(yǔ)句及對(duì)數(shù)據(jù)庫(kù)的訪問(wèn)方法。 四、實(shí)驗(yàn)要求 1.對(duì)各個(gè)系統(tǒng)進(jìn)行系統(tǒng)功能需求分析 2. 數(shù)據(jù)庫(kù)設(shè)計(jì)分析階段,進(jìn)行詳細(xì)的數(shù)據(jù)庫(kù)需求分析,進(jìn)行概念數(shù)據(jù)庫(kù)的設(shè)計(jì),畫(huà)出數(shù)據(jù)庫(kù)的E-R圖(局部和整體E-R圖) 3. 設(shè)計(jì)出詳細(xì)的邏輯數(shù)據(jù)庫(kù)結(jié)構(gòu),將各個(gè)實(shí)體和聯(lián)系轉(zhuǎn)化為相應(yīng)的二維表即關(guān)系模式,指定各個(gè)關(guān)系的主關(guān)鍵字和外部關(guān)鍵字,并對(duì)各個(gè)關(guān)系的約束加以限定 4. 通過(guò)企業(yè)管理器或是查詢(xún)分析器實(shí)現(xiàn)各個(gè)二維關(guān)系(建議最好用SQL代碼實(shí)現(xiàn)),要求建立相關(guān)的索引 5. 根據(jù)系統(tǒng)功能需求設(shè)計(jì)相應(yīng)的查詢(xún)視圖 6. 要求根據(jù)系統(tǒng)功能需求建立存儲(chǔ)過(guò)程 7. 根據(jù)功能需求建立相應(yīng)的觸發(fā)器以保證數(shù)據(jù)的一致性 8. 通過(guò)建立用戶(hù)和權(quán)限分配實(shí)現(xiàn)數(shù)據(jù)庫(kù)一定的安全性,考慮數(shù)據(jù)庫(kù)的備份與恢復(fù) 五、實(shí)現(xiàn)思路 (一)系統(tǒng)需求分析 需求分析師整個(gè)數(shù)據(jù)庫(kù)設(shè)計(jì)過(guò)程的基礎(chǔ),要收集數(shù)據(jù)庫(kù)所有用戶(hù)的信息內(nèi)容和處理要求,并加以規(guī)格化分析。這是最費(fèi)時(shí)、最復(fù)雜的一步,但是也是最重要的一步,相當(dāng)于待構(gòu)建的數(shù)據(jù)庫(kù)大廈的地基,它決定了以后各步設(shè)計(jì)的速度和質(zhì)量。需求分析做的不好,可能會(huì)導(dǎo)致整個(gè)數(shù)據(jù)庫(kù)設(shè)計(jì)返工重做。在分析用戶(hù)需求時(shí),要確保用戶(hù)目標(biāo)的一致性。 需求分析的任務(wù)是:對(duì)現(xiàn)實(shí)世界要處理的對(duì)象(組織、部門(mén)、企業(yè))等進(jìn)行詳細(xì)的調(diào)查,通過(guò)對(duì)原系統(tǒng)的了解,收集支持新系統(tǒng)的基礎(chǔ)數(shù)據(jù)并對(duì)其進(jìn)行處理,在此基礎(chǔ)上確定新系統(tǒng)的功能。 具體地說(shuō),需求分析階段的任務(wù)包括下述三項(xiàng)。 1.調(diào)查分析用戶(hù)活動(dòng) 2.收集和分析需求數(shù)據(jù),確定系統(tǒng)邊界 3.編寫(xiě)系統(tǒng)分析報(bào)告 在本課程設(shè)計(jì)中,是對(duì)學(xué)生證的信息進(jìn)行管理,學(xué)生證的信息不僅包括學(xué)生本身信息,也包括系別的信息及注冊(cè)學(xué)生證的相關(guān)注冊(cè)信息,因此本課程設(shè)計(jì)中要用到三個(gè)表,即學(xué)生信息表、系別信息表和學(xué)生證注冊(cè)表。 對(duì)學(xué)生證信息的處理包括信息的錄入、查詢(xún)、修改及刪除。 1.數(shù)據(jù)流圖: 錄入、修改、查詢(xún)、刪除 學(xué)生證 身份證明 學(xué)生 注冊(cè) 2.數(shù)據(jù)字典: 數(shù)據(jù)字典是對(duì)系統(tǒng)中數(shù)據(jù)的詳細(xì)描述,是各類(lèi)數(shù)據(jù)結(jié)構(gòu)和屬性的清單。任何字典最主要的用途都是供人查閱不了解的條目的解釋?zhuān)瑪?shù)據(jù)字典的作用也正是在軟件分析和設(shè)計(jì)過(guò)程中給人提供關(guān)于數(shù)據(jù)的描述信息。數(shù)據(jù)流圖和數(shù)據(jù)字典共同構(gòu)成系統(tǒng)的邏輯模型,沒(méi)有數(shù)據(jù)字典數(shù)據(jù)流圖就不嚴(yán)格,然而沒(méi)有數(shù)據(jù)流圖數(shù)據(jù)字典也難于發(fā)揮作用。只有數(shù)據(jù)流圖和對(duì)數(shù)據(jù)流圖精確的定義放在一起,才能共同構(gòu)成系統(tǒng)的規(guī)格說(shuō)明。 我們采用卡片形式書(shū)寫(xiě)數(shù)據(jù)字典,每張卡片上保存描述一個(gè)數(shù)據(jù)元素的信息。這種做法較好的實(shí)現(xiàn)了上述要求,特別是更新修改起來(lái)很方便,能夠單獨(dú)處理每個(gè)數(shù)據(jù)元素的信息。每張卡片上包含的信息有:名字,描述,定義,位置。 (1)對(duì)學(xué)生信息的管理 編號(hào) 1 名稱(chēng) 學(xué)生信息管理 簡(jiǎn)述 維護(hù)學(xué)生信息的完整性 輸入 學(xué)生姓名、學(xué)號(hào)、班級(jí)號(hào)、出生年月、性別、民族、籍貫 處理 1. 新增學(xué)生信息的錄入 2. 修改學(xué)生信息 3. 刪除學(xué)生信息記錄 4. 查詢(xún)個(gè)人學(xué)生信息及班級(jí)學(xué)生信息 輸出 學(xué)生信息表 (2)對(duì)系別信息的管理 編號(hào) 2 名稱(chēng) 系別信息管理 簡(jiǎn)述 維護(hù)系別信息的完整性 輸入 系別名,班級(jí)號(hào)等 處理 1.新增系別信息的錄入 2.修改系別信息 3.刪除系別信息記錄 4.查詢(xún)系別信息 輸出 系別信息表 (3)對(duì)學(xué)生證注冊(cè)信息的管理 編號(hào) 3 名稱(chēng) 學(xué)生證注冊(cè)信息管理 簡(jiǎn)述 維護(hù)學(xué)生證注冊(cè)信息的完整性 輸入 學(xué)號(hào),注冊(cè)日期,截止日期 處理 1.新增注冊(cè)信息的錄入 2.修改注冊(cè)信息 3.刪除注冊(cè)信息記錄 4.查詢(xún)注冊(cè)信息 輸出 注冊(cè)信息表 (二)概念結(jié)構(gòu)設(shè)計(jì) 概念結(jié)構(gòu)設(shè)計(jì)就是將需求分析得到的用戶(hù)需求抽象為信息結(jié)構(gòu),即概念模型。概念模型作為概念結(jié)構(gòu)設(shè)計(jì)的表達(dá)工具,為數(shù)據(jù)庫(kù)提供一個(gè)說(shuō)明性結(jié)構(gòu),是設(shè)計(jì)數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)即邏輯模型的基礎(chǔ)。因此,概念模型必須具備以下特點(diǎn): (1)語(yǔ)意表達(dá)能力豐富。 (2)易于交流和理解。 (3)易于修改和擴(kuò)充。 (4)易于向各種數(shù)據(jù)模型轉(zhuǎn)換。 1.局部E-R圖: 學(xué)生信息表: 學(xué)生 姓名 學(xué)號(hào) 班級(jí)號(hào) 性別 出生年月 籍貫 民族 系別信息表: 系別 系別名 班級(jí)號(hào) 注冊(cè)信息表: 注冊(cè)信息 學(xué)號(hào) 注冊(cè)日期 截止日期 2.全局E-R圖: 系別 系別名 學(xué)生證 1 班級(jí)號(hào) 1 注冊(cè)日期 擁有 注冊(cè) 截止日期 n 1 學(xué)生 姓名 學(xué)號(hào) 性別 出生年月 籍貫 民族 (三)邏輯結(jié)構(gòu)設(shè)計(jì) 數(shù)據(jù)庫(kù)邏輯設(shè)計(jì)的任務(wù)是將概念模型轉(zhuǎn)換成特定DBMS所支持的數(shù)據(jù)模型的過(guò)程。 在本課程設(shè)計(jì)中,存在三個(gè)實(shí)體(學(xué)生,系別,學(xué)生證),兩個(gè)聯(lián)系(包含,注冊(cè)),在學(xué)生實(shí)體中,學(xué)號(hào)作為其關(guān)鍵字;在系別實(shí)體中,系別名作為其關(guān)鍵字;而學(xué)生證的信息是由學(xué)生信息、系別信息及注冊(cè)信息組成。因此得到下列關(guān)系模式: 實(shí)體關(guān)系模式: 學(xué)生(學(xué)號(hào),姓名,性別,出生年月,籍貫,民族) 系別(系別名,班級(jí)號(hào)) 聯(lián)系關(guān)系模式: 擁有(系別名,學(xué)號(hào)) 注冊(cè)(學(xué)號(hào),注冊(cè)日期,截止日期) (四)物理結(jié)構(gòu)設(shè)計(jì) 數(shù)據(jù)庫(kù)物理設(shè)計(jì)的任務(wù)是為上一階段得到的數(shù)據(jù)庫(kù)邏輯模式,即數(shù)據(jù)庫(kù)的邏輯結(jié)構(gòu)選擇合適的應(yīng)用環(huán)境的物理結(jié)構(gòu),既確定有效地實(shí)現(xiàn)邏輯結(jié)構(gòu)模式的數(shù)據(jù)庫(kù)存儲(chǔ)模式,確定在物理設(shè)備上所采用的存儲(chǔ)結(jié)構(gòu)和存取方法,然后對(duì)該存儲(chǔ)模式進(jìn)行性能評(píng)價(jià)、修改設(shè)計(jì),經(jīng)過(guò)多次反復(fù),最后得到一個(gè)性能較好的存儲(chǔ)模式。數(shù)據(jù)庫(kù)物理設(shè)計(jì)內(nèi)容包括記錄存儲(chǔ)結(jié)構(gòu)的設(shè)計(jì),存儲(chǔ)路徑的設(shè)計(jì),記錄集簇的設(shè)計(jì)。 確定數(shù)據(jù)存放位置:一臺(tái)裝有Windows系統(tǒng)的計(jì)算機(jī)的C盤(pán)。 確定存儲(chǔ)結(jié)構(gòu):確定關(guān)系、索引、聚簇。 六、實(shí)現(xiàn)過(guò)程 (一)建表 在企業(yè)管理器中,新建數(shù)據(jù)庫(kù),并設(shè)置名為student。 在該數(shù)據(jù)庫(kù)中創(chuàng)建三個(gè)表,即學(xué)生信息表、系別信息表和注冊(cè)信息表,分別命名為S,D,C。 首先設(shè)計(jì)學(xué)生信息表S,包括以下屬性,及各屬性的數(shù)據(jù)類(lèi)型和長(zhǎng)度: 含義 標(biāo)識(shí) 數(shù)據(jù)類(lèi)型 長(zhǎng)度 約束 姓名 stu_name varchar 30 Not null 學(xué)號(hào) stu_no char 10 Not null,primary key 班級(jí)號(hào) class_no char 6 Not null 性別 stu_sex char 2 出生年月 stu_birthday datetime 8 民族 stu_native char 10 Default ‘漢’ 籍貫 stu_birthday varchar 30 系別信息表D: 含義 標(biāo)識(shí) 數(shù)據(jù)類(lèi)型 長(zhǎng)度 約束 系別名 dept varchar 30 Not null 班級(jí)號(hào) class_no char 6 注冊(cè)信息表C: 含義 標(biāo)識(shí) 數(shù)據(jù)類(lèi)型 長(zhǎng)度 約束 學(xué)號(hào) stu_no char 10 Not null,primary key 注冊(cè)日期 login_date datetime 8 Not null 截止日期 validity_date datetime 8 Not null 在設(shè)計(jì)表后即可向表中添加數(shù)據(jù),在添加時(shí)要注意各項(xiàng)的約束條件及數(shù)據(jù)長(zhǎng)度限制。 (二)設(shè)置安全性及用戶(hù)權(quán)限 1.在企業(yè)管理器中,安全性一項(xiàng)中,新建登錄。 (1)設(shè)置登錄名為ll,并設(shè)置SQL server身份驗(yàn)證密碼,及默認(rèn)登錄的數(shù)據(jù)庫(kù)為student。 (2)設(shè)置該登錄用戶(hù)的服務(wù)器角色為:System Administrators。 (3)設(shè)置該登錄用戶(hù)均可訪問(wèn)所有數(shù)據(jù)庫(kù)。 2.編輯SQL server注冊(cè)屬性。 (1)選擇使用SQL Server身份驗(yàn)證。 (2)設(shè)置登錄名ll及密碼。 (3)選擇總是提示輸入登錄名和密碼。 3.在student數(shù)據(jù)庫(kù)中,為用戶(hù)設(shè)置權(quán)限。 (1)設(shè)置用戶(hù)ll的數(shù)據(jù)庫(kù)角色為:public和db_owner。 (2)設(shè)置ll的用戶(hù)權(quán)限,即對(duì)S,D,C三個(gè)表均能夠Select,Update,Delete,Insert和DRI。 (三)創(chuàng)建學(xué)生證視圖 創(chuàng)建學(xué)生證信息的視圖,從三個(gè)表中選擇學(xué)生證所需信息,以便對(duì)視圖以外的數(shù)據(jù)進(jìn)行保密,簡(jiǎn)化了查詢(xún)操作,并保證了數(shù)據(jù)的邏輯獨(dú)立性。 以下創(chuàng)建視圖Stu_card,連接D表,C表和S表,選擇所需數(shù)據(jù)項(xiàng)組成視圖。 Create view Stu_card(Dept,SName,SNo,ClassNo,Sex,Birthday,Native,Birthplace, LoginDate,ValidityDate) AS SELECT dept,S.*,login_date,validity_date FROM D,C,S WHERE D.class_no=S.class_no and C.stu_no=S.stu_no (四)實(shí)現(xiàn)對(duì)學(xué)生證的各操作功能 1.錄入學(xué)生證信息 (1)對(duì)某學(xué)生的學(xué)生證信息錄入之前,需先判斷該學(xué)生的學(xué)生證信息是否存在,如已經(jīng)存在就不能再錄入了;如果不存在,還需判斷該學(xué)生的學(xué)生信息是否存在,因?yàn)槿绻搶W(xué)生已存在學(xué)生信息,但沒(méi)有注冊(cè)學(xué)生證,則該學(xué)生也不存在學(xué)生證信息。在判斷之后再根據(jù)不同情況進(jìn)行學(xué)生證信息的錄入。 創(chuàng)建存儲(chǔ)過(guò)程InsertIf,判斷是否錄入學(xué)生證信息: create procedure InsertIf --判斷是否錄入 ( @sno varchar(10) )--設(shè)置參數(shù),通過(guò)學(xué)號(hào)查詢(xún)?cè)搶W(xué)生的學(xué)生證信息使否存在 as begin declare @cant varchar(50) declare @sel varchar(50) declare @aa varchar(70) declare @bb varchar(70) set @cant=信息已存在,不能錄入 set @sel=無(wú)此學(xué)生證信息,請(qǐng)錄入 set @aa=有此學(xué)生信息,但未注冊(cè),請(qǐng)注冊(cè)(執(zhí)行InsertC)! set @bb=無(wú)此學(xué)生信息,請(qǐng)錄入學(xué)生信息并為其注冊(cè)(執(zhí)行InsertS和InsertC)! if exists (select * from Stu_card where SNo=@sno) --如果存在該學(xué)生 print @cant --的學(xué)生證信息就打印出來(lái) else begin print @sel if exists(select * from S where Stu_no=@sno) --如果不存在 print @aa --該學(xué)生證信息,但存在學(xué)生信息,說(shuō)明為注冊(cè) else print @bb --不存在學(xué)生信息,可以錄入該學(xué)生信息并注冊(cè) end end (2)判斷后,如不存在學(xué)生證信息但存在學(xué)生信息,則需注冊(cè)。 創(chuàng)建存儲(chǔ)過(guò)程InsertC,對(duì)學(xué)生進(jìn)行注冊(cè) create procedure InsertC --注冊(cè),向表C中添加學(xué)生證注冊(cè)信息 ( @sno char(10), @logindate datetime, @validate datetime ) as insert into C values(@sno,@logindate,@validate) (3)判斷后,如不存在學(xué)生信息,則需錄入該學(xué)生信息,并進(jìn)行學(xué)生證注冊(cè) 創(chuàng)建存儲(chǔ)過(guò)程InsertS,錄入學(xué)生信息: create procedure InsertS //向S表中添加學(xué)生信息 ( @sname varchar(30), @sno char(10), @classno char(6), @sex char(2), @birthday datetime, @native char(2), @birthplace varchar(30) ) as insert into S values(@sname,@sno,@classno,@sex,@birthday,@native,@birthplace) 在錄入學(xué)生證信息時(shí),先添加學(xué)生信息,再執(zhí)行存儲(chǔ)過(guò)程InsertC,注冊(cè)學(xué)生證,才完整的錄入一條學(xué)生證信息。 2.查詢(xún)學(xué)生證信息 (1)給定學(xué)號(hào),查詢(xún)某位學(xué)生的學(xué)生證信息 由于學(xué)生證信息是在視圖中體現(xiàn)的,因此通過(guò)查詢(xún)視圖,可以查看學(xué)生的學(xué)生證信息. 創(chuàng)建存儲(chǔ)過(guò)程QureyInfor,傳遞參數(shù)sno,通過(guò)給定學(xué)號(hào),判斷該學(xué)生的學(xué)生證信息是否存在,如不存在,則告知不存在該學(xué)生證信息;如存在,則顯示出該學(xué)生的學(xué)生證信息. create procedure QureyInfor ( @sno char(10) ) as begin declare @cant varchar(50) set @cant=信息不存在 if exists (select * from Stu_card where SNo=@sno) select * from Stu_card where SNo=@sno else print @cant end (2)給定班號(hào),查詢(xún)?cè)摪嗨袑W(xué)生的學(xué)生證信息 該查詢(xún)與前一查詢(xún)方法是相同的,通過(guò)查詢(xún)視圖,查看信息。 創(chuàng)建存儲(chǔ)過(guò)程DisplayInfor,傳遞參數(shù)classno,通過(guò)給定班級(jí)號(hào),判斷該班學(xué)生的學(xué)生證信息是否存在,如不存在,則告知"不存在該班學(xué)生證信息";如存在,則顯示出該班全部學(xué)生的學(xué)生證信息。 create procedure DisplayInfor ( @classno char(6) ) as begin declare @cant varchar(50) set @cant=無(wú)相關(guān)信息 if exists (select * from Stu_card where ClassNo=@classno) select * from Stu_card where ClassNo=@classno else print @cant end 3.修改學(xué)生證信息 學(xué)生證信息的修改,雖然是對(duì)視圖進(jìn)行修改,但實(shí)質(zhì)是對(duì)各表的修改。 對(duì)于學(xué)生證信息的修改,是先通過(guò)給定學(xué)生學(xué)號(hào),先判斷該學(xué)生的學(xué)生證信息是否存在,如存在,再通過(guò)添加表信息來(lái)添加學(xué)生證信息。 (1)首先創(chuàng)建存儲(chǔ)過(guò)程ModIf,用來(lái)判斷需修改的學(xué)生證信息是否存在,如不存在,則告知"不存在該學(xué)生證信息";如存在,則將該學(xué)生證原本信息顯示出來(lái),表明可以進(jìn)行修改。 create procedure ModIf ( @sno char(10) ) as begin declare @cant varchar(50) set @cant=無(wú)此學(xué)生證信息,不能修改 if exists (select * from Stu_card where SNo=@sno) begin select * from Stu_card where SNo=@sno end else print @cant end (2)再創(chuàng)建存儲(chǔ)過(guò)程ModS,ModC及ModD,通過(guò)更新操作update對(duì)表進(jìn)行修改,以修改學(xué)生證信息。 create procedure ModS //更新S表中學(xué)生信息 ( @sname varchar(30), @sno char(10), @classno char(6), @sex char(2), @birthday datetime, @native char(2), @birthplace varchar(30) ) as update S Set stu_name=@sname,stu_no=@sno,class_no=@classno,stu_sex@sex, stu_birthday=@birthday,stu_native=@native,stu_birthplace=@birthplace create procedure ModD //更新D表中學(xué)生信息 ( @dept varchar(30), @classno char(6), ) as update S Set dept=@dept,class_no=@classno create procedure ModC --修改表C中信息 ( @sno char(10), @logindate datetime, @validate datetime ) as update C set stu_no=@sno,login_date=@logindate,validity_date=@validate 4.刪除學(xué)生證信息 在刪除學(xué)生證信息時(shí),并不是將學(xué)生證中的學(xué)生信息及相關(guān)系別信息也相應(yīng)刪除,而只是刪除該學(xué)生證的注冊(cè)信息。應(yīng)保證在刪除學(xué)生證信息同時(shí)保留該學(xué)生的學(xué)生信息及相關(guān)的系別信息。 (1)判斷該學(xué)生證信息是否存在 創(chuàng)建存儲(chǔ)過(guò)程,給定學(xué)號(hào)參數(shù),判斷是否存在該學(xué)生的學(xué)生證信息,如不存在,則告知"不存在該學(xué)生證信息",即無(wú)法刪除;如存在,則告知"存在信息",并顯示出該條信息。 該操作同樣可以使用存儲(chǔ)過(guò)程ModIf來(lái)完成,因此不需再重新創(chuàng)建。 (2)刪除信息 創(chuàng)建存儲(chǔ)過(guò)程DelInfor,給出要?jiǎng)h除的學(xué)生學(xué)號(hào),通過(guò)delete操作刪除注冊(cè)信息表C中的該條記錄,即完成學(xué)生證信息的刪除工作。 create procedure DelInfor ( @sno char(6) ) as delete from C where stu_no=@sno (3)顯示刪除后信息 在刪除完成后,通過(guò)顯示剩余全部學(xué)生證信息,確認(rèn)要?jiǎng)h除的學(xué)生證信息是否刪除成功。 創(chuàng)建觸發(fā)器DisplayAll,完成刪除工作的檢驗(yàn)工作,當(dāng)對(duì)表C進(jìn)行delete操作時(shí),通過(guò)查詢(xún)視圖,顯示剩余全部學(xué)生證信息。 create trigger DisplayAll on C for delete as select * from Stu_card 七、實(shí)驗(yàn)總結(jié) 通過(guò)一周的課程設(shè)計(jì),完成了一個(gè)簡(jiǎn)單的學(xué)生證管理系統(tǒng),并成功實(shí)現(xiàn)了各要求所需功能。 首先,在設(shè)計(jì)方面,考慮到數(shù)據(jù)的冗余及沖突等問(wèn)題,將學(xué)生證信息分別存儲(chǔ)到三個(gè)表中,考慮了系別信息數(shù)據(jù),學(xué)生信息數(shù)據(jù)及學(xué)生證注冊(cè)信息數(shù)據(jù)的獨(dú)立性問(wèn)題。其次,在設(shè)計(jì)表時(shí),注意了數(shù)據(jù)的數(shù)據(jù)類(lèi)型及長(zhǎng)度的選擇,考慮各種數(shù)據(jù)的添加情況,如漢族非少數(shù)民族,在添加該項(xiàng)時(shí)將“漢”設(shè)置為默認(rèn)情況,同時(shí)還要保證不浪費(fèi)數(shù)據(jù)的存儲(chǔ)空間。第三,使用了視圖view,實(shí)現(xiàn)數(shù)據(jù)的保密性,將學(xué)生證所需信息以視圖方式存放,在數(shù)據(jù)查詢(xún)時(shí)使用視圖查詢(xún)。第四,對(duì)于各功能的實(shí)現(xiàn),均使用了存儲(chǔ)過(guò)程procedure,通過(guò)傳遞參數(shù)得到想要的結(jié)果。在實(shí)現(xiàn)功能時(shí),注意了條件的判斷,根據(jù)分析各種情況,實(shí)現(xiàn)不同的操作。例如,在實(shí)現(xiàn)信息的添加時(shí),總的分兩種情況,一是存在信息,另一個(gè)則是不存在信息,在不存在信息中又需考慮兩種情況,即存在該學(xué)生信息,但由于未注冊(cè)學(xué)生證,因此也不存在學(xué)生證信息;另一是根本不存在該學(xué)生信息。針對(duì)這兩種情況,在添加信息時(shí)就有兩種不同的方法。第四,在本系統(tǒng)中使用了觸發(fā)器trigger,觸發(fā)器用于響應(yīng)數(shù)據(jù)庫(kù)更新,因此在刪除信息時(shí),我使用了觸發(fā)器,在信息刪除后,顯示其余信息,用來(lái)確認(rèn)信息是否成功刪除。第五,設(shè)置了安全性,在數(shù)據(jù)庫(kù)中,安全性十分重要,因此,我創(chuàng)建了自己的登錄名,并對(duì)數(shù)據(jù)庫(kù)及各表的訪問(wèn)設(shè)置了權(quán)限,用以保護(hù)數(shù)據(jù),防止他人任意修改。 但由于個(gè)人的經(jīng)驗(yàn)、知識(shí)等方面的不足,并且時(shí)間比較匆忙,本系統(tǒng)還存在著許多缺陷。首先,在需求分析時(shí),未能做到完全滿(mǎn)足用戶(hù)需要,而且整個(gè)系統(tǒng)漏洞很多,對(duì)表的設(shè)計(jì)也不夠完善,對(duì)數(shù)據(jù)的完整性,獨(dú)立性等方面的要求考慮的還不夠充分。其次,本系統(tǒng)可以與VC,VB等編譯工具相互配合,使其實(shí)現(xiàn)的更人性化,界面化,操作更方便,安全性更好。 在本系統(tǒng)中,還有很多需改進(jìn)的地方,相信通過(guò)一點(diǎn)點(diǎn)的改善,該系統(tǒng)會(huì)更完善。 八、心得體會(huì) 通過(guò)這次課程設(shè)計(jì),我了解到自身在許多相關(guān)知識(shí)方面都認(rèn)識(shí)得不夠深刻,致使在實(shí)際的運(yùn)行操作中遇到許多困難與阻礙。在實(shí)驗(yàn)過(guò)程中,許多問(wèn)題都在與同學(xué)的討論中得到解決,并在討論過(guò)程中,又對(duì)所學(xué)有了新的體會(huì),學(xué)到了更多的知識(shí)。經(jīng)過(guò)一周的課程設(shè)計(jì),體會(huì)到想要做一個(gè)完善的,功能全面的系統(tǒng),僅僅依靠課本上學(xué)習(xí)的知識(shí)是遠(yuǎn)遠(yuǎn)不夠的,不僅僅相關(guān)的專(zhuān)業(yè)知識(shí)要熟練運(yùn)用,對(duì)所做的系統(tǒng)用途也要充分了解,等等這些都要花費(fèi)時(shí)間與精力。在設(shè)計(jì)過(guò)程中,發(fā)現(xiàn)到合作的重要性,相互之間的溝通對(duì)系統(tǒng)的完成也有很大幫助??傊?,這一周的課程設(shè)計(jì),不僅僅是一次簡(jiǎn)單的見(jiàn)習(xí),對(duì)以后的工作與生活都是一次經(jīng)驗(yàn)的積累。- 1.請(qǐng)仔細(xì)閱讀文檔,確保文檔完整性,對(duì)于不預(yù)覽、不比對(duì)內(nèi)容而直接下載帶來(lái)的問(wèn)題本站不予受理。
- 2.下載的文檔,不會(huì)出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請(qǐng)點(diǎn)此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
9.9 積分
下載 |
- 配套講稿:
如PPT文件的首頁(yè)顯示word圖標(biāo),表示該P(yáng)PT已包含配套word講稿。雙擊word圖標(biāo)可打開(kāi)word文檔。
- 特殊限制:
部分文檔作品中含有的國(guó)旗、國(guó)徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計(jì)者僅對(duì)作品中獨(dú)創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- 基于 sql 學(xué)生 成績(jī)管理系統(tǒng) 課程設(shè)計(jì) 報(bào)告
鏈接地址:http://appdesigncorp.com/p-6522907.html