【发布时间】:2011-12-24 12:53:19
【问题描述】:
我正在设计两个模型之间的多对多关系:Cell 和 Isolator:
CREATE TABLE `isolator` (
`id` bigint(20) NOT NULL AUTO_INCREMENT,
`name` varchar(127) NOT NULL,
`surname` varchar(127) NOT NULL,
PRIMARY KEY (`id`),
);
CREATE TABLE `cell` (
`id` bigint(20) NOT NULL AUTO_INCREMENT,
`name` varchar(127) NOT NULL,
`gen` varchar(127) NOT NULL,
PRIMARY KEY (`id`),
);
CREATE TABLE `cell_isolators` (
`cell_id` bigint(20) NOT NULL DEFAULT '0',
`isolator_id` bigint(20) NOT NULL DEFAULT '0',
PRIMARY KEY (`cell_id`,`isolator_id`),
CONSTRAINT `cell_isolator_id` FOREIGN KEY (`isolator_id`) REFERENCES `isolator` (`id`),
CONSTRAINT `isolator_cell_id` FOREIGN KEY (`cell_id`) REFERENCES `cell` (`id`) ON DELETE CASCADE
);
客户问我是否可以指定显示单元格的隔离器列表的顺序,因为这对于发布目的很重要。
建模的最佳方法是什么?我正在考虑在多对多关系中添加第三个字段(例如sort_order),但我想知道是否还有其他选择。
谢谢!
【问题讨论】:
-
这正是我建模它的方式,假设顺序特定于关系而不是 Isolator 本身。
-
@TomH。这就是来龙去脉。
Isolator的完整列表将按(姓、名)排序,但关系有自己的标准
标签: sql database-design sorting many-to-many