《新闻管理系统》数据库设计_参考答案
《数据库原理及应用》课程设计
——《新闻管理系统》数据库设计(参考答案)
题目解读:
系统功能需求:
新闻按栏目分类(只有一级栏目),每条新闻可归属多个栏目,每个栏目有多条新闻。(实体新闻和栏目间是多对多关系,因此转换成关系模式时,该关系应为一个表)
每条新闻可包含多个图片,但无需按图片检索新闻;
(所有图片链接可存放于一个字段中)
每条新闻可包含最多3个关键字,用于显示相关新闻;
(每个新闻包含3个字段,用于存储关键字)
用户可按栏目、新闻名称或关键字进行模糊或精确查询新闻; (新闻名称,关键字,栏目必须是单独的字段)
用户在浏览新闻的同时可对其进行评论,其评论信息将按时间顺序显示在新闻底部;
(实体用户和新闻间的关系(评论)必须包含评论时间等字段,因此转换成关系模式时,评论应为一个表)
每位用户必须有用户名、密码等信息,用于验证用户登录;
每位用户归属一用户组,用于判断用户权限;
(用户和用户组属于一对多关系,因此转换成关系模式时,无需用一个表来描述该关系,在用户表中加一字段,用户说明该用户隶属哪个用户组)
用户的权限有对栏目名称进行修改;对新闻进行新增、修改、删除等操作;对用户评论进行删除等操作;对用户进行管理(修改密码、删除用户等)。
(权限定义应该是一个独立的表)
每个用户组拥有不同的权限;每个权限可属于多个用户组。 (用户组与权限是一个多对多的关系。它们间的关系应为一个表)
根据系统需求设计表结构(如下图所示)
表1新闻表 T_News
字段名称字段类型(长度)可空默认值备注新闻IDvarchar 128 否GUID(主键)新闻名称varchar 255 是新闻内容text是新闻图片varchar 255 是以|号分隔;关键字1varchar 128 是关键字2varchar 128 是关键字3varchar 128 是备注text是 表2栏目表 T_Column
字段名称字段类型(长度)可空默认值备注栏目IDvarchar 128 否GUID(主键)栏目名称varchar 255 是栏目关键字varchar 255 是备注text是表3新闻栏目表 T_News_Column
字段名称字段类型(长度)可空默认值备注关系IDvarchar 128 否GUID(主键)新闻IDvarchar 128 否栏目IDvarchar 128 否备注text是 表4用户表 T_User
字段名称字段类型(长度)可空默认值备注用户IDvarchar 128 否GUID(主键)用户名称varchar 128 是用户密码varchar 128 是所属权限组varchar 128 否权限组ID备注text是 表5评论表 T_Comment
字段名称字段类型(长度)可空默认值备注评论IDvarchar 128 否GUID(主键)评论用户varchar 128 否用户ID评论新闻varchar 128 否新闻ID评论时间datetime否提交时间评论内容text是备注text 表6用户组表 T_UserGroup
字段名称字段类型(长度)可空默认值备注用户组IDvarchar 128 否GUID(主键)用户组名称varchar 128 是用户组描述varchar 128 是备注text是 表7权限表 T_Powers
字段名称字段类型(长度)可空默认值备注权限IDvarchar 128 否GUID(主键)权限内容varchar 255 否备注text是 表8用户组权限表 T_UserGroup_Powers
字段名称字段类型(长度)可空默认值备注权限分配IDvarchar 128 否GUID(主键)用户组varchar 128 否用户组ID权限varchar 128 否权限ID备注text是 栏目ID
m
栏目名称
栏目关键字
新闻ID
图片
名称
n
所属
栏目
新闻
m
内容
关键字1
关键字2
关键字3
评论
用户
评论时间
评论内容
评论ID
用户ID
用户名
密码
所属
用户组
用户组ID
用户组名称
用户组描述
n
1
m
拥有
权限
m
n
权限ID
权限内容