mysql - MySQL 将 2 个不同的表连接到第 3 个表
问题描述
客户或提供者(clients_table、providers_table)可以有很多电话号码,因此,我创建了第三个表(phone_book)来存储电话号码(固定电话、手机),但我被困在如何创建/管理这 3 个之间的关系表。处理这种情况的最佳方法是什么?
谢谢
解决方案
我不知道客户表和提供者表有多相似/不同,或者它们是否更适合作为一个表。我将解释处理您的要求的一般方法。考虑以下表定义:
clients_table (id, name, address)
phone_book (id, number)
clients_phone (client_id, phone_id)
(client_id -> clients_table, phone_id -> phone_book)
也就是说,创建一个名为的新联结表clients_phone
,用于跟踪客户端与其电话之间的关系。请注意,通过这种设计,我们不必在任何地方重复电话信息。它只出现一次,在phone_book
表中。
考虑到还有一个提供程序表,上述设计可能需要稍作更改。
推荐阅读
- java - 在参数化 jUnit 4 测试中访问参数 Collection<> 的问题
- docker - 使用 Docker 工作流程清洁操作系统
- html - 溢出元素内的粘性元素
- javascript - 角度 6 请添加@NgModule 注释
- node.js - 我可以/如何使用 Postman 连接到 MLAB DB?
- c# - 为什么 break 会终止整个程序而不仅仅是当前线程
- javascript - 表单验证错误通过路由持续存在
- python - Python 3.x 中函数内多个变量的更改被重置为默认值
- python-3.x - 无法使用 Python pathlib 在特定文件夹中创建新目录
- javascript - 循环状态并创建多个组件