首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >外键和基本关系表

外键和基本关系表
EN

Stack Overflow用户
提问于 2012-04-21 21:35:21
回答 1查看 115关注 0票数 0

我有一个想要在MySQL中实现的基本数据模型。我将使用mysqldb和SQLalchemy来完成数据部分,从一些XML中获取一些数据。

我不知道如何实现我想要做的事情,我想知道是否有人能为我指明正确的方向。

我有几个表,每个表都有一部分数据。

代码语言:javascript
复制
Table 1 - recordTitle, recordID, recordDate
Table 2 - recordProp1, recordProp2, recordProp3
Table 3 - recordPropA, recordPropB, recordPropC

所有表在各自的空间中都是唯一的,但是T1可以有许多T2s和T3s,T2/T3可以属于许多T1s。讲得通?

我想解决这个问题的方法是有第四张桌子:-

表4- T1ref、T2ref、T3ref

在T1-3中有一个新的colunm,称为TnRef,基本上是该表的主键。

  1. 听起来像一种明智的方法吗?
  2. ,我在填充数据时,需要检查每个表条目的唯一性,如果是的话,我捕获TnRef值,如果不是,则插入新行,然后收集TnRef值。一旦我有了这个值,我就可以填充将所有内容链接在一起的T4行。
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-04-21 21:52:06

  1. 对于您描述的多到多关系来说,是的,我认为有第四个表将T1记录与T2(s)和T3(s)连接起来是有意义的。不过,我认为您需要向T2和T3添加一个键列,以使T4能够正确地存储链接。T3
  2. --我假设您的意思是T2和T3将展开,并且您的应用程序将将请求发送到(例如)向T1中的给定记录添加{ recordProp1= someval,recordProp2= recordProp2= someotherval }。如果是的话,那么是的,您将首先在T2上进行查找,然后根据T1和T2的键将其插入T4中。
  3. --我认为ORM绝对是这样做的正确工具。当然,您需要确保在MySQL中所有外键关系都是正确的。但是SqlAlchemy可以处理多到多的关系。看一看:http://docs.sqlalchemy.org/en/latest/orm/relationships.html#many-to-many
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10263210

复制
相关文章

相似问题

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