【发布时间】:2022-06-18 22:04:15
【问题描述】:
我有以下简单的示例,其中包含三个表:设备类型、设备组件和设备,它们由上一个数据组成两张桌子。
那么,如果设备Type 3(紧急对讲)由设备组件表的两个元素组成,我该如何在中指定它device 表的 >components 列?
我的意思是,我知道我需要 device components 表中的 ID 1、3 和 4,但是...如何在另一个表的列中引用这两个值?
我需要做this 之类的操作,或者可以在表中定义一个 json 列吗?
【问题讨论】:
-
只需用
device_type = 3和components = **any device components id**再插入一行 -
如果一个项目有多个元素,那么您需要多行。无论您做什么,不要,在任何情况下,都要屈服于将数据存储为分隔或打包(json 等)列的诱惑。
-
请注意,表格有行和列,而不是记录或字段。
-
不要在数据库单元格中存储逗号分隔的列表,如果那是你要去的地方!!! is-storing-a-delimited-list-in-a-database-column-really-that-bad
-
@jarlh 我的 2001 年关于数据库的大学教科书仍然不同意你的观点。 (数据库处理基础,第 7 版)
标签: mysql sql database database-design