小讨论。。 在实际应用中给数据库加外键的约束好不好?

博客提出逻辑外键比物理外键好的观点,并询问他人看法,聚焦于数据库中外键类型的比较。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我觉得逻辑外键比物理外键好。

 

你们是怎么想的?

### 达梦数据库约束的创建 在定义方面,达梦数据库遵循标准SQL语法的同时也具有一些特定的要求和扩展功能。为了确保参照完整性,在创建表时可以指定约束或将到现有表中。 #### 创建带有的新表 当创建新表并希望在此过程中设置时,可以在`CREATE TABLE`语句内直接声明关系: ```sql CREATE TABLE employee ( emp_id INT PRIMARY KEY, name VARCHAR(50), hire_date DATETIME, salary DECIMAL(10, 2), dept_id INT, FOREIGN KEY (dept_id) REFERENCES department(dept_id) ); ``` 上述命令会建立一张名为`employee`的数据表,并设定字段`dept_id`作为指向另一张名为`department`表格中的`dept_id`列的[^3]。 #### 向已有表添 如果需要向已经存在的表增,则应使用`ALTER TABLE`语句来完成这一操作: ```sql ALTER TABLE employee ADD CONSTRAINT fk_dept FOREIGN KEY (dept_id) REFERENCES department(dept_id); ``` 这条指令将会给现有的`employee`表新增一个名称为`fk_dept`的,它关联到了`department`表里的`dept_id`列上。 需要注意的是,由于员工记录可能依赖于部门的存在,所以在实际应用环境中应当先确认目标表(这里是`department`)已存在并且包含了适当的数据之后再执行这些操作;另,对于有现存数据的情况,还需要保证所要加入引用的目标列不存在违反约束条件的情形。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值