论坛管理信息系统
数据库课程设计
设计选题:论坛管理信息系统
班 级:信息与计算科学班 设 计 人:邹业安
学 号: 2014210758
辅导教师:褚万军
一、需求分析: ........................................................................................ 0
1.1 数据需求: .............................................................................. 0 二、数据库设计: .................................................................................... 1
2.1 实体模型: .............................................................................. 1 2.2 ER图到关系图的转换: ........................................................ 1 2.3 数据字典: ................................................................................. 2 三、关系图的建立: ................................................................................... 3 四、功能实现: ........................................................................................... 3
4.1 创建数据库: .......................................................................... 3 4.2创建数据表: ........................................................................... 4 五、数据操作 ............................................................................................ 5
5.1 插入: ...................................................................................... 5 5.2查询: ....................................................................................... 7 5.3向表中添加字段: ................................................................... 9 5.4创建视图: ............................................................................... 9
(1)创建视图: ............................................................... 9 (2)视图的查询: ......................................................... 10 (3)视图的更新: ......................................................... 10 (4)视图的撤消 ............................................................. 11
六、个人总结和体会: ............................................................................. 11
一、需求分析:
1.1 数据需求:
论坛管理信息系统需要完成功能主要有:
(1)作者信息模块:用来管理作者信息,包括作者昵称、贴子编号、性别、年龄、职业、爱好等;
(2)贴子信息模块:用来管理贴子信息,包括贴子编号、发贴日期、时间、等级等;
(3)回复日期模块:用来管理回复信息,包括作者昵称、回复时间、贴子编号等。
1.2 事物需求:
(1)在作者信息模块部分,要求: a.可以查看作者的个人信息;
b.可以对作者信息进行添加及删除的操作。 (2 )在贴子信息部分,要求: a.可以浏览贴子信息;
b.可以对贴子信息进行维护,包括添加及删除的操作。 (3)在回复日期部分,要求: a.可以查看回复日期;
b.可以对回复日期进行维护操作。
0
二、数据库设计:
2.1 实体模型:
n 1
2.2 ER图到关系图的转换:
发帖 回复 作回复 1 m 贴
1
性昵回年作职爱编发日时编回等贴作者
回复编
2.3 数据字典:
author表: ano aname agender aage aoccupation ahobby Char(10) Char(10) Char(10) smallint Char(10) Char(10) 2
不允许为空 不允许为空 允许为空 允许为空 允许为空 允许为空
post表结构: ano pdate ptime pgrade reply表: ano rname rtime
Char(10) Char(10) Char(20) 不允许为空 允许为空 允许为空 Char(10) Char(10) Char(10) Char(10) 不允许为空 允许为空 允许为空 允许为空 三、关系图的建立:
四、功能实现:
4.1 创建数据库:
create database xck;
3
4.2创建数据表:
(1)author表: create table author (ano char(10), aname char(10), agender char(10), aage smallint, aoccupation char(10), ahobby char(10) primary key(ano,aname) );
(2)post表: create table post
(ano char (10) primary key, pdate char(10), ptime char(10), pgrade char(10) );
(3)reply表:
4
create table reply
(ano char(10) primary key, rname char(10), rtime char(20) , );
五、数据操作
5.1 插入:
(1)向author表插入信息:
insert into author values('01','熊程珂','女',19, '学生', '看书');
insert into author values('02','张武月','男',26, '医生', '做实验');
insert into author values('03','李晶','女',34, '老师', '游泳');
insert into author values('04','王亚彤', '女',32, 'HR', '打球');
insert into author values('05','熊程珂','女',19, '学生', '看书');
5
(2)向post表插入信息:
insert into post values('01','2007年', '4月8号', 'A'); insert into post values('02','2008年', '4月14号', 'A'); insert into post values('03','2011年', '5月18号', 'B'); insert into post values('04','2005年', '11月28号', 'A'); insert into post values('05','2012年', '10月2号', 'C');
(3)向reply表插入信息:
insert into reply values('01','赵硕', '2007年5月21号'); insert into reply values('02','张树新', '2008年7月16号');
insert into reply values('03','王明', '2011年8月1号');
6
insert into reply values('04','程珂', '2005年12月11号');
insert into reply values('05','郭云', '2012年12月1号');
5.2查询:
(1) 查询年龄在30岁以下的所有作者的名字和编号: select aname,ano,aage from author where aage<30;
(2)查询贴子等级为A的所有贴子编号:
7
select ano,pgrade from post
where pgrade='A';
(3)查询回帖时间是在2010年以前的回帖者姓名: select rname,rtime from reply
where rtime like '200%';
(4)查询名字姓“熊”且全名为三个汉字的作者的信息: select aname,ano,agender,aage,aoccupation,ahobby from author
where aname like '熊__'
8
5.3向表中添加字段:
(1)将author表中年龄的数据类型由整型改为字符型: alter table author alter column aage char(10); (2)像post表中加入作者姓名: alter table post add s_name char(10);
5.4创建视图: (1)创建视图:
create view view_1 as
select ano,aname,agender,aage,aoccupation,ahobby from author
9
(2)视图的查询:
select * from view_1;
(3)视图的更新:
insert into view_1 values('06','张洋', '男',17,'学生','踢球');
1 0
(4)视图的撤消
drop view view_1;
六、个人总结和体会:
经过了这次数据库上机操作,我对数据库以及课外的相关知识了解得更多了,并且动手操作能力也得到了提高。我从选题、需求分析到E-R图设计,再到关系模型设计,最后建立数据库,无一不是深思熟虑。首先是选题,随着网络的不断发展,网上论坛信息越来越多,发贴的人也越来越多。自然而然,回贴的人也越来越多。因此,我们需要一个论坛管理系统,来统计作者信息、贴子信息和回复信息,来使得论坛信息能够更好的运作。所以我设计这个论坛管理系统来有效地管理论坛信息,使得它能够更加规范和科学。其次是,需求分析,包括作者信息、贴子信息、回复日期,三个部分的规划。再就是E-R图和数据字典的制作,中
1 1
途费了好大的心思,才把他们建立起来。然后就是,在软件中输入代码,得到系统表,实现数据库的功能。在输入代码,实现数据操作包括插入、查询、删除、修改、添加。最后生成关系图。
虽然在设计的过程中出现了诸多错误,但我都及时纠正了,走弯路不怕,就怕走错了路还不改。一分耕耘一分收获,上机操作的过程是很费精力和时间,也需要平时一点一点的积累,不断的努力,中途不会的地方,还找同学指导了我好久,才能完成这个课程设计,但成功之后的喜悦,只有自己实践了才能体会到。想到一句话:不经历风雨,怎么见彩虹;没有人能随随便便成功。我希望我设计的系统,能够得到广泛的应用。最后感谢老师和助教的辛勤教导,让我对数据库的知识又多了一份了解,感谢所有给与我帮助的人!谢谢!
1 2