《數據庫系統(tǒng)原理》課程設計報告---校友網應用系統(tǒng)數據庫設計_第1頁
已閱讀1頁,還剩20頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p>  《數據庫系統(tǒng)原理》課程設計報告</p><p>  題目: 校友網應用系統(tǒng)數據庫設計 </p><p>  專業(yè): 網絡工程 </p><p>  班級: </p><p>  學號: </p><p>  姓名:

2、 </p><p>  指導教師: </p><p>  完成日期:2011年12月08日</p><p><b>  課程設計目的</b></p><p>  1、掌握數據庫設計步驟,結合給出的應用系統(tǒng),完成后臺數據庫的設計。</p>&

3、lt;p>  2、掌握數據庫設計輔助工具PowerDesigner或其他輔助工具(Visio、Rational Rose)的使用。</p><p>  3、了解數據庫應用系統(tǒng)開發(fā)的一般過程。</p><p><b>  二、課程設計內容</b></p><p>  課程設計題目:校友網應用系統(tǒng)數據庫設計。</p><p

4、><b>  課程設計內容:</b></p><p><b>  1、數據庫設計</b></p><p>  系統(tǒng)需求分析、數據庫概念結構設計(畫出實體E-R圖)、數據庫邏輯結構設計(將E-R圖轉換成關系模型,即根據實體E-圖設計數據表結構(主鍵,外鍵,默認值,取值范圍等數據庫完整性約束))、數據庫物理設計(索引)、數據庫實施(使用SQL

5、Server 2005創(chuàng)建數據庫及表,并根據需要創(chuàng)建視圖(觸發(fā)器,存儲過程))。</p><p>  2、應用系統(tǒng)與數據庫的連接。</p><p>  3、應用系統(tǒng)功能需求:</p><p>  隨著計算機網的發(fā)展,越來越深刻的改變了人們生活的方方面面,各種在線服務系統(tǒng),更是深刻的影響了人們的聯系方式,使得人們可以在遠隔千里之遙隨時通訊,校友錄作為一種方便同學之間聯

6、系的實用系統(tǒng)便應運而生,為同學之間進行交流和聯系提供了一個便捷的平臺。為了加深校友與學校、校友之間的聯系,開發(fā)一個校友網。</p><p><b>  系統(tǒng)功能目標:</b></p><p>  1)用戶登陸,用戶通過提交用戶ID和用戶密碼進行登陸,系統(tǒng)便會根據這些登陸進入個人空間。</p><p>  2)用戶資料的修改,成功登錄的合法用戶有

7、權限修改自己的個人資料。</p><p>  3)查看校友資料,添加好友。</p><p>  4)相冊,用于實現照片上傳、瀏覽,同時實現對照片的動態(tài)管理(刪除、分類)。</p><p>  5)用戶消息發(fā)布,用戶可以發(fā)表說說,好友可以進行回復,用戶對好友的回復可以進行回復,只有好友才能瀏覽說說和回復。</p><p>  6)留言板,通過留

8、言板,用戶可以在班級空間上留言,以此作為校友間聯系的一種手段。</p><p><b>  三、課程設計要求</b></p><p>  1、按照給出的題目內容</p><p>  1)完成數據庫各階段的設計,及應用系統(tǒng)與數據庫的連接調試。</p><p>  2)詳細寫出各階段的設計結果(圖表或文字)。</p&g

9、t;<p>  3)至少要做出應用系統(tǒng)的幾個界面,實現測試與數據庫的連接情況。(可以B/S模式,也可以C/S模式)</p><p>  2、寫出課程設計報告,設計報告提交形式:電子文檔提交</p><p><b>  3、個人獨立完成。</b></p><p>  4、完成時間(2周)</p><p>&l

10、t;b>  四、課程設計過程</b></p><p><b>  1、需求分析</b></p><p>  經過以上對本系統(tǒng)的調研及可行性分析后,下面將對系統(tǒng)在功能上以及性能上進行進一步的需求分析。</p><p><b> ?。?)功能需求</b></p><p><b&g

11、t;  系統(tǒng)功能目標:</b></p><p>  1)用戶登陸,用戶通過提交用戶ID和用戶密碼進行登陸,系統(tǒng)便會根據這些登陸進入個人空間。</p><p>  2)用戶資料的修改,成功登錄的合法用戶有權限修改自己的個人資料。</p><p>  3)查看校友資料,添加好友。</p><p>  4)相冊,用于實現照片上傳、瀏覽,

12、同時實現對照片的動態(tài)管理(刪除、分類)。</p><p>  5)用戶消息發(fā)布,用戶可以發(fā)表說說,好友可以進行回復,用戶對好友的回復可以進行回復,只有好友才能瀏覽說說和回復。</p><p>  6)留言板,通過留言板,用戶可以在班級空間上留言,以此作為校友間聯系的一種手段。</p><p><b> ?。?)性能需求</b></p>

13、;<p> ?。?)系統(tǒng)處理能力:同學錄系統(tǒng)不但涉及到留言功能,班級相冊,說說管理等各個功能,還同時對多個不同用戶的操作進行管理和控制,在這個過程中參與的用戶較多,較為復雜,因此系統(tǒng)要具有較好的大用戶量下的并發(fā)響應能力. (2)處理時間:理想狀態(tài)下系統(tǒng)應為用戶提供24小時服務. (3)響應速度:要求能夠響應快速;響應速度盡量控制在用戶可忍受等待的時間內,并給予提示. (4)主要依賴數據庫的良好維護和管理以

14、及對數據的保密等措施。所以在數據在遇到嚴重的丟失或損壞后能快速的進行恢復以繼續(xù)維持系統(tǒng)的正常運行。所以本系統(tǒng)采用了定時對數據庫的備份和數據的恢復措施。并采用了MD5的加密技術。</p><p><b>  2、概念結構設計</b></p><p>  概念模型用于信息世界的建模。概念模型不依賴于某一個數據庫管理系統(tǒng)(DBMS),但可以方便的轉換為計算機上某一DBMS所

15、支持的特定的數據模型。通過對用戶對數據的需求進行綜合、歸納與抽象,將形成一個完善的概念模型,可以用E-R(實體聯系)圖來表示。E-R圖是對現實世界的一種抽象,它的主要成份是實體、屬性和聯系。</p><p>  1. 實體:客觀存在并可以互相區(qū)分的事物稱為實體,是現實世界中各種事物的抽象。如本案例中一個班級為一個實體。一般來說,每個實體都相當于數據庫中的一個表。實體用一個矩形框來表示。</p>&l

16、t;p>  2. 屬性:屬性是實體所具有的某些特征,通過屬性對實體進行刻畫。實體是由屬性組成的,如班級有班級名稱、創(chuàng)建人等屬性。一個實體本身具有許多屬性,能夠唯一標識實體的屬性稱為該實體的碼。屬性用一個橢圓來表示。</p><p>  3. 聯系:現實世界的事物內部或事物之間都有聯系,這些聯系在信息世界里反映為實體內部或實體之間的聯系,如班級屬于某個學校,那么班級和學校之間是“屬于”聯系。聯系有一對一聯系,

17、一對多聯系和多對多聯系,分別用1:1、1:n和m:n來表示。如一個登錄用戶名只能填寫一份個人資料,那么登錄用戶和個人資料就是一對一聯系;一個班級只能屬于一個學校,而一個學??梢該碛卸鄠€班級,學校和班級之間就是一對多聯系;一個班級可以有多張相片,而一張相片也可為多個班級所擁有,所以班級和相片之間是多對多聯系。聯系用菱形表示,并用線段聯接相關的兩個或多個實體,在菱形兩端線段上標明聯系的類型。</p><p>  根據

18、上節(jié)的需求分析,我們作出一些E-R圖,如圖所示:</p><p>  管理員表admin的各個屬性以及實體關系圖</p><p>  用戶表users的各個屬性以及實體關系圖</p><p>  班級表class的各個屬性以及實體關系圖</p><p>  班級成員表class_users的各個屬性以及實體關系圖</p><

19、;p>  班級留言表table messages的各個屬性以及實體關系圖</p><p>  相冊表photo的各個屬性以及實體關系圖</p><p>  說說發(fā)表表coldcase的各個屬性以及實體關系圖</p><p>  說說回復表coldcase_reply的各個屬性以及實體關系圖</p><p>  校友網分布E-R圖合并圖如

20、下圖所示:</p><p><b>  邏輯結構設計</b></p><p>  概念設計的結果得到一個與計算機、軟硬件的具體性能無關的全局概念模式。數據庫邏輯設計的任務是將概念結構轉換成特定DBMS所支持的數據模型(如關系模型)的過程。本案例中我們將其轉換為關系模型。</p><p>  將E-R圖轉換為關系模型實際上就是要將實體、實體的屬性

21、和實體之間的聯系轉化為關系模式,這種轉換一般遵循如下原則:</p><p>  一個實體轉換為一個關系模式,實體的屬性就是關系的屬性,實體的關鍵字就是關系的關鍵字。</p><p>  一個1:1聯系可以轉換為一個獨立的關系模式,也可以與任意一端實體所對應的關系合并,在被合并關系中增加屬性,其新增的屬性為聯系本身的屬性和與聯系相關的另一個實體的碼。</p><p>

22、  一個1:n聯系可以轉換為一個獨立的關系模式,也可以與n端對應的關系模式合并。如果轉換為一個獨立的關系模式,則與該聯系相連的各實體的碼以及聯系本身的屬性均轉換為關系的屬性,而關系的碼為n端實體的碼。如果與n端的關系模式合并則在n端實體集中增加新屬性,新屬性由聯系對應的1端實體集的碼和聯系自身的屬性構成,新增屬性后原關系的碼不變。</p><p>  一個m:n聯系轉換為一個關系模式,與該聯系相連的各實體的碼以及

23、聯系本身具有的屬性均轉換為關系的屬性,而關系的碼為各實體碼的組合。</p><p> ?。◣聞澗€的屬性為主碼,紅色的為外碼)</p><p><b>  n 實體:管理員</b></p><p>  對應關系模式:管理員表(管理員賬號,密碼)</p><p><b>  n 實體:用戶</b>&l

24、t;/p><p>  對應關系模式:用戶表(賬號,用戶名,密碼,真名,性別,年齡,班級,生日,QQ,msn,電話,郵箱,地址,郵編,格言,提示問題,提示問題答案)</p><p><b>  n 實體:班級</b></p><p>  對應關系模式:班級表(班級編號,班級名字,創(chuàng)建人賬號,創(chuàng)建時間,班級公開欄)</p><p&g

25、t;<b>  n 實體:班級留言</b></p><p>  對應關系模式:班級留言表(留言編號,留言題目,留言內容,留言者姓名,班級編號,留言時間)</p><p><b>  n 實體:相冊</b></p><p>  對應關系模式:相冊表(相片編號,相片名,大小,類型,上傳時間,上傳者姓名,題目,相冊描述,班級編號

26、,相片寬帶,相片高度)</p><p><b>  n 實體:說說發(fā)表</b></p><p>  對應關系模式:說說發(fā)表表(說說編號,說說內容,發(fā)表者姓名,發(fā)表時間)</p><p><b>  n 實體:說說回復</b></p><p>  對應關系模式:說說回復表(說說編號,回復編號,回復內容

27、,回復者姓名,回復時間)</p><p><b>  n 聯系:班級成員</b></p><p>  所聯系的實體及關鍵字:用戶(賬號),班級(班級編號)。</p><p>  對應關系模式:班級成員表(賬號,班級編號,身份)</p><p><b>  物理設計</b></p>&l

28、t;p>  在創(chuàng)建完數據庫之后,首先要做的就是在數據庫中創(chuàng)建表。通常來說,表的設計是由開發(fā)人員完成,必須滿足實際數據的內容和關系數據庫的要求(比如范式要求),而數據庫管理員的任務是根據要求向數據庫中添加這些表。在邏輯上,數據庫由大量的表構成,表中包含了由行和列組織起來的數據;在物理上,表存儲在文件中,表中的數據存儲于頁中。</p><p>  在數據庫的開發(fā)和應用中,快速地從數據庫中查詢到所需的數據是十分重

29、要的。但是,隨著數據量的不斷增大,查詢所花費時間也在大量增加。使用索引可以對查詢速度進行優(yōu)化,Oracle使用索引指向數據頁上某行的位置,這樣查詢數據就不需要查遍表的所有數據頁了。</p><p>  數據質量對于使用效率和數據庫程序運行效率起著決定性的作用。如果數據庫中存在大量錯誤數據,那么效率會大大降低。在數據庫的使用中,諸如數據錄入錯誤和表間關聯數據的修改等操作都會造成錯誤數據的產生。因此,不論從首次輸入還

30、是收集到存儲的整個過程都需保證數據的唯一性和一致性。數據的唯一性、一致性稱為數據完整性。數據完整性分為實體完整性、引用完整性(也稱為參照完整性)和用戶自定義完整性。實體完整性一般通過設置主鍵來實現,參照完整性一般通過設置外鍵實現,而用戶自定義完整性則可通過CHECK約束、DEFAULT約束和UNIQUE約束實現。</p><p>  把邏輯設計得到的關系模式轉換為表,同時為實現數據完整性設置主、外鍵及各種約束。另

31、外根據系統(tǒng)的查詢要求在表上建立索引。</p><p>  建立索引??紤]系統(tǒng)對表的查詢頻率,為查詢次數較多的表的字段建立索引。例如,進入班級留言時,系統(tǒng)會自動檢索出留言信息顯示出來,系統(tǒng)通常是按照發(fā)表評的時間檢索,則可為留言表的留言時間建立聚集索引。(提示:為表設置主鍵時,數據庫會自動為主鍵建立聚集索引,如果要在其他屬性上建立聚集索引,可先將主鍵去除,再使用ALTER TABLE [TABLENAME] ADD

32、CONSTRAINT [PK_TABLEFIELD] PRIMARY KEY NONCLUSTERED)修改主鍵索引為非聚集索引,再在相關屬性上建立聚集索引)</p><p><b>  數據庫實施</b></p><p>  應用系統(tǒng)測試(系統(tǒng)運行結果截圖)</p><p><b>  課程設計體會</b></p&

33、gt;<p>  本系統(tǒng)完成了前臺提供用戶使用校友網的各種功能,后臺提供管理員對數據庫進行維護的功能。通過這一階段的學習和研究,該項目終于完成。當然,由于畢業(yè)設計時間相對較短,加上本人經驗不足,技巧不夠純熟,在程序設計上還存在一些不足,還有不盡人意之處,所以系統(tǒng)的最終成果還不是很成熟,仍需要在實踐中發(fā)現問題并解決問題,從而逐步改善提高系統(tǒng)功能。</p><p>  在系統(tǒng)的分析,設計,實現,調試過程

34、中,曾遇到許多大大小小的問題,但正是在發(fā)現、解決這些問題的過程中,我深刻體會到耐心、恒心、信心、細心對于一個系統(tǒng)開發(fā)人員來說是何等重要;并且讓我明白碰到問題要學會向同學請教或自己看書上網搜索,這樣才能不斷提高自學能力。通過對本系統(tǒng)的開發(fā)使我對大學課程書本上的理論知識有了更深一層的了解,使我學會了如何利用所學的知識,把理論結合于實踐中,進一步掌握了系統(tǒng)開發(fā)的規(guī)律和方法,從而對本專業(yè)有了更深刻的認識。此后,我會加倍努力的去研究探索,在熟練的

35、基礎上掌握更多的新型技術,來提高自身的開發(fā)水平。同時,寫的過程中也需要認真細心,正所謂細節(jié)決定成敗,這些都將有助于培養(yǎng)我日后良好的做事風格。</p><p>  總之,這次課程設計我學會了不少知識,更加明白樹立對自己工作能力的信心是多么的重要,相信對今后的學習生活有很大的影響。</p><p><b>  六、源代碼</b></p><p> 

36、 創(chuàng)建一個校友網數據庫</p><p>  create database AlumnusNetDB</p><p>  on primary</p><p>  (name=AlumnusNetData,</p><p>  filename='d:\db\AlumnusNetData.mdf',</p>&l

37、t;p><b>  size=3,</b></p><p>  filegrowth=2)</p><p><b>  log on</b></p><p>  (name=AlumnusNetLog,</p><p>  filename='d:\db\AlumnusNetLog.l

38、df',</p><p><b>  size=1,</b></p><p>  maxsize=10,</p><p>  filegrowth=10%)</p><p><b>  創(chuàng)建管理員表</b></p><p>  use AlumnusNetDB<

39、/p><p>  create table admin</p><p><b>  (</b></p><p>  userid varchar(20) primary key,</p><p>  userpwd varchar(20)</p><p><b>  );</b>

40、</p><p><b>  創(chuàng)建用戶表</b></p><p>  create table users</p><p><b>  (</b></p><p>  user_id int primary key,</p><p>  user_name varchar(1

41、0),</p><p>  user_pwd varchar(20),</p><p>  user_truename varchar(10),</p><p>  user_sex char(1) check (user_sex in ('男','女')),</p><p>  user_age int,&l

42、t;/p><p>  user_class varchar(20),</p><p>  user_birthday datetime,</p><p>  user_qq varchar(20),</p><p>  user_msn varchar(20),</p><p>  user_tel varchar(20)

43、,</p><p>  user_email varchar(20) check (user_email like '%@%.%'),</p><p>  user_add varchar(50),</p><p>  user_postcode varchar(6),</p><p>  user_motto text,&l

44、t;/p><p>  user_question text,</p><p>  user_answer text</p><p><b>  );</b></p><p><b>  創(chuàng)建班級表</b></p><p>  create table class</p>

45、;<p><b>  (</b></p><p>  class_id int primary key,</p><p>  class_name varchar(20),</p><p>  class_masterID int,</p><p>  class_createtime datetime,&

46、lt;/p><p>  class_content text,</p><p>  foreign key (class_masterID) references users(user_id)</p><p><b>  );</b></p><p><b>  創(chuàng)建班級成員表</b></p>

47、;<p>  create table class_users</p><p><b>  (</b></p><p>  user_id int,</p><p>  class_id int,</p><p>  degree varchar(10) check (degree in ('創(chuàng)建人

48、','普通學生','老師')),</p><p>  primary key (user_id,class_id),</p><p>  foreign key (user_id) references users(user_id),</p><p>  foreign key (class_id) references cl

49、ass(class_id)</p><p><b>  );</b></p><p><b>  創(chuàng)建班級留言表</b></p><p>  create table messages</p><p><b>  (</b></p><p>  mess

50、age_id int primary key,</p><p>  message_title varchar(20),</p><p>  message_content text,</p><p>  message_name varchar(10),</p><p>  class_id int,</p><p>

51、;  message_time datetime,</p><p>  foreign key (class_id) references class(class_id)</p><p><b>  );</b></p><p><b>  創(chuàng)建相冊表</b></p><p>  create ta

52、ble photo</p><p><b>  (</b></p><p>  photo_id int primary key,</p><p>  photo_name varchar(20),</p><p>  photo_size int,</p><p>  photo_type va

53、rchar(10),</p><p>  photo_uptime datetime,</p><p>  photo_upusername varchar(10),</p><p>  photo_title varchar(20),</p><p>  photo_remark text,</p><p>  cl

54、ass_id int,</p><p>  photo_width int,</p><p>  photo_height int,</p><p>  photo_format varchar(10),</p><p>  foreign key (class_id) references class(class_id)</p>

55、<p><b>  );</b></p><p><b>  創(chuàng)建說說發(fā)表表</b></p><p>  create table coldcase</p><p><b>  (</b></p><p>  coldcase_id int primary key

56、,</p><p>  coldcase_content text,</p><p>  coldcase_name varchar(10),</p><p>  coldcase_time datetime,</p><p><b>  );</b></p><p><b>  創(chuàng)建說

57、說回復表</b></p><p>  create table coldcase_reply</p><p><b>  (</b></p><p>  coldcase_id int,</p><p>  reply_id int,</p><p>  reply_content t

58、ext,</p><p>  reply_name varchar(10),</p><p>  reply_time datetime,</p><p>  primary key (coldcase_id,reply_id),</p><p>  foreign key (coldcase_id) references coldcase(

59、coldcase_id)</p><p><b>  );</b></p><p><b>  參考文獻</b></p><p>  【1】王珊,薩師煊,數據庫系統(tǒng)概論(第四版),高等教育出版社。</p><p>  【2】錢雪忠.數據庫原理及應用(第二版).北京:北京郵電大學出版社,2007<

溫馨提示

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

評論

0/150

提交評論