数据库设计(1).pdf
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
实验题目:数据库设计 实验目的:掌握数据库的设计方法 实验内容:网上论坛的数据库设计 需求 : (1)论坛可以分为多个版块,如 C#版块、C++版块、Java 版块等, 注册用户可以在版块中发帖和跟贴。版块的数量和名称尚未 确定。 (2)每个注册用户拥有一定数量的可用分和专家分,不区分是在 哪个版块的分数。 (3)每个用户注册时自动得到可用分 3000 分,发帖时可以设定 这个帖子的分数是多少,分数从可用分中扣除。 (4)每次发帖可以设置的分数最大值为 100。 (5)用户每天第一次登录时自动增加可用分 20 分,当天重复登 录不再增加可用分。 (6)发帖人问题得到满意答复后结帖,结帖时根据跟贴用户的回 答,由发帖人决定给予的分数,跟贴人得到的分数记入其专 家分。 (7)发帖人在这个帖子中给予跟贴人的分数总和不能超过发帖时 设定的分数。 (8)发帖人不可以给自己专家分。 (9)用户根据专家分的多少确定其用户等级,如刚登录时专家分 为 0 分,为初级用户;得到 200 分后为一级用户;500 分后 为二级用户……。用户等级的名称及分数段尚未确定。 (10)系统有超级用户、大版主、分版版主三种管理员,超级用 户系统初始化时设定。 (11)每个注册用户都可以申请分版版主,申请后由注册用户投 票,投票期为 30 天,支持票数达到最近 30 天登录过的用户 数的 10%以上,且反对票数不超过总投票数的 30%,并由大 版主或超级用户审核后,获得分版版主资格。 (12)超级用户可以指定大版主,大版主不一定是分版版主,大 版主可以有多名。 (13)每个版的分版版主可以有多名,版主可以删除违反版规的 帖子,帖子删除后,发帖人发帖时扣除的可用分不再恢复; 如果删除的帖子已经结帖,跟贴人得到的专家分要扣除。 (14)对于分版版主无故删除帖子的行为,用户可以向大版主投 诉,由大版主决定删除是否违规;如果确属违规删除,则恢 复以删除的帖子,并恢复分数。 (15)对于投诉严重的分版版主,或不能承担版主责任的分版版 主,大版主可以取消其版主资格;超级用户同样也可以取消 大版主的资格。 提交内容:实验报告书,提交电子版,不需要使用实验报告纸。 报告内容: (1)需求分析部分:用自然语言描述系统需求,要求至少包含本文 "需求"部分所包含的 1~9 部分功能,第 10 及以后部分为选做。 画出数据流图。 (2)概念结构设计:根据数据流图,确定需要存储的实体,画出分 E-R 图;将分 E-R 图集成为初步 E-R 图,并设计基本 E-R 图。 (3)逻辑结构设计:将 E-R 图转换为关系模型,并进行必要的优化, 设计必要的用户子模式。 (4)物理设计(选做):确定必要的存取方法,确定存储结构和系统 配置。 数据库设计是信息系统开发的关键环节,它涉及到数据的组织、存储和访问策略。在这个实验中,我们需要设计一个网上论坛的数据库,以满足特定的功能需求。以下是对这些需求的详细解析和设计建议: 1. **版块管理**:论坛需支持动态添加和管理多个版块,例如C#、C++和Java等。因此,我们需要一个`版块`实体,包括版块ID、版块名称和创建时间。 2. **用户系统**:每个用户有可用分和专家分,这两个属性需要记录在`用户`实体中,同时用户还有注册时间、用户名、密码等基本属性。 3. **积分机制**:用户初始积分和登录奖励规则需要体现在数据库操作中,例如在用户表中增加字段来跟踪可用分和专家分,并设置定时任务处理每日登录奖励。 4. **发帖与跟帖**:需要`帖子`实体,包括帖子ID、发帖用户ID、版块ID、帖子内容、分数设定、发布时间等。另外,创建`跟帖`实体,记录跟帖ID、原帖ID、跟帖用户ID、跟帖内容和时间。 5. **结帖与评分**:当发帖人对跟帖满意,可以结帖并分配分数。这需要在`跟帖`实体中增加结帖状态和分数字段,同时确保发帖人分配的总分数不超过原始设定。 6. **用户等级**:根据专家分设置用户等级,可以创建一个`用户等级`实体,关联用户ID和当前等级,更新用户等级时根据专家分自动计算。 7. **管理员角色**:存在超级用户、大版主和分版版主,每个角色有不同的权限。建立`用户角色`实体,包含角色ID、角色名称和权限描述,用户表与之关联。 8. **版主选举与管理**:版主选举涉及投票过程,需要记录投票信息,如投票用户、被投票用户、投票类型等。`版主`实体关联用户ID和版块ID,记录版主任期和状态。 9. **投诉与审核**:投诉系统需要记录投诉内容、投诉用户、被投诉用户以及处理结果。创建`投诉`实体,关联版主和用户,处理投诉后更新相关记录。 10. **帖子管理**:版主有权删除帖子,需要记录删除操作并可能涉及积分恢复。在`帖子`实体中增加删除状态和操作记录。 在设计过程中,我们将这些实体转换为E-R图,然后进一步转换为关系模型。例如,`用户`和`版块`之间可能存在一对多关系,因为一个用户可以发多个帖子到不同的版块。`用户`和`用户等级`是一对一关系,因为每个用户只有一个等级。`帖子`和`跟帖`是一对多关系,一个帖子可以有多个跟帖。`用户`和`用户角色`可能是多对多关系,因为一个用户可能扮演多种角色,一个角色也可能被多个用户担任。 在逻辑结构设计阶段,我们考虑适当的关系规范化,如3NF或BCNF,以减少数据冗余和提高数据一致性。同时,为用户提供易于理解和操作的用户子模式,如查询、更新和删除接口。 物理设计阶段,我们考虑索引策略、分区和存储优化,以提高查询性能。例如,对于频繁查询的用户积分和版块信息,可以建立索引。此外,根据系统负载和预期数据量,确定合适的存储结构,如是否采用分区表,以及硬件和软件配置。 通过以上步骤,我们可以构建出一个完整的论坛数据库设计方案,满足所有给定的需求,并为实际开发提供坚实的基础。



























- 粉丝: 120
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 第四章网络营销2ppt课件.ppt
- 电子商务概论课件教材配套资源ppt课件(完整版).zip
- 2023年项目管理方法在高校非学历继续教育活动中的应用教育文档.doc
- 通信故障演练方案.doc
- Excel表格通用模板:学员报名表.xls
- 大学英语网络试卷.doc
- 2023年上半年网络工程师软考上午试题和答案.doc
- 关于软件服务合同三篇.doc
- 2019年网络销售工作总结范文(精选).doc
- 更大型工程建设项目管理信息化方法探讨讲解学习.ppt
- JSP销售信息管理系统毕业论文.doc
- 基于大数据的企业价值创造路径分析.docx
- 电子商务和网络营销1(1).doc
- HPLC法测定宁夏产四种柴胡中kaerophyllin的含量.docx
- 完善营销型网站让其有真正的营销效果.doc
- 2021-2022收藏资料基于JAVA的酒店管理系统设计与实现.doc


