JavaWeb项目之QQ Zone:(一)概述

本文详细介绍了QQZone业务需求,包括用户登录、日志查看、删除和回复功能。接着讨论了数据库设计,明确了用户、日志、回复和主人回复等实体及其关系,并阐述了数据库范式的概念和实际应用。在实际操作中,根据查询频次来平衡数据库设计的规范度和查询性能。
摘要由CSDN通过智能技术生成

1.1 熟悉QQZone业务需求

  • 用户登录:登录成功,显示主界面。左侧显示好友列表;上端显示欢迎词。如果不是自己的空间,显示超链接:返回自己的空间;下端显示日志列表
  • 查看日志详情:
    • 日志本身的信息(作者头像、昵称、日志标题、日志内容、日志的日期)
    • 回复列表(回复者的头像、昵称、回复内容、回复日期)
    • 主人回复信息
  • 删除日志
  • 删除特定回复
  • 删除特定主人回复
  • 添加日志、添加回复、添加主人回复
  • 点击左侧好友链接,进入好友的空间

1.2 数据库设计

  • 抽取实体 : 用户登录信息、用户详情信息 、 日志 、 回贴 、 主人回复

  • 分析其中的属性:

    用户登录信息:账号、密码、头像、昵称
    用户详情信息:真实姓名、星座、血型、邮箱、手机号.....
    日志:标题、内容、日期、作者
    回复:内容、日期、作者、日志
    主人回复:内容、日期、作者、回复
    
  • 分析实体之间的关系

    实体实体关系
    用户登录信息用户详情信息1:1 PK
    用户日志1:N
    日志回复1:N
    回复主人回复1:1 UK
    用户好友M : N

1.3 范式

  • 第一范式:列不可再分
  • 第二范式:一张表只表达一层含义(只描述一件事情)
  • 第三范式:表中的每一列和主键都是直接依赖关系,而不是间接依赖

1.4 范式的实际应用

数据库设计的范式和数据库的查询性能很多时候是相悖的,我们需要根据实际的业务情况做一个选择:

  • 查询频次不高的情况下,我们更倾向于提高数据库的设计范式,从而提高存储效率
  • 查询频次较高的情形,我们更倾向于牺牲数据库的规范度,降低数据库设计的范式,允许特定的冗余,从而提高查询的性能

1.5 项目目录

image-20220709024417821
image-20220709024627726

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值