软件准备✍:Mysql与Navicat可视化命令大全 ----项目实战 文章前言部分
目录
一.摘要
二.设计内容
三.项目实现
一.摘要
本项目关注于字典数据库表结构的设计和数据管理。通过现有的sql文件,实现system_dict_type和system_dict_data两个数据表。随后,通过SQL查询语句,实现了两个表之间的关联查询,并通过创建视图来整合和展示关联数据。在数据维护方面,实现了对特定数据的软删除操作,即在不直接删除记录的情况下,通过设置deleted字段来标记记录为已删除状态。
二.设计内容
① 查询出system_dict_type表中name为“告警类型”关联的system_dict_data表中所有字典数据
② 删除system_dict_type表中name为“虚拟机状态”的数据,同时删除与该条数据关联的system_dict_data表中所有字典数据(通过将deteled字段置1完成)
③ 根据两个表创建视图view_system_dict,要求视图中的字段需要包括以下字段:
其中dict_data_id为system_dict_data表的id字段,dict_label为system_dict_data表的label字段,dict_value为system_dict_data表的value字段,dict_type_id为system_dict_type表的id字段,dict_type_name为system_dict_type表的name字段,dict_type_code为system_dict_type表的type字段,dict_data_status为system_dict_data表的status字段,dict_data_deleted为system_dict_data表的deleted字段。需要注意的是,视图中的数据仅包含两个表中deleted字段值为0的记录。
三.项目实现
数据集准备 dict.sql 文件
第一步,选择用navicat打开sql文件,如图选择连接名、数据库,然后点击运行,相关的数据表就会出现在该数据库下,我们就可以操作这些数据了。
解决设计内容中的三个问题将用序号代替
①
SELECT *
FROM system_dict_data
WHERE dict_type ='告警类型';
②
START TRANSACTION;
DELETE FROM system_dict_type
WHERE name = '虚拟机状态';
UPDATE system_dict_data
SET deleted = b'1'
WHERE dict_type = (SELECT type FROM system_dict_type WHERE name = '虚拟机状态');;
③
CREATE VIEW view_system_dict AS
SELECT sdd.id AS dict_data_id, sdd.label AS dict_label, sdd.value AS dict_value, sdt.id AS dict_type_id, sdt.name AS dict_type_name, sdt.type AS dict_type_code, sdd.status AS dict_data_status, sdd.deleted AS dict_data_deleted
FROM system_dict_data sdd
JOIN system_dict_type sdt ON sdd.dict_type = sdt.type
WHERE sdd.deleted = 0 AND sdt.deleted = 0;
视图:
关注不迷路☑,博主带你上高速☝,感谢关注,有问题请留言或私信✍(接单)