SQL-外键约束和基数
有人能解释外键约束和基数吗?我正在阅读SQLite手册,我在上一节。它在解释中说: 父键和子键必须具有相同的基数。在SQLite中,如果有任何子键列(在本例中为SongArtister和 songalbum)为空,则不需要相应的 父表中的行 我知道基数应该是一个集合中的值的数目,或者至少在数学中是这样,所以我假设如果我有10个人的记录,每个记录都有一列性别,那么有两种可能是男性和女性,所以假设有一些男性和一些女性,基数是2。。。对吧? 我在谷歌上搜索,没找到多少。我找到的最接近的东西是一个Microsoft Visio 2003页面,其中有一个部分解释了“”。它说: 关系的基数描述了一个数据库中有多少条记录 父表可以与子表中的记录直接相关。 基数以一对一、一对多的形式表示, 多对一,或多对多SQL-外键约束和基数,sql,sqlite,cardinality,Sql,Sqlite,Cardinality,有人能解释外键约束和基数吗?我正在阅读SQLite手册,我在上一节。它在解释中说: 父键和子键必须具有相同的基数。在SQLite中,如果有任何子键列(在本例中为SongArtister和 songalbum)为空,则不需要相应的 父表中的行 我知道基数应该是一个集合中的值的数目,或者至少在数学中是这样,所以我假设如果我有10个人的记录,每个记录都有一列性别,那么有两种可能是男性和女性,所以假设有一些男性和一些女性,基数是2。。。对吧? 我在谷歌上搜索,没找到多少。我找到的最接近的东西是一个Mic
这可能是一个很好的描述,但我仍然不理解SQLite在说父键和子键必须具有相同的基数时的含义。如果你能在回答中举出一些例子,那也会很有帮助。谢谢这是示例的表结构:
CREATE TABLE album(
albumartist TEXT,
albumname TEXT,
albumcover BINARY,
PRIMARY KEY(albumartist, albumname)
);
CREATE TABLE song(
songid INTEGER,
songartist TEXT,
songalbum TEXT,
songname TEXT,
FOREIGN KEY(songartist, songalbum) REFERENCES album(albumartist, albumname)
);
父表(album
)有一个复合主键,即主键由两列组成
因此,如果子表想要引用相册,它也必须使用两列
在本例中,父键和子键的基数均为2。这是示例的表结构:
CREATE TABLE album(
albumartist TEXT,
albumname TEXT,
albumcover BINARY,
PRIMARY KEY(albumartist, albumname)
);
CREATE TABLE song(
songid INTEGER,
songartist TEXT,
songalbum TEXT,
songname TEXT,
FOREIGN KEY(songartist, songalbum) REFERENCES album(albumartist, albumname)
);
父表(album
)有一个复合主键,即主键由两列组成
因此,如果子表想要引用相册,它也必须使用两列
在本例中,父键和子键的基数均为2。这表示您发布的内容。你想得太多了。只要记住你文章中第二个灰色方框的最后一句话,它的意思就是你发布的内容。你想得太多了。记住你帖子中第二个灰色方框的最后一句话。