gpt4 book ai didi

mysql - DBMS 是否单独存储引用属性?

转载 作者:行者123 更新时间:2023-11-29 13:09:26 24 4
gpt4 key购买 nike

假设我有以下关系(表):
学生(身份证、姓名、家庭)
类(class)(id、标题、单位、引用)
Std-Course (std-id, course-id)
//std-id 和 course-id 是分别引用 Student 和 Course 关系的外键。

std-id 和 course-id 是单独存储还是仅存储为指针?(特别是在 MySqlMS SQLSERVER 中)

编辑:让我这样解释更多:

如果Student表中有这样一行(123456, JOHN, SMITH),并且(123456,db1)Std-Course123456 存储了两次还是在第二个表中(作为外键)它只是一个链接?

最佳答案

根据文档:

MySQL supports foreign keys, which let you cross-reference related data across tables, and foreign key constraints, which help keep this spread-out data consistent.

意思是,我们使用子级和父级来存储数据。 外键...引用...的指令将存储在系统表table_constraints中,以维护表之间定义的关系

编辑:

If there is such a row (123456, JOHN, SMITH) in the Student table, and (123456,db1) in the Std-Course, is 123456 stored twice or in the second table (as a foreign key) it's just a link?

它被存储了两次。第一个在父表中,第二个在子表中。

引用不直接是表数据的一部分。它们是数据库系统的指令,并在其自己的名为 information_schema 的模式中维护。

table_constraints是该架构的一部分,并保存有关在mysql当前实例下跨各种数据库定义的所有此类约束的信息。

引用:

关于mysql - DBMS 是否单独存储引用属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22295825/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com