首页 > 数据库 >AAA软件批发-数据库设计心得

AAA软件批发-数据库设计心得

时间:2023-11-10 15:35:04浏览次数:52  
标签:存储 AAA 数据库 用户 范式 设计 心得 主键

数据库设计心得

工具选择

进行数据库设计的时候,选择好一个合适的设计工具非常重要。一个好的设计开发工具可以大大提高效率。powerdesigner就是一个很好的选择,它能支持快速创建表,并支持表与表之间建立关系,使得数据模型设计变得简单高效。同时,能够实现概念模型与物理模型之间的自动转换,以及支持将SQL脚本导出,十分快捷便利。

针对性设计

在进行数据库设计之前需要明确包括数据存储的需求、数据访问的需求以及数据安全的需求等,这样才能够便于后续表的设计。针对于不同的数据需求,进行不同的设计处理。
例如,在本组的项目中我们需要对于用户的头像进行存储,但是头像图片通常较大,直接存储在数据库之中会增大查询以及存储的负担,于是选择将图片存储在服务器中,在数据库中存储该图片所在的路径,这样既能降低数据库存储负担,也能提高数据库中表的查询效率。
我们还对用户的聊天记录进行了存储,对于聊天记录起初是将其于聊天窗口的存放在一起,但后续发现这样会使得聊天窗口的表过大,在进行查找时效率会降低,于是将聊天记录抽取出来单独作为一张表,再将其于聊天窗口进行关联。

范式检查

在设计表的属性字段的过程中要注意是否满足数据库设计的三大范式,简单来说分别是表中的属性字段不可以再被分割;非主键属性必须完全依赖于主键属性;非主键属性必须直接依赖于主键属性。通过对于三范式的检查,可以确保数据的一致性和完整性,减少数据冗余和避免数据异常。

例如,我们组在设计登录日志表的过程中,在其中添加了用户id、用户邮箱、日志编号和时间。但这里违反了第二范式,用户邮箱依赖于用户id,用户id依赖于日志编号,那么用户邮箱是传递依赖于日志编号,并不是直接完全依赖于日志编号。后面我们将用户邮箱从表中删除,这样该表的设计就满足了三大范式,同时这里也就减少了数据的冗余。

最终物理模型成果如下

标签:存储,AAA,数据库,用户,范式,设计,心得,主键
From: https://www.cnblogs.com/Narniaaagh/p/17824228.html

相关文章

  • 岳麓山风景名胜管理大队-数据库设计心得博客
    数据库设计心得-软件2103-岳麓山风景名胜管理大队作者:王明扬项目名称:数字化农业信息管理系统组名:岳麓山风景名胜管理大队组员:刘传煜、伍嘉懿、王明扬、秦凯、符南山、金颖希指导老师:荣辉桂目录:一、背景二、数据库设计的重要性三、设计过程四、设计心得一、背景数字......
  • 团队项目数据库设计心得
    1.分析业务需求我们的团队项目是图数据库的可视化管理系统,作为一个数据库,提供关于用户对数据库的各种操作,包括增删查改备份还原等,当然作为一个系统,需要注册登录等功能,还得提供管理用户的管理系统。以及各种其他的拓展功能。2.实体分析想要设计数据库,首先要知道需要什么实体。......
  • windows服务器中Oracle数据库定时备份
    脚本准备remdelete10daysfilesforfiles/p"文件路径"/d-10/c"cmd/cechodeleting@file...&&del/f@path"remexpdpszsetsz_file=备份文件名字%date:~0,4%%date:~5,2%%date:~8,2%expdp数据库用户名/数据库密码@数据库实例名directory=路径对象dumpfile......
  • 【周末闲谈】关于“数据库”你又知道多少?
    个人主页:【......
  • tidb数据库5.4.3和6.5.3版本性能测试对比
    作者:qizhining一、测试需求:基于历史原因,我们的业务数据库一直使用5.4.3,最近由于研发提出需求:需要升级到6.5.3版本,基于版本不同,需要做个压力测试已验证2个版本之间的性能差异。二、测试目的:验证tidb数据库5.4.3和6.5.3版本性能的差异三、测试结果:tidb数据库6.5.3版本比5.4.3总体性......
  • MPU6050使用心得(简单分享一下)
    前言选用MPU6050做倾斜检测功能。前期准备开发板:正点原子STM32F103精英版(STM32F103ZET6)模块:GY-521MPU6050其他:杜邦线若干、烧录线、FlyMcu、Keil5、正点原子开发板配套的套件(TFTLCD)例程、资料下载源自淘宝卖家:https://pan.baidu.com/share/init?surl=dNDqcp76L9QdM7iSZYfz_A密......
  • windows系统上如何给mysql导入数据库和表
    1.连接数据库2.输入密码3.进入数据库4.创建数据库 createdatabase数据库名;5.进入数据库use  数据库名;6.查看当前所在数据库selectdatabase();7.把需要导入的数据库放到没有中文名的路径下面(蜜蜂这里放D盘了),之后使用SOURCE导入SOURCE数据库的位置/需要导入的数据库名称(中间......
  • ODBC 连接 Doris数据库
    前言主要测试通过ODBC方式来连接Doris数据一、环境1、Cntos71、Doris2.0.22、Mysql-connector-odbc-5.3.7二、使用步骤1.安装odbc驱动MysqlODBC驱动下载地址https://downloads.mysql.com/archives/c-odbc/1、下载这里我们下载的是RPM安装包mysql-connector-odbc......
  • Teamcenter 直接从数据库表取数据的注意要点
    1、如果是取某个类型版本的数据,这种涉及到版本的,一定要主要版次的问题。比如说产品表。签出修改签入后,会产生多个版本。解决方法:版本表,还要拼接  PWORKSPACEOBJECT 的 pactive_seq字段来进行校验 2、日期的问题。比如说取时间表任务的开始和结束时间。......
  • MySQL 数据库表格创建、数据插入及获取插入的 ID:Python 教程
    创建表格要在MySQL中创建表格,请使用"CREATETABLE"语句。确保在创建连接时定义了数据库的名称。示例创建一个名为"customers"的表格:importmysql.connectormydb=mysql.connector.connect(host="localhost",user="yourusername",password="yourpassword&qu......