网络专业毕业论文15176.doc_第1页
网络专业毕业论文15176.doc_第2页
网络专业毕业论文15176.doc_第3页
网络专业毕业论文15176.doc_第4页
网络专业毕业论文15176.doc_第5页
免费预览已结束,剩余19页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

课程设计 设计说明书 网站新闻发布与管理系统 的数据库设计和数据操作 学生姓名 学 号 班 级网络 101 班 成 绩 指导教师 课程设计任务书 20122013 学年 第二学期 课程设计名称: 课程设计 课程设计题目: 网站新闻发布与管理系统的数据库设计和数据操作 完 成 期 限:自 2013 年 6 月 17 日 至 2013 年 6 月 28 日 共 2 周 设计内容: 1.任务说明 备忘录管理系统可以为用户提供日常信息管理,主要为使用者提供对个人信息更方便的记录和查 询等功能。具体要求实现以下一些基本功能: 1)日常记录管理:记录日常生活或者工作事件,以免遗忘,并提供记录的查询、浏览、修改和删 除等管理功能。 2)通讯薄管理:记录朋友、亲属、同事等联系人的通讯信息,以免遗忘,并提供记录的查询、浏 览、修改和删除等管理功能。 3)密码备忘管理:记录日常使用的密码信息,比如银行帐号密码、邮箱密码、一些网站登陆密码 等,以免遗忘,并提供记录的查询、浏览、修改和删除等管理功能。 4)系统维护:操作员管理、权限管理等。 2. 要求 1) 在调查或了解的基础上,进行系统分析。 2) 根据逻辑设计方案,进行系统设计。 3) 课程设计的重点在系统的分析和数据库设计方面。 3. 参考资料 1 苗雪兰,刘瑞新,宋会群.数据库系统原理及应用教程(第 2 版)m.北京:机械工业出版社,2006. 2 向阳.信息系统分析与设计(第 1 版)m.北京:清华大学出版社,2009. 3 卫红春.信息系统分析与设计m.西安:西安电子科技大学出版社,2003. 指导教师:杨刚 教研室负责人:陈波 课程设计评阅 评语: 指导教师签名: 年 月 日 摘 要 设计了一个备忘录管理系统,主要完成了系统分析、数据库设计和实现、数据操作等内容。该系 统具体功能有:记录日常生活或者工作事件,记录朋友、亲属、同事等联系人的通讯信息,也可以记 录日常使用的密码信息等,数据库实现采用 sql server 2008 数据库管理系统。 关键词关键词:备忘;管理系统;系统分析;sql server 目目 录录 1 课题描述课题描述.1 2 需求分析需求分析.2 2.1 功能分析功能分析.2 2.2 数据流程分析数据流程分析2 2.3 数据字典数据字典.3 3 系统总体设计系统总体设计.5 3.1 模块划分模块划分.5 3.2 系统功能模块图系统功能模块图.5 4 数据库的设计数据库的设计.6 4.1 概念结构设计概念结构设计.6 4.2 逻辑结构设计逻辑结构设计.6 4.3 数据库物理结构设计数据库物理结构设计.7 5 数据库的数据操作数据库的数据操作.9 5.1 数据库的创建数据库的创建.9 5.2 数据操作数据操作.9 6 总结总结.18 参考文献参考文献.19 1 1 课题描述 1)内容 本次课程设计是要设计一个网站新闻发布与管理系统,完成对网站新闻发布与管理系统数据库的 设计并进行数据操作。网站新闻发布与管理系统可以发布和管理新闻信息,主要实现用户浏览与评论 新闻和管理员发布与管理新闻以及管理评论。具体实现一些功能,为用户提供用户管理,为管理员提 供新闻管理、权限管理、管理员管理和评论管理。 2)目的 本次课程设计重在对学习过的理论知识进行实际应用。在了解相关信息的基础上,进行系统分析。 根据逻辑设计方案,进行系统设计,重在系统的分析与数据库设计方面。加强掌握数据库设计流程, 为系统实现奠定重要基础。 2 2 需求分析 2.1 功能分析功能分析 设计管理系统对于用户和管理员,应实现以下功能: 1)用户管理:提供用户注册,注册后查看和修改个人信息和对新闻发表评论的功能。 2)管理员管理:高权限管理员(超级管理员)可新增、查看、修改和删除低权限管理员信息。 3)权限管理:给管理员赋权,设定某一权限可操作的模块和是否可管理新闻评论。 3)新闻管理:有相关权限的管理员可发布和管理新闻信息。 3)评论管理:有相关权限的管理员可审核新闻评论。 2.2 数据流程分析数据流程分析 1)数据流程分析的工具 数据流图(dfd)是一种图形化技术,它描绘信息流和数据从输入移动到输出的过程中所经受的 变换。在数据流图中没有任何具体的物理元素,它只是描绘信息在系统中流动和被处理的情况。 数据流图的四种基本符号和具体描述如图 2.1 所示。 加工外部实体 数据存储数据流 图 2.1 数据流图的基本符号 数据流图在系统分析中的主要作用体现在以下几点: (1)数据流图是系统逻辑功能的图形表示,即使不是专业的计算机人员也容易理解它,所以它是 分析员和用户之间极好的通信工具。 (2) 数据流图能清楚地描绘数据在系统中的流动和被处理的逻辑过程。 (3)数据流图是系统逻辑功能的图形表示,容易理解。 2)系统数据流图 通过对系统的分析,第 0 层数据流图如图 2.1 所示,第 1 层数据流图如 2.1 所示,通讯录管理模 块第 2 层数据流图如图 2.3 所示。 3 浏览新闻、发表评论 发布与管理新闻 展示新闻 图 2.1 第 0 层数据流图 用户数据用户表 用户信息权限_模块表 权限_评论表 管理员_权限表 管理员表 新闻表 评论表 图 2.2 第 1 层数据流图 2.3 数据字典数据字典 数据字典(dd,data dictionary)是以特定格式记录下来的、对系统的数据流程图中各个基本要 素(数据流、加工、存储和外部项)的内容和特征所作的完整的定义和说明。数据字典是对数据流程 图的重要补充和说明。数据字典中有五种类型的条目:外部实体,数据流,数据存储,数据项和加工。 数据字典中包括数据定义,但除了它之外,还包含其它一些信息。一般信息,包括名字,别名和 描述。针对以上数据流图,给出部分项的说明。 (1)用户信息 数据流名:用户信息 别名: 描述:用户信息 组成:用户信息 = 用户编号+用户名称+用户密码+用户 email 备注: (2)管理员信息 数据流名:管理员信息 网站新闻发布 与管理系统 管理员用户 用户用户管理 管理员管理 权限管理 新闻管理 评论管理 管理员 4 别名: 描述:管理员信息 组成:管理员信息 = 管理员编号+管理员名称+管理员密码 备注: (3)新闻信息 数据流名:新闻信息 别名: 描述:新闻信息 组成:新闻信息 = 新闻编号+新闻标题+新闻内容+发布时间+新闻描述+图片路径+点击率+是否审核通过+是 否置顶 备注: (4)权限信息 数据流名:权限信息 别名: 描述:权限信息 组成:权限信息 = 权限编号+权限名称 备注: (5)模块信息 数据流名:模块信息 别名: 描述:模块信息 组成:模块信息 = 模块编号+模块名称+模块父编号 备注:模块是说明管理员管理新闻的类型,如文章管理,图片管理等。 (6)栏目信息 数据流名:栏目信息 别名: 描述:栏目信息 组成:栏目信息 = 栏目编号+栏目名称+栏目父编号+栏目描述 备注:栏目是说明新闻所属的类别,如国内新闻,国际新闻。父编号表示其嵌套关系,如国内的娱乐新闻。 (7)评论信息 数据流名:权评论信息 别名: 描述:评论信息 组成:评论信息 = 评论编号+评论标题+评论内容+评论时间 5 备注: 6 3 系统总体设计 3.1 模块划分模块划分 设计一个备忘录管理系统,具体分为四大模块,如下: (1)用户管理模块:实现新增用户,查看和修改用户信息功能; (2)管理员管理模块:实现新增管理员,查看、修改和删除管理员信息功能; (3)权限管理模块:实现对管理员、对管理的模块和管理的评论赋权功能; (4)新闻管理模块:实现有相关权限的管理员对新闻的增加、查看、修改和删除功能; (5)评论管理模块:实现有相关权限的管理员对评论的审核和删除功能; 3.2 系统功能模块图系统功能模块图 备忘录管理系统是利用计算机实现对用户记录信息的管理,严格按照系统总体设计模块划分方案, 分为用户管理、管理员管理、权限管理、新闻管理和评论管理五大模块。系统功能框架图如下所示: 图 3.1 系统功能模块图 网站新闻发表与管理系统 用 户 管 理 管 理 员 管 理 权 限 管 理 新 闻 管 理 评 论 管 理 注 册 新 用 户 查 看 用 户 信 息 修 改 用 户 信 息 注 册 新 管 理 员 管 理 管 理 员 信 息 管 理 新 闻 信 息 新 增 新 闻 信 息 审 核 评 论 删 除 评 论 评 论 赋 权 模 块 赋 权 管 理 员 赋 权 7 4 数据库的设计 4.1 概念结构设计概念结构设计 概念结构设计是将系统需求分析得到的用户需求抽象为反映用户观点的信息结构的过程。概念结 构设计的结果是数据库的概念模型,即 e-r 模型。由于它是从现实世界的角度进行抽象和描述,所以 它与计算机硬件、数据库逻辑结构和支持数据库的 dbms 无关。在数据库设计中应重视概念结构设计, 它是整个数据库设计的关键,是为计算机存储数据做准备工作。 根据需求分析结果,主要有用户实体、日常记录本实体、通讯录实体和密码备忘录实体 4 个实体。 各实体属性图如图 4.1-4.7 所示,系统总体 e-r 图如图 4.8 所示。 图 4.1 用户信息的实体属性图 图 4.2 管理员信息的实体属性图 图 4.3 权限信息的实体属性图 用户 用户编号 用户名称 用户密码 用户 email 管理员 管理员编号 管理员名称 管理员密码 权限 权限编号 号 权限名称 码 8 图 4.4 新闻信息的实体属性图 图 4.5 模块信息的实体属性图 图 4.6 栏目信息的实体属性图 图 4.7 评论信息的实体属性图 新闻 新闻编号 新闻标题 新闻内容 发布时间 栏目 栏目编号 栏目名称 栏目描述 栏目父编号 评论 评论编号 评论标题 评论内容 评论时间 新闻描述 图片路径 点击率 是否审核 是否置顶 模块 模块编号 模块名称 模块父编号 9 图 4.8 系统总体 e-r 图 管理员 属于 角色 评论 管理员_权 限编号 模块 管理管理 属于 新闻 属于 栏目 发表 浏览 用户 属于 权限_评论 编号 权限_模块 编号 新闻_模块 编号 新闻_栏目 编号 用户_评论 编号 新闻_评论 编号 10 4.2 逻辑结构设计逻辑结构设计 e-r 图表示的概念模型是用户数据要求的形式化。e-r 图是独立于任何一种数据模型的概念信息 结构,也不为任何一个 dbms 所支持。逻辑结构设计的任务就是把概念结构设计好的基本 e-r 图转换 为与选用的某个具体的 dbms 所支持的数据模型相符合的逻辑结构,设计的结果是一组关系模式。 将图 4.8 中系统 e-r 图转换成关系模型如下: 用户(用户编号,用户名称,用户密码,用户 email) ; 管理员(管理员编号,管理员名称,管理员密码) ; 权限(权限编号,权限名称) ; 新闻(新闻编号,新闻标题,新闻内容,发布时间,新闻描述,图片路径,点击率,是否审核, 是否置顶) ; 模块(模块编号,模块名称,模块父编号) ; 栏目(栏目编号,栏目名称,栏目父编号,栏目描述) ; 评论(评论编号,评论标题,评论内容,评论时间) ; 管理员_权限(管理员-权限编号,管理员编号,权限编号) ; 权限_模块(权限-模块编号,权限编号,模块编号) ; 权限_评论(权限-评论编号,权限编号) ; 新闻_模块(新闻-模块编号,新闻编号,模块编号) ; 新闻_栏目(新闻-栏目编号,新闻编号,栏目编号) ; 新闻_评论(新闻-评论编号,新闻编号,评论编号) ; 用户_评论(用户-评论编号,用户编号,评论编号) ; 4.3 数据库物理结构设计数据库物理结构设计 数据库的物理结构主要指数据库在物理设备上的存储结构与存取方法,它依赖于给定的计算机系 统。设计的任务是选择合适的存储结构和存取路径,也就是设计数据库的内模式。 内模式和逻辑模式不一样,不直接面向用户,一般的用户不一定、也不需要了解内模式的设计细 节。内模式的设计可以不考虑用户理解的方便,其主要的设计目标有两个:其一提高数据库的性能, 特别是满足主要应用的性能要求;其二能够有效地利用存储空间。 根据数据库物理结构设计理论,将该系统逻辑结构转换为物理结构,如下所示: (1)用户信息表 用户信息表(users)主要用来存放用户账号信息,如表 4.1 所示。 表 4.1 用户信息表 列名数据类型允许 null 值说明 useridint否用户编号 usernamenvarchar(20)否用户名称 userpasswordnvarchar(20)否用户密码 useremailnvarchar(20)否用户 email (2)管理员信息表 11 管理员信息表(admin)主要用来存放用户账号信息,如表 4.2 所示。 表 4.2 管理员信息表 列名数据类型允许 null 值说明 adminidint否管理员编号 adminnameinvarchar(20)否管理员名称 adminpasswordnvarchar(20)否管理员密码 (3)权限信息表 权限信息表(roles)主要用来存放权限信息,如表 4.3 所示。 表 4.3 权限信息表 列名数据类型允许 null 值说明 roleidint否权限编号 rolenamenvarchar(20)否权限名称 (4)新闻信息表 新闻信息表(news)主要用来存放新闻信息,如图 4.4 所示。 表 4.4 新闻信息表 列名数据类型允许 null 值说明 newsidint否新闻编号 newstitlenvarchar(50)否新闻标题 newscontentntext否新闻内容 newsdatedatetime是发布时间 newsdescnvarchar(50)否新闻描述 newimagepathnvarchar(50)否图片路径 newsrateint否点击率 newsischeckbit否是否审核 newsistopbit否是否置顶 (5)模块信息表 模块信息表(modules)主要用来存放新闻模块信息,如图 4.5 所示。 表 4.5 模块信息表 列名数据类型允许 null 值说明 moduleidint否模块编号 modulenamenvarchar(50)否模块名称 modulepidintt否模块父编号 (6)栏目信息表 栏目信息表(categroy)主要用来存放新闻栏目信息,如图 4.6 所示。 表 4.6 栏目信息表 列名数据类型允许 null 值说明 categroyidint否栏目编号 categroynamenvarchar(50)否栏目名称 categroypidint否栏目父编号 categroydescnvarchar(50)否栏目描述 (7)评论信息表 评论信息表(comment)主要用来存放新闻评论信息,如图 4.7 所示。 表 4.7 评论信息表 列名数据类型允许 null 值说明 commentidint否评论编号 commenttitlenvarchar(50)否评论标题 commentcontentntext否评论内容 12 commentdatedatetime是评论时间 (8)管理员_权限表 管理员_权限表(admin_roles)主要用来存放管理员和权限的关系,如图 4.8 所示。 表 4.8 管理员_权限表 列名数据类型允许 null 值说明 aridint否管理员_权限编号 adminidint否管理员编号 roleidint否权限编号 (9)权限_模块表 权限_模块表(roles_modules)主要用来存权限和模块的关系,如图 4.9 所示。 表 4.9 权限_模块表 列名数据类型允许 null 值说明 rmidint否权限_模块编号 roleidint否权限编号 moduleidint否模块编号 (10)权限_评论表 权限_评论表(roles_comment)主要用来存放权限和评论的关系,如图 4.10 所示。 表 4.10 权限_评论表 列名数据类型允许 null 值说明 rcidint否权限_评论编号 roleidint否权限编号 (11)新闻_模块表 新闻_模块表(news_modules)主要用来存放新闻和模块的关系,如图 4.11 所示。 表 4.11 新闻_模块表 列名数据类型允许 null 值说明 nmidint否新闻_模块编号 newsidint否新闻编号 moduleidint否模块编号 (12)新闻_栏目表 新闻_栏目表(news_categroy)主要用来存放新闻和栏目的关系,如图 4.12 所示。 表 4.12 新闻_栏目表 列名数据类型允许 null 值说明 ncategroyidint否新闻_栏目编号 newsidint否新闻编号 categroyidint否栏目编号 (13)新闻_评论表 新闻_评论表(news_comment)主要用来存放新闻和评论的关系,如图 4.13 所示。 表 4.13 新闻_评论表 列名数据类型允许 null 值说明 ncommentidint否新闻_评论编号 newsidint否新闻编号 commentidint否评论编号 13 (14)用户_评论表 用户_评论表(users_comment)主要用来存放用户和评论的关系,如图 4.14 所示。 表 4.14 用户_评论表 列名数据类型允许 null 值说明 ucidint否用户_评论编号 useridint否用户编号 commentidint否评论编号 14 5 数据库的数据操作 5.1 数据库的创建数据库的创建 根据数据库设计结果,利用 sql server management 工具,用 sql 语句创建数据库。创建数据库 语句如下所示: create database newsmanagementsystem use newsmanagementsystem -管理员表 create table admin( adminid int primary key identity(1,1), adminname nvarchar(20) not null, adminpassword nvarchar(20) not null ) -权限表 create table roles( roleid int primary key identity(1,1), rolename nvarchar(20) not null ) -管理员权限表 create table admin_roles( arid int identity(1,1), adminid int, roleid int, constraint arpk primary key(arid,adminid,roleid), constraint arfk foreign key(adminid) references admin(adminid), constraint arfk2 foreign key(roleid) references roles(roleid) ) -模块表 create table modules( moduleid int primary key identity(1,1), modulename nvarchar(50) not null, modulepid int not null ) -权限模块表 create table roles_modules( rmid int identity(1,1), roleid int, moduleid int, constraint rmpk primary key(rmid,roleid,moduleid), constraint rmfk foreign key(roleid) references roles(roleid), constraint rmfk2 foreign key(moduleid) references modules(moduleid) ) -评论表 create table comment( commentid int primary key identity(1,1), commenttitle nvarchar(50) not null, commentcontent ntext not null, commentdate datetime default getdate() 15 ) -权限评论表 create table roles_comment( rcid int identity(1,1), roleid int, constraint rcpk primary key(rcid,roleid), constraint rcfk foreign key(roleid) references roles(roleid), ) -用户表 create table users( userid int primary key identity(1,1), username nvarchar(20) not null, userpassword nvarchar(20) not null, useremail nvarchar(20) not null ) -用户评论表 create table users_comment( ucid int identity(1,1), userid int, commentid int, constraint ucpk primary key(ucid,userid,commentid), constraint ucfk foreign key(userid) references users(userid), constraint ucfk2 foreign key(commentid) references comment(commentid) ) -新闻表 create table news( newsid int primary key identity(1,1), newstitle nvarchar(50) not null, newscontent ntext not null, newsdate datetime default getdate(), newsdesc nvarchar(50) not null, newsimagepath nvarchar(50), newsrate int, newsischeck bit, newsistop bit ) -新闻评论表 create table news_comment( ncommentid int identity(1,1), newsid int, commentid int, constraint ncommentpk primary key(ncommentid,newsid,commentid), constraint ncommentfk foreign key(newsid) references news(newsid), constraint ncommentfk2 foreign key(commentid) references comment(commentid) ) -新闻模块表 create table news_modules( nmid int identity(1,1), newsid int, moduleid int, constraint nmpk primary key(nmid,newsid,moduleid), 16 constraint nmfk foreign key(newsid) references news(newsid), constraint nmfk2 foreign key(moduleid) references modules(moduleid) ) -栏目表 create table category( categoryid int primary key identity(1,1), categoryname nvarchar(50) not null, categorypid int not null, categorydesc nvarchar(50) not null ) -新闻栏目表 create table news_category( ncategroyid int identity(1,1), newsid int, categoryid int, constraint ncategroypk primary key(ncategroyid,newsid,categoryid), constraint ncategroyfk foreign key(newsid) references news(newsid), constraint ncategroyfk2 foreign key(categoryid) references category(categoryid) ) 5.2 数据操作数据操作 1)数据插入操作 向用户表中添加一些新用户,sql 语句如下所示: use db_memo insert tb_user values(lee,111,2) insert tb_user values(chen,222,3) insert tb_user values(qin,333,4) 数据插入结果如图 5.1 所示 图 5.1 用户信息表添加信息结果 2)简单数据查询 向新建表中插入新数据后,查询日常记录信息,sql 语句如下所示: use db_memo select theme,content,date,week,time,city,weather from tb_dairecord 数据查询结果如图 5.2 所示 17 图 5.2 查询所有日常记录信息结果 3)嵌套查询 根据数据库中已添加的信息,现在查询用户 lee 的所有好友通讯录信息,sql 语句如下所示: use db_memo select name,tel,email,groups,memo from tb_addbook,tb_user where tb_addbook.usernum=tb_user.usernum and usernum=lee 数据查询结果如图 5.3 所示 图 5.3 用户 lee 的所有好友通讯录信息 4)为数据库表中列创建 check 约束 在创建的日常记录信息表,为列 week 创建 check 约束,使其值只能为星期一、星期二、星期 三、星期四、星期五、星期六、星期日,sql 语句如下所示: use db_memo alter table tb_dairecord with check add constraint check_week check(week=星期一 or week=星期二 or week=星期三 or week=星期四 or week=星期五 or week=星期六 or week=星期日) 创建 check 约束结果如图 5.4 所示: 图 5.4 为日常记录表中列 week 创建 check_week 约束结果 5)为数据库表中列创建 default 约束 新建用户后,为用户创建初始密码,即对用户表中列 password 创建 default 约束,创建 sql 语句如下所

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论