首页 > 数据库 >基于大模型的日程管理通知系统——数据库设计心得

基于大模型的日程管理通知系统——数据库设计心得

时间:2023-11-10 21:55:23浏览次数:125  
标签:日程 数据库 用户 外键 设计 心得 id

项目:基于大模型的日程管理通知系统

指导老师:李友焕

组名:PMA

班级:软件2101

1.   前言

上学期数据库系统的课程,让我们了解了数据库的基本操作和设计原则。我们认识到良好的数据库设计在工程项目中是至关重要的。它直接影响到项目的成功与否,对系统的性能、安全性、可维护性和用户体验都有深远的影响。在项目初期就注重数据库设计是确保整个项目成功的关键一步。纸上得来终觉浅,在此次项目的实际数据库设计中,我们愈发感受到数据库设计不是一个轻松的任务,它是一个需要深思熟虑和仔细执行的复杂过程。以下便是我们小组数据库设计的总结与心得。

 

2.   背景

随着ChatGPT的横空出世, 大语言模型在各方面的应用越来越受人们的注意. 其中,事务抽取作为一个传统且重要的自然语言处理问题, 自然也可以尝试使用精调过后的语言模型而不是传统的语义分析来抽取自然语言中有价值的部分. 而日程管理作为生活中经常要用到的功能, 目前的主流日程App均需手动输入后再保存, 相当不方便. 本系统基于大语言强大的语言理解功能, 为用户提供方便快捷的日程管理体验.

相比之前的日程管理App, 本系统能识别多种输入且能从自然语言中自动提取出日程信息的部分.

 

3.   数据库设计思路

本项目旨在将大模型和日程管理结合,通过训练模型使服务器能够处理包含日程的输入,并将日程分析结果直接添加到日程。

对于这样一个系统,必然存在用户和日程,所以数据库至少包含用户和日程实体;

同时,由于不同日程的提醒完全不一样(比如某日的提前12小时,精确到某小时的提前15分钟等),于是需要提供一个提醒类型的设置。

对于日程而言,除了基本的开始时间和结束时间,以及内容以外,对于重复类日程,可能需要记录多个日程,于是为了满足数据库要求,需要额外有一个日期表,和日程一对多关系,完成日程的建立(对于是否满足日程规则,则在业务规则里)

由于要对输入信息做筛选,进行进一步的训练,项目需要记录日程的原输入,然后进行记录。

对于用户满意的日程,用户可以选择提交,这样的数据会绕过开发人员的审查,直接进入训练集,所以需要额外的预训练表。

由于存在分享日程的原因,用户可以选择绑定原来的日程,所以当绑定的时候,不会生成输入数据的副本。同时,分享的日程也自然不允许被提交到预训练表。

而对于分享日程,只需要存储日程,分享码,分享过期时间和是否绑定即可。用户在输入分享码之后会生成分享的副本。

 

4.   逻辑模型设计

在本系统中,数据库的设计采用PowerDesigner进行,并且采用面向对象的设计方法,首先进行对象实体的设计,最后将对象持久化到数据库中,所有的表和表之间的关联(ER图)都采用标准的PowerDesigner设计工具进行,这样能够将整个系统的设计和数据库设计有机的结合起来。

4.1 实体设计

1)       实体名称:用户

属性:用户邮箱、用户名、密码、用户偏好

约束:外键: 提醒设置

 

2)       实体名称:日程

属性:日程id、日程状态、日程开始时间、日程结束时间、是否启用提醒、时间类型、日程类型

约束:外键: 用户邮箱, 日期, 提醒设置id, 输入数据id

 

3)       实体名称:分享日程

属性:分享日程id、日程id、分享码、分享日程过期时间

约束:外键: 日程id

 

4)       实体名称: 提醒设置

属性:提醒设置id、提前时间、是否重复、重复间隔

约束:外键: 用户id

 

5)       实体名称: 日期

属性:日期id、日期数量

约束:外键: 日程id

 

6)       实体名称: 输入数据

属性:输入数据id、所使用的模型、提交时间、输入数据类型、输入数据

约束:外键: 日程id

 

7)       实体名称: 训练数据

属性:训练数据id

约束:外键: 输入数据id

 

4.2全局ER图

 

 

 

 

5.    问题与总结

1.在我们上学期学习的课程中,我们掌握了数据库范式、关系模型等基本概念,并学习使用 SQL 进行数据库操作。然而,实际的项目数据库设计涉及更多因素,需要综合考虑业务需求、数据关系、性能优化、安全性等多个方面。

 

2.在我们的项目中,我们发现一个良好的数据库设计需要对业务逻辑有深刻的理解。只有深入了解业务流程和数据之间的关系,才能设计出符合实际需求的数据库结构。就像我们的数据库,表是与我们的日程系统紧密相连的,日程的复杂性,格式、复用等等诸多情况都是一开始没有考虑或者说考虑不仔细的,只有深入我们的业务流程,敏锐地捕捉到用户的需求,才能设计出较为完善的数据库。

 

3.数据库设计不仅仅是关系型数据库表的设计,还包括了对数据完整性、一致性和安全性的保障。我们深刻理解了如何利用主键、外键等数据库工具来确保数据的完整性。我们的设计中,就将原来数据库的一些存在冗余项的属性拆分成另外一些表,这不仅是为了满足业务要求,也是为了简化数据库,确保系统在长期运行中的可靠性。

 

4.在实际项目中,我们还注意到了与团队协作的重要性。一个优秀的数据库设计需要整个团队的密切交流。通过有效的沟通和协作,能够更好地理解各方需求,从而设计出更符合整体项目目标的数据库结构。数据库中的许多属性,都是我们小组中经过讨论确定的,一个人的设计难免有些遗漏,发挥大家的智慧,不仅能避免一些错误,还能使我们的数据库更加的全面和完善。

 

5.数据库设计是软件工程项目中的关键环节,需要结合理论知识和实际经验,综合考虑多个方面的因素。通过这次实际项目的经历,我们更加深刻地认识到了数据库设计的重要性,以及在项目初期就对其进行充分重视的必要性。这不仅有助于确保项目的顺利实施,还能够为项目的未来发展奠定坚实的基础。

标签:日程,数据库,用户,外键,设计,心得,id
From: https://www.cnblogs.com/Nelist-4573qu/p/17825159.html

相关文章

  • Python MySQL 数据库查询:选择数据、使用筛选条件、防止 SQL 注入
    从表格中选择数据要从MySQL中的表格中选择数据,请使用"SELECT"语句:示例选择"customers"表格中的所有记录,并显示结果:importmysql.connectormydb=mysql.connector.connect(host="localhost",user="yourusername",password="yourpassword",datab......
  • 初唐五杰-数据库设计心得
    软件2105-初唐五杰-数据库设计心得指导老师:肖雄仁项目:管道直饮水自动控制云平台团队名:初唐五杰成员:杨虎强、马子豪、刘一凡、谢昶皓、陈家睦在本次数据库的设计中,我们小组所采取的设计步骤如下:需求分析小组项目为设计一个直饮水机管理云平台。重要的系统需求如下:......
  • 数据库设计报告
    组员:雷茜,程煜栋,胡友缘,彭子芹,宋君帆数据库设计执行摘要Kubernetes工作流管理系统概述本报告详细描述了Kubernetes工作流管理系统的数据库设计,该系统旨在提供高效、可扩展的工作流管理解决方案。该系统能够支持复杂的工作流程,包括任务调度、执行和监控,以及与Kubernetes集群......
  • 临高启明-数据库设计心得
     在做软件工程导论的项目的过程中,我们学习了如何通过分析需求来构建数据库实体对象以及powerdesigner的使用。最终通过powerdesigner完成了数据库概念模型、物理模型的设计,并导出了相应的建表SQL语句。需求分析:A)    设计过程中首先从项目需求分析文档出发,考量了项目实......
  • openGauss学习笔记-119 openGauss 数据库管理-设置数据库审计-设置文件权限安全策略
    openGauss学习笔记-119openGauss数据库管理-设置数据库审计-设置文件权限安全策略119.1背景信息数据库在安装过程中,会自动对其文件权限(包括运行过程中生成的文件,如日志文件等)进行设置。其权限规则如下:数据库程序目录的权限为0750。数据库数据文件目录的权限为0700。ope......
  • 想去码头整点薯条-数据库设计心得
    数据库设计心得-想去码头整点薯条一、背景高校学生外出进行实习时,目前的管理方式主要是手工和传统纸质材料方式,非常耗费人力物力,同时存在纸质材料不易收集、数据管理与统计分析费时、过程难以监控预警等问题。为改变传统纸质材料传递方式,提高管理工作效率,实现学生校外实习实践活动......
  • 高斯数据库HCNA之数据更新
    二、数据更新1、数据插入功能描述在表中插入新的数据注意事项只有拥有表INSERT权限的用户,才可以向表中插入数据如果使用RETURNING子句,用户必须要有该表的SELECE权限如果使用query子句插入来自查询里的数据行,用户还需要拥有在查询里使用的表的SELECT权限INSERT事务提交默认是......
  • 软件2103班【六个核桃】数据库设计心得体会
     引言本博客为在完成《软件工程导论》课程软件项目的数据库设计时的一些心得体会。数据库设计是软件开发过程中的关键环节之一,直接影响到软件系统的性能和稳定性。一个合理和高效的数据库设计能够有效地提高软件系统的运行效率和响应速度,减少资源的浪费和冗余。同时,良好的......
  • 代码写的都队-数据库设计心得博客
    指导老师:刘琴项目:基于隐私保护的众包系统组名:代码写的都队组员:李明胜、桑健康、刘豪奇、杜洋、史涛、夏金茗作者:桑健康我们的项目是基于隐私包含的众包系统。在设计之前,我们先把需求搞清楚。业务需求雇主能发布需求,工人能接单,完成任务。哈哈,听上去还挺简单的,但涉及到雇主取......
  • 数据库设计心得博客
    数据库设计心得-软件2104-果宝特攻指导老师:李玮项目:阅文批示与资产管理系统组名:果宝特攻组员:石宇航、阿希耶·王、官玮轩、杨金铭、胡延霁、周润荣作者:周润荣业务需求:本项目是用于线上进行阅文审批、传阅,固有资产管理等的系统。本项目需要实现对阅文的交付,审批结果的传递,阅文的传......