版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、赤峰學(xué)院數(shù)據(jù)庫(kù)原理與技術(shù)課程設(shè)計(jì)報(bào)告 題 目 教室管理系統(tǒng) 院 系 計(jì)算機(jī)與信息工程學(xué)院 專業(yè)班級(jí) 2010級(jí)計(jì)算機(jī)科學(xué)與技術(shù)2班 設(shè)計(jì)成員 趙立超、尚小苓、李美靜、 張志義、 付雪松 指導(dǎo)教師 韓志強(qiáng) 二一二 年 十二 月 二十 日課程設(shè)計(jì)教室管理系統(tǒng)設(shè)計(jì)1、課程設(shè)計(jì)的目的和意義 教室作為一所學(xué)校的重要資源,然而在許多學(xué)校尤其大學(xué),這種資源往往顯得稀缺,必須借助先進(jìn)的計(jì)算機(jī)信息技術(shù)對(duì)教室進(jìn)行合理分配和管理,“教室管理系統(tǒng)”可以說是對(duì)學(xué)校的教室管理部門而言是一項(xiàng)基礎(chǔ)而重要的工作。教室管理這樣一個(gè)系統(tǒng),可以涉及到大多數(shù)SQL Server數(shù)據(jù)庫(kù)的重要數(shù)據(jù)庫(kù)對(duì)象、重要功能和特性,比如:視圖、觸發(fā)器
2、和存儲(chǔ)過程等。由此,通過這個(gè)課程設(shè)計(jì)可以加深對(duì)這些SQL Server數(shù)據(jù)庫(kù)知識(shí)的學(xué)習(xí)、理解,積累在實(shí)際工程應(yīng)用中運(yùn)用各種數(shù)據(jù)庫(kù)對(duì)象的經(jīng)驗(yàn),使學(xué)生掌握使用應(yīng)用軟件開發(fā)工具開發(fā)數(shù)據(jù)庫(kù)管理系統(tǒng)的基本方法。在實(shí)用性方面,教室管理系統(tǒng)是很普遍的一種應(yīng)用,選擇該系統(tǒng)作為課程設(shè)計(jì)也可以為學(xué)生以后可能遇到的實(shí)際開發(fā)提供借鑒。2、需求分析階段2.1處理對(duì)象 教室:教室編號(hào)、教室類型、上課時(shí)間 班級(jí): 班級(jí)名稱、教師編號(hào)、教室編號(hào)、課程、上課時(shí)間、備注 教師: 教師編號(hào)、教師姓名、性別、職稱、教授課程、備注2.2處理功能及要求2.2.1能夠存儲(chǔ)一定數(shù)量的教室信息,并方便有效的進(jìn)行相應(yīng)的教室如何分配和管理,這主要
3、包括:1) 教室信息的錄入、刪除及修改。2) 教室的空閑時(shí)間2.2.2能夠?qū)σ欢〝?shù)量的班級(jí)、教師進(jìn)行相應(yīng)的信息存儲(chǔ)與管理,這其中包括: 1) 班級(jí)信息的登記、刪除及修改。 2) 教師信息的增加、刪除及修改。 3) 班級(jí)和教師資料的查詢。能夠提供一定的安全機(jī)制,提供數(shù)據(jù)信息授權(quán)訪問,防止隨意刪改、查詢。對(duì)查詢的結(jié)果能夠列表顯示。2.3安全性和完整性要求2.3.1 安全性要求 系統(tǒng)安全性要求體現(xiàn)在數(shù)據(jù)庫(kù)安全性、信息安全性和系統(tǒng)平臺(tái)的安全性等方面。安全性先通過視圖機(jī)制,不同的用戶只能訪問系統(tǒng)授權(quán)的視圖,這樣可提供系統(tǒng)數(shù)據(jù)一定程度上的安全性,再通過分配權(quán)限、設(shè)置權(quán)限級(jí)別來區(qū)別對(duì)待不同操作者對(duì)數(shù)據(jù)庫(kù)的操
4、作來提高數(shù)據(jù)庫(kù)的安全性;系統(tǒng)平臺(tái)的安全性體現(xiàn)在操作系統(tǒng)的安全性、計(jì)算機(jī)系統(tǒng)的安全性和網(wǎng)絡(luò)體系的安全性等方面。2.3.2完整性要求系統(tǒng)完整性要求系統(tǒng)中數(shù)據(jù)的正確性以及相容性??赏ㄟ^建立主、外鍵,使用check約束,或者通過使用觸發(fā)器和級(jí)聯(lián)更新。2.4需求分析階段成果表1 課程表MTWSF數(shù)據(jù)庫(kù)1班尚老師101TCP2班李老師102數(shù)據(jù)結(jié)構(gòu)1班付老師103(多媒體)TCP2李老師102TCP實(shí)驗(yàn)機(jī)房(二)1.2班李老師TCP實(shí)驗(yàn)(一)1.2班李老師數(shù)據(jù)庫(kù)2班尚老師101數(shù)據(jù)結(jié)構(gòu)機(jī)房(一)1.2班付老師數(shù)據(jù)結(jié)構(gòu)2班付老師103(多媒體)數(shù)據(jù)結(jié)構(gòu)1班付老師103(多媒體)數(shù)據(jù)結(jié)構(gòu)機(jī)房(一)1.2班付老
5、師3、概念結(jié)構(gòu)設(shè)計(jì)3.1教室管理信息系統(tǒng)數(shù)據(jù)流圖 教師教室管理系統(tǒng)班級(jí)圖1 數(shù)據(jù)流程圖3.2教室管理系統(tǒng)局部E-R模型 教師性別備注教師編號(hào)教師名稱職稱課程教師編號(hào)班級(jí)班級(jí)編號(hào)上課時(shí)間教師名稱mingmingcheng chrng稱教室教室編號(hào)上課時(shí)間教室類型上課時(shí)間備注備注圖2 分E-R圖4、結(jié)構(gòu)邏輯設(shè)計(jì)4.1 E-R 圖向關(guān)系模型的轉(zhuǎn)換教室表(教室編號(hào)、教室類型、上課時(shí)間)主鍵:教室編號(hào)班級(jí)表(班級(jí)名稱、教師編號(hào)、教室編號(hào)、課程、上課時(shí)間、備注)主鍵:班級(jí)名稱 外鍵:教室編號(hào)、教師編號(hào)教師表(教師編號(hào)、教師姓名、性別、職稱、教授課程、備注)主鍵:教師編號(hào)4.2數(shù)據(jù)模型優(yōu)化數(shù)據(jù)庫(kù)德邏輯結(jié)構(gòu)設(shè)
6、計(jì)的結(jié)果不是唯一的。為了提高數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)的性能,還應(yīng)該根據(jù)應(yīng)用需要適當(dāng)?shù)男薷?,調(diào)整關(guān)系模式,這就是數(shù)據(jù)模型的優(yōu)化。規(guī)范化理論為數(shù)據(jù)庫(kù)設(shè)計(jì)人員判斷關(guān)系模式的優(yōu)劣提供了理論標(biāo)準(zhǔn),可用來預(yù)測(cè)模式可能出現(xiàn)的問題,使數(shù)據(jù)庫(kù)設(shè)計(jì)工作有了嚴(yán)格的理論基礎(chǔ)。關(guān)系數(shù)據(jù)模型的優(yōu)化通常以規(guī)范化理論為指導(dǎo),方法為:(1)確定數(shù)據(jù)依賴。分別寫出每個(gè)關(guān)系內(nèi)部屬性的以及不同關(guān)系模式屬性間的數(shù)據(jù)依賴。(2)對(duì)于各個(gè)關(guān)系模式之間的數(shù)據(jù)依賴進(jìn)行極小化處理,消除冗余的聯(lián)系。(3)按照數(shù)據(jù)依賴的理論對(duì)關(guān)系模式逐一分析,考察是否存在部分函數(shù)依賴,傳遞函數(shù)依賴,根據(jù)各個(gè)函數(shù)依賴的依賴集可知各個(gè)關(guān)系模式?jīng)]有部分函數(shù)依賴和傳遞函數(shù)依賴所以所
7、有的關(guān)系模式都是屬于3NF。不需要進(jìn)一步進(jìn)行模式分析。4.3數(shù)據(jù)庫(kù)的結(jié)構(gòu)表2 班級(jí)信息表結(jié)構(gòu)列名數(shù)據(jù)類型大小空 值鍵班級(jí)編號(hào)int否主鍵教室編號(hào)char20否外鍵教師編號(hào)char20否外鍵課程char10否上課時(shí)間char50否備注char10是表3 教師信息表結(jié)構(gòu)列名數(shù)據(jù)類型大小空 值鍵教師編號(hào)char10否主鍵教師名稱char10否性別char10否職稱char10否教授課程char10否備注nchar10是表4 教室信息表結(jié)構(gòu)列名數(shù)據(jù)類型大小空 值鍵教室編號(hào)char10否主鍵教師類型char30否上課時(shí)間nchar20是備注nchar10是5、物理設(shè)計(jì)階段5.1數(shù)據(jù)存儲(chǔ)方面5.2系統(tǒng)功能
8、模塊5.2.1教室表信息查詢和更新模塊將實(shí)現(xiàn)對(duì)教室信息的查詢和更新(修改、插入、刪除)操作,方便于對(duì)教室基本信息的管理 5.2.2班級(jí)表的查詢和更新模塊將完成班級(jí)基本信息的查詢、更新(修改、插入、刪除)操作,便于對(duì)學(xué)生信息的集中管理5.2.3教師表的查詢和更新模塊將完成教師基本信息的查詢、更新(修改、插入、刪除)操作,便于對(duì)教師信息的集中管理5.3物理設(shè)計(jì)階段結(jié)果表5 存儲(chǔ)過程插入表編號(hào)存儲(chǔ)過程作用1 教室表_select在教室表中查詢一元組2班級(jí)表_select在班級(jí)表中查詢一元組3教師表_select在教師表中查詢一元組6、數(shù)據(jù)庫(kù)實(shí)施階段6.1建立數(shù)據(jù)庫(kù)create class;6.2建立
9、數(shù)據(jù)表教室表的建立:create table 教室( 教室編號(hào) char(20) not null,教室類型 char(30) not null,上課時(shí)間 nchar(30) not null,備注 nchar(10)) 教師表的建立:create table 教師( 教師編號(hào) char(10) not null,教師名稱 char(10) not null,性別 char(10) not null,職稱 char(10) not null,教授課程 char(10) not null,備注 char(10)班級(jí)表的建立: create table 班級(jí)( 班級(jí)編號(hào) int not null,
10、教室編號(hào) char(20) not null,課程 char(20) not null,教師編號(hào) char(10) not null,上課時(shí)間 char(50) not null,備注 char(10)向表中插入數(shù)據(jù): use class go insert 班級(jí) (班級(jí)編號(hào),教室編號(hào),課程,教師編號(hào),上課時(shí)間) values (1001,101,數(shù)據(jù)庫(kù),001,周一第一節(jié)) Go use class go insert 班級(jí) (班級(jí)編號(hào),教室編號(hào),課程,教師編號(hào),上課時(shí)間) values (1001,102,TCP,002,周四第一節(jié)) go use class go insert 教師 (
11、教師編號(hào),教師名稱,性別,職稱,教授課程) values (101,尚老師,女,教授,數(shù)據(jù)庫(kù)) go use class go insert 教室 (教室編號(hào),教室類型,上課時(shí)間) values (1001,普通教室,上午第一節(jié)下午第二節(jié)) go主鍵約束的建立:use classgoalter table 教室add constraint pk_jsbhprimary key clustered(教室編號(hào))go唯一約束的建立:use classgoalter table 教師add constraint uk_jsbhunique nonclustered(教師編號(hào))go默認(rèn)約束的建立:use
12、 classgoalter table 教師add constraint df_xbdefault 女 for 性別go視圖的建立:create view 教室占用情況asselect dbo.教室.教室編號(hào),dbo.班級(jí).班級(jí)編號(hào),dbo.班級(jí).課程,dbo.班級(jí).上課時(shí)間from dbo.教室INNER join dbo.班級(jí)on dbo.教室.教室編號(hào)=dbo.班級(jí).教室編號(hào)where (dbo.教室.教室編號(hào)=101)教室編號(hào)存儲(chǔ)過程的建立:use classgoif exists(select name from sys.objects where name =教室 and type
13、=p)drop procedure 教室查詢gocreate procedure 教室查詢js char(8)with encryptionasselect 教室.教室編號(hào),教室類型,班級(jí).課程,班級(jí).上課時(shí)間from 教室,班級(jí)where 教室.教室編號(hào)=班級(jí).教室編號(hào) and 教室.教室編號(hào)=jsorder by 教室.教室編號(hào)go普通教室存儲(chǔ)過程的建立:use classgoif exists(select name from sys.objects where name=普通教室查詢 and type=p)drop procedure 普通教室查詢gocreate procedure
14、普通教室查詢with encryptionasselect 教室.教室編號(hào),教室類型,教室.上課時(shí)間from 教室where 教室類型=普通教室go實(shí)驗(yàn)教室存儲(chǔ)過程的建立:use classgoif exists(select name from sys.objects where name=實(shí)驗(yàn)室教室查詢 and type=p)drop procedure 實(shí)驗(yàn)室教室查詢gocreate procedure 實(shí)驗(yàn)室教室查詢with encryptionasselect 教室.教室編號(hào),教室類型,教室.上課時(shí)間from 教室where 教室類型=實(shí)驗(yàn)室一go計(jì)算機(jī)教室存儲(chǔ)過程的建立:use c
15、lassgoif exists(select name from sys.objects where name=計(jì)算機(jī)機(jī)房教室查詢 and type=p)drop procedure 計(jì)算機(jī)機(jī)房教室查詢gocreate procedure 計(jì)算機(jī)機(jī)房教室查詢with encryptionasselect 教室.教室編號(hào),教室類型,教室.上課時(shí)間from 教室where 教室類型=計(jì)算機(jī)機(jī)房一go觸發(fā)器的建立:use classgocreate trigger ins_kcon 班級(jí)for insertasinsert 教師(教師編號(hào))select 004from insertedGouse c
16、lassgocreate trigger ins_kcon 班級(jí)for insertasinsert 教室(教室編號(hào),上課時(shí)間)select 101,周一第二節(jié)from insertedgouse classgocreate trigger del_bjsjon 班級(jí) for deleteasdelete 教師where 教師編號(hào)in (select 教室編號(hào)from deleted)go7、數(shù)據(jù)庫(kù)實(shí)施階段主界面程序:/package parent_window;import java.awt.*;import java.awt.event.*;import javax.swing.*;pub
17、lic class surFace extends JFrameJButton findSt,addSt,chanSt ,delSt,exitSt;/查找,添加,刪除,推出/構(gòu)造函數(shù)public surFace()Container c=this.getContentPane();c.setLayout(new GridLayout (2,1);JPanel lowerPanel=new JPanel();c.setFont(new Font(plain,Font.PLAIN,13);JLabel label=new JLabel(歡迎進(jìn)入教室管理系統(tǒng),SwingConstants.CENTE
18、R);label.setFont(new Font(BOLD,Font.BOLD,30);c.add(label);/創(chuàng)建按鈕 addSt=new JButton(錄入);addSt.setToolTipText(添加教室信息);findSt=new JButton(查詢);findSt.setToolTipText(查詢信息);chanSt=new JButton(修改);chanSt.setToolTipText(修改教室信息);delSt=new JButton(刪除);delSt.setToolTipText(刪除教室信息);exitSt=new JButton(退出);exitSt.
19、setToolTipText(安全退出統(tǒng));lowerPanel.add(findSt);lowerPanel.add(addSt);lowerPanel.add(delSt);lowerPanel.add(exitSt);c.add(lowerPanel);/注冊(cè)監(jiān)聽器,新建獨(dú)立監(jiān)聽器類 查找:fin(),添加:ads(),刪除:del(),退出本系統(tǒng):ext()/main 方法, 實(shí)現(xiàn)主界面public static void main (String args )surFace su=new surFace();su.setSize(500,400);su.setTitle(歡迎進(jìn)人教室
20、管理系統(tǒng)!);su.setVisible(true);圖3 主界面查詢界面:import java.awt. *;import java.awt.event. *;import java.sql. *;import javax.swing. *;class DataWindow extends JFrame implements ActionListenerJTextField 待輸入教室編號(hào);JButton 確定按鈕;public DataWindow()super(教室管理系統(tǒng));setBounds(150,150,300,120);setVisible(true);Container c
21、=this.getContentPane();c.setLayout(new GridLayout(2,1);待輸入教室編號(hào)=new JTextField(15);確定按鈕=new JButton(確定);JPanel p1=new JPanel(),p2=new JPanel();p1.add(new JLabel(請(qǐng)選擇將要查詢的教室編號(hào));p1.add(待輸入教室編號(hào));p2.add(new JLabel();p2.add(確定按鈕);c.add(p1);c.add(p2);確定按鈕.addActionListener(this);addWindowListener(new Window
22、Adapter()public void windowClosing(WindowEvent e)setVisible(false); System.exit(0););public void actionPerformed(ActionEvent e)public class Apublic static void main(String args)DataWindow window=new DataWindow();window.validate();/window.setSize(500,400);圖4 查詢界面刪除程序:import java.awt. *;import java.aw
23、t.event. *;import java.sql. *;import javax.swing. *;class DataWindow extends JFrame implements ActionListenerJTextField 待輸入教室編號(hào);JButton 確定按鈕;public DataWindow()super(教室管理系統(tǒng));setBounds(150,150,300,120);setVisible(true);Container c=this.getContentPane();c.setLayout(new GridLayout(2,1);待輸入教室編號(hào)=new JTex
24、tField(15);確定按鈕=new JButton(確定);JPanel p1=new JPanel(),p2=new JPanel();p1.add(new JLabel(請(qǐng)輸入將要?jiǎng)h除的教室編號(hào)!);p1.add(待輸入教室編號(hào));p2.add(new JLabel();p2.add(確定按鈕);c.add(p1);c.add(p2);確定按鈕.addActionListener(this);addWindowListener(new WindowAdapter()public void windowClosing(WindowEvent e)setVisible(false); Sy
25、stem.exit(0););public void actionPerformed(ActionEvent e)public class Bpublic static void main(String args)DataWindow window=new DataWindow();window.validate();/window.setSize(500,400);圖5 刪除界面錄入程序:import java.awt. *;import java.awt.event. *;import java.sql. *;import javax.swing. *;class DataWindow e
26、xtends JFrame implements ActionListenerJTextField 待輸入教室編號(hào);JButton 確定按鈕;public DataWindow()super(教室管理系統(tǒng));setBounds(150,150,300,120);setVisible(true);Container c=this.getContentPane();c.setLayout(new GridLayout(2,1);待輸入教室編號(hào)=new JTextField(15);確定按鈕=new JButton(確定);JPanel p1=new JPanel(),p2=new JPanel();p1.add(new JLabel(請(qǐng)輸入錄入教室編號(hào));p1.add(待輸入教室編號(hào));p2.add(new JLabel();p2.add(確定按鈕);c.add(p1);c.add(p2);確定按鈕.addActionListener(this);addWindowListener(new WindowAdapter()public voi
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 農(nóng)村房屋購(gòu)買合同范文
- 個(gè)體戶車輛轉(zhuǎn)讓協(xié)議
- 電腦租賃合同范本2024年
- 2024年鉆機(jī)購(gòu)銷合同國(guó)際貿(mào)易合同
- 合作伙伴協(xié)議:有限合伙企業(yè)合作合同
- 短期運(yùn)輸合同書
- 勞務(wù)協(xié)議書范本中的風(fēng)險(xiǎn)防范
- 土地買賣合同范本2024年
- 校園意外傷害賠償協(xié)議
- 專業(yè)房屋建筑施工合同范本
- 建設(shè)用地報(bào)批服務(wù)投標(biāo)方案(技術(shù)方案)
- 財(cái)政學(xué):財(cái)政平衡與財(cái)政政策
- GJB438C模板-軟件開發(fā)計(jì)劃(已按標(biāo)準(zhǔn)公文格式校準(zhǔn))
- 《積極的心態(tài)-成功的一半》主題班會(huì)課件
- 測(cè)試1高斯DB數(shù)據(jù)庫(kù)題庫(kù)V1.0版本20201105題庫(kù)(329道)
- 三、大數(shù)據(jù)存儲(chǔ)技術(shù)課件
- 《“要拿我當(dāng)一挺機(jī)關(guān)槍使用”-紀(jì)念白求恩同志》
- 浙江省初中名校發(fā)展共同體2023-2024學(xué)年八年級(jí)上學(xué)期期中數(shù)學(xué)試題【含答案解析】
- 《做幸福的自己》課件
- 《柳工CLG介紹》課件
- 工程舊設(shè)備翻新噴漆合同范本
評(píng)論
0/150
提交評(píng)論