数据库课程杨唯美.docx
《数据库课程杨唯美.docx》由会员分享,可在线阅读,更多相关《数据库课程杨唯美.docx(21页珍藏版)》请在冰豆网上搜索。
数据库课程杨唯美
数据库课程设计
(2011届)
题目新闻发布系统的数据库
班级08信管2班
学号0829220044
学生姓名马武铭
组长丁小宝
组员
指导教师丁小宝
完成日期2010年12月
摘要
21世纪是信息的时代,是网络的时代,进入信息社会高速发展的时代,数字化革命给所有领域带来新的改变。
随着Internet的普及,无论人们相隔多么遥远,都有天涯若比邻的感觉。
足不出户,便可知天下新近之大事,便可与大洋彼岸的朋友畅谈无阻。
网页逐渐融入人们的生活,快速及时地浏览新闻,获取五彩缤纷的网上信息,已成为人们日常生活的一部分,与此同时越来越多的企业建立了自己的Web网站,企业通过网站可以展示产品,发布最新动态,与用户进行交流和沟通,与合作伙伴建立联系,以及开展电子商务等。
互联网的世界里蕴藏着无限生机,这里只有想不到的、没有做不到的。
网络发展前景无限,及早与网络结合,与信息时代同步,与高科技汇合,定会给社会各行各业的发展注入新鲜的活力。
在网络技术的领域里,传统的商务网站的管理方式有两种,一是静态HTML页面,更新信息时需要重新制作页面然后上传页面并修改相应链接,然而随着Internet的进一步发展,这种静态Web站点的开发与维护变得越来越困难,而且不能与浏览者进行有效交互,从而使得这种方法已不多用。
二是基于ASP、PHP或者JSP和脚本语言,将动态网页和数据库结合,通过应用程序来处理信息,这是目前较为流行的做法。
本文论述的就是采用PHP+Apache+MySQL开发环境开发动态的Web网络新闻发布系统。
关键字:
Internet,PHP,web开发,新闻系统
Abstract
Abstract
The21stcenturyisanera,theeraofthenetworkintotheinformationsocietyeraofrapiddevelopment,thedigitalrevolutiontobringaboutnewchangesinallareas.WiththepopularizationofInternet,nomatterhowfarapartthepeoplehavetheTianyaZorpiafeeling.Stayathome,theywillknowthatthebignewworldcanbefriendsandtalkaboutunimpededacrosstheAtlantic.Pagegradualintegrationintopeople'slives,rapidandtimelynews,getcolorfulweb-basedinformation,hasbecomepartofdailylifeatthesametimemoreandmorecompaniessetuptheirownWWWsites,businessescandisplayproductsthroughthewebsite,publishingthelatestdevelopments,exchangeandcommunicationwithusers,withpartnerstoestablishcontactsandconductinge-commerce.HiddenworldoftheInternet,fulloflife,whereonlytheunexpected,noimpossible.Networkdevelopmentprospectsarepromising,assoonaspossibleandnetworkintegrationandinformationtimes,andhigh-techconvergence,allwalksoflifewillundoubtedlyinjectnewvitality.Inthefieldofnetworktechnology,thetraditionalbusinessmanagementofthesiteTherearetwoways,onestaticHTMLpages,updatetheinformationneedtore-createthepageandthenuploadthepageandmodifythelink,butwiththefurtherdevelopmentofInternet,whichastaticWebsitedevelopmentandmaintenancehasbecomeincreasinglydifficult,andcannoteffectivelyinteractwiththeviewer,whichmakesthismethodhaslimiteduse.2isbasedonASP,PHPorJSP,andscriptinglanguages,dynamicwebpagesanddatabaseintegration,throughtheapplicationofproceduresforhandlinginformation,whichisthemorepopularapproach.OfthispaperistousePHP+Apache+MySQLdevelopmentenvironmentfordevelopingdynamicWebnetworknewsdistributionsystem.
Keywords
Internet,PHP,webdevelopment,Newssystem
目录
1.系统功能需求分析1
2.数据库设计分析2
3.数据库整体逻辑结构设计3
4.数据库实现4
5.课程设计总结5
参考文献7
谢 辞8
在线考试系统数据库的设计与实现
OnlineTestingSystemDesignandImplementationoftheDatabase
数学与信息工程学院信息管理与信息系统
马武铭
指导教师:
丁小宝
1系统功能需求分析
系统面向的对象有两个:
用户和管理员。
用户分为一般用户(游民)、会员。
对用户来说,他们所关心的是新闻的浏览、搜索和评论,同时还要兼顾会员的管理功能。
通过系统的功能分析,针对用户归纳出以下需求信息:
用户可以浏览、搜索、评论新闻。
每个栏目对应一个文件夹;
每个新闻对应一个网页文件;
每个新闻只能对应一个栏目;
每个新闻对应一个新闻模板;
每个新闻模板对应不同栏目的多个新闻;
每个栏目下面可以有多个新闻;
不同栏目的新闻对应的关键字可以相同;
会员信息包括的数据项:
会员编号,会员名,会员密码,真实姓名,会员E-mail,会员地址;
对管理员来说,他们需要对栏目和新闻进行添加、审核、修改和删除。
通过分析针对系统管理员,归纳总结出以下需求信息:
管理员可以对栏目进行增、删、改;
管理员可以对新闻进行增、删、改;
管理员可以对新闻模板进行增、删、改;
管理员可以对新闻进行审核;
管理员可以对用户进行管理;
栏目信息包括的数据项:
栏目编号,栏目名称,栏目缩略名;
新闻信息包括的数据项:
新闻编号,新闻提交时间,提交人,新闻所属栏目名称,新闻所属栏目路径,新闻标题,新闻文件地址,新闻图片位置,新闻内容,新闻审核信息等;
管理员信息包括的数据项:
管理员ID,用户名,密码;
新闻模板信息包括的数据项:
新闻模板编号,模板名称,模板内容信息等;
6)栏目信息包括的数据项:
栏目编号,栏目名称,栏目所写;
7)新闻信息包括的数据项:
新闻编号,新闻所属栏目名称,新闻所属栏目路径,新闻
9)标题,新闻内容,新闻图片信息,新闻审核信息等;
10)管理员信息包括的数据项:
用户名,密码;
11)新闻模板信息包括的数据项:
新闻模板编号,模板名称,模板内容信息等;
新闻发布系统的数据流程图:
2数据库设计分析
有了数据项和数据结构以后,就可以设计出能满足用户需求的各种实体,已及它们之间的关系,为后面的逻辑结构设计打下基础。
这些实体包含各种具体信息,通过相互之间的作用形成数据的流动。
根据需求分析的结果规划出的实体有:
管理员实体、单条新闻实体、新闻栏目实体、新闻模板实体、新闻评论实体等。
1实体间的关系E-R图
2管理员实体E-R图
3管理员实体E-R图
4新闻模板实体E-R图
5新闻评论实体E-R图
3数据库整体逻辑结构设计
数据库的概念结构设计完毕后,就可以将数据库的概念结构转换为SQLServer数据库系统所支持的实际数据模型,也就是数据库的逻辑结构。
E-R图转换为关系模型。
关系的码用下划线标出
管理员(管理员编号,管理员名,密码)
此为管理员实体对应的关系模式,该关系模式
单个新闻(新闻编号,新闻评论,新闻第一段,新闻提交时间,提交人,新闻标题,新闻内容,所属栏目,是否通过审核,关键字,是否为首页推荐新闻,点击率,生成的新闻文件地址,图片位置,新闻摘自何处)
新闻栏目(栏目编号,栏目名,栏目缩略名,是否显示在首页
新闻模板(模板编号,模板名,模板内容)
新闻评论(评论编号,评论者姓名,评论者E-mail地址,评论标题,评论内容,评论时间)
会员(会员编号,会员名,密码,真实姓名,会员地址,会员联系E-mail)
浏览搜索评论(用户名,新闻编号,评论编号,点击率,评论时间)
管理(管理员编号,模板编号,栏目编号,评论编号,新闻编号)
然后对关系模式进行规范化
最后得出关系数据表
4数据库实现
1根据需求分析的结果规划出的实体有:
管理员实体、单条新闻实体、新闻版块实体、新闻评论实体
管理员表(admin)
字段名
类型
长度
是否为空
注释
默认值
adminId
Int
4
否
主键,管理员标识
无
adminName
Varchar
30
否
管理员用户名
无
Loginname
Varchar
30
否
登录名
无
Loginpwd
varchar
50
否
登录密码
无
adminType
Int
4
否
管理员权限
无
Type=1系统管理员具有全部权限,包括对用户,新闻,评论,新闻版块的管理
Type=2新闻管理员只可添加、删除、修改新闻。
以及新闻版块的管理。
Type=3会员管理员
Type=4评论管理员
Sql:
DROPDATABASEIFEXISTS`webnews`;
CREATEDATABASE`webnews`;
USE`webnews`;
CREATETABLEadmin(
adminIDint(4)NOTNULLauto_increment,
adminTypeint(4)notnull,
adminNamechar(30)notnull,
loginNamechar(30)notnull,
loginPwdchar(30)notnull,
PRIMARYKEY (adminID)
)ENGINE=InnoDBDEFAULTCHARSET=gb2312;
INSERTINTOadmin(adminID,adminType,adminName,loginName,loginPwd)VALUES(1,1,'系统管理员','admin1','admin1');
INSERTINTOadmin(adminID,adminType,adminName,loginName,loginPwd)VALUES(2,2,'新闻管理员','admin2','admin2');
INSERTINTOadmin(adminID,adminType,adminName,loginName,loginPwd)VALUES(3,3,'会员管理员','admin3','admin3');
INSERTINTOadmin(adminID,adminType,adminName,LoginName,LoginPwd)VALUES(4,4,'评论管理员','admin4','admin4');
会员表(Member)
字段名
类型
长度
是否为空
注释
默认值
memberID
int
4
Notnull
主键,会员ID
无
loginName
varchar
50
Notnull
登录名
无
loginPwd
varchar
50
Notnull
登录密码
无
realName
varchar
50
Notnull
真实姓名
无
email
varchar
100
Notnull
会员email
无
CREATETABLEmember(
memberIDint(4)NOTNULLauto_increment,
loginNamechar(50)notnull,
loginPwdchar(50)notnull,
realNamechar(50)notnull,
emailvarchar(100)notnull,
PRIMARYKEY (memberID)
)ENGINE=InnoDBDEFAULTCHARSET=gb2312;
INSERTINTOmember(memberID,loginName,loginPwd,realName,email)VALUES(1,'member1','member1','会员1号','member1@');
INSERTINTOmember(memberID,loginName,loginPwd,realName,email)VALUES(2,'member2','member2','会员2号','member2@');
INSERTINTOmember(memberID,loginName,loginPwd,realName,email)VALUES(3,'member3','member3','会员3号','member3@');
INSERTINTOmember(memberID,loginName,loginPwd,realName,email)VALUES(4,'member4','member4','会员4号','member4@');
INSERTINTOmember(memberID,loginName,loginPwd,realName,email)VALUES(5,'member5','member5','会员5号','member5@');
INSERTINTOmember(memberID,loginName,loginPwd,realName,email)VALUES(6,'member6','member6','会员6号','member6@');
INSERTINTOmember(memberID,loginName,loginPwd,realName,email)VALUES(7,'member7','member7','会员7号','member7@');
INSERTINTOmember(memberID,loginName,loginPwd,realName,email)VALUES(8,'member8','member8','会员8号','member8@');
INSERTINTOmember(memberID,loginName,loginPwd,realName,email)VALUES(9,'member9','member9','会员9号','member9@');
INSERTINTOmember(memberID,loginName,loginPwd,realName,email)VALUES(10,'member10','member10','会员10号','member10@');
新闻评论表(Comments)
字段名
类型
长度
是否为空
注释
默认值
CommentID
int
4
否
主键 评论标识
(无)
reviewer
int
4
是
外键 评论者姓名(会员ID)
(无)
Title
varchar
100
否
评论标题
(无)
Content
Text
16
否
评论内容
(无)
CommentDate
Datetime
8
否
评论时间
Now()
newsID
int
4
是
外键 所属新闻ID
(无)
CREATETABLEcomments(
commentIDint(4)NOTNULLauto_increment,
reviewerint(4),
newsint(4),
titlevarchar(100)notNULL,
contenttextnotnull,
commentDatedatetimenotnull,
PRIMARYKEY (commentID),
foreignkey(reviewer)referencesmember(memberID)ondeletecascade,
foreignkey(news)referencesnews(newsID)ondeletecascade
)ENGINE=InnoDBDEFAULTCHARSET=gb2312;
INSERTINTOcomments(commentID,reviewer,news,title,content,commentDate)VALUES(1,1,1,'真假?
','火箭就是垃圾',now());
INSERTINTOcomments(commentID,reviewer,news,title,content,commentDate)VALUES(2,2,1,'强大的队伍正常表现','期待火箭会越来越好',now());
INSERTINTOcomments(commentID,reviewer,news,title,content,commentDate)VALUES(3,1,3,'真假?
','饭岛爱死了,太可惜了。
多好的一人啊!
',now());
INSERTINTOcomments(commentID,reviewer,news,title,content,commentDate)VALUES(4,1,2,'读书?
','读书到死',now());
INSERTINTOcomments(commentID,reviewer,news,title,content,commentDate)VALUES(5,2,1,'真假?
','我也是',now());
新闻版块表(section)
字段名
类型
长度
是否为空
注释
默认值
sectionID
int
4
否
主键版块标识
(无)
sectionName
Varchar
30
否
模板名
(无)
description
Varchar
100
是
版块描述
(无)
CREATETABLEsection(
sectionIDint(4)NOTNULLauto_increment,
sectionNamevarchar(30)notNULL,
descriptionvarchar(100),
PRIMARYKEY (sectionID)
)ENGINE=InnoDBDEFAULTCHARSET=gb2312;
INSERTINTOsection(sectionID,sectionName,description)VALUES(1,'NBA','NBA赛事最新最快信息');
INSERTINTOsection(sectionID,sectionName,description)VALUES(2,'读书','读书时代,今天你读书了吗?
');
INSERTINTOsection(sectionID,sectionName,description)VALUES(3,'财经','财经报道,股票、基金');
INSERTINTOsection(sectionID,sectionName,description)VALUES(4,'娱乐','我最八卦');
INSERTINTOsection(sectionID,sectionName,description)VALUES(5,'军事','最新军事报道');
INSERTINTOsection(sectionID,sectionName,description)VALUES(6,'时事','国内外时事');
新闻表(news)
字段名
类型
长度
是否为空
注释
默认值
NewsID
int
4
否
主键新闻标识
(无)
submtDate
datetime
8
否
新闻提交时间
now()
Author
varchar
50
否
记者姓名
(无)
Title
varchar
100
否
新闻标题
(无)
Content
text
16
否
新闻内容
(无)
sectionID
int
4
是
外键所属版块
(无)
keyWords
Varchar
100
是
关键字
(无)
clickedTimes
Int
4
否
点击次数
0
picture
varchar(100)
varchar(1