服务器管理平台开发(2)- 设计数据库表

news2024/11/16 1:35:44

数据库表设计

本篇文章主要对数据管理平台数据库表设计进行介绍,包括单库多表设计、SQL语句、视图构造等

1、整体设计

  • 设备品牌、序列号、型号等使用业务主表进行记录,逻辑磁盘、PCI设备可能出现1对N的情况,分别使用PCI设备表、Mac地址表、逻辑磁盘表、应用程序表、登录日志表进行记录

  • 构建虚拟视图统一查询,多表联合,使用业务IP+SN序列号作为设备唯一标识

  • 增加历史记录表,对所有表数据的更新删除操作进行记录,方便回溯

2、库表设计

涉及数据库表较多,此处仅展示部分表结构设计

2.1、业务主表

字段名称字段类型解释
Id字段类型解释
BusinessIpint业务Ip地址
SNstring序列号
Brandstring品牌
Modelstring型号
CPUtimestampCPU
Memorytimestamp内存
PlatformTypestring平台类型
UseForstring用途
CreatedAttimestamp创建时间
UpdatedAttimestamp修改时间

2.2、PCI设备表

字段名称字段类型解释
Idint自增ID
BusinessIpstring业务Ip地址
SNstring序列号
PCIDevicestringPCI设备表
CreatedAttimestamp创建时间
UpdatedAttimestamp修改时间

2.3、MAC地址表

字段名称字段类型解释
Idint自增ID
BusinessIpstring业务Ip地址
SNstring序列号
MacAddressstringMAC地址
CreatedAttimestamp创建时间
UpdatedAttimestamp修改时间

3、SQL设计

涉及数据库表较多,此处仅展示部分建表SQL,作为参考

3.1、历史记录表

CREATE TABLE `es_history` (
    `Id` int NOT NULL AUTO_INCREMENT COMMENT '自增ID',
    `Object` varchar(255) NOT NULL COMMENT '索引',
    `PK` varchar(255) NOT NULL COMMENT 'BOM前缀',
    `Key` varchar(255) NOT NULL COMMENT '索引',
    `OpKind` varchar(255) NOT NULL COMMENT 'BOM前缀',
    `PrevModify` varchar(255) NOT NULL COMMENT '索引',
    `NextModify` varchar(255) NOT NULL COMMENT 'BOM前缀',
    `Version` int NOT NULL COMMENT '索引',
    `Operator` varchar(64) NOT NULL COMMENT 'BOM前缀',
    `CreatedAt` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `UpdatedAt` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
    PRIMARY KEY (`Id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci

3.2、系统信息表

CREATE TABLE `es_meta_info` (
    `Id` int NOT NULL AUTO_INCREMENT COMMENT '自增ID',
    `BusinessIp` varchar(255) NOT NULL COMMENT '业务IP',
    `SN` varchar(255) NOT NULL COMMENT '序列号',
    `Brand` varchar(255) NOT NULL COMMENT '品牌',
    `Model` varchar(255) NOT NULL COMMENT '型号',
    `CpuModel` varchar(255) NOT NULL COMMENT 'CPU型号',
    `CpuNumber` varchar(255) NOT NULL COMMENT 'CPU数量',
    `Memory` varchar(255) NOT NULL COMMENT '内存',
    `PlatformType` varchar(255) NOT NULL COMMENT '平台类型',
    `UseFor` varchar(255) NOT NULL COMMENT '用途',
    `MacAddress` varchar(255) NOT NULL COMMENT 'MAC地址',
    `LogicDisk` varchar(255) NOT NULL COMMENT '逻辑磁盘',
    `PCIDevices` varchar(255) NOT NULL COMMENT 'PCI设备',
    `Program` varchar(255) NOT NULL COMMENT '应用程序',
    `LoginInfo` varchar(255) NOT NULL COMMENT '登录日志',
    `CreatedAt` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `UpdatedAt` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
    PRIMARY KEY (`Id`),
    UNIQUE KEY `business` (`BusinessIp`,`SN`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci

3.3、逻辑磁盘表

CREATE TABLE `es_logicaldisk` (
    `Id` int NOT NULL AUTO_INCREMENT COMMENT '自增ID',
    `BusinessIp` varchar(255) NOT NULL COMMENT '业务IP',
    `SN` varchar(255) NOT NULL COMMENT '序列号',
    `Filesystem` varchar(255) NOT NULL COMMENT '系统盘',
    `Size` varchar(255) NOT NULL COMMENT '大小',
    `Used` varchar(255) NOT NULL COMMENT '已使用',
    `Avail` varchar(255) NOT NULL COMMENT '可使用',
    `UsePercent` varchar(255) NOT NULL COMMENT '使用百分比',
    `Mounted` varchar(255) NOT NULL COMMENT '挂载点',
    `CreatedAt` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `UpdatedAt` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
    PRIMARY KEY (`Id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci

3.4、视图表

CREATE VIEW es_meatinfoview AS SELECT
    es_meta_info.BusinessIp,
    es_meta_info.SN,
    es_meta_info.Brand,
    es_meta_info.Model,
    es_meta_info.CPUModel,
    es_meta_info.CPUNumber,
    es_meta_info.Memory,
    es_meta_info.PlatformType,
    es_meta_info.UseFor,
    CONCAT_WS('---',es_logicaldisk.Filesystem, es_logicaldisk.Size, es_logicaldisk.UsePercent, es_logicaldisk.Mounted) as FileSystem,
    es_macaddress.MacAddress,
    es_pcidevice.PCIDevice,
    es_product.Program,
    es_product.PORT,
    es_meta_info.CreatedAt
    FROM
    es_meta_info
    LEFT JOIN es_logicaldisk ON es_logicaldisk.BusinessIp = es_meta_info.BusinessIp
    AND es_logicaldisk.SN = es_meta_info.SN
    LEFT JOIN es_macaddress ON es_macaddress.BusinessIp = es_meta_info.BusinessIp
    AND es_macaddress.SN = es_meta_info.SN
    LEFT JOIN es_pcidevice ON es_pcidevice.BusinessIp = es_meta_info.BusinessIp
    AND es_pcidevice.SN = es_meta_info.SN
    LEFT JOIN es_product ON es_product.BusinessIp = es_meta_info.BusinessIp
    AND es_product.SN = es_meta_info.SN
    WHERE
    es_logicaldisk.Filesystem NOT LIKE '%tmpfs%'

4、数据展示

涉及数据库表较多,此处仅展示部分表数据,作为参考,数据IP为之前腾讯云测试公网IP,现已弃用,请勿访问!

4.1、PCI设备信息

4.2、逻辑磁盘信息

4.3、历史记录信息

End

公众号平台更改了推送规则,如果不想错过内容,请点击 “在看” 和 “赞”,感谢支持!

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

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

相关文章

航空公司文件如何开展数字化?

航空公司员工每天要处理大量的文书工作,这可能是繁重且耗时的。复杂文档的手动管理也可能导致错误和合规性问题。然而,通过实施强大的文档管理系统,航空公司可以简化日常运营、降低成本并改善协作。在本文中,我们将探讨手动文档管…

如何使用CentOS系统中的Apache服务器提供静态HTTP服务

在CentOS系统中,Apache服务器是一个常用的Web服务器软件,它可以高效地提供静态HTTP服务。以下是在CentOS中使用Apache提供静态HTTP服务的步骤: 1. 安装Apache服务器 首先,您需要确保已安装Apache服务器。可以使用以下命令安装Ap…

使用图形化界面工具DataGrip

🎉欢迎您来到我的MySQL基础复习专栏 ☆* o(≧▽≦)o *☆哈喽~我是小小恶斯法克🍹 ✨博客主页:小小恶斯法克的博客 🎈该系列文章专栏:重拾MySQL 🍹文章作者技术和水平很有限,如果文中出现错误&am…

全网快递查询工具:批量查询,提升工作效率的利器

在快递行业日新月异的今天,高效、准确的快递信息管理显得尤为重要。固乔快递查询助手正是一款专为快递网点设计的实用工具,它可以帮助您快速、批量查询全网快递单号,为您的网点运营带来诸多便利。 一、固乔快递查询助手的用途 批量查询&…

RT-Thread入门笔记5-线程的时间片轮询调度

优先级和时间片是线程的两个重要参数,优先级描述了线程竞争处理器资源的能力。 优先级和时间片 优先级 RT-Thread 最大支持 256 个优先级(数值越小的优先级越高,0 为最高优先级, 最低优先级预留给空闲线程);用户可以通…

自研OS,手机厂商的「私心」与软件厂商的「灾难」

作者 | 辰纹 来源 | 洞见新研社 在卷完了配置参数,影像跑分,屏幕快充、存储影像、续航折叠……手机还能怎么卷? 过去的2023年,手机厂商们不约而同的将目标瞄准了自研系统。 站在民族情感层面,中国手机“去安卓化”…

【C语言】操作符

操作符分类 算术操作符移位操作符位操作符赋值操作符单目操作符关系操作符逻辑操作符条件操作符逗号操作符下标引用、函数调用和结构成员操作符 算术操作符 除了 % 操作符之外,其他的几个操作符可以作用于整数和浮点数。 对于 / 操作符如果两个操作数都为整数&am…

第三节课 基于 InternLM 和 LangChain 搭建你的知识库作业

文章目录 笔记作业 笔记 基于书生浦语大模型应用开发范式介绍:https://blog.csdn.net/m0_49289284/article/details/135467197基于InternLM 和 LangChain 搭建你的知识库:Demohttps://blog.csdn.net/m0_49289284/article/details/135482658 作业 基础…

C语言天花板——指针(进阶2)

好久不见了各位,甚是想念啊!!!🎶🎶🎶 文章接上次的指针(进阶1)(http://t.csdnimg.cn/c39SJ),我们继续发车咯🚗🚗🚗 五、函数指针 上次我们只是浅…

蓝屏代码0x000007E解决办法

概述 出现该问题: 1、硬件冲突造成的蓝屏 驱动冲突:与其他设备或应用程序的驱动冲突可能会引起系统崩溃。 2、内存虚拟不足造成的蓝屏 错误配置:不正确的配置或设置可能会导致蓝屏错误。 3、超频后也可能出现蓝屏 CUP超频或者显卡超频后出现蓝…

仿真验证方法(2)——静态验证

一、静态验证 1.1 概述 在之前的文章中,我们介绍了动态仿真,但是动态仿真用于百万门以上电路时所需时间极长,而且其功能覆盖率取决于所设计的输入激励向量,很难达到100%,因此静态时序分析和等效性检查这样的静态验证是…

【STM32】HAL库的STOP低功耗模式UART串口唤醒,解决首字节出错的问题(全网第一解决方案)

【STM32】HAL库的STOP低功耗模式UART串口唤醒,解决首字节出错的问题(全网第一解决方案) 前文: 【STM32】HAL库的STOP低功耗模式UART串口唤醒,第一个接收字节出错的问题(疑难杂症) 目前已解决 …

深度学习进行数据处理(划分测试集和训练集)

自己进行在深度学习时对数据的处理,希望可以帮助大家 文章目录 前言 一、观察数据格式 二、划分训练集和测试集 总结 前言 在进行图像分类时我们经常得到的数据集各种各样,接下来我教大家如划分测试集和训练集. 一、观察数据格式 我们一般获得的数据在一个文件夹里,文件夹…

使用 KubeSphere 与极狐GitLab 打造云原生持续交付系统

极狐GitLab 简介 极狐GitLab 是一个一体化的 DevOps 平台,可以简单理解为 GitLab 在国内的“发行版”。是由极狐(GitLab)公司推出的产品(极狐(GitLab)公司是以“中外合资3.0”模式成立的公司,在国内独立运营,为国内用户提供适合本…

VLAN 详解二(VLAN 基础配置)

VLAN 详解二(VLAN 基础配置) VLAN 配置其实是非常简单的,但是想要学得比较精还是需要花费一些功夫的,根据不同的 VLAN 划分方式用不同的配置方法,但其实配置方法基本上都大同小异。 下面就以在实际网络中最常用的基于…

fiddler筛选请求并修改参数

一、筛选请求 使用过滤,需勾选User Filter才会生效,运行当前的过滤规则,需点击Run Filterset now Hosts:主机过滤之局域网过滤 No Zone Filter:默认选项,不设置区域过滤器show only Intranet Hosts&…

HarmonyOS——ArkUI状态管理

一、状态管理 在声明式UI编程框架中,UI是程序状态的运行结果,用户构建了一个UI模型,其中应用的运行时的状态是参数。当参数改变时,UI作为返回结果,也将进行对应的改变。这些运行时的状态变化所带来的UI的重新渲染&…

大模型在游戏行业的应用分析

文章目录 一、大模型作用1)节省美术成本2)模仿用户肖像,精准投放3)买量流程的自动化4)缩短视频素材制作周期5)例如新营销形式宣传(图生图)5)故事设计6)辅助代…

Linux操作系统----实用工具Git(配实操图)

绪论​ “针对问题 解决问题 针对问题!”,本章主要讲解的是Git是什么以及Git的如何搭建仓库和如何在Linux环境下通过指令的形式提交自己的代码到远程仓库。 话不多说安全带系好,发车啦(建议电脑观看)。 1.Git的来源以…

模拟开关灯

1.  实验任务 如图所示,监视开关K1(接在P3.0端口上),用发光二极管L1(接在单片机P1.0端口上)显示开关状态,如果开关合上,L1亮,开关打开,L1熄灭。…