版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
13/13大數(shù)據(jù)庫實(shí)驗(yàn)報(bào)告材料華北電力大學(xué)
課程設(shè)計(jì)報(bào)告
(2014--2015年度第2學(xué)期)
名稱:數(shù)據(jù)庫原理課程設(shè)計(jì)題目:圖書管理信息系統(tǒng)院系:計(jì)算機(jī)系
班級(jí):計(jì)科1203
學(xué)號(hào):
學(xué)生姓名:
指導(dǎo)教師:熊海軍
設(shè)計(jì)周數(shù):1
成績(jī):
日期:2015年6月25日
《數(shù)據(jù)庫原理課程設(shè)計(jì)》課程設(shè)計(jì)
任務(wù)書
一、目的與要求
1.本實(shí)驗(yàn)是為計(jì)算機(jī)各專業(yè)的學(xué)生在學(xué)習(xí)數(shù)據(jù)庫原理后,為培養(yǎng)更好的解決問題和實(shí)際動(dòng)手能力
而設(shè)置的實(shí)踐環(huán)節(jié)。通過這個(gè)環(huán)節(jié),使學(xué)生具備應(yīng)用數(shù)據(jù)庫原理對(duì)數(shù)據(jù)庫系統(tǒng)進(jìn)行設(shè)計(jì)的能力。
為后繼課程和畢業(yè)設(shè)計(jì)打下良好基礎(chǔ)。
2.通過該實(shí)驗(yàn),培養(yǎng)學(xué)生在建立數(shù)據(jù)庫系統(tǒng)過程中使用關(guān)系數(shù)據(jù)理論的能力。
3.通過對(duì)一個(gè)數(shù)據(jù)庫系統(tǒng)的設(shè)計(jì),培養(yǎng)學(xué)生對(duì)數(shù)據(jù)庫需求分析、數(shù)據(jù)庫方案設(shè)計(jì)、系統(tǒng)編碼、界
面設(shè)計(jì)和軟件調(diào)試等各方面的能力。是一門考查學(xué)生數(shù)據(jù)庫原理、面向?qū)ο笤O(shè)計(jì)方法、軟件工程和信息系統(tǒng)分析與設(shè)計(jì)等課程的綜合實(shí)驗(yàn)。
二、主要內(nèi)容
針對(duì)一個(gè)具有實(shí)際應(yīng)用場(chǎng)景的中小型系統(tǒng)(見題目附錄)進(jìn)行數(shù)據(jù)庫設(shè)計(jì),重點(diǎn)分析系統(tǒng)涉及的實(shí)體、實(shí)體之間的聯(lián)系,實(shí)現(xiàn)增加、刪除、更新、查詢數(shù)據(jù)記錄等基本操作。大致分為如下步驟:
1.理解系統(tǒng)的數(shù)據(jù)庫需求,分析實(shí)體及實(shí)體間聯(lián)系,畫出E-R圖:
1.分析確定實(shí)體的屬性和碼,完成對(duì)該實(shí)體的實(shí)體完整性、用戶自定義完整性的定義。
2.設(shè)計(jì)實(shí)體之間的聯(lián)系,包括聯(lián)系類型和聯(lián)系的屬性。最后畫出完整的E-R圖。
2.根據(jù)設(shè)計(jì)好的E-R圖及關(guān)系數(shù)據(jù)庫理論知識(shí)設(shè)計(jì)數(shù)據(jù)庫模式:
1)把E-R圖轉(zhuǎn)換為邏輯模式;
2)規(guī)范化設(shè)計(jì)。使用關(guān)系范式理論證明所設(shè)計(jì)的關(guān)系至少屬于3NF并寫出證明過程;如果不屬于3NF則進(jìn)行模式分解,直到該關(guān)系滿足3NF為止,要求寫出分解過程。
3)設(shè)計(jì)關(guān)系模式間的參照完整性,要求實(shí)現(xiàn)級(jí)聯(lián)刪除和級(jí)聯(lián)更新。
4)用SQL語言完成數(shù)據(jù)庫內(nèi)模式的設(shè)計(jì)。
3.?dāng)?shù)據(jù)庫權(quán)限的設(shè)計(jì):
1)根據(jù)系統(tǒng)分析,完成授權(quán)操作;
2)了解學(xué)習(xí)收回權(quán)限的操作。
4.完成用戶界面的設(shè)計(jì),對(duì)重要數(shù)據(jù)進(jìn)行加密。
5.連接數(shù)據(jù)庫,用宿主語言實(shí)現(xiàn)系統(tǒng)所需的各種操作:
1)實(shí)現(xiàn)數(shù)據(jù)記錄的錄入、刪除、查詢和修改。
2)以視圖的形式完成復(fù)雜查詢,比如多表、多條件等。
三、進(jìn)度計(jì)劃
四、設(shè)計(jì)(實(shí)驗(yàn))成果要求
1.在DBMS(如oracle,SQLServer2005/2008,DB2等)上完成完整的數(shù)據(jù)庫的設(shè)計(jì);
2.使用可視化開發(fā)平臺(tái)完成信息系統(tǒng),要求可以正確運(yùn)行;
3.完成實(shí)驗(yàn)報(bào)告。
五、考核方式
1.在微機(jī)上檢查數(shù)據(jù)庫模式的設(shè)計(jì)、三大完整性的設(shè)計(jì)、關(guān)系屬于幾范式等;
2.在微機(jī)上檢查系統(tǒng)的運(yùn)行結(jié)果,要求學(xué)生闡述使用的相關(guān)技術(shù);
3.實(shí)驗(yàn)報(bào)告的檢查。
六、題目附錄
1.學(xué)生信息管理信息系統(tǒng)
2.圖書管理信息系統(tǒng)
3.物資管理信息系統(tǒng)
4.汽車銷售管理信息系統(tǒng)
5.超市管理信息系統(tǒng)
6.通訊錄管理信息系統(tǒng)
7.工資管理信息系統(tǒng)
8.酒店管理信息系統(tǒng)
9.小區(qū)物業(yè)管理信息系統(tǒng)
學(xué)生姓名:
指導(dǎo)教師:
年月日
一、課程設(shè)計(jì)(綜合實(shí)驗(yàn))的目的與要求
1.本實(shí)驗(yàn)是為計(jì)算機(jī)科學(xué)與技術(shù)等專業(yè)的學(xué)生在學(xué)習(xí)數(shù)據(jù)庫原理后,為培養(yǎng)更好的解決問題和實(shí)際動(dòng)手能力而設(shè)置的實(shí)踐環(huán)節(jié)。通過這個(gè)環(huán)節(jié),使學(xué)生具備應(yīng)用數(shù)據(jù)庫原理對(duì)數(shù)據(jù)庫系統(tǒng)進(jìn)行設(shè)計(jì)的能力。為后繼課程和畢業(yè)設(shè)計(jì)打下良好基礎(chǔ)。
2.通過該實(shí)驗(yàn),培養(yǎng)學(xué)生在建立數(shù)據(jù)庫系統(tǒng)過程中使用關(guān)系數(shù)據(jù)理論的能力。
3.通過對(duì)一個(gè)數(shù)據(jù)庫系統(tǒng)的設(shè)計(jì),培養(yǎng)學(xué)生對(duì)數(shù)據(jù)庫需求分析、數(shù)據(jù)庫方案設(shè)計(jì)、系統(tǒng)編碼、界面設(shè)計(jì)和軟件調(diào)試等各方面的能力。是一門考查學(xué)生數(shù)據(jù)庫原理、面向?qū)ο笤O(shè)計(jì)方法、軟件工程和信息系統(tǒng)分析與設(shè)計(jì)等課程的綜合實(shí)驗(yàn)。
二、設(shè)計(jì)(實(shí)驗(yàn))正文
1、系統(tǒng)功能圖
系統(tǒng)詳細(xì)描述與E-R圖設(shè)計(jì)
一個(gè)借閱者可以借閱多種圖書,每種圖書可以被多個(gè)借閱者借閱(假設(shè)每種館藏副本不止一本)。每種圖書有一個(gè)唯一的ID號(hào)作為標(biāo)志,每一個(gè)借閱者和管理員有一個(gè)唯一的借閱者或管理員號(hào),每一個(gè)圖書對(duì)應(yīng)一個(gè)圖書類別,每一個(gè)圖書類別有一個(gè)唯一的圖書類別編號(hào)來定義不同的圖書類別。通過設(shè)置管理員和借閱者不同權(quán)限使管理員對(duì)圖書信息和管理員信息具有增刪改的權(quán)限,借閱者可以借閱圖書。
根據(jù)用戶需求,對(duì)象的類描述如下:
1.4根據(jù)以上分析設(shè)計(jì)出系統(tǒng)的E-R圖如下:
管理管理員
借閱者
圖書
借閱
更新
1
1
1
n
n
n帳號(hào)姓名密碼
姓名帳號(hào)密碼性別出生年月
名稱
狀態(tài)
出版社出版日期描述
借閱日期
借閱編號(hào)
2、系統(tǒng)邏輯結(jié)構(gòu)設(shè)計(jì)
2.1根據(jù)以上E-R圖得到系統(tǒng)邏輯模型如下:
借閱者(借閱者帳號(hào),借閱者姓名,借閱者密碼,借閱者性別,借閱者出生年月)
圖書(圖書編號(hào),名稱,,類別名稱,狀態(tài),出版社,出版日期,描述)
管理員(管理員編號(hào),管理員姓名,管理員密碼)
類別(類別編號(hào),類別名稱)
借閱(借閱編號(hào),借閱者帳號(hào),圖書編號(hào),借閱日期)
說明:以上關(guān)系中,下劃線部分為對(duì)應(yīng)關(guān)系的主碼,加黑部分為外碼,且所有屬性均非空。
2.2滿足三范式的證明:
2.3參照完整性
各個(gè)關(guān)系間的參照情況如下圖所示:
2.4SQL語言創(chuàng)建各表
借閱者表:
CREATETABLETB_Reader
(
Rnumvarchar(20)primarykey,
Rnamevarchar(20)notnull,
Rpwdvarchar(20)notnull,
Rsexvarchar(20)notnull,
Rbirthvarchar(20)notnull
)
圖書表:
CREATETABLETB_Book
(
Bnumvarchar(20)primarykey,
Bnamevarchar(20)notnull,
Bstateintnotnull,
Btypevarchar(20)notnull,
Bauthorvarchar(20)notnull,
Bpublishervarchar(20)notnull,
Bpublishvarchar(20),
Bdescribvarchar(20),
foreignkey(Btype)referencesTB_Type(typename)
)
管理員表:
CREATETABLETB_Admin
(
Anumvarchar(20)primarykey,
Anamevarchar(20)notnull,
Apwdvarchar(20)notnull,
)
借閱表:
CREATETABLETB_Borrow
(
Idintprimarykey,
Bnumvarchar(20)notnull,
Rnumvarchar(20)notnull,
Rtimevarchar(20)notnull,
Rtimevarchar(20),
foreignkey(Bnum)referencesBook(Bnum),
foreignkey(Rnum)referencesReader(Rnum),
ondeletecascade
onupdatecascade
)
權(quán)限表:
CREATETABLETB_Type
(
Typenumvarchar(20)primarykey,
Typenamevarchar(20)notnull,
)
建表結(jié)果:
2.5建成各表的截圖
●Admin表
●Book表
●Borrow表
●Reader表
●Type表
3.連接并操作數(shù)據(jù)庫舉例:
3.1連接數(shù)據(jù)庫
4.界面設(shè)計(jì)與運(yùn)行結(jié)果
根據(jù)系統(tǒng)所需實(shí)現(xiàn)的功能及系統(tǒng)的用戶類型不同,將界面設(shè)計(jì)如下:
◆登陸界面
◆借閱者操作界面
◆管理員操作界面
◆管理員管理界面
◆借閱者管理界面
◆圖書管理界面
圖書類別管理界面
三、課程設(shè)計(jì)總結(jié)或結(jié)論
通過此次數(shù)據(jù)庫的課程設(shè)計(jì),真正達(dá)到了學(xué)與用的結(jié)合,增強(qiáng)了對(duì)數(shù)據(jù)庫方面應(yīng)用的理解,對(duì)自己今后參與開發(fā)數(shù)據(jù)庫系統(tǒng)積累了不少經(jīng)驗(yàn),在實(shí)驗(yàn)過程中,對(duì)數(shù)據(jù)庫設(shè)計(jì)理念及思想上有更高的認(rèn)識(shí),從需求分析,到概念設(shè)計(jì)和邏輯設(shè)計(jì),E-R圖的表示,數(shù)據(jù)表的創(chuàng)建,學(xué)會(huì)了不少有關(guān)數(shù)據(jù)庫開發(fā)過程中的知識(shí)。同時(shí)增強(qiáng)了自己在數(shù)據(jù)庫中應(yīng)用SQL語言的靈活性,其中包括,
插入、刪除、修改、查詢,牽涉表和表之間的聯(lián)系,約束項(xiàng)的設(shè)置,使邏輯更嚴(yán)密。此外在前臺(tái)界面編寫時(shí)自學(xué)了很多C#編程語言的知識(shí),收獲很大。
在實(shí)驗(yàn)過程中,遇到的問題很多,比如插入操作在前臺(tái)頁面獲取的值為空,數(shù)據(jù)庫拒絕了此插入操作,我的解決方法是將所有表的所有屬性都改成了不能為空,避免了數(shù)據(jù)在頁面和數(shù)據(jù)庫之前傳輸操作時(shí)的錯(cuò)誤.
在整個(gè)過程中,我上網(wǎng)和從書中查了不少資料,學(xué)以致用,自我創(chuàng)新,從學(xué)到用,從用又到學(xué),不斷修改,完善系統(tǒng)。雖然不能達(dá)到老師要求那樣的約束完善的圖書館管理系統(tǒng),特別是對(duì)借閱者借閱圖書部分的實(shí)現(xiàn)比較簡(jiǎn)單。但在這短短的一周,也實(shí)現(xiàn)了較為完善的基本功能,體會(huì)到加強(qiáng)理論學(xué)習(xí)對(duì)完善系統(tǒng)會(huì)有很多幫助。另外,在發(fā)現(xiàn)問題、分析問題和解決問題的過程中,學(xué)到了很多東西,最后感謝老師的悉心教導(dǎo)。
四、
?Borrow表:
?Reader表:
?Type表:
部分程序代碼:
//MainLogin
usingSystem;
usingSystem.Collections.Generic;
usinghttp://./doc/c18efbe9f321dd36a32d7375a417866fb94ac051.htmlponentModel;
usingSystem.Data;
usingSystem.Drawing;
usingSystem.Linq;
usingSystem.Text;
usingSystem.Windows.Forms;
usingBLL;
namespaceLibrary
{
publicpartialclassMainLogin:Form
{
BLL.ReaderBLOrb=newReaderBLO();
AdminBLOab=newAdminBLO();
publicMainLogin()
InitializeComponent();
comboBox1.SelectedIndex=0;
}
privatevoidbt_login_Click(objectsender,EventArgse)
{
stringnum=tb_num.Text.Trim();
stringpwd=tb_pwd.Text.Trim();
intindex=comboBox1.SelectedIndex;
if(index==0)
{
boolflag=rb.IsReaderLogin(num,pwd);
if(flag)
{
Formadl=newReaderManage(num,pwd);
this.Hide();
adl.Show();
}
else
{
MessageBox.Show("賬戶和密碼不匹配,請(qǐng)重新輸入!","警告",MessageBoxButtons.OK);
tb_num.Text="";
tb_pwd.Text="";
tb_num.Focus();
}
}
else
{
boolflag=ab.IsAdminLogin(num,pwd);
if(flag)
{
Formadl=newAdminManage();
this.Hide();
adl.Show();
}
else
{
MessageBox.Show("賬戶和密碼不匹配,請(qǐng)重新輸入!","警告",MessageBoxButtons.OK);
tb_num.Text="";
tb_pwd.Text="";
tb_num.Focus();
}
}
}
privatevoidbt_exit_Click(objectsender,EventArgse)
{
Application.Exit();
}
privatevoidllb_login_LinkClicked(objectsender,LinkLabelLinkClickedEventArgse)
{
Formadl=newAdminLogin();
this.Hide();
adl.Show();
}
protectedoverridevoidOnClosing(CancelEventArgse)
{
//退出提示,真的要退出,才允許退出
if(MessageBox.Show(this,"確認(rèn)退出?","提示信息:",MessageBoxButtons.YesNo,MessageBoxIcon.Question)==DialogResult.Yes)
{
e.Cancel=false;
}
else
{
e.Cancel=true;
}
}
privatevoidlinkLabel1_LinkClicked(objectsender,LinkLabelLinkClickedEventArgse)
{
try
{
System.Diagnostics.Process.Start("http://./doc/c18efbe9f321dd36a32d7375a417866fb94ac051.html/389604229/profile");
}
catch
{
//訪問鏈接失敗
}
}
}
}
//AdminManage
usingSystem;
usingSystem.Collections.Generic;
usinghttp://./doc/c18efbe9f321dd36a32d7375a417866fb94ac051.htmlponentModel;
usingSystem.Data;
usingSystem.Drawing;
usingSystem.Linq;
usingSystem.Text;
usingSystem.Windows.Forms;
usingBLL;
namespaceLibrary
{
publicpartialclassAdminManage:Form
{
BookBLObb=newBookBLO();
AdminBLOab=newAdminBLO();
publicAdminManage()
{
InitializeComponent();
bt_TopManage.Enabled=false;
}
//分別按圖書編號(hào)、圖書名、出版社查找圖書
privatevoidbt_sure_Click(objectsender,EventArgse)
{
stringnum=tb_num.Text.Trim();
DataTabledt=bb.SearchBorrowBookByNum(num);
if(dt.Rows.Count>0)
{
dataGridView1.DataSource=dt;
bt_TopManage.Enabled=true;
tb_num.Enabled=false;
}
else
{
MessageBox.Show("未找到相應(yīng)編號(hào)的圖書!","警告",MessageBoxButtons.OK);
}
}
privatevoidbt_TopManage_Click(objectsender,EventArgse)
stringnum=tb_num.Text.Trim();
boolb=ab.LogoutBookByBnum(num);
if(b)
{
MessageBox.Show("更新圖書狀態(tài)成功!","提示",MessageBoxButtons.OK);
dataGridView1.DataSource=bb.SearchBorrowBookByNum(num);
tb_num.Enabled=true;
tb_num.Text="";
}
else
{
MessageBox.Show("更新圖書狀態(tài)未成功!","提示",MessageBoxButtons.OK);
}
}
privatevoid類別管理ToolStripMenuItem_Click(objectsender,EventArgse)
{
Formadl=newTypeManage();
//this.Hide();
adl.Show();
}
privatevoid圖書管理ToolStripMenuItem_Click(objectsender,EventArgse)
{
//圖書信息添加頁面
Formadl=newManageBook();
//this.Hide();
adl.Show();
}
privatevoid借閱者管理ToolStripMenuItem_Click(objectsender,EventArgse)
Formadl=newManageReader();
//this.Hide();
adl.Show();
}
privatevoid管理員管理ToolStripMenuItem_Click(objectsender,EventArgse)
{
//添加管理員頁面
Formadl=newManageAdmin();
//this.Hide();
adl.Show();
}
privatevoid退出登錄ToolStripMenuItem1_Click(objectsender,EventArgse)
{
MainLoginlo=newMainLogin();
lo.Show();
this.Visible=false;
}
}
}
//ReaderManage
usingSystem;
usingSystem.Collections.Generic;
usinghttp://./doc/c18efbe9f321dd36a32d7375a417866fb94ac051.htmlponentModel;
usingSystem.Data;
usingSystem.Drawing;
usingSystem.Linq;
usingSystem.Text;
usingSystem.Windows.Forms;
usingBLL;
namespaceLibrary
{
publicpartialclassReaderManage:Form
{
BookBLObb=newBookBLO();
ReaderBLOrb=newReaderBLO();
privatestringrNum;
privatestringrPsw;
publicReaderManage()
{
InitializeComponent();
comboBox1.SelectedIndex=0;
}
publicReaderManage(stringnum,stringpsw)
{
InitializeComponent();
comboBox1.SelectedIndex=0;
rNum=num;
rPsw=psw;
dataGridView1.AllowUserToResizeColumns=false;
dataGridView1.AllowUserToResizeRows=false;
dataGridView1.ColumnHeadersHeightSizeMode=DataGridViewColumnHeadersHeightSizeMode.DisableResizing;
dataGridView1.RowHeadersWidthSizeMode=DataGridViewRowHeadersWidthSizeMode.DisableResizing;
}
privatevoidbt_sure_Click(objectsender,EventArgse)
{
inti=comboBox1.SelectedIndex;
strings=tb_insert.Text.Trim();
if(i==0)//圖書編號(hào)
{
dataGridView1.DataSource=bb.SearchBookByNum(s);
}
if(i==1)//圖書名稱
{
dataGridView1.DataSource=bb.SearchBookByName(s);
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 山西省運(yùn)城市聞喜縣部分學(xué)校2025-2026學(xué)年七年級(jí)上學(xué)期期末測(cè)試生物試卷(含答案)
- 2025跨年元旦新年春節(jié)煙花市集(請(qǐng)你看煙花)活動(dòng)策劃方案
- 餐廳人員介紹
- 12月十大金股:十二月策略和十大金股
- 飛機(jī)配送員培訓(xùn)課件大全
- 2026年濱州陽信縣事業(yè)單位公開招聘人員(30人)備考考試試題及答案解析
- 2026年上半年黑龍江事業(yè)單位聯(lián)考省科學(xué)院招聘24人備考考試試題及答案解析
- 食品安全管理人員制度
- 2026山東事業(yè)單位統(tǒng)考濱州市東平縣初級(jí)綜合類崗位招聘78人備考考試試題及答案解析
- 食品公司營(yíng)銷管理制度(3篇)
- 2020海灣消防GST-DJ-N500-GST-DJ-N900 消防設(shè)備電源狀態(tài)監(jiān)控器安裝使用說明書
- 河北省滄州市青縣2024-2025學(xué)年七年級(jí)上學(xué)期期末生物試卷
- 淮安市2022-2023學(xué)年七年級(jí)上學(xué)期期末地理試題
- 2024屆高考語文二輪復(fù)習(xí)專題-文言文閱讀(上海專用)(解析版)
- 2024可打印的離婚協(xié)議書模板
- EPC項(xiàng)目組織架構(gòu)圖
- 《房顫的藥物治療》課件
- 租賃手機(jī)籌資計(jì)劃書
- 疾病產(chǎn)生分子基礎(chǔ)概論
- 演示文稿第十五章文化中心轉(zhuǎn)移
- 醫(yī)療設(shè)備購置論證評(píng)審表
評(píng)論
0/150
提交評(píng)論