版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
現(xiàn)代數(shù)據(jù)庫技術(shù)南京航空航天大學南京航空航天大學數(shù)據(jù)庫課程設計報告班級學號姓名指導老師E-mail二零一二年五月摘要運用數(shù)據(jù)庫基本理論與應用知識,在微機RDBMS(SQLServer)的環(huán)境上建立一個數(shù)據(jù)庫應用系統(tǒng)。要求把現(xiàn)實世界的事物及事物之間的復雜關系抽象為信息世界的實體及實體之間聯(lián)系的信息模型,再轉(zhuǎn)換為機器世界的數(shù)據(jù)模型和數(shù)據(jù)文件,并對數(shù)據(jù)文件實施檢索、更新和控制等操作。關鍵詞:設計目的,設計要求,軟件概要正文1.設計目的課程設計為學生提供了一個既動手又動腦,獨立實踐的機會,將課本上的理論知識和實際有機的結(jié)合起來,鍛煉學生的分析解決實際問題的能力。提高學生適應實際,實踐編程的能力。課程設計的目的:加深對數(shù)據(jù)庫系統(tǒng)、軟件工程、程序設計語言的理論知識的理解和應用水平;在理論和實驗教學基礎上進一步鞏固已學基本理論及應用知識并加以綜合提高;學會將知識應用于實際的方法,提高分析和解決問題的能力,增強動手能力;為畢業(yè)設計和以后工作打下必要基礎。2.設計要求運用數(shù)據(jù)庫基本理論與應用知識,在微機RDBMS(SQLServer)的環(huán)境上建立一個數(shù)據(jù)庫應用系統(tǒng)。要求把現(xiàn)實世界的事物及事物之間的復雜關系抽象為信息世界的實體及實體之間聯(lián)系的信息模型,再轉(zhuǎn)換為機器世界的數(shù)據(jù)模型和數(shù)據(jù)文件,并對數(shù)據(jù)文件實施檢索、更新和控制等操作。用E-R圖設計選定題目的信息模型;設計相應的關系模型,確定數(shù)據(jù)庫結(jié)構(gòu);分析關系模式各屬于第幾范式,闡明理由;設計應用系統(tǒng)的系統(tǒng)結(jié)構(gòu)圖,確定系統(tǒng)功能;通過設計關系的主碼約束、外碼約束和使用CHECK實現(xiàn)完整性控制;為參照關系設計插入、刪除、修改觸發(fā)器;實現(xiàn)應用程序設計、編程、優(yōu)化功能;對系統(tǒng)的各個應用程序進行集成和調(diào)試,進一步優(yōu)化系統(tǒng)功能、改善系統(tǒng)用戶界面完成實驗內(nèi)容所指定的各項要求;分析遇到的問題,總結(jié)并寫出課程設計報告;自我評價3.軟件定義:windowsXP系統(tǒng)4.開發(fā)環(huán)境:Visualstudio2005C#,SQLServer四、概要設計1.系統(tǒng)功能結(jié)構(gòu)登錄名E-R圖:登錄名修改授課老師課程ID n修改授課老師課程ID登錄密碼登錄密碼課程名登錄名 1 m課程名登錄名選擇學生 1選擇學生課程信息登錄密碼 n課程信息登錄密碼課程授課老師登錄名 1 m課程授課老師登錄名查閱管理員查閱管理員課程備注登錄密碼 1課程備注登錄密碼五、詳細設計1.數(shù)據(jù)庫設計關系圖表:1.課程表CREATETABLE`classes`(
`id`bigint(20)NOTNULLAUTO_INCREMENTCOMMENT'鍵主',
`classname`char(255)NOTNULLCOMMENT'課程名稱',
`description`char(255)NOTNULLCOMMENT'程描述課',
`id_teacher`bigint(20)DEFAULTNULLCOMMENT'課授教師',
PRIMARYKEY(`id`)
)ENGINE=InnoDBAUTO_INCREMENT=39DEFAULTCHARSET=utf8;
--
--Tablestructurefor`student_class`
--
DROPTABLEIFEXISTS`student_class`;
2.用戶表CREATETABLE`users`(
`id`bigint(20)NOTNULLAUTO_INCREMENTCOMMENT'鍵主',
`username`char(50)NOTNULLCOMMENT'用戶名',
`password`char(50)NOTNULLCOMMENT'密碼',
`type`smallint(5)NOTNULLCOMMENT'類型0管理員1老師2學生',
PRIMARYKEY(`id`)
)ENGINE=InnoDBAUTO_INCREMENT=5DEFAULTCHARSET=utf8;
3.選課表CREATE
TABLE
`student_class`
(
`id`
bigint(20)
NOT
NULL
AUTO_INCREMENT,
`id_student`
bigint(20)
NOT
NULL,
`id_class`
bigint(20)
NOT
NULL,
PRIMARY
KEY
(`id`)
)
ENGINE=InnoDB
AUTO_INCREMENT=41
DEFAULT
CHARSET=utf8;主要功能模塊設計A登錄模塊設計:public
static
User
CheckLogin(string
username,
string
password)
{
OdbcConnection
connection
=
OpenDatabase();
User
user
=
null;
string
sql
=
"SELECT
*
FROM
users
WHERE
username
=
'"
+
username
+
"'
AND
password
=
'"
+
password
+
"'";
OdbcCommand
cmd
=
new
OdbcCommand(sql,
connection);
OdbcDataReader
reader
=
cmd.ExecuteReader();
if
(reader.HasRows)
{
user
=
new
User();
user.UserId
=
reader.GetInt32(0);
user.Username
=
reader.GetString(1);
user.Type
=
(UserType)reader.GetInt32(3);
}
CloseDatabase(connection);
return
user;
}B開課信息模塊public
static
List<Class>
GetTeacherClasses(User
user)
{
OdbcConnection
connection
=
OpenDatabase();
List<Class>
classes
=
null;
string
sql
=
string.Format("SELECT
*
FROM
classes
WHERE
id_teacher
=
'{0}'",
user.UserId);
OdbcCommand
cmd
=
new
OdbcCommand(sql,
connection);
OdbcDataReader
reader
=
cmd.ExecuteReader();
if
(reader.HasRows)
{
classes
=
new
List<Class>();
while
(reader.Read())
{
Class
tmp
=
new
Class();
tmp.ClassId
=
reader.GetInt32(0);
tmp.ClassName
=
reader.GetString(1);
tmp.Description
=
reader.GetString(2);
classes.Add(tmp);
}
}
CloseDatabase(connection);
return
classes;
}C選課模塊publicstaticvoidGetSelectClasses(Useruser,List<Class>classes)
{
OdbcConnectionconnection=OpenDatabase();
foreach(Classcinclasses)
{
stringsql=string.Format("SELECT*FROMstudent_classWHEREid_student='{0}'ANDid_class='{1}'",user.UserId,c.ClassId);
OdbcCommandcmd=newOdbcCommand(sql,connection);
OdbcDataReaderreader=cmd.ExecuteReader();
if(reader.HasRows)c.Select=true;
reader.Close();
cmd.CommandText=string.Format("SELECT*FROMusersWHEREid='{0}'",c.TeacherId);
reader=cmd.ExecuteReader();
if(reader.HasRows)c.TeacherName=reader.GetString(1);
}
CloseDatabase(connection);
}D,選好后的選課模塊publicstaticvoidUpdateSelectClasses(Useruser,List<Class>classes)
{
OdbcConnectionconnection=OpenDatabase();
foreach(Classcinclasses)
{
if(c.Select==false)
{
stringsql=string.Format("DELETEFROMstudent_classWHEREid_student='{0}'ANDid_class='{1}'",user.UserId,c.ClassId);
OdbcCommandcmd=newOdbcCommand(sql,connection);
cmd.ExecuteNonQuery();
}
else
{
stringsql=string.Format("SELECT*FROMstudent_classWHEREid_student='{0}'ANDid_class='{1}'",user.UserId,c.ClassId);
OdbcCommandcmd=newOdbcCommand(sql,connection);
objecto=cmd.ExecuteScalar();
if(o!=null)continue;
cmd.CommandText=string.Format("INSERTINTOstudent_class(id_student,id_class)VALUES('{0}','{1}')",user.UserId,c.ClassId);
cmd.ExecuteNonQuery();
}
}
CloseDatabase(connection);
}六、課程設計小結(jié)通過本次課程設計,我學習到了很多實用的知識,由于之前對C#知識的不足,在課程設計中遇到很多困難,尤其是在數(shù)據(jù)庫的連接上,最后在老師的幫助下才解決問題,隨著一個個問題的解決,我學到了很多知識,熟練了對軟件的使用,每做完一個模塊時,都有一種成功的喜悅,體會到了學習的快樂,這次設計的軟件非常不完善,我將繼續(xù)努力學習C#.NET,將數(shù)據(jù)庫與編程語言結(jié)合,爭取在接下來的這個暑假能開發(fā)出一個完善的系統(tǒng),掌握更多實用的東西。本次課程設計讓我有機會能把之前學的數(shù)據(jù)庫知識系統(tǒng)的串聯(lián)起來,尤其是對數(shù)據(jù)庫的建立與操作都上了一個臺階,包括怎么建立更簡潔,沒有冗余而又很完備的數(shù)據(jù)庫系統(tǒng),怎么對數(shù)據(jù)庫結(jié)構(gòu)模型進行設計,主鍵外鍵的定義,更重要的是對前期概念模型,也就是E-R圖的規(guī)劃,深刻的體會到前期工作的重要性。只有正確詳盡的對系統(tǒng)進行分析,才能更高效的完成系統(tǒng)的開發(fā)。七、致謝感謝老師和研究生在機房的指導,感謝韓羽佳,卜淼兩位同學的幫忙,感謝國家,感謝黨,感謝神!八、參考文獻1.康莉著《新手學VisualC#2008程序設計》電子工業(yè)出版社;2.王珊薩師煊著《數(shù)據(jù)庫系統(tǒng)概論》高等教育出版社;3.周峰著《SQLSever2005中文版關系數(shù)據(jù)庫基礎與實踐教程》;4..徐國智汪孝宣著《SQLSever數(shù)據(jù)庫開發(fā)實例精粹》電子工業(yè)出版社;5.周峰李德路王征著《VisualC#.NET2005中文版基礎與實踐教程》電子工業(yè)出版社;6.王華杰黃山著《精通C#數(shù)據(jù)庫編程》科學出版社;注:1公式要求:正文中可以用字母表示的符號請盡量不要用公式表示,公式大小為原大小的75%。如:2圖表要求:通常圖標題名稱在下,表標題名稱在上,文字大小比正文文字小一號,為六號字體,其中,圖形為Word自帶繪圖工具繪制或者采用其它繪圖工具(Visio,Mat
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度綠色環(huán)保店鋪租賃及設施共建合同
- 2025版時尚服飾銷售合同模板(含季節(jié)性折扣)
- 2025年度個人別墅租賃合同模板2篇
- 2025年度環(huán)保工程監(jiān)理服務合同范本
- 2025年度商鋪買賣合同(含商業(yè)配套移交協(xié)議)4篇
- 2025-2030全球魚雷泵行業(yè)調(diào)研及趨勢分析報告
- 2025年全球及中國賽車運動駕駛模擬器行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報告
- 2024年臨床醫(yī)師定期考核試題中醫(yī)知識題庫及答案(共330題) (二)
- 2024年七年級語文下冊期末專項復習:記敘文閱讀
- 2024年陪診師理論考核試題
- 2024年高純氮化鋁粉體項目可行性分析報告
- 安檢人員培訓
- 山東省濰坊市2024-2025學年高三上學期1月期末 英語試題
- 危險性較大分部分項工程及施工現(xiàn)場易發(fā)生重大事故的部位、環(huán)節(jié)的預防監(jiān)控措施
- 《榜樣9》觀后感心得體會四
- 2023事業(yè)單位筆試《公共基礎知識》備考題庫(含答案)
- 化學-廣東省廣州市2024-2025學年高一上學期期末檢測卷(一)試題和答案
- 商務提成辦法
- 直流電機電樞繞組簡介
- GB/T 19889.5-2006聲學建筑和建筑構(gòu)件隔聲測量第5部分:外墻構(gòu)件和外墻空氣聲隔聲的現(xiàn)場測量
- 《土地寶懺》2019版定稿
評論
0/150
提交評論