MySQL字典数据库设计与实现 ---项目实战

软件准备✍: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;

 视图:

  关注不迷路☑,博主带你上高速☝,感谢关注,有问题请留言或私信✍(接单)

  • 24
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

@_猿来如此

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值