网站优化服务,郑州网站seo诊断,黑龙江网站建设公司,喀喇沁旗网站建设公司基于.NET平台的分层架构实战#xff08;五#xff09;——接口的设计与实现 基于.NET平台的分层架构实战#xff08;四#xff09;——实体类的设计与实现 基于.NET平台的分层架构实战#xff08;三#xff09;——架构概要设计 基于.NET平台的分层架构实战#xff0… 基于.NET平台的分层架构实战五——接口的设计与实现 · 基于.NET平台的分层架构实战四——实体类的设计与实现 · 基于.NET平台的分层架构实战三——架构概要设计 · 基于.NET平台的分层架构实战一——综述 在实际的项目中需求分析和数据库的设计是很重要的一个环节这个环节会直接影响项目的开发过程和质量。实际中这个环节不但需要系统分析师、软件工程师等计算机方面的专家还需要相关领域的领域专家参与才能完成。 但是在这个文章系列中所要使用的Demo仅仅是一个例子而且其业务极为简单因此这里并不是真正的需求分析和数据库设计而是将Demo的需求和数据库罗列至此使朋友们对Demo有一个大体的了解方便后续文章中开发过程的理解。需求分析 这个项目是一个留言本其业务极为简单现将其描述如下。 1.任何访问者可以进行留言留言完成后不会立即显示正文而是要经过管理员验证后才可显示。 2.任何访问者可以对留言发表评论未通过验证的留言不可以评论。 3.管理员可以对留言进行回复这个回复不同于评论是直接显示在正文下面而且是一个留言只能有一个回复并可对留言与评论实行删除以及对留言进行通过验证操作。 4.管理员分为超级管理员和普通管理员。超级管理员只有一个负责对普通管理员实行添加、删除操作。普通管理员可偶多个负责对留言的管理并可以修改自己的登录密码。 这个项目的用例图如下 图2.1、NGuestBook的用例图
数据库设计 设计数据表之前首先进行实体和关系的识别与确定。 通过需求分析可以观察得出本项目的实体有管理员不包括超级管理员留言评论。本项目的关系有留言与评论间的一对多关系。 进一步数据库各表的设计如下管理员表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 外键 本文基于署名-非商业性使用 3.0许可协议发布欢迎转载演绎但是必须保留本文的署名张洋包含链接且不得用于商业目的。如您有任何疑问或者授权方面的协商请与我联系。 评论表中没有主键。管理员表中用户名应该就是主键你的管理员登录时候用户名就应该不能重复。不是什么都用自增长类型的。 系统是东亚用户为主的话应该考虑使用nvarchar而不是varchar。 如果考虑使用的是ORM的话表名推荐不要加T了应该是你的老师让你这样做的2000年以前的程序员到挺习惯加这个。可是加了操作实体对象很累毕竟已经有命名空间做限制了。 如果用户有需求提出可以对评论进行评论的这个设计就OVER了。 需求中2的后半句有疑问看不到的留言如何进行评论 首先说一下楼主辛苦了。 对LZ数据库的设计个人建议如下 1.管理员表TAdmin里有个假删除的字段(冻结)因为对于管理员来说不能说删除就删除吧如果哪天需要重新启用了在添加感觉挺麻烦对于24楼的建议偶也有此意不过楼主有回复。 2.留言表TMessage 一个留言有一个回复可能有他本身的业务需求吧 3.评论表TComment 虽然可以匿名回复但是还是建议有个GuestName的字段这样对于登录的用户还是可以显示用户名的从而可以实现其互动性的作用。 以上只是个人观点欢迎讨论。