- 1 -
《数据库系统原理》课程设计实验报告
知乎论坛系统
学
学号:
1
姓
姓名:
杨
专
专业:
计
计算机科学与技术
学
学院:
计
计算机与信息技术学院
提
提交日期:
《数据库系统原理》课程设计报告
- 2 -
目录
《数据库系统原理》课程设计实验报告 ...............................................................- 1 -
1.引言 ........................................................................................................................- 4 -
1.1 知乎论坛需求分析.........................................................................................................- 4 -
1.2 系统目标.........................................................................................................................- 5 -
1.2.1 具体目标..............................................................................................................- 5 -
1.2.2 系统交互方式......................................................................................................- 5 -
1.3 开发环境选择.................................................................................................................- 7 -
1.4 可行性分析.....................................................................................................................- 7 -
2.数据库系统设计 ....................................................................................................- 8 -
2.1 数据 DFD 流图...............................................................................................................- 8 -
2.2 数据库表及关系建立.....................................................................................................- 8 -
2.3 详细数据库结构设计.....................................................................................................- 8 -
2.4 概念模型的 ER 图........................................................................................................- 11 -
3.程序系统设计 ......................................................................................................- 12 -
3.1 前端网页架构...............................................................................................................- 12 -
3.1 后端部署架构...............................................................................................................- 12 -
4.数据库实现 ..........................................................................................................- 13 -
4.1 数据库编写 SQL 语句 .................................................................................................- 13 -
4.2 数据库完整性约束.......................................................................................................- 16 -
4.3 数据库连接...................................................................................................................- 17 -
4.4 数据库编程进行操作...................................................................................................- 17 -
4.5 数据流程图...................................................................................................................- 18 -
5.程序实现 ..............................................................................................................- 19 -
5.1 前端网页实现...............................................................................................................- 19 -
5.1.1 网页前期设计....................................................................................................- 19 -
5.1.2 网页组件设计....................................................................................................- 20 -
5.1.3 整体网页设计展示............................................................................................- 22 -
5.2 后端逻辑实现...............................................................................................................- 25 -
5.2.1 后端环境配置....................................................................................................- 25 -
5.2.2 后端系统初始化................................................................................................- 26 -
5.2.3 后端详细设计....................................................................................................- 27 -
5.2.3.1.登陆认证.....................................................................................................- 27 -
5.2.3.2.发布问题.....................................................................................................- 28 -
5.2.3.3.收藏问题.....................................................................................................- 29 -
5.2.3.4.点赞回答.....................................................................................................- 30 -
5.2.3.5.评论实现.....................................................................................................- 31 -
5.2.3.6 用户主页实现.............................................................................................- 32 -
5.2.3.7.用户个人问题删除.....................................................................................- 32 -
5.2.3.8.管理员删除.................................................................................................- 33 -
5.2.3.9.搜索.............................................................................................................- 34 -
5.2.3.10.新用户注册...............................................................................................- 34 -
5.2.4 Hash 加盐加密存储...........................................................................................- 35 -
6.软件使用说明 ......................................................................................................- 36 -
6.1 运行环境......................................................................................................................- 36 -
7.实验总结 ..............................................................................................................- 37 -
- 3 -
1.引言
1.1 知乎论坛需求分析
本次的课程设计主要针对数据库编程的设计和实现,知乎论坛系统主要功能
是‘有问题,上知乎’,用户通过浏览其他用户的问题的回答,解决自己的一些
问题,主要为用户使用,对于管理员可以对论坛中一些不合法的信息进行删除,
甚至可以封除用户的号码。
知乎是网络问答社区,连接各行各业的用户。用户分享着彼此的知识、经验
和见解,为中文互联网源源不断地提供多种多样的信息。准确地讲,知乎更像一
个论坛:用户围绕着某一感兴趣的话题进行相关的讨论,同时可以关注兴趣一致
的人。对于概念性的解释,网络百科几乎涵盖了你所有的疑问;但是对于发散思
维的整合,却是知乎的一大特色。
图 1-1.总体需求刻画图
论坛用户
临时用户
浏览
发表
回答
收藏
关注
管理员
用户管理
论坛管理
删除
修改信息
点赞
《数据库系统原理》课程设计报告
- 4 -
1.2 系统目标
1.2.1 具体目标
在该社区中用户可以:
浏览,根据个人兴趣进行浏览
提问,对问题进行简单描述,发布,等待其他用户回答问题。
回答,针对问题发表自己的见解,分享经验。
点赞,对喜欢的回答进行点赞。
关注,对自己感兴趣的人进行关注
收藏,用户可以创建收藏夹,收藏回答,方便下次阅读。
个人主页,用户拥有自己主页,可以查看自己发布和收藏
删除,用户只有权对自己发布的问题进行删除
搜索,用户通过输入关键字进行
在该社区中管理员的操作:
对发表的不合法的信息,进行删除
对发表不合法信息的用户进行删除
未注册的临时用户的操作:
对发表不合法信息的用户进行删除
搜索,用户通过输入关键字进行
浏览,根据个人兴趣进行浏览
1.2.2 系统交互方式
(1)临时用户可以不通过认证进行如下操作:
1)浏览:用户点击论坛网页端主页中生成的随机问题信息进行查看,可以
浏览问题,回答,以及评论,但是无权发表任何其中一项。
2)点赞:用户在浏览中可以根据自己的喜好对回答进行点赞,此点赞有效。
- 5 -
3)查找:用户通过输入查找关键字进行查询。数据库会对其进行匹配,然
后将查询到的信息进行返回,呈现在主页上。
(2)认证
验证用户身份,输入 电话号和密码,随后的交互取决于用户的身份;
(3)如果用户是读者,可进行如下交互
1)浏览,用户点击论坛网页端主页中生成的随机问题信息进行查看,可以
浏览问题,回答,以及评论。
2)提问,对问题进行简单描述,发布,等待其他用户回答问题,通过发布
按钮进行实现。
3)回答,针对问题发表自己的见解,分享经验。
4)点赞,用户在浏览中可以根据自己的喜好对回答进行点赞,对喜欢的回
答进行点赞。
5)关注,用户可以进入其他用户的首页查看其信息,通过每个用户主页上
对应的关注按钮,对自己感兴趣的人进行关注
6) 收藏,通过每个问题对应的收藏按钮,用户可以创建收藏夹,收藏回答,
方便下次阅读。
7)个人主页,用户拥有自己主页,可以查看自己发布和收藏,并可以通过
自己的主要端的修改按钮进行信息的修改。
8) 删除,用户只有权对自己发布的问题进行删除,通过点击每个问题对应
的删除按钮。
9) 搜索,用户通过输入关键字进行,数据库会对其进行匹配,然后将查询
到的信息进行返回,呈现在主页上。
10)查看其他用户的信息。
11) 评论,用户在浏览中可以根据自己的喜好对自己感兴趣的回答评论。
(4)如果用户是管理员,还可进行如下交互:
1)查看所有问题信息
2)查看所有回答信息
3)查看所有评论信息
4)查看所有用户信息