新闻发布系统的数据库设计1.需求分析2.概念结构设计3.逻辑结构设计1.需求分析本系统面向的对象有两个:用户和管理员。用户分为一般用户(游民)、会员。对用户来说,他们所关心的是新闻的浏览、搜索和评论,同时还要兼顾会员的管理功能。通过系统的功能分析,针对用户归纳出以下需求信息:用户可以浏览、搜索、评论新闻。每个栏目对应一个文件夹;每个新闻对应一个网页文件;每个新闻只能对应一个栏目;每个新闻对应一个新闻模板;每个新闻模板对应不同栏目的多个新闻;每个栏目下面可以有多个新闻;不同栏目的新闻对应的关键字可以相同;会员信息包括的数据项:会员编号,会员名,会员密码,真实姓名,会员E-mail,会员地址;对管理员来说,他们需要对栏目和新闻进行添加、审核、修改和删除。通过分析针对系统管理员,归纳总结出以下需求信息:管理员可以对栏目进行增、删、改;管理员可以对新闻进行增、删、改;管理员可以对新闻模板进行增、删、改;管理员可以对新闻进行审核;管理员可以对用户进行管理;栏目信息包括的数据项:栏目编号,栏目名称,栏目缩略名;新闻信息包括的数据项:新闻编号,新闻提交时间,提交人,新闻所属栏目名称,新闻所属栏目路径,新闻标题,新闻文件地址,新闻图片位置,新闻内容,新闻审核信息等;管理员信息包括的数据项:管理员ID,用户名,密码;新闻模板信息包括的数据项:新闻模板编号,模板名称,模板内容信息等;6)栏目信息包括的数据项:栏目编号,栏目名称,栏目所写;7)新闻信息包括的数据项:新闻编号,新闻所属栏目名称,新闻所属栏目路径,新闻9)标题,新闻内容,新闻图片信息,新闻审核信息等;10)管理员信息包括的数据项:用户名,密码;11)新闻模板信息包括的数据项:新闻模板编号,模板名称,模板内容信息等;新闻发布系统的数据流程图:一般用户用户名密码询问是否注册是注册会员信息库注册验证用户合法性登陆成功不合法合法评论新闻浏览新闻查询新闻新闻信息库增、删、改新闻审核新闻审核评论管理会员新闻评论数据库管理员管理员登陆否会员用户名和密码信息验证合法性用户名密码合法注册信息不合法管理个人信息概念结构设计有了数据项和数据结构以后,就可以设计出能满足用户需求的各种实体,已及它们之间的关系,为后面的逻辑结构设计打下基础。这些实体包含各种具体信息,通过相互之间的作用形成数据的流动。根据需求分析的结果规划出的实体有:管理员实体、新闻栏目实体、单条新闻实体、新闻模板实体等。数据字典(1)数据项:以“会员标识”为例数据项名:会员标识数据项含义:唯一标识每一个会员别名:会员编号数据类型:整型长度:16取值范围:00000~65536取值含义:注册为会员的顺序编号与其他数据项的逻辑关系:(无)(2)数据结构:以“会员”为例数据结构名:会员含义说明:是新闻发布系统的主体数据结构,定义了一个会员的有关信息组成:会员标识,会员名,密码,真实姓名,会员地址,会员联系电话,是否允许该会员发布新闻(3)数据流:以“用户名和密码信息”为例数据流名:用户名和密码信息说明:会员登陆的验证信息数据流来源:“注册会员信息库”存储数据流去向:“验证用户合法性”处理组成:用户名,密码平均流量:每天100个高峰期流量:每天1000个(4)数据存储:以“注册会员信息库”为例数据存储名:注册会员信息库说明:记录会员注册的所有信息编号:(无)流入的数据流:注册用户信息流出的数据流:用户名和密码组成:会员标识,会员名,密码,真实姓名,会员地址,会员联系电话,是否允许该会员发布新闻数据量:50000个记录存取方式:随机存取(5)处理过程:以“验证用户合法性”为例处理过程名:验证用户合法性说明:会员登陆时验证该用户输入的用户信息是否合法输入数据流:用户名和密码输出数据流:合法,不合法处理:注册用户登陆时,系统在会员信息库中查找用户输入的验证信息,如果合法,则通过验证;如果不合法,则不允许用户登陆。会员的验证信息具有唯一性。“验证用户合法性”处理过程的判定表描述如下:1234条件用户名TTFF密码TFTF操作合法,允许登陆√不合法,不允许登陆√√√2.概念结构设计有了数据项和数据结构以后,就可以设计出能满足用户需求的各种实体,已及它们之间的关系,为后面的逻辑结构设计打下基础。这些实体包含各种具体信息,通过相互之间的作用形成数据的流动。根据需求分析的结果规划出的实体有:管理员实体、单条新闻实体、新闻栏目实体、新闻模板实体、新闻评论实体等。实体间的关系E-R图用户使用1管理员新闻模板新闻评论单条新闻新闻栏目属于浏览、搜索、评论管理PNQ1MMNYXZ管理员管理员ID用户名密码管理员实体E-R图管理员实体E-R图单条新闻新闻内容所属栏目新闻标题是否通过审核...........新闻评论新闻编号提交人新闻提交时间新闻栏目栏目ID栏目名首页显示栏目缩略名新闻栏目实体E-R图新闻模板模板ID模板名模板内容新闻模板实体E-R图新闻评论实体E-R图新闻评论评论内容评论时间评论者姓名评论标题评论者E-mail地址评论标识会员实体E-R图会员会员名会员编号E-mail会员真实姓名会员密码会员地址3.逻辑设计数据库的概念结构设计完毕后,就可以将数据库的概念结构转换为SQLServer数据库系统所支持的实际数据模型,也就是数据库的逻辑结构。E-R图转换为关系模型。关系的码用下划线标出管理员(管理员编号,管理员名,密码)此为管理员实体对应的关系模式,该关系模式单个新闻(新闻编号,新闻评论,新闻第一段,新闻提交时间,提交人,新闻标题,新闻内容,所属栏目,是否通过审核,关键字,是否为首页推荐新闻,点击率,生成的新闻文件地址,图片位置,新闻摘自何处)新闻栏目(栏目编号,栏目名,栏目缩略名,是否显示在首页新闻模板(模板编号,模板名,模板内容)新闻评论(评论编号,评论者姓名,评论者E-mail地址,评论标题,评论内容,评论时间)会员(会员编号,会员名,密码,真实姓名,会员地址,会员联系E-mail)浏览搜索评论(用户名,新闻编号,评论编号,点击率,评论时间)管理(管理员编号,模板编号,栏目编号,评论编号,新闻编号)然后对关系模式进行规范化(略)最后得出关系数据表新闻表(News)字段名类型长度Null注释默认值NewsIDint4否主键新闻标识(无)Introtext16是新闻第一段(无)InDatedate8否新闻提交时间getDate()Writervarchar50否提交人(无)Titlevarchar200否新闻标题(无)Contenttext16否新闻内容(无)ItemIDint4是所属栏目(无)PassedChecksmallint2否是否通过审核0(续表)字段名类型长度Null注释默认值Keywordnvarchar200是关键字(无)DefaultNewssmallint2否是否为首页推荐新闻0Clickedint4否点击率0NewsURLnvarchar400是生成的新闻文件地址(无)ImageURLnvarchar400是图片位置(无)会员表(Member)字段名类型长度Null注释默认值MemberIDint4否主键会员标识(无)MemberNamevarchar50否会员名(无)Passwordvarchar32否密码(无)Truenamevarchar50否真实姓名(无)Addressvarchar500否会员地址(无)E-mailvarchar50是会员E-mail(无)新闻栏目表(Items)字段名类型长度Null注释默认值ItemIDint4否主键栏目标识(无)ItemNamevarchar50否栏目名(无)ItemENamevarchar50否栏目缩略名(无)ShowAtHomesmallint2否是否显示在首页(无)新闻模板表(Templates)字段名类型长度Null注释默认值TemplateIDint4否主键模板标识(无)TemplateNamevarchar250否模板名(无)Contenttext16否模板内容(无)新闻评论表(Comments)字段名类型长度Null注释默认值CommentIDint4否主键评论标识(无)Commentervarchar250否评论者姓名(无)Emailvarchar2100是评论者E-mail地址(无)Titlevarchar2200是评论标题(无)Contentntext16否评论内容(无)CommentDatedate8否评论时间getDate()管理员表(Admin)字段名类型长度Null注释默认值AdminIDint4否主键管理员标识(无)UserNamenvarchar50否管理员用户名(无)Passwordnvarchar32否管理员密码(无)