欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 教育 > 高考 > MySQL字典数据库设计与实现 ---项目实战

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

2025/2/24 22:18:17 来源:https://blog.csdn.net/m0_63057469/article/details/139927873  浏览:    关键词: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;

 视图:

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

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词