首页 > 数据库 >数据库设计心得——千朵玫瑰带来的黎明

数据库设计心得——千朵玫瑰带来的黎明

时间:2022-11-04 22:13:07浏览次数:60  
标签:数据库 视图 朵玫瑰 设计 日志 缺陷 心得 备份

数据库设计心得——千朵玫瑰带来的黎明

1.项目简介与背景

随着中国工业化的高速发展,公路总里程已经达到525万公里,大桥数量已经超过100万座。因此,如何针对路面和桥梁的缺陷进行及时检测和维修,促进中国社会主义现代化经济的发展,成为一个关键问题。本产品致力于方便路桥缺陷的识别和维修。

路桥缺陷识别系统是为用户提供线上和线下服务的应用。通过对路面和桥梁进行拍照,利用深度学习的算法对图片进行缺陷识别分析,给出相应的反馈结果。服务接收方(例如路桥承包单位)根据反馈的结果进行相应的处理,派出专业人员进行维修。软件通过可视化数据,针对性给出路桥缺陷区域,供服务接收方统筹规划。

2.团队介绍

项目名称:基于深度学习的路桥缺陷识别系统

指导老师:荣辉桂

小组名称:千朵玫瑰带来的黎明

小组成员:刘其、陈禹澎、姜涵、时子俊、常守豪

3. 数据库设计过程

我们组在进行项目设计前仔细推敲了数据库的设计,结合了之前撰写的项目需求文档与用例文档之后设计出了如下的数据库表。

序号 表名 功能说明
1 user 用户表
2 image 图片存储表
3 location 地理位置信息表
4 defect 缺陷信息表
5 task 任务表
6 engineer_team 工程队表
7 work 工程完成情况表
8 access_log 登录日志
9 detect_log 缺陷检测日志
10 query_log 缺陷查询日志

4. 数据库ER图设计

5.数据库设计心得

陈禹澎:

在数据库设计过程中,我主要负责的是登录日志、检索日志和检测日志三个表。

日志关系到审计要求,方便管理人员检查使用情况。所以这几个表应该有时间、对应行为(如检索日志的任务 ID)和用户 ID 这些字段,来确定谁干了什么事情,做到全流程可溯源,追责起来也有证据。

日志也关系到平台的安全,比如通过 IP 检查异地登录可以很方便发现账号的盗取行为。

表的字段设置也有讲究。因为图片是使用定长 UUID 索引的,所以在检索日志中可以直接存储 UUID 对应的长度 char,不需要使用 varchar 或浪费空间;用户有使用 IPv6 访问的可能,所以不能简单地考虑到 12 字节的 IPv4 的需求,便设为 char(12)

此外,在表的设计之外,还考虑到了日志的写入方式。为了防止数据库连接错误,以及长时间连接数据库挤占连接与性能,计划采用先写入文本文件,使用 crontab 运行进程或者另一个线程的方式将文件写入数据库。这样能够提高性能,以及程序的健壮性。

刘其:

在本次数据库设计中,我主要负责设计图片存储表、缺陷信息表、任务表、工程队表。

我所设计的这几个表可以说是本系统的核心功能部分,在经过多次小组讨论后我们才确定这几个表设计的具体字段及其含义。

任务表是整个系统业务功能最重要的一环,它联系了图片表以及工程队表,一个任务得包含路桥维修前图片和维修后图片,所有它有process_image_idaccomplish_image_id这两个字段,这样就可以确保每个任务能够精准生成,精准解决。

姜涵:

在本次数据库设计中,我主要负责用户模块的设计,负责设计了用户表的设计,包含员工 id,姓名,密码,账号类型等,其中账号类型与在登录、执行任务时起到区分身份的作用。

在数据库设计的前期,我们小组对数据库设计方案进行了多次讨论,最终逐渐商定了以图片 uuid 作为标识、任务与图片拆分、日志设计等数据库的实现细节,并运用数据库课程中学到的设计范式规则,不断对已有的想法进行拆分重构,最终得到了现在的以图片为核心的数据库结构。

在设计过程中,我们对数据库的学习又进一步加深,通过查阅资料了解了很多有关设计规范与提升效率的技巧,并在本次项目设计中加以使用。

总而言之,数据库是一个软件的重要组成,通过对数据库的设计能够规范前后端之间的沟通,提高效率,接下来我们便会以数据库的设计模式为中心,进行第一次迭代开发。

时子俊

在本次数据库设计中,我明白了理论与实际应用相结合重要性,并提高了自己数据库设计能力。培养了基本、良好数据库设计技能以及合作能力。
我们从各种文档阅读到开始需求分析、概念结构设计、逻辑结构设计、物理结构设计。亲身体验了一回系统设计开发过程。理论和实践往往是不一样的。经常做到后面突然就发现自己一开始设计有问题,然后又回去翻工,在各种反复中不断完善自己想法。

常守豪:

在学习数据库和数据表创建和修改时,了解到表是建立关系数据库的基本结构,用来存储数据具有已定义的属性,在表的操作过程中,有查看表信息、查看表属性、修改表中的数据、删除表中的数据及修改表和删除表的操作。

表是数据最重要的一个数据对象,表的创建好坏直接关系到数数据库的成败,表的内容是越具体越好,但是也不能太繁琐,以后在实际应用中多使用表,对表的规划和理解就会越深刻。

我们上机的另一个内容是数据库的约束、视图、查询。从中我们了解到查询语句的基本结构,和简单select语句的使用,多表连接查询。而在视图的操作中,也了解到了视图是常见的数据库对象,是提供查看和存取数据的另一种途径,对查询执行的大部分操作,使用视图一样可以完成。使用视图不仅可以简化数据操作,还可以提高数据库的安全性,不仅可以检索数据,也可以通过视图向基表中添加、修改和删除数据。我们还学习了,sql管理、数据的导入、导出、备份和还原。有sql server 安全访问控制;登录账户的管理;数据库角色的管理;用户权限管理。

维护数据库的安全是确保数据库正常运行的重要工作。数据的备份是对sql server数据事务日志进行拷贝,数据库备份记录了在进行备份操作的数据库中所有数据的状态。而数据的备份还分为数据库完整备份、差异备份、事务日志备份、文件及文件组备份。做数据备份就是为了以后的数据库恢复用。我做了管理数据库,其中的要求包含了许多数据库的对象,综合了我所学的许多知识。总而言之,通过课程学会了很多,很是还需要继续深入学习。

标签:数据库,视图,朵玫瑰,设计,日志,缺陷,心得,备份
From: https://www.cnblogs.com/redwine/p/16859259.html

相关文章

  • 首选线程池,而不是多线程; 创建线程的方法; 存储过程和for循环插入数据; String字符串一般
    首选线程池,而不是多线程首选线程池,而不是多线程/**corePoolSize:线程长期为维持线程数核心线程数,常用线程数maximumPoolSize:线程数的上限,最大线程数keepAliveTime:超过线......
  • 建筑单元管道直饮水智能物联网管理系统数据库设计心得
     1.背景        水作为生命的源泉,亦作为每个人每日摄入量最多的物质,重要长度不言而喻,而水质健康则将直接影响到我们的身体健康,长期饮用水质不好的水,将引......
  • 数据库设计心得-软件2005-讨口子队
    数据库设计心得撰写人:赵春生、王思涵一、数据库设计的重要性数据库设计软件开发的过程中起着很大的作用,如若不进行数据库设计就进行开发,很可能会导致诸如设计与需求不符......
  • 数据库设计心得-软件2003坤坤说的都队
    数据库设计心得项目连锁门店管理系统数据库设计思路设计思路:我们小组根据开会讨论,初步确定了10个数据表,后根据边耐政老师的数据库评审意见,添加了角色表、用户表、权限......
  • 数据库设计心得——五班再卷紫砂辣
    数据库设计心得——五班再卷紫砂辣项目简介与背景“新冠”疫情爆发后,“健康码”通过大数据赋能,为统筹做好疫情防控和加快恢复生产生活秩序提供了有力支撑。“健康码”起......
  • 数据库设计心得--百万项目组
    数据库设计心得--百万项目组前言在软件工程导论课程中,我们通过分析业务需求来构建数据库实体对象,以及通过PowerDesigner完成了本项目的数据库概念模型、物理模型的设计。......
  • 学习笔记——base标签、加密方式、JDBC、将java中添加的数据增加到数据库中
    2022-11-03一、base标签1、作用:用于添加web项目的前缀。2、放置位置:放置在head标签内部,一般放在首行。3、使用方式:<basehref="/项目名称/">,在html网页中的其他(例如:图......
  • 关系型数据库VS非关系型数据库
    关系型数据库:mysql库表行列结构关系型数据库的以下问题逐渐凸显:●难以应付每秒上万次的高并发数据写入。●查询上亿量级数据的速度极其缓慢。●修改表结构困难非关......
  • 数据库设计心得
    项目连锁门店管理系统太美丽了HNU队数据库概述1.数据(1)数据库中存储的基本对象,是描述事物的符号记录(如存储某一个人(2)数据的种类包括文字、图形、图象、声音(3)数据的......
  • python操作mysql数据库
    一、python连接MySQL####1.基本语法#(1)创建连接hostuserpassworddatabase这四个参数必须写conn=pymysql.connect(host="127.0.0.1",user="root",passw......