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

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

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

目录
相关文章
|
6天前
|
存储 程序员 数据库
数据库建表原则
数据库建表原则
23 0
|
6天前
|
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 ('李四',
81 2
C# .NET面试系列十一:数据库SQL查询(附建表语句)
|
11月前
|
SQL 存储 关系型数据库
数据库三大范式、ER图与实体类、外键约束与级联操作你了解多少?(下)
数据库三大范式、ER图与实体类、外键约束与级联操作你了解多少?
273 0
|
11月前
|
SQL Oracle Java
数据库三大范式、ER图与实体类、外键约束与级联操作你了解多少?(上)
数据库三大范式、ER图与实体类、外键约束与级联操作你了解多少?
397 0
|
SQL 关系型数据库 MySQL
数据库如何建表
MySQL数据库建表过程
509 0
|
数据库
数据库必备技能:Navicat如何使用Excel建表、导入数据
navicat有Excel建表导入数据的功能,试了试,的确很强大。
|
SQL 缓存 搜索推荐
Gorm学习(三)基础:迁移(数据库建表以及字段设置)
在项目开发中,我们可能会随时调整声明的模型,比如添加字段和索引,使用 GORM 的自动迁移功能,可以始终让我们的数据库表结构保持最新。
909 0
Gorm学习(三)基础:迁移(数据库建表以及字段设置)
|
SQL 数据库
编写SQL为数据库某一字段添加外键约束
编写SQL为数据库某一字段添加外键约束
89 0
编写SQL为数据库某一字段添加外键约束
|
数据库
数据库建表练习
数据库建表练习
75 0
|
Java 关系型数据库 测试技术
数据库是否应该使用外键约束?
数据库是否应该使用外键约束?
218 0
数据库是否应该使用外键约束?