数据库建表需要外键约束吗?

简介: 建立外键的好处: 1) 由数据库保证数据完整性,比程序保证完整性更可靠, 多应用时(如有应用A,B,C他们之间的实体存在关联关系),由程序来保证数据完整性变得困难 2) 外键约束使得数据库的ER图可读性变强,有助于业务逻辑设计 不建立外键的好处: 1) 可以用触发器或应用程序保证数据的完整性 2) ...

建立外键的好处: 
1) 由数据库保证数据完整性,比程序保证完整性更可靠, 
多应用时(如有应用A,B,C他们之间的实体存在关联关系),由程序来保证数据完整性变得困难 
2) 外键约束使得数据库的ER图可读性变强,有助于业务逻辑设计 
不建立外键的好处: 
1) 可以用触发器或应用程序保证数据的完整性 
2) 开发变得简单,维护数据时不用考虑外键约束 
3) 性能高,大数据量插入操作时不用考虑维护外键 
讨论结果:不建立外键约束,关联关系由程序控制,另外还需要删除现有的外键关系 

目录
相关文章
|
5月前
|
SQL 数据库 C#
C# .NET面试系列十一:数据库SQL查询(附建表语句)
#### 第1题 用一条 SQL 语句 查询出每门课都大于80 分的学生姓名 建表语句: ```sql create table tableA ( name varchar(10), kecheng varchar(10), fenshu int(11) ) DEFAULT CHARSET = 'utf8'; ``` 插入数据 ```sql insert into tableA values ('张三', '语文', 81); insert into tableA values ('张三', '数学', 75); insert into tableA values ('李四',
144 2
C# .NET面试系列十一:数据库SQL查询(附建表语句)
|
5月前
|
SQL 关系型数据库 MySQL
【MySQL 数据库】2、MySQL 的数据控制语言、函数和约束
【MySQL 数据库】2、MySQL 的数据控制语言、函数和约束
53 0
|
28天前
|
存储 关系型数据库 MySQL
MySQL数据库基础:约束
约束是对数据库表中字段施加的规则,确保数据的正确性、有效性和完整性。主要分为非空约束、唯一约束、默认约束、主键约束和外键约束。非空约束禁止字段值为null;唯一约束确保字段值唯一,允许null值重复;默认约束设定默认值;主键约束结合非空与唯一约束,并可设为自增型;外键约束则通过关联其他表的主键,保证数据一致性。检查约束确保字段值满足特定条件。
32 1
|
8天前
|
数据库 Python
django中数据库外键可以自定义名称吗
django中数据库外键可以自定义名称吗
|
5月前
|
SQL 关系型数据库 MySQL
轻松入门MySQL:深入学习数据库表管理,创建、修改、约束、建议与性能优化(3)
轻松入门MySQL:深入学习数据库表管理,创建、修改、约束、建议与性能优化(3)
|
5月前
|
存储 关系型数据库 MySQL
MySQL数据库性能大揭秘:表设计优化的高效策略(优化数据类型、增加冗余字段、拆分表以及使用非空约束)
MySQL数据库性能大揭秘:表设计优化的高效策略(优化数据类型、增加冗余字段、拆分表以及使用非空约束)
216 0
|
4月前
|
数据采集 关系型数据库 MySQL
MySQL数据库基础第三篇(约束)
MySQL数据库基础第三篇(约束)
|
4月前
|
SQL 关系型数据库 MySQL
MySQL数据库——基础篇总结(概述、SQL、函数、约束、多表查询、事务)一
MySQL数据库——基础篇总结(概述、SQL、函数、约束、多表查询、事务)一
41 5
|
4月前
|
数据库 数据库管理 索引
Liquibase中的约束与索引,让你的数据库管理如丝般顺滑
【Liquibase教程】数据库变更管理利器!学会添加主键、外键、检查约束和索引,提升开发效率。开源工具Liquibase帮你轻松控制数据库版本,确保数据完整性和一致性。示例代码教你如何在Liquibase中创建表并定义各种约束,让数据库管理更加高效。下次见!
Liquibase中的约束与索引,让你的数据库管理如丝般顺滑
|
5月前
|
存储 关系型数据库 数据库
关系型数据库的数据完整性约束
【5月更文挑战第12天】关系型数据库的数据完整性约束
63 2
下一篇
无影云桌面