SQL数据库中表与表之间的关联怎么建立

SQL数据库中表与表之间的关联怎么建立,第1张

1、在数据库窗口中,单击“创建”中“表格”中的“表设计”,打开表设计窗口。

2、按照需要设计表“1”的表结构,完成后关闭表设计, 命名表1为“1”按需求确定字段大小以及是否允许空填。

3、重复上述 *** 作,建立表“2”。

4、单击“数据库工具”选项卡中“关系”中的“关系按钮”,打开“显示表对话框”。

5、在显示的两个表中,将“2”中的“数据”拖到“1”中数据字段上,在d出的编辑关系对话框中单击创建。建立关系完成,关闭“关系”窗口即可。

如果是 父子关系, 或者 一对多 关系。

可以通过 创建外键的方式, 在 父表 与 子表之间, 创建一个关联关系。

例如:

-- 创建测试主表. 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

2test_main

3 WHERE

4ID = 1

DELETE

*

ERROR at line 1:

ORA-02292: integrity constraint (HR.MAIN_ID_CONS) violated - child record found

设置关联的两表或者多表、通过外键关联、外键字段是从表中的字段、外键(foreign

key)字段需要在主表做主键(primary

key)、

比如

学生表(学号

主键,姓名)

主表

课程表(课号

主键,课名)

主表

选了表(学号

外键,

课号

外键,成绩)

从表

这样三个表就关联了、记住建表顺序、先主表、再从表

然后可以使用代码或者图形界面管理器创建外键、创建完就关联了

外键的取值必须是主键的值


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11153959.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-14
下一篇 2023-05-14

发表评论

登录后才能评论

评论列表(0条)

保存