首页 > 数据库 >代码写的都队-数据库设计心得博客

代码写的都队-数据库设计心得博客

时间:2023-11-10 19:55:05浏览次数:48  
标签:需求 数据库 雇主 外键 博客 设计 心得 主键

指导老师:刘琴

项目:基于隐私保护的众包系统

组名:代码写的都队

组员:李明胜、桑健康、刘豪奇、杜洋、史涛、夏金茗

作者:桑健康

我们的项目是基于隐私包含的众包系统。在设计之前,我们先把需求搞清楚。

业务需求

雇主能发布需求,工人能接单,完成任务。哈哈,听上去还挺简单的,但涉及到雇主取消需求,雇主取消任务,工人根据标签查询需求,工人提交工作文件,工人取消订单这些功能。

初步设计

确定了工人,雇主,管理员,需求,订单,对话,这几个实体之后,根据范式的知识,我们先把第一稿的数据库完成,把每个实体的字段都写下来,以及确定主键和外键。

根据需求走查

然后就是比较痛苦的地方,检查每个功能是否有数据库的字段支撑。对于雇主需求实体,我们就没有想到要加一个 “状态” 字段,表示需求的进行状态,再比如,对话表的 “需求id”字段根本不需要。

建表

后面的几个步骤就很简单了,指定字段的类型,主键外键的名称,用工具自动生成sql代码就好了。这里需要注意的点就是,sql外键添加失败,应该是两个相关联的字段类型不一致,改一下模型就好了。

整个数据库设计比较耗费时间,我花了两个上午完成了初稿之后,又花了一个上午进行需求走查,一个上午确定类型,也有一些收获。

1.表的字段要完全依赖于主键,这样设计出来不会混乱。

2.不要把一份数据存两遍。我们把 雇主表 工人表抽象成一个用户表,用户表主要存储手机号,电话这样的信息,避免重复。

3.要加外键约束。这还是问的老师,保证数据的完整性吧,后续开发可能会有些麻烦,要加很多的 异常处理。

4.表的设计是要完成业务的,不能脱离业务。

5.表的设计要结合实际的技术。我们计划,文件使用minio存储 ,文件表存文件的url即可访问文件。

最后,这是我们的设计结果。

 

 

标签:需求,数据库,雇主,外键,博客,设计,心得,主键
From: https://www.cnblogs.com/fish777/p/17824909.html

相关文章

  • 数据库设计心得博客
    数据库设计心得-软件2104-果宝特攻指导老师:李玮项目:阅文批示与资产管理系统组名:果宝特攻组员:石宇航、阿希耶·王、官玮轩、杨金铭、胡延霁、周润荣作者:周润荣业务需求:本项目是用于线上进行阅文审批、传阅,固有资产管理等的系统。本项目需要实现对阅文的交付,审批结果的传递,阅文的传......
  • O猪狗鲤鱼王O——数据库设计心得
    前言在大二下学期学习的数据库原理课程中,我们学会了mysql数据库相关的sql语句,以及数据库的基本原理。在本门课程软件工程导论上,我们学会了如何根据业务需求来进行数据库的设计。最终完成数据库的设计与搭建。并使用PowerDesigner工具帮助我们完成了图的绘画,导出了相关的sql语......
  • 数据库设计心得
    数据库设计心得业务需求分析本组的团队项目是个性化自主学习评测系统,该系统需要为学生提供个性化的评测,同时需要为教师提供题库上传的功能,在系统中,学生可以自主选择需要学习的课程,教师可以自己上传课程等,以及该系统需实现基础的登录与注册等功能,同时要有管理员来管理系统的运行。......
  • 智安网络|数据库入门秘籍:通俗易懂,轻松掌握与实践
    在现代信息化时代,数据库已成为我们日常生活和工作中不可或缺的一部分。然而,对于非专业人士来说,数据库这个概念可能很抽象,难以理解。一、什么是数据库?简单来说,数据库是一个存储和管理数据的系统。它可以将大量的数据进行组织、存储和检索,以便我们能够方便地访问和使用这些数据。类比......
  • MySql与SQLServer数据库基础语法差异;
    1.应用Native工具将数据同步,将数据库结构和同步到MySql。视图、存储过程、函数手动创建。 2.移除数据所有数据查询的数据框架标识"dbo"; 3.MySQL中IFNULL用法,用法与SQLServer中ISNULL(expr1,expr2)用法相似.,而MySql中isnull()的返回值为1,否则返回值为0; 4.sqlserver的识别符......
  • django中数据库外键可以自定义名称吗
    是的,在Django中,你可以自定义数据库外键的名称。在定义模型时,可以使用`db_constraint`参数来设置外键的约束名称。默认情况下,Django会自动生成外键约束的名称,但你可以通过设置`db_constraint`参数为`False`来禁用自动生成的约束,并且在需要时手动为外键指定名称。以下是一个简单的例......
  • 懒羊羊大王——数据库设计心得
    一、简介 项目背景:中国传统文化博大精深,中国历史经历多个朝代,各种官职复杂多样,同一官职在不同朝代也可能有不同的职责,这对于想要了解官职历史的人来说有很大的难度,即使是查找纸质书籍也不一定能得到有效的信息。为了解决这一问题,我们决定建立一个知识图谱整理系统网站,将中国古代......
  • 技术文章创作心得分享
    本文将分享近段时期以来的技术文章创作心得体会,如果你也正在写作的路上,希望这篇文章能对你有所帮助或启发。笔者在去年下半年发表了约莫40篇文章,几个月内在掘金升级到优秀创作者,达成了里程碑式的小目标,其中一篇文章被官方评选为2022年度爆款好文,也算是十分难得的肯定。为什么写......
  • MySQL数据库进阶实战:优化性能、提高安全性和实现高可用性
    当涉及到MySQL数据库的进阶实战时,有许多方面需要考虑,包括性能优化、安全性、高可用性和复杂查询等。以下是一个关于MySQL数据库进阶实战的文章大纲,您可以根据需要进行扩展和详细说明。MySQL数据库进阶实战:优化性能、提高安全性和实现高可用性引言MySQL是一款广泛使用的开源关系型数......
  • AAA软件批发-数据库设计心得
    数据库设计心得工具选择进行数据库设计的时候,选择好一个合适的设计工具非常重要。一个好的设计开发工具可以大大提高效率。powerdesigner就是一个很好的选择,它能支持快速创建表,并支持表与表之间建立关系,使得数据模型设计变得简单高效。同时,能够实现概念模型与物理模型之间的自动......