在實際的項目中,需求分析和資料庫的設計是很重要的一個環節,這個環節會直接影響項目的開發過程和品質。實際中,這個環節不但需要系統分析師、軟體工程師等電腦方面的專家,還需要相關領域的領域專家參與才能完成。
但是,在這個文章{
tagshow(event)
}">系列中,所要使用的Demo僅僅是一個例子,而且其業務極為簡單,因此,這裡並不是真正的需求分析和資料庫設計,而是將Demo的需求和資料庫羅列至此,使朋友們對Demo有一個大體的瞭解,方便後續文章中開發過程的理解。
需求分析:
這個項目是一個留言本,其業務極為簡單,現將其描述如下。
1.任何訪問者可以進行留言,留言完成後,不會立即顯示本文,而是要經過管理員{
tagshow(event)
}">驗證後才可顯示。
2.任何訪問者可以對留言發表評論,未通過驗證的留言不可以評論。
3.管理員可以對留言進行回複(這個回複不同於評論,是直接顯示在本文下面,而且是一個留言只能有一個回複),並可對留言與評論實行刪除,以及對留言進行通過驗證操作。
4.管理員分為超級管理員和普通管理員。超級管理員只有一個,負責對普通管理員實行添加、刪除操作。普通管理員可偶多個,負責對留言的管理,並可以修改自己的登入密碼。
這個項目的使用案例圖如下:
附件: f1.jpg
資料庫設計:
設計資料表之前,首先進行實體和關係的識別與確定。
通過需求分析,可以觀察得出,本項目的實體有:管理員(不包括超級管理員),留言,評論。本項目的關係有:留言與評論間的一對多關聯性。
進一步,資料庫各表的設計如下:
管理員表(TAdmin)
ID int 管理員ID NotNull 主鍵,自增
Name varchar(20) 登入名稱 NotNull
Password varchar(50) 登入密碼 NotNull 使用MD5加密
留言表(TMessage)
ID int 留言ID NotNull 主鍵,自增
GuestName varchar(20) 留言者使用者名稱 NotNull
GuestEmail varchar(100) 留言者E-mail Null
Content text 留言內容 NotNull
Time datetime 發表留言時間 NotNull
Reply text 回複 Null
IsPass varchar(10) 是否通過驗證 NotNull
評論表(TComment)
ID int 評論ID NotNull 主鍵,自增
Content text 評論內容 NotNull
Time datetime 發表評論時間 NotNull
MessageID int 所屬留言的ID 外鍵