《數(shù)據(jù)庫系統(tǒng)原理》課程設計報告校友網(wǎng)應用系統(tǒng)數(shù)據(jù)庫設計
《《數(shù)據(jù)庫系統(tǒng)原理》課程設計報告校友網(wǎng)應用系統(tǒng)數(shù)據(jù)庫設計》由會員分享,可在線閱讀,更多相關(guān)《《數(shù)據(jù)庫系統(tǒng)原理》課程設計報告校友網(wǎng)應用系統(tǒng)數(shù)據(jù)庫設計(21頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、 《數(shù)據(jù)庫系統(tǒng)原理》課程設計報告 題目: 校友網(wǎng)應用系統(tǒng)數(shù)據(jù)庫設計 專業(yè): 網(wǎng)絡工程 班級: 0902 學號: 0930040250 姓名: 指導教師: 完成日期:2011年12月08日 1、 課程設計目的 1、掌握數(shù)據(jù)庫設計步驟,結(jié)合給出的應用系統(tǒng),完成后臺數(shù)據(jù)庫的設計。
2、2、掌握數(shù)據(jù)庫設計輔助工具PowerDesigner或其他輔助工具(Visio、Rational Rose)的使用。 3、了解數(shù)據(jù)庫應用系統(tǒng)開發(fā)的一般過程。 二、課程設計內(nèi)容 課程設計題目:校友網(wǎng)應用系統(tǒng)數(shù)據(jù)庫設計。 課程設計內(nèi)容: 1、數(shù)據(jù)庫設計 系統(tǒng)需求分析、數(shù)據(jù)庫概念結(jié)構(gòu)設計(畫出實體E-R圖)、數(shù)據(jù)庫邏輯結(jié)構(gòu)設計(將E-R圖轉(zhuǎn)換成關(guān)系模型,即根據(jù)實體E-圖設計數(shù)據(jù)表結(jié)構(gòu)(主鍵,外鍵,默認值,取值范圍等數(shù)據(jù)庫完整性約束))、數(shù)據(jù)庫物理設計(索引)、數(shù)據(jù)庫實施(使用SQL Server 2005創(chuàng)建數(shù)據(jù)庫及表,并根據(jù)需要創(chuàng)建視圖(觸發(fā)器,存儲過程))。 2、應用系統(tǒng)與數(shù)據(jù)庫的
3、連接。 3、應用系統(tǒng)功能需求: 隨著計算機網(wǎng)的發(fā)展,越來越深刻的改變了人們生活的方方面面,各種在線服務系統(tǒng),更是深刻的影響了人們的聯(lián)系方式,使得人們可以在遠隔千里之遙隨時通訊,校友錄作為一種方便同學之間聯(lián)系的實用系統(tǒng)便應運而生,為同學之間進行交流和聯(lián)系提供了一個便捷的平臺。為了加深校友與學校、校友之間的聯(lián)系,開發(fā)一個校友網(wǎng)。 系統(tǒng)功能目標: 1)用戶登陸,用戶通過提交用戶ID和用戶密碼進行登陸,系統(tǒng)便會根據(jù)這些登陸進入個人空間。 2)用戶資料的修改,成功登錄的合法用戶有權(quán)限修改自己的個人資料。 3)查看校友資料,添加好友。 4)相冊,用于實現(xiàn)照片上傳、瀏覽,同時實現(xiàn)對照片的動態(tài)管
4、理(刪除、分類)。 5)用戶消息發(fā)布,用戶可以發(fā)表說說,好友可以進行回復,用戶對好友的回復可以進行回復,只有好友才能瀏覽說說和回復。 6)留言板,通過留言板,用戶可以在班級空間上留言,以此作為校友間聯(lián)系的一種手段。 三、課程設計要求 1、按照給出的題目內(nèi)容 1)完成數(shù)據(jù)庫各階段的設計,及應用系統(tǒng)與數(shù)據(jù)庫的連接調(diào)試。 2)詳細寫出各階段的設計結(jié)果(圖表或文字)。 3)至少要做出應用系統(tǒng)的幾個界面,實現(xiàn)測試與數(shù)據(jù)庫的連接情況。(可以B/S模式,也可以C/S模式) 2、寫出課程設計報告,設計報告提交形式:電子文檔提交 3、個人獨立完成。 4、完成時間(2周) 四、課程設計過程
5、 1、需求分析 經(jīng)過以上對本系統(tǒng)的調(diào)研及可行性分析后,下面將對系統(tǒng)在功能上以及性能上進行進一步的需求分析。 (1)功能需求 系統(tǒng)功能目標: 1)用戶登陸,用戶通過提交用戶ID和用戶密碼進行登陸,系統(tǒng)便會根據(jù)這些登陸進入個人空間。 2)用戶資料的修改,成功登錄的合法用戶有權(quán)限修改自己的個人資料。 3)查看校友資料,添加好友。 4)相冊,用于實現(xiàn)照片上傳、瀏覽,同時實現(xiàn)對照片的動態(tài)管理(刪除、分類)。 5)用戶消息發(fā)布,用戶可以發(fā)表說說,好友可以進行回復,用戶對好友的回復可以進行回復,只有好友才能瀏覽說說和回復。 6)留言板,通過留言板,用戶可以在班級空間上留言,以此作為校友間聯(lián)
6、系的一種手段。 (2)性能需求 (1)系統(tǒng)處理能力:同學錄系統(tǒng)不但涉及到留言功能,班級相冊,說說管理等各個功能,還同時對多個不同用戶的操作進行管理和控制,在這個過程中參與的用戶較多,較為復雜,因此系統(tǒng)要具有較好的大用戶量下的并發(fā)響應能力. (2)處理時間:理想狀態(tài)下系統(tǒng)應為用戶提供24小時服務. (3)響應速度:要求能夠響應快速;響應速度盡量控制在用戶可忍受等待的時間內(nèi),并給予提示. (4)主要依賴數(shù)據(jù)庫的良好維護和管理以及對數(shù)據(jù)的保密等措施。所以在數(shù)據(jù)在遇到嚴重的丟失或損壞后能快速的進行恢復以繼續(xù)維持系統(tǒng)的正常運行。所以本系統(tǒng)采用了定時對數(shù)據(jù)庫的備份和數(shù)據(jù)的恢復措
7、施。并采用了MD5的加密技術(shù)。 2、概念結(jié)構(gòu)設計 概念模型用于信息世界的建模。概念模型不依賴于某一個數(shù)據(jù)庫管理系統(tǒng)(DBMS),但可以方便的轉(zhuǎn)換為計算機上某一DBMS所支持的特定的數(shù)據(jù)模型。通過對用戶對數(shù)據(jù)的需求進行綜合、歸納與抽象,將形成一個完善的概念模型,可以用E-R(實體聯(lián)系)圖來表示。E-R圖是對現(xiàn)實世界的一種抽象,它的主要成份是實體、屬性和聯(lián)系。 1. 實體:客觀存在并可以互相區(qū)分的事物稱為實體,是現(xiàn)實世界中各種事物的抽象。如本案例中一個班級為一個實體。一般來說,每個實體都相當于數(shù)據(jù)庫中的一個表。實體用一個矩形框來表示。 2. 屬性:屬性是實體所具有的某些特征,通過屬性對實體
8、進行刻畫。實體是由屬性組成的,如班級有班級名稱、創(chuàng)建人等屬性。一個實體本身具有許多屬性,能夠唯一標識實體的屬性稱為該實體的碼。屬性用一個橢圓來表示。 3. 聯(lián)系:現(xiàn)實世界的事物內(nèi)部或事物之間都有聯(lián)系,這些聯(lián)系在信息世界里反映為實體內(nèi)部或?qū)嶓w之間的聯(lián)系,如班級屬于某個學校,那么班級和學校之間是“屬于”聯(lián)系。聯(lián)系有一對一聯(lián)系,一對多聯(lián)系和多對多聯(lián)系,分別用1:1、1:n和m:n來表示。如一個登錄用戶名只能填寫一份個人資料,那么登錄用戶和個人資料就是一對一聯(lián)系;一個班級只能屬于一個學校,而一個學??梢該碛卸鄠€班級,學校和班級之間就是一對多聯(lián)系;一個班級可以有多張相片,而一張相片也可為多個班級所擁有
9、,所以班級和相片之間是多對多聯(lián)系。聯(lián)系用菱形表示,并用線段聯(lián)接相關(guān)的兩個或多個實體,在菱形兩端線段上標明聯(lián)系的類型。 根據(jù)上節(jié)的需求分析,我們作出一些E-R圖,如圖所示: 管理員表admin的各個屬性以及實體關(guān)系圖 用戶表users的各個屬性以及實體關(guān)系圖 班級表class的各個屬性以及實體關(guān)系圖 班級成員表class_users的各個屬性以及實體關(guān)系圖 班級留言表table messages的各個屬性以及實體關(guān)系圖 相冊表photo的各個屬性以及實體關(guān)系圖 說說發(fā)表表coldcase的各個屬性以及實體關(guān)系圖 說說回復表coldcase_rep
10、ly的各個屬性以及實體關(guān)系圖 校友網(wǎng)分布E-R圖合并圖如下圖所示: 3、 邏輯結(jié)構(gòu)設計 概念設計的結(jié)果得到一個與計算機、軟硬件的具體性能無關(guān)的全局概念模式。數(shù)據(jù)庫邏輯設計的任務是將概念結(jié)構(gòu)轉(zhuǎn)換成特定DBMS所支持的數(shù)據(jù)模型(如關(guān)系模型)的過程。本案例中我們將其轉(zhuǎn)換為關(guān)系模型。 將E-R圖轉(zhuǎn)換為關(guān)系模型實際上就是要將實體、實體的屬性和實體之間的聯(lián)系轉(zhuǎn)化為關(guān)系模式,這種轉(zhuǎn)換一般遵循如下原則: 一個實體轉(zhuǎn)換為一個關(guān)系模式,實體的屬性就是關(guān)系的屬性,實體的關(guān)鍵字就是關(guān)系的關(guān)鍵字。 一個1:1聯(lián)系可以轉(zhuǎn)換為一個獨立的關(guān)系模式,也可以與任意一端實體所對應的關(guān)系合并,在被合并關(guān)系
11、中增加屬性,其新增的屬性為聯(lián)系本身的屬性和與聯(lián)系相關(guān)的另一個實體的碼。 一個1:n聯(lián)系可以轉(zhuǎn)換為一個獨立的關(guān)系模式,也可以與n端對應的關(guān)系模式合并。如果轉(zhuǎn)換為一個獨立的關(guān)系模式,則與該聯(lián)系相連的各實體的碼以及聯(lián)系本身的屬性均轉(zhuǎn)換為關(guān)系的屬性,而關(guān)系的碼為n端實體的碼。如果與n端的關(guān)系模式合并則在n端實體集中增加新屬性,新屬性由聯(lián)系對應的1端實體集的碼和聯(lián)系自身的屬性構(gòu)成,新增屬性后原關(guān)系的碼不變。 一個m:n聯(lián)系轉(zhuǎn)換為一個關(guān)系模式,與該聯(lián)系相連的各實體的碼以及聯(lián)系本身具有的屬性均轉(zhuǎn)換為關(guān)系的屬性,而關(guān)系的碼為各實體碼的組合。 (帶下劃線的屬性為主碼,紅色的為外碼) n 實體:管理員
12、 對應關(guān)系模式:管理員表(管理員賬號,密碼) n 實體:用戶 對應關(guān)系模式:用戶表(賬號,用戶名,密碼,真名,性別,年齡,班級,生日,QQ,msn,電話,郵箱,地址,郵編,格言,提示問題,提示問題答案) n 實體:班級 對應關(guān)系模式:班級表(班級編號,班級名字,創(chuàng)建人賬號,創(chuàng)建時間,班級公開欄) n 實體:班級留言 對應關(guān)系模式:班級留言表(留言編號,留言題目,留言內(nèi)容,留言者姓名,班級編號,留言時間) n 實體:相冊 對應關(guān)系模式:相冊表(相片編號,相片名,大小,類型,上傳時間,上傳者姓名,題目,相冊描述,班級編號,相片寬帶,相片高度) n 實體:說說發(fā)表 對應關(guān)系模式
13、:說說發(fā)表表(說說編號,說說內(nèi)容,發(fā)表者姓名,發(fā)表時間) n 實體:說說回復 對應關(guān)系模式:說說回復表(說說編號,回復編號,回復內(nèi)容,回復者姓名,回復時間) n 聯(lián)系:班級成員 所聯(lián)系的實體及關(guān)鍵字:用戶(賬號),班級(班級編號)。 對應關(guān)系模式:班級成員表(賬號,班級編號,身份) 4、 物理設計 在創(chuàng)建完數(shù)據(jù)庫之后,首先要做的就是在數(shù)據(jù)庫中創(chuàng)建表。通常來說,表的設計是由開發(fā)人員完成,必須滿足實際數(shù)據(jù)的內(nèi)容和關(guān)系數(shù)據(jù)庫的要求(比如范式要求),而數(shù)據(jù)庫管理員的任務是根據(jù)要求向數(shù)據(jù)庫中添加這些表。在邏輯上,數(shù)據(jù)庫由大量的表構(gòu)成,表中包含了由行和列組織起來的數(shù)據(jù);在物理上,表存儲在文件
14、中,表中的數(shù)據(jù)存儲于頁中。 在數(shù)據(jù)庫的開發(fā)和應用中,快速地從數(shù)據(jù)庫中查詢到所需的數(shù)據(jù)是十分重要的。但是,隨著數(shù)據(jù)量的不斷增大,查詢所花費時間也在大量增加。使用索引可以對查詢速度進行優(yōu)化,Oracle使用索引指向數(shù)據(jù)頁上某行的位置,這樣查詢數(shù)據(jù)就不需要查遍表的所有數(shù)據(jù)頁了。 數(shù)據(jù)質(zhì)量對于使用效率和數(shù)據(jù)庫程序運行效率起著決定性的作用。如果數(shù)據(jù)庫中存在大量錯誤數(shù)據(jù),那么效率會大大降低。在數(shù)據(jù)庫的使用中,諸如數(shù)據(jù)錄入錯誤和表間關(guān)聯(lián)數(shù)據(jù)的修改等操作都會造成錯誤數(shù)據(jù)的產(chǎn)生。因此,不論從首次輸入還是收集到存儲的整個過程都需保證數(shù)據(jù)的唯一性和一致性。數(shù)據(jù)的唯一性、一致性稱為數(shù)據(jù)完整性。數(shù)據(jù)完整性分為實體完
15、整性、引用完整性(也稱為參照完整性)和用戶自定義完整性。實體完整性一般通過設置主鍵來實現(xiàn),參照完整性一般通過設置外鍵實現(xiàn),而用戶自定義完整性則可通過CHECK約束、DEFAULT約束和UNIQUE約束實現(xiàn)。 把邏輯設計得到的關(guān)系模式轉(zhuǎn)換為表,同時為實現(xiàn)數(shù)據(jù)完整性設置主、外鍵及各種約束。另外根據(jù)系統(tǒng)的查詢要求在表上建立索引。 建立索引??紤]系統(tǒng)對表的查詢頻率,為查詢次數(shù)較多的表的字段建立索引。例如,進入班級留言時,系統(tǒng)會自動檢索出留言信息顯示出來,系統(tǒng)通常是按照發(fā)表評的時間檢索,則可為留言表的留言時間建立聚集索引。(提示:為表設置主鍵時,數(shù)據(jù)庫會自動為主鍵建立聚集索引,如果要在其他屬性上
16、建立聚集索引,可先將主鍵去除,再使用ALTER TABLE [TABLENAME] ADD CONSTRAINT [PK_TABLEFIELD] PRIMARY KEY NONCLUSTERED)修改主鍵索引為非聚集索引,再在相關(guān)屬性上建立聚集索引) 5、 數(shù)據(jù)庫實施 6、 應用系統(tǒng)測試(系統(tǒng)運行結(jié)果截圖) 5、 課程設計體會 本系統(tǒng)完成了前臺提供用戶使用校友網(wǎng)的各種功能,后臺提供管理員對數(shù)據(jù)庫進行維護的功能。通過這一階段的學習和研究,該項目終于完成。當然,由于畢業(yè)設計時間相對較短,加上本人經(jīng)驗不足,技巧不夠純熟,在程序設計上還存在一些不足,
17、還有不盡人意之處,所以系統(tǒng)的最終成果還不是很成熟,仍需要在實踐中發(fā)現(xiàn)問題并解決問題,從而逐步改善提高系統(tǒng)功能。 在系統(tǒng)的分析,設計,實現(xiàn),調(diào)試過程中,曾遇到許多大大小小的問題,但正是在發(fā)現(xiàn)、解決這些問題的過程中,我深刻體會到耐心、恒心、信心、細心對于一個系統(tǒng)開發(fā)人員來說是何等重要;并且讓我明白碰到問題要學會向同學請教或自己看書上網(wǎng)搜索,這樣才能不斷提高自學能力。通過對本系統(tǒng)的開發(fā)使我對大學課程書本上的理論知識有了更深一層的了解,使我學會了如何利用所學的知識,把理論結(jié)合于實踐中,進一步掌握了系統(tǒng)開發(fā)的規(guī)律和方法,從而對本專業(yè)有了更深刻的認識。此后,我會加倍努力的去研究探索,在熟練的基礎上掌握更
18、多的新型技術(shù),來提高自身的開發(fā)水平。同時,寫的過程中也需要認真細心,正所謂細節(jié)決定成敗,這些都將有助于培養(yǎng)我日后良好的做事風格。 總之,這次課程設計我學會了不少知識,更加明白樹立對自己工作能力的信心是多么的重要,相信對今后的學習生活有很大的影響。 六、源代碼 創(chuàng)建一個校友網(wǎng)數(shù)據(jù)庫 create database AlumnusNetDB on primary (name=AlumnusNetData, filename=d:\db\AlumnusNetData.mdf, size=3, filegrowth=2) log on (name=AlumnusNetLog,
19、filename=d:\db\AlumnusNetLog.ldf, size=1, maxsize=10, filegrowth=10%) 創(chuàng)建管理員表 use AlumnusNetDB create table admin ( userid varchar(20) primary key, userpwd varchar(20) ); 創(chuàng)建用戶表 create table users ( user_id int primary key, user_name varchar(10), user_pwd varchar(20), user_truename va
20、rchar(10), user_sex char(1) check (user_sex in (男,女)), user_age int, user_class varchar(20), user_birthday datetime, user_qq varchar(20), user_msn varchar(20), user_tel varchar(20), user_email varchar(20) check (user_email like %@%.%), user_add varchar(50), user_postcode varchar(6), user_
21、motto text, user_question text, user_answer text ); 創(chuàng)建班級表 create table class ( class_id int primary key, class_name varchar(20), class_masterID int, class_createtime datetime, class_content text, foreign key (class_masterID) references users(user_id) ); 創(chuàng)建班級成員表 create table class_user
22、s ( user_id int, class_id int, degree varchar(10) check (degree in (創(chuàng)建人,普通學生,老師)), primary key (user_id,class_id), foreign key (user_id) references users(user_id), foreign key (class_id) references class(class_id) ); 創(chuàng)建班級留言表 create table messages ( message_id int primary key, message_ti
23、tle varchar(20), message_content text, message_name varchar(10), class_id int, message_time datetime, foreign key (class_id) references class(class_id) ); 創(chuàng)建相冊表 create table photo ( photo_id int primary key, photo_name varchar(20), photo_size int, photo_type varchar(10), photo_uptime d
24、atetime, photo_upusername varchar(10), photo_title varchar(20), photo_remark text, class_id int, photo_width int, photo_height int, photo_format varchar(10), foreign key (class_id) references class(class_id) ); 創(chuàng)建說說發(fā)表表 create table coldcase ( coldcase_id int primary key, coldcase_conte
25、nt text, coldcase_name varchar(10), coldcase_time datetime, ); 創(chuàng)建說說回復表 create table coldcase_reply ( coldcase_id int, reply_id int, reply_content text, reply_name varchar(10), reply_time datetime, primary key (coldcase_id,reply_id), foreign key (coldcase_id) references coldcase(coldcase_id) ); 參考文獻 【1】王珊,薩師煊,數(shù)據(jù)庫系統(tǒng)概論(第四版),高等教育出版社。 【2】錢雪忠.數(shù)據(jù)庫原理及應用(第二版).北京:北京郵電大學出版社,2007 【3】王珊.數(shù)據(jù)庫技術(shù)與聯(lián)機分析處理.北京:北京科學出版社,1998
- 溫馨提示:
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《增值稅法》高質(zhì)量發(fā)展的增值稅制度規(guī)范增值稅的征收和繳納
- 深入學習《中華人民共和國科學技術(shù)普及法》推進實現(xiàn)高水平科技自立自強推動經(jīng)濟發(fā)展和社會進步
- 激揚正氣淬煉本色踐行使命廉潔從政黨課
- 加強廉潔文化建設夯實廉政思想根基培育風清氣正的政治生態(tài)
- 深入學習2024《突發(fā)事件應對法》全文提高突發(fā)事件預防和應對能力規(guī)范突發(fā)事件應對活動保護人民生命財產(chǎn)安全
- 2023年四年級數(shù)學上冊第一輪單元滾動復習第10天平行四邊形和梯形作業(yè)課件新人教版
- 2023年四年級數(shù)學上冊第14單元階段性綜合復習作業(yè)課件新人教版
- 2023年四年級數(shù)學上冊易錯清單十五課件新人教版
- 2023年四年級數(shù)學上冊易錯清單七課件西師大版
- 2023年五年級數(shù)學下冊易錯清單六作業(yè)課件北師大版
- 2023年五年級數(shù)學下冊易錯清單二作業(yè)課件北師大版
- 2023年五年級數(shù)學下冊四分數(shù)的意義和性質(zhì)第10課時異分母分數(shù)的大小比較作業(yè)課件蘇教版
- 2023年五年級數(shù)學下冊周周練四作業(yè)課件北師大版
- 2023年五年級數(shù)學下冊六折線統(tǒng)計圖單元復習卡作業(yè)課件西師大版
- 2023年四年級數(shù)學上冊6除數(shù)是兩位數(shù)的除法單元易錯集錦一作業(yè)課件新人教版