千家信息网

如何在Mysql数据库中数据表使用外键与三范式

发表于:2025-01-22 作者:千家信息网编辑
千家信息网最后更新 2025年01月22日,这篇文章将为大家详细讲解有关如何在Mysql数据库中数据表使用外键与三范式,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。数据表优化将商品信息表进行优化
千家信息网最后更新 2025年01月22日如何在Mysql数据库中数据表使用外键与三范式

这篇文章将为大家详细讲解有关如何在Mysql数据库中数据表使用外键与三范式,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

数据表优化

将商品信息表进行优化

1.创建商品种类表:

create table if not exists goods_cates( id int unsigned primary key auto_increment, name varchar(40) not null );

2.将商品种类写入商品种类表中:

注意:插入另一个表的查询结果不需要加values

insert into goods_cates(name) (select cate_name from goods group by cate_name);

3.将商品种类表更新到商品表中:

将商品表与种类表连接,用种类表id代替商品表种类内容

update (goods_cates inner join goods on goods_cates.name=goods.cate_name) set goods.cate_name=goods_cates.id;

4.修改表结构:

将商品表商品种类名字段名cate_name重命名为cate_id

alter table goods change cate_name cate_id int unsigned not null;

外键

1.外键的使用:

添加外键约束,插入数据线判断cate_id是否存在于goods_cates中的id,不存在,则插入数据失败

alter table 表名1 add foreign key (字段名1) references 表名2(字段名2);

(设置外键后可以防止非法数据的录入)

foreign key(字段名1) references 表名2(字段名2);

(也可在创建表时直接设置外键,前提是要连接的表存在)

2.外键的缺点:

虽然外键可以有效防止非法数据的录入,但是会极大降低表的更新效率,所以实际开发中,一般不适用外键约束,可以再事务层面去判断数据的合法性。

3.外键的删除:

显示创建表的语句

show create table goods;

获取外键名称后删除外键:

alter table goods drop foreign key goods_ibfk_1;

三范式

1.第一范式(1NF):强调列的原子性,即列不能再分成其他列。
2.第二范式(2NF):基于1NF,表必须有一个主键,非主键字段必须完全依赖与主键,而不是只依赖于主键的一部分。
3.第三范式(3NF):基于2NF,非主键列必须直接依赖于主键,不能存在传递依赖。

符合第三范式的数据库,是比较合理的数据库。

关于如何在Mysql数据库中数据表使用外键与三范式就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

数据 商品 种类 范式 字段 数据库 数据表 内容 文章 更多 知识 篇文章 更新 不错 合法 有效 事务 信息 前提 原子 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 练习跑酷的服务器我的世界基岩版 什么是增强网络技术的 服务器管理器可以卸载吗 二手服务器安全吗 天津租赁监管软件开发定制供应商 对日软件开发英文怎么写 传感器网络技术和特点 制造业配方管理软件开发 防御软件开发 服务器可以多人连接吗 提高软件开发技术 铁总网络安全专用产品 网络安全问题的研究原始材料 日均订单4万单要多大的服务器 西门子无线通讯需要访问服务器吗 沈阳云锯汇网络技术有限公司 华为服务器怎么做直通模式 网络技术机考 滁州初趣网络技术有限公司 潍坊oa管理软件开发 嘉定区大型网络技术欢迎咨询 软件开发哪家好哪家有 购买网络安全方面的基金 服务器存储品牌 数据库管理系统和数据库管理工具 asp数据库管理 国家网络安全等级 正规网络安全运维费用 服务器安装宝塔后为什么进不去 网络安全创作思想
0