如何设置SQL数据库表与表的关联关系?
发布网友
发布时间:2022-03-30 21:09
我来回答
共3个回答
热心网友
时间:2022-03-30 22:39
如果是 父子关系, 或者 一对多 关系。
可以通过 创建外键的方式, 在 父表 与 子表之间, 创建一个关联关系。
例如:
-- 创建测试主表. ID 是主键.
CREATE TABLE test_main (
id INT NOT NULL,
value VARCHAR(10),
PRIMARY KEY(id)
);
-- 创建测试子表.
CREATE TABLE test_sub (
id INT NOT NULL,
main_id INT ,
value VARCHAR(10),
PRIMARY KEY(id)
);
-- 插入测试主表数据.
INSERT INTO test_main(id, value) VALUES (1, 'ONE');
INSERT INTO test_main(id, value) VALUES (2, 'TWO');
-- 插入测试子表数据.
INSERT INTO test_sub(id, main_id, value) VALUES (1, 1, 'ONEONE');
INSERT INTO test_sub(id, main_id, value) VALUES (2, 2, 'TWOTWO');
SQL> -- 创建外键(默认选项)
SQL> ALTER TABLE test_sub ADD CONSTRAINT main_id_cons FOREIGN KEY (main_id) REFERENCES test_main;
Table altered.
SQL>
SQL> -- 测试删除主表数据. 将出错 ORA-02292: 违反完整约束条件
SQL> DELETE
2 test_main
3 WHERE
4 ID = 1;
DELETE
*
ERROR at line 1:
ORA-02292: integrity constraint (HR.MAIN_ID_CONS) violated - child record found
热心网友
时间:2022-03-30 23:57
SQL Server Management Studio
展开所要设置的表下面的选项,可以新建外键约束、一些约束行为来进行表与表直接的关联。而且你也可以创建视图来看表之间的关系 这样直观,简单。
也可以用SQL语句。
热心网友
时间:2022-03-31 01:31
在对应的库下建立对应的表即可