【近场社交项目】数据库系统期末设计——需求分析部分

news2024/11/16 11:29:39

【近场社交项目】数据库系统设计——需求分析😎

  • 前言🙌
    • 1.需求求分析(用户部分为例)
      • 1.2用户数据字典
        • 1.2.1用户信息表(数据结构):
          • 数据项间的关系和结构定义:
      • 1.2.2.个人资料表(数据结构):
      • 1.2.3.标签信息表(数据结构):
      • 3.2.4.用户-标签关系表(数据结构):
      • 1.2.5. 文化内容详情表:(数据结构):
      • 1.2.6订单(基础结构)
      • 1.2.7用户预定社交场所的订单细节(基础结构)
      • 1.2.8 会员信息表
      • 1.2.9用户预定社交场所的订单(审核)
      • 二、处理过程要求:
      • 3.2.10用户可以进行下单业务操作:
  • 总结撒花💞

追梦之旅,你我同行

   
😎博客昵称:博客小梦
😊最喜欢的座右铭:全神贯注的上吧!!!
😊作者简介:一名热爱C/C++,算法等技术、喜爱运动、热爱K歌、敢于追梦的小博主!

😘博主小留言:哈喽!😄各位CSDN的uu们,我是你的博客好友小梦,希望我的文章可以给您带来一定的帮助,话不多说,文章推上!欢迎大家在评论区唠嗑指正,觉得好的话别忘了一键三连哦!😘
在这里插入图片描述

前言🙌

    哈喽各位友友们😊,我今天又学到了很多有趣的知识现在迫不及待的想和大家分享一下!😘我仅已此文,手把手带领大家栈的实现和力扣题解知识~ 都是精华内容,可不要错过哟!!!😍😍😍

1.需求求分析(用户部分为例)

1.2用户数据字典

1.2.1用户信息表(数据结构):

属性名:用户ID、用户名、密码、手机号(账号)、邮箱。
数据项:用户的ID、用户名、密码、手机号(账号)、邮箱。
数据结构:用户信息表
数据流:通过两种途径获得用户数据:
1)由用户通过我们平台的注册页面、用户个人页面通过完善信息,填写上述信息,完成数据的收集;
2)通过用户个人的微信授权获取用户的上述必要信息。

数据项间的关系和结构定义:

1)用户ID、用户名、密码、手机号(账号)、邮箱都是可以唯一对应一个用户的,其中设置用户ID为这张表的主码。
2)约束条件:在定义的时候,各个属性都是设置 NOT NULL(非空约束)。UNIQUE(唯一) 的约束条件,从而保证数据的完整性。

3)各个属性的域:
用户ID:varchar类型 设置为00001~99999(考虑到自身平台大小,以及用户的预期最大数量进行考量);
用户名:v varchar 类型, 4到12字节长度。根据我国《姓名登记条例》,对于姓名的规定是2~6个汉字的。
密码:varchar类型 6~32个字符长度;
手机号:char 类型 固定为11个字符长度,其还可以是用户的登陆的账号
邮箱:char类型,长度不超过35个字符(最长的电子邮件是35个字符长度)。

1.2.2.个人资料表(数据结构):

属性名:用户ID(主码)、姓名、性别、出生日期、职业。
数据项:用户ID、姓名、性别、出生日期、职业。
数据结构:个人资料表。
数据流:通过两种途径获得用户数据:

1)用户个人页面通过完善信息,填写上述信息,完成数据的收集;
2)通过用户个人微信授权获取用户的上述必要信息。

数据项间的关系和结构定义:

1)将个人资料表的用户ID设置为个人资料表的主码。用户信息表和个人资料表通过主键进行关联。
2)约束条件:在定义的时候,各个属性都是设置 NOT NULL(非空约束),不必设置UNIQUE约束条件,因为姓名、性别、出生日期、职业、内容都是可以重复的。用户ID是主码,已经设置了非空唯一的约束了。
3)各个属性的域:
用户ID:varchar类型 设置为00001~99999(考虑到自身平台大小,以及用户的预期最大数量进行考量);
用户名:varchar 类型, 412字节长度。根据我国《姓名登记条例》,对于姓名的规定是26个汉字的。
性别:char 类型 ,2个字节长度。
出生日期:char 类型, yyyy-mm-dd的格式,长度为10个字节长度。
职业:varchar 类型 ,0~255字节长度。

1.2.3.标签信息表(数据结构):

属性名:标签ID、标签类别,标签描述
数据项:标签ID、标签类别,标签描述
数据结构:标签信息表
数据流:通过发布问卷,收集各类商家社交场所的类别,服务业务详情等相关信息。

数据项间的关系和结构定义:

1)设置标签id为标签信息表的主码。
2)约束条件:在定义的时候,各个属性都是设置 NOT NULL(非空约束)和 UNIQUE约束条件,从而保证数据的完整性。
3)各个属性的域:

标签ID:int 类型,从0开始自增。设置标签id为标签信息表的主码
标签类别:varchar类型,0~30字符长度 ,作用:对于社交场所和社交文化以及用户进行一个分类和匹配机制。设置非空约束和UNIQUE约束条件
标签描述:varchar类型,0~255字符长度 。对于该标签的类别进行一个比较简短的描述。设置非空约束和UNIQUE约束条件

3.2.4.用户-标签关系表(数据结构):

属性名:S_id,F_id。
数据项:S_id,F_id。
数据结构:用户-标签关联表
数据流:来源于用户信息表和标签信息表中的数据。
数据项间的关系和结构定义:
1)将S_id 作为用户信息表的外键,F_id作为标签信息表的外键。通过用户信息表的用户id 和S_i进行关联,标签信息表的标签ID和F_id进行关联。
2)约束条件:外键和各自对应的主键设置为相同的约束条件,非空且唯一。
3)各个属性的域:
S_id:varchar类型 设置为00001~99999,用户信息表的外键
F_id:int 类型,标签信息表的外键。
4. 社交文化知识信息表:(数据结构):
属性名:编号,知识类别, F_id
数据项:编号,知识类别, F_id
数据结构:社交文化知识信息表
数据流:

1)来源于平台对各种社交知识的收集、归纳和分类
2)与专业的社交知识服务的平台合作,引进相关的知识内容数据。

数据项间的关系和结构定义:

1)将编号作为该信息表的主码,F_id作为标签信息表的外键。
2)约束条件:都设置为 NOT NULL 和UNIQUE约束条件。
3)各个属性的域:
编号:int 类型 从0开始自增,无上限,主码
知识类别:varchar 类型 0~60个字符长度,非空约束
F_id:int 类型,从0开始自增。作用是:作为标签信息表的外键,通过这个数据项和标签信息表进行一个关联。

1.2.5. 文化内容详情表:(数据结构):

属性名:编号,文本、音频、视频、图片
数据项:编号,文本、音频、视频、图片
数据结构:文化内容详情表
数据流:
1)来源于平台对各种社交知识的收集、归纳和分类
2)与专业的社交知识服务的平台合作,引进相关的知识内容数据。
数据项间的关系和结构定义:
1)将编号作为该信息表的主码
2)约束条件:文本、音频、视频、图片这几个属性内容可有可无,不用设置非空约束,但是需要设置UNIQUE唯一约束。
3)各个属性的域:
编号:int 类型 从0开始自增,无上限。由于社交文化知识信息表和文化详情表是一对一的关系,可以通过各自主键进行关联。
文本:text 类型,长度范围:0~65535个字节长度,设置UNIQUE唯一约束。
音频:varchar 类型,0~255个字节长度,存放音频的地址路径,设置UNIQUE唯一约束。
视频:varchar 类型,0~255个字节长度,存放视频的地址路径,设置UNIQUE唯一约束。
图片:varchar 类型,0~255个字节长度,存放图片的地址路径,设置UNIQUE唯一约束。

1.2.6订单(基础结构)

这里以用户预定社交场所的订单为例,其余的订单模式和这个类似。
属性名:订单号,用户ID、用户名、用户联系电话、审核状态、商家ID、下单时间
数据项:订单号,用户ID、用户名、用户联系电话、审核状态商家ID、下单时间
数据结构:订单,订单细节
数据流:通过用户ID在用户表中进行数据的快速填充用户信息
数据项间的关系和结构定义:
1)将订单号作为该订单的主码。是该订单的唯一标识。
2)约束条件:将属性都设置为NOT NULL非空约束和UNIQUE唯一约束。保证数据的完整性。
3)各个属性的域:
订单号:char 类型 长度固定为11个字符长度,前6为表示订单产生的时间,后六位表示订单的排号。例如230503000001,前五位表示2023年5月3日,后面表示1号订单。是订单的唯一标识。
用户ID:varchar类型 设置为00001~99999,外码。
用户名:varchar类型 4~12个字符长度;非空约束
用户联系电话:char 类型,11个字节长度,非空约束
唯一约束
审核状态:int类型,0或者1.当为0时,这张订单是没有审核的,一旦审核就会改为1。
商家ID:varchar类型 设置为002~999,作为商家信息表的外码
下单时间:datetime类型,非空约束。

1.2.7用户预定社交场所的订单细节(基础结构)

属性名:id、场所服务预定金额、场所规格(能容纳人数)、社交场所可预定时间,社交场所ID,订单号,F_id
数据项:编号、社交场所ID、场所服务预定金额、可预定时间、单位地点(一个房间或者其他)容纳的人数,F_id。
数据结构:订单细节
数据流:通过社交场所名,填充场所的相关信息。
数据项间的关系和结构定义:
1)将id作为该信息表的主码
2)约束条件:讲属性都设置为非空约束和UNIQUE唯一约束。
3)各个属性的域:
id:int 从0自动增长,无上限。主码
社交场所ID:char类型,000~999,场所服务表的外码
场所服务预定金额:int 类型,范围就是int所表示的数值范围。非空约束
场所规格:char类型,三个字节大小。非空约束
订单号:char 类型 长度固定为11个字符长度,作为订单的外码
可预定时间:datetime类型 ,数据格式为:yyyy-mm-dd。
F_id : int类型,作为折扣信息表的外键

1.2.8 会员信息表

属性名:会员ID、用户ID、会员有效时长、会员类别、会员起始时间、会员截止时间
数据项:会员ID、用户ID、会员有效时长、会员类别、会员起始时间、会员截止时间
数据结构:会员信息表
数据流:数据来源于用户信息表,以及根据用户的充值情况进行信息数据的匹配。
数据项间的关系和结构定义:
1)将会员ID作为会员信息表的主码
2)约束条件:将用户ID设置为外键约束,其他属性设置为非空约束,保证数据的完整性。
3)各个属性的域:
会员ID:int 类型 从0开始自增,作为会员信息表的主码
用户ID:varchar类型 设置为00001~99999(考虑到自身平台大小,以及用户的预期最大数量进行设置)作为用户信息表的外键;
会员有效时长:datetime类型。
会员起始时间:datetime类型。
会员截止时间:datetime类型。
会员类别:varchar类型,6个字节大小。年会员,月会员。

1.2.9用户预定社交场所的订单(审核)

数据存储名:用户预定社交场所的订单(审核)
用户提交订单后,商家和系统审核过的订单。
输入的数据流:来自制单的数据。
输出的数据:输出商家相关负责人和用户用的支付平台。
组成(数据结构): 用户预定社交场所的订单和用户预定社交场所的订单细节。
数据量:3.6W/年,(出库单100*365)
存储频率:200次/天(商家相关负责人100+和用户用的支付平台100)

二、处理过程要求:

处理过程名:制单
输入数据流:用户填写相关数据,以及用户信息表和商家信息表的数据流入
输出数据流:将订单信息输出给相应的处理平台和负责人。
处理:根据用户填写的订单数据,查询商家的社交场所相关信息和客户 的数据存储。锁定社交场所的状态,完成制单的新增。
处理过程名:审核
输入数据流:订单的数据流入
输出数据流:将审核后的,需要修改的数据输出到相应的处理平台和负责人
处理:经过商家那边确认自己的社交场所在该段时间是空闲状态,并且足以容纳提供的人数信息,可以将该社交场所设定为以预定状态,其他客户想要预定就拒绝预定。支付平台那边进行用户账面余额的修改。

简洁的数据流图,如下图所示:

在这里插入图片描述

3.2.10用户可以进行下单业务操作:

下单业务的详细操作流程:
具体步骤如下所示

1.用户在社交场所平台浏览商家页面信息,并选择心仪的社交场所。
2.用户进入该场地的详细信息页面,查看该场地的可预定时间、价格、设施等信息,并选择想要预定的日期和时间。
3.用户填写预定场地的相关信息,包括姓名、联系方式、预定时间、预定人数等,并提交订单。
4.系统生成订单号,并回显用户订单信息和订单号。
5.用户完成支付。
6.系统将订单状态更新为“已支付”。
7.社交场所平台通知社交场所进行预订确认,预订确认后将社交场所信息发送给用户。
8.用户到达预定场地并享受社交体验。

具体流程图如下:
在这里插入图片描述

总结撒花💞

   本篇文章旨在分享的是我数据库系统设计需求分析阶段中,用户部分的数字字典。希望大家通过阅读此文有所收获
   😘如果我写的有什么不好之处,请在文章下方给出你宝贵的意见😊。如果觉得我写的好的话请点个赞赞和关注哦~😘😘😘

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/713015.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

10、SpringBoot集成Redis

总体概述 jedis-lettuce-RedisTemplate三者的联系 本地Java连接Redis常见问题 ● bind配置请注释掉 ● 保护模式设置为no ● Linux系统的防火墙设置 ● Redis服务器的IP地址和密码是否正确 ● 忘记写Redis的服务端口号和auth密码 1、集成Jedis 是什么 Jedis Client是Redis官…

【MATLAB笔记】基础函数及向量

一、基础函数绘制 版本:Matlab2021a 实例1:生成向量 >> x0:0.1:30; >> ysin(x).*cos(x); >> plot(x,y) 实例2:创建向量 >> xlinspace(0,2*pi); >> ysin(x) >> plot(x,y) 二、向量的点积 >> a…

ueditor富文本编辑器使用

下载百度富文本编辑器 链接&#xff1a;https://pan.baidu.com/s/1E4K8e0WCy9_L6z0-Dz3JkQ?pwdc2gf 提取码&#xff1a;c2gf <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" co…

pgrouting连通性分析

官方文档 1、安装pgrouting库 参考&#xff1a;pgrouting安装 主要涉及的两个函数&#xff1a; 1、 pgr_createTopology&#xff1a;创建空间拓扑&#xff0c;数据自动保存至新创建的表<edge_table>_vertices_pgr&#xff0c;将空间表的linestr的geometry数据拆分&…

云原生系列之管理docker容器中的数据管理实战

前言 在生产环境中使用docker,一方面需要对数据进行保存或者在多个容器之间进行数据共享; 另一方面在docker的容器被删除之后,并不会保留容器的状态信息。 想要实现docker容器的信息持久化,就涉及到docker的数据管理,今天我们就来聊聊docker数据管理那些事。 文章目录 …

Vue3:在 VSCode 中如何成功安装 Mockjs 及成功引入 Mock 的详细过程

Ⅰ、Mock 简介&#xff1a; 1、什么是 Mock&#xff1f; 其一、Mock 的解释一&#xff1a; Mock 服务是指在测试过程中对于某些复杂&#xff08;或者不太好构造&#xff09;的对象&#xff0c;用一个虚拟的对象替代它&#xff1b;对于前端来说&#xff0c;就是后台数据还没有…

Python编程入门:了解Python及其由来

在计算机编程的世界中&#xff0c;Python已经成为一门备受欢迎的高级编程语言。它的简洁、易读和功能强大使得它成为众多开发者的首选。但你是否了解Python的由来以及为什么它如此受欢迎呢&#xff1f;在本篇博客中&#xff0c;我们将一起探索Python编程语言的起源和一些相关知…

shell中awk命令常用用法总结

1、获取分隔的内容 以点为分隔符获取IP地址的最后一个字段 echo $ip | awk -F . {print $4}

YOLO系列v1-v8

YOLO是Region-free方法&#xff0c;只需要一次扫描&#xff0c;也被称为单阶段&#xff08;1-stage&#xff09;模型。而Region-based方法方法&#xff0c;如mask-rcnn &#xff0c;被称为两阶段&#xff08;2-stage&#xff09;方法。 YOLOv1-v3是原作者&#xff0c;v4和v7是…

【C语言】指针进阶[下](回调函数(模拟实现qsort-采用冒泡方式))

简单不先于复杂&#xff0c;而是在复杂之后。 目录 1. 回调函数 1.1 qsort 函数的使用 1.2 qsort 排序结构体类型 1.3 回调函数模拟实现 qsort&#xff08;排序整型&#xff09; 1.4 回调函数模拟实现 qsort&#xff08;排序结构体类型&#xff09; 1. 回调函数 回…

【WebAssembly】编译c++ Demo ->HelloWorld

好的开始等于成功了一半&#xff0c;本篇逐条讲解如何将一个cpp通过WebAssembly编译并运行在网页上。 一、环境准备 前提条件 需要安装CMake&#xff0c;VS&#xff0c;python2.7及以上 拉取emsdk代码 仓库地址&#xff1a;GitHub - emscripten-core/emsdk: Emscripten SD…

04_前端包管理工具模块化

注意事项: ​ 改模块代码不用重启服务器,修改config文件的时候需要重启服务器 ​ nvm的安装路径和node的安装路径不能在同一路径下面 ​ 有乱码问题使用管理员权限进行使用use方法 下载安装node ​ 使用命令进行安装 1.nvm list 查看已下载所有的node版本 2.nvm install…

VR工地安全虚拟现实体验:多种事故模拟,第三人称回看

建筑工地五大伤害是指&#xff1a;高处坠落、坍塌、物体打击、机械伤害、触电。利用VR(虚拟现实)技术体验建筑工地五大伤害&#xff0c;可以为建筑工人提供更真实、更安全的工作环境&#xff0c;同时也可以帮助他们更好地了解和掌握工作技能。 以下是VR工地安全虚拟现实体验软件…

C++ Primer(读书笔记)

C源文件通常以.cc、.cxx、.cpp、.cp、.C作为后缀来命名 C语言未定义输入输出语句&#xff0c;而是提供了一个全面的标准库来提供IO机制&#xff0c;对应 iostream、fstream、sstream std::cout<<"Enter Two Numbers"<<std::endl;&#xff0c;这条语句执…

在四维轻云使用过程中,出现这些问题应该怎么办?

在四维轻云的使用过程中&#xff0c;可能会出现在地图中无法显示加载的点云或倾斜摄影模型数据、无法上传数据等问题。出现以下这些问题时&#xff0c;可采取一定的措施来解决&#xff0c;若无法解决可联系工作人员处理。 1、在地图中无法显示加载的点云或倾斜摄影模型数据&am…

推特色情机器人账号泛滥,马斯克的“治推谋略”何在?

据BleepingComputer消息&#xff0c;推特虚假机器人账户泛滥的问题不仅还未得到解决&#xff0c;其中传播色情信息的机器人账户近期反而严重泛滥。 在安全研究小组MalwareHunterTeam最近的一项调查研究中曝光了多个传播虚假消息的机器人账户&#xff0c;它们为真实用户发出的帖…

为汽车制造商赋能,CarFramework定制AOSP技术,提升汽车信息娱乐系统

车载CarFramework&#xff08;车载框架&#xff09;是Android Automotive操作系统中的一个关键组件&#xff0c;它提供了与车辆系统交互的基础设施和功能。CarFramework旨在为车载应用程序提供统一的开发和执行环境&#xff0c;以便它们可以与车辆的硬件和软件进行交互。CarFra…

华为云专家出品《字节码编程指南》电子书上线

Javaagent非入侵全链路监控设计和实现入门 ASM、Javassist、Byte-Buddy三套字节码框架案例 市面上少有的成体系字节码知识 都在这里&#xff01; 华为云出品《深入理解边缘计算》电子书上线 本书适合超过3年经验的高级开发者&#xff0c;适合对字节码编程有学习需求或想拓展…

赛效:CAD怎么转PDF

1&#xff1a;打开91ai在线工具并登录自己的账号&#xff0c;从“CAD转换”菜单里点击CAD转PDF。 2&#xff1a;点击上传电脑本地的CAD文件。 3&#xff1a;文件上传成功后点击“开始转换”。 4&#xff1a;转换成功后&#xff0c;点击下载按钮将文件保存本地。 如果你想了解更…

【超详细】MySQL环境安装

文章目录 说明1、关闭不需要的环境2、检查并删除系统安装包3、获取 mysql 官方 yum 源4、安装 mysql yum 源&#xff0c;对比前后 yum 源5、看看 yum 源是否安装成功6、安装 mysql 服务7、查看配置文件和数据存储位置8、启动服务9、登录 mysql方法一&#xff1a;方法二&#xf…