我是数据库的新手。
我有两张桌子:
这些表中的每一个都可以有一个或多个电话号码。例如,银行A可以有两部电话,交换机B可以有5部电话号码。
我可以这样做:对于银行,创建链接表bank_phones
,并为交换机也这样做。但是后来我会有两张表几乎相同的表。这样可以,还是我可以做得更好?
我想的是:带有字段id的表电话,main_id(其他表的链接,银行或交换机),类型(将在此处写入银行或交换机),phone_number)。这是一个好主意吗?如果没有,我怎样才能做得更好?
答案 0 :(得分:0)
简而言之,我会做很长的路。也就是说我有一个名为bank_phone
和exchanger_phone
的表。这意味着,如果您愿意在MySQL中使用InnoDB
表类型,则可以使用FOREIGN KEY
引用来确保电话号码只能附加到实际存在的银行和交易所({{3} })。
同样,如果存在电话号码,这将阻止银行或交换机被删除,这通常是一件好事。这称为参照完整性,有助于保持表之间的引用顺利。