1.数据库中通过外键所连接的关系
数据库中的外键一般用以链接接两个表中的两个具有相同意义的字段。
如在学生表中有年级id的字段,在年级表中也有年级id的字段,我们不能将年级的具体信息字段也加入学生表中,因为这样违反了数据库的基本设计原则,这时我们就可以将学生表中的年级id(引用)链接外键年级表中的年级id(被引用),在这个外键关系中学生表被称为从表,年级表被称为主表。
要想删除主表必须先消除主表与从表的外链关系或先删除从表。
2.在数据库层面设计外键的优缺点
通过上面的例子我们不难发现外链关系只是一种逻辑层面的关系,不是必须在数据库层面实现。我们一般将数据库层面的外键称为物理外键。物理外键的优点在于逻辑关系相比于在程序中进行实现更加清晰,能够从更底层对数据进行约束;而物理外键的缺点也非常明显,那就是当有很多数据库表时,过多的数据关系将会造成对数据库的操作困难。在我在学校写项目有时就会弄反外键关系,而且过多的外键也会对删表造成影响。所以说对于大型项目较为优质的方案是在程序的层面实现逻辑外键。不过也需要具体情况具体讨论。