大數(shù)據(jù)庫實(shí)驗(yàn)報(bào)告材料華北電力大學(xué)_第1頁
大數(shù)據(jù)庫實(shí)驗(yàn)報(bào)告材料華北電力大學(xué)_第2頁
大數(shù)據(jù)庫實(shí)驗(yàn)報(bào)告材料華北電力大學(xué)_第3頁
大數(shù)據(jù)庫實(shí)驗(yàn)報(bào)告材料華北電力大學(xué)_第4頁
大數(shù)據(jù)庫實(shí)驗(yàn)報(bào)告材料華北電力大學(xué)_第5頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費(fèi)閱讀

付費(fèi)下載

下載本文檔

版權(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論