大型數(shù)據(jù)庫課程設計報告-機房管理系統(tǒng)_第1頁
大型數(shù)據(jù)庫課程設計報告-機房管理系統(tǒng)_第2頁
大型數(shù)據(jù)庫課程設計報告-機房管理系統(tǒng)_第3頁
大型數(shù)據(jù)庫課程設計報告-機房管理系統(tǒng)_第4頁
大型數(shù)據(jù)庫課程設計報告-機房管理系統(tǒng)_第5頁
已閱讀5頁,還剩22頁未讀, 繼續(xù)免費閱讀

付費下載

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領

文檔簡介

千里之行,始于足下讓知識帶有溫度。第第2頁/共2頁精品文檔推薦大型數(shù)據(jù)庫課程設計報告——機房管理系統(tǒng)大型數(shù)據(jù)庫課程設計

設計報告

題目:機房管理系統(tǒng)

學號:

同學姓名:指導老師:

提交時光:

名目

第1章需求分析(1)

1.1需求調(diào)查(1)

1.2系統(tǒng)功能分析(2)

1.3面向用戶需求分析(3)

第2章面對對象分析和設計(4)

第3章規(guī)律結(jié)構(gòu)設計(6)

3.1類和對象向關系模式轉(zhuǎn)換(8)

3.2關系模式優(yōu)化(9)

第4章數(shù)據(jù)庫物理結(jié)構(gòu)設計(9)

4.1存取辦法設計(9)

4.2存儲結(jié)構(gòu)設計(9)

4.3物理設計(10)

第5章數(shù)據(jù)庫完整性設計(12)

5.1主鍵及唯一性索引(12)

5.2參照完整性設計(12)

5.3Check約束(12)

5.4Default約束(12)

5.5觸發(fā)器設計(13)

第6章數(shù)據(jù)庫視圖設計(15)

第7章數(shù)據(jù)庫存儲過程設計(16)

第8章權(quán)限設計(17)

總結(jié)(18)

機房管理系統(tǒng)后臺數(shù)據(jù)庫

第1章需求分析

1.1需求調(diào)查

針對普通大學機房管理系統(tǒng)的需求分析,通過對各個用戶的調(diào)查,該機房管理系統(tǒng)有如下需求:

1)機房管理:實現(xiàn)機房管理員對機房信息、計算機信息以及教學班上機相關

信息的管理。機房管理員可以對包括機房名稱、該機房擁有的計算機數(shù)目、計算機編號、計算機上機費率在內(nèi)的相關機房信息、計算機信息舉行管理,也可以為教學班的課程分配上機時光和地點。

2)基本信息管理:實現(xiàn)對課程信息和教學班的基本信息的管理,包括課程的

老師、上機時光和上機地點等基本信息,以及教學班同學、課程和成果等基本信息的管理。同學可以對自己的個人基本信息舉行管理,機房管理員可以對上機時光和地點等舉行管理,任課老師可以對教學班同學課程成果舉行修改。

3)查詢:實現(xiàn)對機房信息、同學信息、課程信息和教學班信息的相關查詢。

機房管理員可以對機房各項相關信息舉行查詢,同學可以對包括學號、姓名、民族、性別、誕生日期、班級、系別、專業(yè)和卡號在內(nèi)的同學個人基本信息,課程的老師、上機時光、上機地點和成果在內(nèi)的課程信息,以及包括上機收費和余額在內(nèi)的充值卡信息舉行查詢,任課教師可以對教學班同學信息、課程信息、上機時光、上機地點以及成果等基本信息舉行相關查詢。

4)充值管理:實現(xiàn)充值人員對同學充值信息的管理,包括卡號、充值時光、

充值金額以及余額等基本信息。同學通過充值人員為自己的卡充值,也可以了解自己的充值卡余額。

5)上機管理:實現(xiàn)對同學上機信息和機房收費信息的管理。下機后,系統(tǒng)將

自動修改該同學的充值卡賬戶余額;通過機房收費信息可以統(tǒng)計各機房上機的費用。

1.2系統(tǒng)功能分析

1)機房信息管理:用于實現(xiàn)機房管理員對機房信息的管理,機房管理員可以

通過對包括機房名以及該機房擁有的計算機數(shù)目在內(nèi)的所有機房基本信息舉行查詢、修改和刪除。

2)計算機基本信息管理:用于實現(xiàn)機房管理員對計算機各項基本信息的管理,

包括對計算機編號、計算機所屬機房名和上機費率的查詢、修改和刪除。

3)同學基本信息管理:用于實現(xiàn)老師對同學的基本信息的管理,有查詢、修

改和刪除同學的學號、姓名、民族、性別、誕生日期、系別、專業(yè)、班級以及卡號等基本信息的功能。

4)教學班信息管理:用于實現(xiàn)任課老師對教學班信息的管理,包括對教學班

同學信息、課程信息和成果信息等基本信息的查詢,以及對教學班同學成果的查詢、修改和刪除。

5)教學班上機信息管理:用于機房管理員對教學班同學上機信息的管理,包

括對課程上機周次、上機時光和上機地點等基本信息的查詢、修改和刪除。

6)充值信息管理:用于充值人員對同學充值信息的管理,包括卡號、充值時

間、充值金額以及余額等基本信息。同學繳納費用,充值人員為其充值,并提供充值查詢。

7)上機記下過程信息管理:用于對同學上機信息的記下管理,包括計算機編

號、機房名、日期、上機時光、下機時光、學號以及消費金額等基本信息。

每次同學下機后,系統(tǒng)將自動修改該同學的賬戶余額,并保存該同學此次上機的具體信息。

8)機房費用統(tǒng)計信息管理:用于實現(xiàn)充值人員對各個機房的收費信息的管理,

包括機房名、日期和上機費用等基本信息。系統(tǒng)管理員可以通過對同學的收費信息來統(tǒng)計各機房上機的總體費用。

1.3面向用戶需求分析

在機房管理系統(tǒng)中,最主要的功能就是舉行一系列的查詢和各類數(shù)據(jù)的管理。因此,可以將機房管理系統(tǒng)分為管理系統(tǒng)和查詢系統(tǒng)兩個子系統(tǒng)。而在所設計的機房管理系統(tǒng)中,主要有四類用戶,即同學用戶、老師用戶、機房管理員和系統(tǒng)管理員。各類用戶在該系統(tǒng)中的需求不同,權(quán)限也不同。因此,為了更明確更系統(tǒng)地了解用戶需求,我們還可以將管理系統(tǒng)再細分為同學管理系統(tǒng)、老師管理系統(tǒng)、機房管理員管理系統(tǒng)和系統(tǒng)管理員管理系統(tǒng)。同樣,將查詢系統(tǒng)也按用戶職能舉行細分,即同學查詢系統(tǒng)、老師查詢系統(tǒng)、機房管理員查詢系統(tǒng)和系統(tǒng)管理員查詢系統(tǒng)。這樣細分后,看似把系統(tǒng)需求繁雜化了。其實不然,細分后使各用戶需求越發(fā)明確了,并且能更好的掌握系統(tǒng)需求。

下面從細分后的各個子系統(tǒng)分析子系統(tǒng)的需求:

1)同學管理子系統(tǒng)。同學用戶在使用該系統(tǒng)時,首先必需通過賬號和密碼登錄

系統(tǒng)。因此,對密碼的設置和修改是最基本的需求。因為全部用戶在使用該

系統(tǒng)時都需要賬號和密碼,所以在后面的用戶需求分析時不再重復對此需求舉行描述。在登錄系統(tǒng)后,同學用戶的最主要的需求就是通過該系統(tǒng)舉行個人基本信息管理和選課。第二,同學用戶還要求可以通過系統(tǒng)舉行個人基本信息的維護(包括添加、刪除和修改信息)以及同學選課。

2)同學查詢子系統(tǒng)。同學用戶在該系統(tǒng)中是最低級的用戶,所以可以查詢的數(shù)

據(jù)也是有限的,主要有個人基本信息查詢,個人選課信息查詢,個人上機信息查詢。在舉行選課的時候還要對課程信息舉行查詢。

3)老師管理子系統(tǒng)。該系統(tǒng)中,老師用戶可以對同學的課程成果舉行錄入。

4)老師查詢子系統(tǒng)。老師用戶不僅要有查詢教學班同學信息的功能,還要有查

詢所選課程信息的功能。當同學用戶舉行選課完畢后,老師用戶有對選課同學花名冊、任課課程信息的查看的需求。當課程結(jié)束后,老師在錄入同學成果的時候,也要對課程信息、同學信息舉行查詢。老師用戶的另一個需求是對同學成果的查詢,這個成果查詢不僅可以查詢同學用戶的個人成果,還可以查詢所帶課程的成果和全部同學的成果。

5)充值人員管理子系統(tǒng)。作為充值人員,具備給同學充值卡充值的需求(即修

改同學賬戶的賬戶余額),也可以通過機房收費信息統(tǒng)計各機房上機的費用。

6)充值人員查詢子系統(tǒng)。充值人員在給充值卡充值的時候,有查詢充值卡信息

的需求;統(tǒng)計各機房上機總費用的時候,還有查詢各機房詳細上機收費信息的相關需求。

7)機房管理員管理子系統(tǒng)。首先是個人信息的修改。對于機房管理員來說,該

系統(tǒng)應當可以協(xié)助他舉行個人信息(即姓名)的修改;機房管理員還有對機房信息和計算機信息舉行管理的需求;在教學班課程需要支配上機時,機房管理員還有利用系統(tǒng)舉行上機支配的需求,即對上機周次、上機日期和上機地點的支配。

8)機房管理員查詢子系統(tǒng)。機房管理員首先要有機房信息和計算機信息查詢的

需求,除了這些需求外,機房管理員還應當可以查詢需要支配上機的教學班的同學人數(shù),以及已經(jīng)支配好的教學班上機的相關信息。

第2章面對對象分析和設計

類和對象設計如下:

第3章規(guī)律結(jié)構(gòu)設計

局部E-R圖

機房實體E-R圖

計算機實體E-R圖

同學實體E-R圖

課程實體E-R圖

充值卡實體E-R圖

全局E-R圖:

3.1類和對象向關系模式轉(zhuǎn)換

room(機房名、計算機數(shù)目、費率(元/小時)、管理員)

computer(計算機編號、機房名)

student(班級編號、學號、姓名、民族、性別、誕生日期、系別、專業(yè)、卡號、課程名、老師、上課周次、上機時光、上機地點、成果)

course(課程名、專業(yè)、老師、上課周次、上機時光、上機地點、成果)

sc(學號、姓名、性別、系別、專業(yè)、班級、課程名)

card(卡號、學號、姓名、性別、系別、專業(yè)、班級、充值日期、充值金額、經(jīng)辦人、余額)

reinformation(計算機編號、機房名、學號、卡號、姓名、性別、系別、專業(yè)、班級、上機日期、上機類型、起始時光、下機時光、消費金額)

3.2關系模式優(yōu)化

room(機房名、計算機數(shù)目、管理員)

computer(計算機編號、機房名、費率(元/小時))

student(班級編號、學號、姓名、民族、性別、誕生日期、系別、專業(yè)、卡號)

course(課程名、專業(yè)、老師、上課周次、上機時光、上機地點)

sc(學號、課程名、成果)

card(卡號、充值日期、充值金額、經(jīng)辦人、余額)

reinformation(計算機編號、機房名、學號、卡號、上機日期、上機類型、起始時光、下機時光、消費金額)

第4章數(shù)據(jù)庫物理結(jié)構(gòu)設計

4.1存取辦法設計

數(shù)據(jù)庫系統(tǒng)是多用戶分享的系統(tǒng),對同一個關系要建立多條存儲路徑才干滿足多用戶的多種應用要求。對于機房管理系統(tǒng)來說,為了提高某些屬性(如:機房名,計算機編號,同學學號,課程名,同學成果,選課信息等)的查詢速度,可以挑選聚簇存取的辦法,即把這些屬性上具有相同值的元組集中放在延續(xù)的物理塊上。這樣在查詢某個系別或是查詢某個專業(yè)或某班級的同學狀況或選課等時就會大大提高查詢速度。因此,該系統(tǒng)中挑選聚簇存取辦法。

4.2存儲結(jié)構(gòu)設計

機房管理系統(tǒng)是一個大型復雜的計算機網(wǎng)絡信息系統(tǒng),采納基于掃瞄器/服務器(B/S),客戶端/服務器(C/S)混合的應用體系結(jié)構(gòu)來建設機房管理系統(tǒng)。機房管理系統(tǒng)采納Microsoft公司推出的SQLServer2022,并用SQL舉行數(shù)據(jù)庫的建立和數(shù)據(jù)庫中數(shù)據(jù)的維護和查詢。

4.3物理設計

實現(xiàn)該設計的環(huán)境為WindowsXPProfessional+MSSQLServer2022或以上版本。

1、建立機房管理系統(tǒng)數(shù)據(jù)庫

createdatabase機房管理系統(tǒng)

onprimary(

name=機房管理系統(tǒng)數(shù)據(jù)文件,

filename='f:\機房管理系統(tǒng)\機房管理系統(tǒng)數(shù)據(jù)文件.mdf',

size=10MB,

maxsize=unlimited,

filegrowth=10%)

logon(

name=機房管理系統(tǒng)日志文件,

filename='f:\機房管理系統(tǒng)\機房管理系統(tǒng)日志文件.ldf',

size=3MB,

maxsize=unlimited,

filegrowth=1MB)

2、建立機房信息表

createtableroom(

機房名char(10)notnullprimarykey,

計算機數(shù)目int,

管理員varchar(20)notnull)

3、建立計算機信息表

createtablecomputer(

計算機編號intnotnull,

機房名char(10)notnull,

費率(元/小時)int,

primarykey(計算機編號,機房名))

4、建立同學信息表

createtablestudent(

班級編號intnotnull,

學號intnotnullprimarykey,

姓名varchar(20)notnull,

性別bitnotnull,

民族char(10),

誕生日期char(10),

系別varchar(20)notnull,

專業(yè)varchar(30)notnull,

卡號int)

5、建立課程信息表

createtablecourse(

專業(yè)nvarchar(50)notnull,

課程名nvarchar(50)notnull,

老師nvarchar(30)notnull,

上課周次char(35)notnull,

上課時光char(30)notnull,

上機地點char(15)notnull,primarykey(專業(yè),課程))

6、建立同學選課信息表

createtablesc(

學號intnotnull,

課程名nvarchar(50)notnull,

班級編號intn(50)notnull,otnull,成果char(10),

primarykey(學號,課程))

7、建立充值卡信息表

createtablecard(

卡號intnotnullprimarykey,

充值日期nvarchar(50)notnull,充值金額floatnotnull,

經(jīng)辦人varchar(20)notnull,

余額float)

8、建立上機信息記下表

createtablereinformation(

計算機編號intnotnull,

機房名char(10)notnull,

卡號intnotnull,

上機日期nvarchar(50)notnull,

上機類型nvarchar(50)notnull,

起始時光char(20)notnull,

下機時光char(20)notnull,

消費金額floatnotnull,

primarykey(卡號,起始時光))

第5章數(shù)據(jù)庫完整性設計

5.1主鍵及唯一性索引

5.2參照完整性設計

1、sc表中將屬性學號設計為外鍵

altertablescaddforeignkey(學號)referencesstudent(學號)

2、reinformation表中將屬性卡號設計為外鍵

altertablereinformationaddforeignkey(卡號)referencescard(卡號)3、computer表中將屬性機房名設計為外鍵

altertablecomputeraddforeignkey(機房名)referencesroom(機房名)4、student表中將屬性卡號設計為外鍵

altertablestudentaddforeignkey(卡號)referencescard(卡號)

5.3Check約束

1、student表中將性別舉行check約束:check(性別in(0,1))

2、sc表中將成果舉行check約束:check(成果>=0and成果<=100)5.4Default約束

1、student表中性別默認值設為:1。default(1)

2、student表中民族默認值設為:漢族。default('漢族')

5.5觸發(fā)器設計

1、在room表中建立刪改機房名觸發(fā)器

createtriggerroom_trig

onroomafterupdate,delete

asbegin

if(update(機房名))

begin

updatecomputerset機房名=(select機房名frominserted)where機房名=(select機房名fromdeleted)

updatereinformationset機房名=(select機房名frominserted)where機房名=(select機房名fromdeleted)

end

elsebegin

deletefromcomputer

where機房名in(select機房名fromdeleted)

deletefromreinformation

where機房名in(select機房名fromdeleted)

end

end

2、在student表中建立刪改學號觸發(fā)器

createtriggerstudent_trig

onstudentafterupdate,delete

asbegin

if(update(學號))

updatescset學號=(select學號frominserted)

where學號=(select學號fromdeleted)

else

deletefromsc

where學號in(select學號fromdeleted)

end

3、在sc表中建立刪改課程名觸發(fā)器

createtriggersc_trig

onscafterupdate,delete

asbegin

if(update(課程名))

updatecourseset課程名=(select課程名frominserted)

where課程名=(select課程名fromdeleted)

else

deletefromcourse

where課程名in(select課程名fromdeleted)

end

4、在course表中建立刪改課程名觸發(fā)器

createtriggercourse_trig

oncourseafterupdate,delete

asbegin

if(update(課程名))

updatescset課程名=(select課程名frominserted)

where課程名=(select課程名fromdeleted)

else

deletefromsc

where課程名in(select課程名fromdeleted)

end

5、在computer表中建立刪改計算機編號觸發(fā)器

createtriggercomputer_trig

oncomputerafterupdate,delete

asbegin

if(update(計算機編號))

updatereinformationset計算機編號=(select計算機編號frominserted)where計算機編號=(select計算機編號fromdeleted)

else

deletefromreinformation

where計算機編號in(select計算機編號fromdeleted)

end

6、在card表中建立刪改卡號觸發(fā)器

createtriggercard_trig

oncardafterupdate,delete

asbegin

if(update(卡號))

updatereinformationset卡號=(select卡號frominserted)

where卡號=(select卡號fromdeleted)

else

deletefromreinformation

where卡號in(select卡號fromdeleted)

end

第6章數(shù)據(jù)庫視圖設計

1、建立機房信息視圖

createviewroom_viewasselect*fromroom;

2、建立計算機信息視圖

createviewcomputer_viewasselect*fromcomputer;

3、建立同學信息視圖

createviewstudent_viewas

select學號,姓名,性別,民族,誕生日期,系別,專業(yè),班級編號,卡號fromstudent;4、建立課程信息視圖

createviewcourse_viewasselect*fromcourse;

5、建立同學選課信息視圖

createviewsc_viewasselect*fromsc;

6、建立同學充值卡信息視圖

createviewcard_viewasselect*fromcard;

7、建立上機信息記下視圖

createviewreinformation_viewasselect*fromreinformation;

8、建立同學上機信息視圖

createviewstu_com_viewas

selectstudent.學號,student.姓名,course.課程,老師,上課周次,上機時光,上機地點fromstudent,sc,course

wherestudent.學號=sc.學號andsc.課程=course.課程

andstudent.專業(yè)=course.專業(yè);

9、建立班級上機信息視圖

createviewcla_com_viewas

selectdistinctstudent.班級編號,course.課程,老師,上課周次,上機時光,上機地點fromstudent,sc,course

wheresc.學號=student.學號andstudent.專業(yè)=course.專業(yè)andsc.課程=course.課程;

10、建立班級同學選課信息視圖

createviewcla_sc_viewas

selectstudent.班級編號,student.學號,姓名,course.課程,成果

fromstudent,sc,course

wheresc.學號=student.學號andstudent.專業(yè)=course.專業(yè)andsc.課程=course.課程;

11、建立機房費用統(tǒng)計信息視圖

createviewrom_moy_viewas

select機房名,上機日期,sum(消費金額)as總消費

fromreinformation

groupby機房名,上機日期;

第7章數(shù)據(jù)庫存儲過程設計

1、建立添加機房存儲過程

createprocedureroomadd

(

@機房名char(10),@計算機數(shù)目int,@管理員varchar(20)

)

asbegin

insertintoroom

values(@機房名,@計算機數(shù)目,@管理員)

end

return

2、建立添加計算機存儲過程

createprocedurecomputeradd

(

@計算機編號int,@機房名char(10),@(費率(元/小時))int

)

asbegin

insertintocomputer

values(@計算機編號,@機房名,@(費率(元/小時)))

end

return

3、建立添加同學存儲過程

createprocedurestudentadd

(

@班級編號int,@學號int,@姓名varchar(20),@性別bit,

@誕生日期char(10),@系別varchar(20),

@專業(yè)varchar(30),@卡號int,@民族char(10)

)

asbegin

insertintostudent

values(@班級編號,@學號,@姓名,@性別,@誕生日期,@系別,@專業(yè),@卡號,@民族)

end

return

4、建立添加課程存儲過程

createprocedurecourseadd

(

@專業(yè)nvarchar(50),@課程名nvarchar(50),@老師varchar(30),@上課周次char(35),

@上機時光char(10),@上機地點char(15)

)

asbegin

insertintocourse

values(@專業(yè),@課程名,@老師,@上課周次,@上機時光,@上機地點)

end

return

5、建立選課存儲過程

createprocedurescadd

(

@學號int,@課程名nvarchar(50),@成果char(10)

)

asbegin

insertintosc

values(@學號,@課程名,@成果)

end

return

第8章權(quán)限設計

1、給機房管理員授權(quán):

grantselect,update,deleteonroom_viewto機房管理員

grantselect,update,deleteoncomputer_viewto機房管理員

grantselectoncourse_viewto機房管理員

grantselectonsc_viewto機房管理員

grantselectonreinformation_viewto機房管理員

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論