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

这篇具有很好参考价值的文章主要介绍了服务器管理平台开发(2)- 设计数据库表。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

数据库表设计

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

1、整体设计

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

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

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

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

2、库表设计

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

2.1、业务主表

字段名称 字段类型 解释
Id 字段类型 解释
BusinessIp int 业务Ip地址
SN string 序列号
Brand string 品牌
Model string 型号
CPU timestamp CPU
Memory timestamp 内存
PlatformType string 平台类型
UseFor string 用途
CreatedAt timestamp 创建时间
UpdatedAt timestamp 修改时间

2.2、PCI设备表

字段名称 字段类型 解释
Id int 自增ID
BusinessIp string 业务Ip地址
SN string 序列号
PCIDevice string PCI设备表
CreatedAt timestamp 创建时间
UpdatedAt timestamp 修改时间

2.3、MAC地址表

字段名称 字段类型 解释
Id int 自增ID
BusinessIp string 业务Ip地址
SN string 序列号
MacAddress string MAC地址
CreatedAt timestamp 创建时间
UpdatedAt timestamp 修改时间

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设备信息

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

4.2、逻辑磁盘信息

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

4.3、历史记录信息

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

End

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

服务器管理平台开发(2)- 设计数据库表,服务器管理平台,数据库,服务器,oracle文章来源地址https://www.toymoban.com/news/detail-816122.html

到了这里,关于服务器管理平台开发(2)- 设计数据库表的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包