




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、鄭州科技學院 課程設計說明書課程名稱:_ SQL SERVER 課程設計 設計題目:_ _教師管理系統 系(院): _ 信息工程學院 專業班級:_ * 姓 名:_ * 學 號:_ _ * 指導教師: * 成 績:_ 時 間: 12月28日 至 1月3日 共_ 1 周鄭州科技學院課程設計(論文)任務書設計題目: 教師管理系統 專業班級: * 學號 * 姓名 * 主要內容:教師管理系統包括教師信息表、課程信息表、學院信息表和授課信息表。并對這四個表進行統一的管理,本系統以此作為開發的目標,用以減輕教師管理人員的負擔。用戶分為系統管理員和普通用戶兩種身份。需要通過用戶名和密碼進入,系統管理員登錄后,
2、可以查看所有信息,并且可以對用戶進行添加、修改密碼、刪除等操作。普通用戶只能進入課程管理和教師信息管理。基本要求:本課題是設計教師管理系統,實現添加、查詢、修改、刪除等功能。從界面上輸入教師姓名,可以查詢教師的基本信息和課程信息,不存在的數據,輸出提示內容。通過窗體操作可瀏覽、刪除、添加、修改教師的相關數據。完成期限: 2015年1月3日 指導教師簽名: 評審小組負責人簽名: 目錄1.前言41.1系統背景41.2選題的理由和實際意義42.需求分析52.1用戶對系統要求62.2功能介紹73.系統設計73.1定義73.2系統總體結構設計圖83.3總體E-R圖93.4數據表的設計103.5用例列舉1
3、1創建數據庫11建立索引15約束條件15用戶和授權15查詢功能163.5.6 更新功能18查詢、觸發器、視圖194.總結235.讀書筆記24參考文獻261.前言1.1系統背景教師信息管理系統是一所院校在各種信息管理中的一部分,對于學校管理者來說是很重要的,所以所設計的系統應該能為管理者提供教師的基本信息管理手段和一些方便的查詢方式。在過去,計算機不是很普及和計算機應用性不高的年代,人們使用人工的方法管理各式各樣的檔案,這種管理方式存在著很多缺點:效率底,保密性差,會產生大量的文件和數據,給查找,更新和維護信息都帶來了相當大的困難。隨著科學技術的不斷發展,計算機科學日益成熟,其強大的計算功能已經
4、被人們深刻地認識到,計算機發揮著越來越重要的作用。作為計算機應用的一部分,使用計算機對教師信息進行管理,具有人工方式所無法比擬的優越性。如,查找方便,可靠性高,存儲容量大,保密性好,壽命長,成本低,維護十分方便等,這些優點能夠極大得提高工作的效率,這也是學校的科學化,現代化,正規化的一點體現。1.2選題的理由和實際意義隨著科學技術的不斷提高,計算機科學日漸成熟,其強大的功能已為人們深刻認識,它已進入人類社會的各個領域并發揮著越來越重要的作用。作為計算機應用的一部分,使用計算機對教師信息進行管理,具有人工方式所無法比擬的優越性。如,查找方便,可靠性高,存儲容量大,保密性好,成本低,維護十分方便等
5、,這些優點能夠極大得提高工作的效率,這也是學校的科學化,現代化,正規化的一點體現。教師信息管理系統開發主要包括數據庫的建立和維護以及應用程序的開發兩個方面。要求建立起數據一致性和完整性強。數據安全性好的庫,要求應用程序功能完備,易使用等特點。教師信息管理系統是一個教育單位不可缺少的部分,它的內容對于決策者和管理者來說都比較重要,所以教師信息管理系統應該能夠為用戶提供充足的信息和快捷的查詢手段。用戶的需求具體體現在對各種信息的提供、保存、更新和查詢,這就要求數據庫能充分滿足各種數據的輸出和輸入。 因此,為了適應現代教育管理的要求,進一步完善教師信息輔助計算機管理,我作為一個計算機系的本科生,開發
6、這樣一套管理軟件成為很有必要的事情,在下面的各章中我將以開發一套教師信息管理系統為例,談談其開發過程和所涉及到的問題及解決方法。本課題是設計任課教師信息管理系統,實現輸入、查詢、顯示、維護等功能。從界面上輸入教師姓名,輸出教師的基本信息和任課情況,不存在的數據,要輸出提示內容。從窗體中輸入教師姓名,可以錄入教師的上課數據,并計算教師的工作量。通過窗體操作可瀏覽、刪除、添加教師的相關數據。關鍵字:面向對象,數據一致性,信息管理系統,數據庫,SQL Server。2.需求分析近年來,教育帶來的發展對學校管理提出了更高的要求。傳統的管理機制已經不能適應時代的發展,因為它浪費了許多人力和物力,在信息時
7、代這種傳統的管理方法必然被計算機為基礎的信息管理所取代,建設一套具有行業特色的管理系統,以適應學校的總體發展戰略。教師信息管理系統正是針對這一類問題而開發出來的管理軟件。任課教師信息管理系統開發主要包括后臺數據庫的建立和維護以及前端應用程序的開發兩個方面。對于前者要求建立數據一致性和完整性強,數據安全性好的數據庫.而對于后者則要求應用程序功能完備, 系統優點:檢索迅速、查找方便、可靠性高、存儲量大、安全性高、成本低等。這些優點能夠極大地提高教師信息管理的效率,也是教育的科學化、正規化管理、易使用等特點。2.1用戶對系統要求用戶的需求具體體現在對各種信息的提供、保存、更新和查詢,這就要求數據庫能
8、充分滿足各種數據的輸出和輸入。通過對上述系統功能的分析,針對教師信息管理系統的需求總結出下列需求信息: 使用友好的全屏幕用戶界面,菜單驅動,多窗口。 數據維護功能,通過窗體實現錄入、添加和修改所有表的內容。 查詢統計功能,設置多種查詢方式,實現對教師的任課情況、工作量統計情況等進行查詢。 系統維護功能,適當的加入系統密碼管理、數據備份(已出現數據庫備份界面)等幫助功能。2.2功能介紹一位教師可以教多門課程,并且一門課可以由多名老師來教。根據本教師管理系統主要是為了滿足學校的需求而設計,注重操作簡單易用、功能簡潔但夠用的特點,擬定系統應當具有如下功能:(1)教師基本信息數據的輸入:操作人員可以在
9、本系統中建立教師編號、教師姓名、性別、學歷、職稱、出生年月、地址等信息,作為教師查詢的依據之一;(2)教師基本信息數據的修改、刪除:學校中的教師人數和人員,包括職稱、工資都會隨著時間的遷移而發生變化。因此,在系統中設置了增加記錄、修改記錄、刪除記錄等操作,教師管理人員可以隨時對教師基本信息進行更新和修改;(3)用戶分系統管理者和一般操作員用戶;一個學校包含多個學院。一個學院包括多位教師。3.系統設計3.1定義(1) 系統名稱:教師管理系統(2) 數據庫管理軟件:Microsoft SQL Server 2005(3) 數據庫設計采用軟件:Microsoft Office Version 200
10、3(4) 運行平臺:windows 2000/xp/linux(5) 數據庫的安全性設計:3.2系統總體結構設計圖教師編號教師管理系統教師信息表學院信息表課程信息表授課信息表性別職稱工資學時學院名專業數學院編號聯系方式課程編號課程名人數教師編號姓名學分上課時間上課班級學院名課程編號圖1 結構設計圖3.3總體E-R圖根據需求分析的結果,我們準備為學校編寫一個教師管理系統。對該系統進行概念設計,依據我們的想法,該系統會分為三個實體,分別是教師實體、課程實體、學院實體,其中的聯系是教師教授課程、教師所屬學院。概念模型是對現實世界的抽象和概述,它真實的反映了事物和事物之間的聯系。應用實體屬性圖可以描述
11、某一組織的概念模型,下面根據需求分析設計教師管理信息系統的實體屬性圖。課程教師學院所屬授課名稱專業數人數編號姓名電話職稱性別工資編號編號課程名學分學時教編號課編號班級學院名時間在該總體E-R圖中,有3個實體類型,1個聯系類型,其實體屬性分別見各自的實體圖。該總體E-R圖說明了實體與實體間的聯系。如圖2所示。Nmn圖2教師管理系統完整E-R圖3.4數據表的設計(1)通過關系模型和不斷優化修改,得出如圖3教師信息表:列名數據類型可否為空說明教師編號Varchar(10)NOT NULL教師編號(主鍵)姓名Varchar(10)NOT NULL教師姓名性別Char(2)NOT NULL教師性別聯系方
12、式Varchar(10)NULL聯系方式職稱Varchar(10)NOT NULL教師職稱工資Int(10)NOT NULL教師工資圖3教師信息表(2)通過關系模型和不斷優化修改,得出如圖4課程信息表:列名數據類型可否為空說明課程編號Varchar(10)NOT NULL課程編號(主鍵)課程名Varchar(10)NOT NULL課程名稱學分Int(4)NOT NULL學分學時Varchar(200)NOT NULL學時圖4課程信息表(3)通過關系模型和不斷優化修改,得出如圖5學院信息表:列名數據類型可否為空說明學院編號Varchar(10)NOT NULL學院編號(主鍵)學院名Varchar
13、(10)NOT NULL學院名稱專業數Varchar(10)NOT NULL專業數人數Varchar(20)NOT NULL學院人數圖5學院信息表(4)通過關系模型和不斷優化修改,得出如圖6授課信息表:列名數據類型可否為空說明教師編號Varchar(10)NOT NULL教師編號(主鍵)課程編號Varchar(10)NOT NULL課程編號(主鍵)上課班級Varchar(10)NOT NULL上課班級學院名Varchar(20)NOT NULL學院名稱上課時間Varchar(10)NOT NULL上課學期圖6授課信息表3.5用例列舉創建數據庫create database teachertea
14、ching(1)創建教師信息表create table teaching-教師信息表( tid int primary key,tname varchar(10) not null,tsex varchar(10),tsalary int,tgrade varchar(16),tphonenumber int,);insert into teaching values( 10001,'張三','男',9000,'教授',1320001);insert into teaching values( 10002,'李四','男&
15、#39;,6000,'講師',1320002);insert into teaching values( 10003,'王五','女',3000,'助教',1320003);insert into teaching values( 10004,'趙六','女',7000,'副教授',1320004);insert into teaching values( 10005,'錢七','男',9000,'教授',1320005);查詢表中信息
16、,代碼如下:select * from teaching執行后的結果顯示如圖所示:圖7(2)創建課程表create table course-課程表( cnumber int primary key,cname varchar(10),cgrade int ,cperiod int,);insert into course values( 1001,'數據庫',4,80);insert into course values( 1002,'數據結構',4,60);insert into course values( 1003,'大學英語',3,60
17、);insert into course values( 1004,'大學物理',2,40);insert into course values( 1005 ,'高數',4,50);查詢表中信息,代碼如下:select * from teaching執行后的結果顯示如圖所示:圖8(3)創建學院表create table department-學院表(did int primary key,-學員編號dname varchar(20) ,-學院名稱dspeciality int,-專業個數dpeople int,-人數);insert into departmen
18、t values( 1030,'管理學院',6,1000);insert into department values( 1023,'信息科學與工程',8,1000);insert into department values( 1040,'外語學院',7,1500);insert into department values( 1899,'機械與工程學院',5,1200);insert into department values( 1235,'中文學院',4,1300);查詢表中信息,代碼如下:select *
19、 from teaching執行后的結果顯示如圖所示:圖9(4)創建教師任課表create table tc-授課表(tid int primary key,-教師編號cnumber int,-課程編號class varchar(10),-上課班級 dname varchar(20),-學院名 time varchar(20),-上課時間);insert into tc values( 10001,1002,'工商管理','管理學院','10:00-11:40');insert into tc values( 10002,1001,'信息
20、工程','信息科學與工程','8:00-9:40'); insert into tc values( 10005,1005,'英語','外語學院','15:40-17:20');insert into tc values( 10003,1004,'工程管理','管理學院','14:00-15:40');insert into tc values( 10004,1003,'機械工程','機械與工程學','10:00-11:
21、40');圖10建立索引Create unique index teacherid on teaching(tid) -在教師表中按照教師編號建立索引Create unique index courseid on course(cnumber)-在課程表中以課程編號建立索引Create unique index departmentid on department(did ASC,dpeople DESC)-在學院表中以學員編號升序,學員人數降序建立索引約束條件Alter table teaching -在表teaching增加一個性別的約束add constraint c3 chec
22、k(tsex in('男','女')3.5.4用戶和授權Create role u1-創建一個用戶u1創建用戶Grant select,insert,update,delete-給用戶u1授予查詢,更新,刪除教師信息表的權利On teachingTo u1授權Revoke delete-收回用戶對教師信息表的刪除的權利On teachingFrom u1收回授權3.5.5查詢功能通過select語句進行查詢。(1)查詢全體教師信息Select *From teaching圖11(2)例如查詢編號為10001的教師信息。Select *From teachingW
23、here tid=10001圖12(3)統計一個教師的工作量select sum(cperiod)from course,teaching,tcwhere teaching.tid=tc.tid and umber=umber and teaching.tid=10001圖13 更新功能(1)修改Update teachingSet tset='女'Where tid=10006Select *From teaching圖14(2)插入insert into teaching values( 10006,'孫八','男'7500,'教授&
24、#39;,1320006);select * *from teaching圖15(3)刪除deletefrom teachingwhere tid=10001select * from teaching圖16查詢、觸發器、視圖(1)觸發器定義一個觸發器,為教師信息表定義完整性規則“助教的工資不得低于4000元,如果低于4000元,自動改為4000元。Create TRIGGER insert_or_update_tsalary-創建觸發器on teachingafter insert,updateasdeclare sa intdeclare gr varchar(16)select sa=t
25、salary from insertedselect gr=tgrade from insertedif(sa<4000 and gr='助教')beginupdate teachingset tsalary=4000where tgrade='助教'enddrop TRIGGER insert_or_update_tsalary-刪除觸發器update teaching -更新一個助教的工資數據監測是否觸發器成功執行set tsalary=2000where tgrade='助教'圖17在觸發器成功執行之后,數據庫的數據又被觸發器強制改變
26、了,更新的助教工資是2000元,但是觸發器成功執行之后,助教的工資被改變為要求的最低4000元。(2)視圖與查詢多表連接查詢即輸入教師編號,通過連接多個數據基本表,查出該教師教的是哪一門課程,在哪個學部,什么時間上課等等。通過創建視圖,簡化查詢操作,如下所示:create view view_teaching-創建教師教課的視圖asselect teaching.tname,ame,tc.class,tc.dname,tc.timefrom teaching,course,tcwhere teaching.tid=tc.tid and umber=umberselect * from view
27、_teaching-查詢教師授課視圖drop view view_teaching-刪除視圖所操作的結果如圖18視圖多表連接查詢所示:圖184.總結數據庫是一個存儲數據的大倉庫,它不但包括數據,還包括數據間的各種關系,以及各種操作。 要用數據庫,我們首先要創建一個數據庫,讓后往里面放東西(數據庫文件和事物日志文件等),數據庫里的東西不是一成不變的,這就要求對數據庫進行管理,比如數據的結構、文件和文件組修改、數據庫的刪除等, 數據是以表的形式存在的數據庫中,表其實就是一種關系,處理數據往往就是對表的一些操作,包括對表的增刪改查。在數據庫操作中,有很多時候不是對某一個表進行數據庫操作,通常還會把其
28、他表的字段的值也傳遞過來。不過這連個表不是沒有關系的,通常通過索引或者健關聯起來,通過查詢語句,我們得到一個結果集,因為關系型數據中是以集合的形式對數據進行處理,當對單條記錄進行操作時就不太方便了,這時就用到了游標,它包含一個結果集和一個指針,可以從包含多個數據記錄的結果集中每次提取一條記錄進行操作。當用戶只需要從表中提取部分內容時,可以通過創建視圖,視圖也是一個類似于表的對象,但它與表有著本質的區別:視圖是在引用存儲在數據庫中的查詢語句時動態創建的,是從一個或多個數據表中派生出來的虛擬表,視圖本身不存儲數據。 查詢是數據庫中最常見的操作,使用索引可以大大提高數據庫的檢索速度,使用索引不僅可以
29、檢索出一個表中的記錄,還可以通過約束字段,檢索出相關聯表中需要的記錄。 在數據庫管理系統中,維護數據完整性是非常重要的,數據庫中通過事務機制、創建約束、缺省值和規則及使用觸發器等來實現,觸發器是一種特殊的存儲過程,但它是當用戶修改表中的數據時自動執行的,而存儲過程須通過調用機制,這樣當對一個表進行某種操作時,便可以同時對級聯的表做相關操作,保證數據同步更改,實現數據的完整性。實訓是個人綜合能力的檢驗。要想學好計算機課程,除了計算機基礎知識功底深厚外,還需有一定的實踐動手能力,操作能力,應付突發故障的能力,還要對常用軟件都能熟練操作。作為一名快要畢業的大三學生,還要求有較強的表達能力,同時還要學會靈活運用學到的知識。另外,還必須有較強的應變能力、獨立思考的能力和堅強的毅力。這次實訓是對我學習上的一次大檢驗。因為計算機專業的特殊性,如果我們只會一些理論知識,那么我們就不是個合格的計算機專業學生。通過這次實踐的操作,讓我對課堂上所學到的東西有了更深的認識,同時也讓我找到了找到了學習的樂趣。5.讀書筆記通過這次的課程設計,使我對這
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
評論
0/150
提交評論