首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用多个表在MySQL中存储数据的更有效方法

使用多个表在MySQL中存储数据的更有效方法
EN

Stack Overflow用户
提问于 2013-12-10 16:58:23
回答 3查看 324关注 0票数 1

我有一张桌子有很多问题。我在一些字段中保存用逗号分隔的数据,后来我无法搜索它们。然后,在搜索网络并找到许多解决方案后,我决定分离一些表。

我有一张桌子,变成了五张桌子。

第一个表名为agendamentos_diarios,这是我将要存储的计划表。

第二个表是名为tecnicos的表,我正在存储技术人员的名字。两个字段,id (主键)和名称(varchar)。

第三个表称为agendamento_tecnico。这是表(链接),我正在存储第一个表和第二个表的id。那是因为有一些日程安排将由一名或多名技术人员参加。

第四张表叫维库洛斯(车辆)。车辆的id和名称(两个字段)。

Fith表是第一个与车辆表之间的连接。同样的事情。我要把时间表和车号都存起来。

我有一个能解释得比我想说的更好的形象。

我做得对吗?是否有更好的方法将数据存储到MySQL?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-12-10 17:30:40

我同意@Strawberry关于is的看法,但通常是Hibernate映射类型来实现这一点。如果您没有使用Hibernate来设计您的表,您应该从agendamento_tecnico和agendamento_veiculos中取出ID。这样你才能获得统一。如果您不想这样做,那么在thoose表上的FK字段上创建一个唯一的键。

我注意到你把车桌和你的技术人员分开了。在您的模型中,同一辆车可以同时处于两个不同的时间表中(这是没有意义的)。如果车辆是连接在agendamento_tecnico表上,这将是更好的,这将变成agendamento_tecnico_veiculo。

在您的桌子上,我注意到(我是巴西人),您有一个名为"servico“的列,意思是服务。您的进度表只设计为一个服务。那么,在相同的时间表上,您有不止一个服务?要解决这个问题,您可以创建一个表服务,并创建一个与计划的m关系。创建一些报告并在数据库中将服务很好地分开将更加容易。

还有一个nome_cliente字段,它表示该计划的客户端。如果您有一个cliente (client)表,并将计划与FK链接起来会更好。

正如前面所说,没有正确的答案。你必须考虑你的问题和它的可能增长。正确地建立数据库模型以后将避免很多麻烦。

票数 3
EN

Stack Overflow用户

发布于 2013-12-10 17:26:42

最好是主观的,没有正确的答案。

我的本能反应是更多地打破那个时间表。看起来技术人员和客户的数据是复制的。

再一次,你可能出于完全合理的理由做出了解除正常的决定。

怀疑你会在这里找到谁不同意你没有逗号分隔的字段。

你要求停止改变的地方现在取决于你的环境。逗号分隔的字段给您带来了一个问题,您处理掉了它们。那么你现在给你带来了什么麻烦呢?

票数 2
EN

Stack Overflow用户

发布于 2013-12-10 17:48:57

看上去不错,尤其是第一次尝试的时候

一个注释:我会在所有表中将PK/FK (Id)命名为相同的,而不是使用'id‘作为名称(另外,我们使用'#’或'_‘作为主/ foreighn键的尾字符:示例technicos.technico_agendamento_tecnico有字段agend_tech_technico_。但这不是常识。它使查询更加复杂(因为您必须完全限定字段),但使数据库模式mor可读性(您知道当前wich属于wich )。

其他评论:这两个问话(我以前从没写过这个词!)表、连接technosagendamento_tecnico都有自己的ID字段,但它们不需要这样做,因为它们所连接的两个表(主/唯一)键是唯一的,因此您可以将它们用作此表的PK,例如:

代码语言:javascript
复制
CREATE TABLE agendamento_tecnico (
    technico_ int not null,
    agend_tech_ int not null,
    primary key(technico_,agend_tech_)
)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20500555

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档