Python中文
首页
教程
问答
标签
搜索
登录
注册
植物表中,植物种类很多,每种植物都有很多属性,有些属性有多个值
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我有一个代表植物的模型。每种植物都有一种类型(花、树、灌木等)。每种植物类型对一组属性都有不同的要求,其中一些属性可以具有多个值(栖息地、所处区域等)。例如,树木不太可能有一种以上的生命周期,因为花朵有不同的生命周期。在</p> <hr/> <p>我将如何对数据建模,其中:</p> <ol> <li>所有的植物都是同一型号的</li> <li>对不同的植物类型强制使用一组属性 <ol> <li>在集合中的这些属性中,有些属性可以为每个工厂提供多个值,但所有属性都至少需要一个值。在</li> </ol></li> <li>添加新植物类型时,可以创建新属性、新集合或重用旧属性</li> </ol> <hr/> <p>到目前为止,我只有一个plants表,在它自己的表中,每个属性都有多个多对多的关系,并且我将在代码中强制至少一个值。在</p> <p><a href="http://i.imgur.com/82CoW15.png" rel="nofollow">http://i.imgur.com/82CoW15.png</a></p> <hr/> <p>我曾考虑过对属性使用实体属性值,但这样我就不会真正受益于所使用的ORM(SQLAlchemy)。序列化LOB也是如此。在</p> <p>我想我需要类表继承,但我不确定如何处理某些属性可以有序地具有多个值。在</p> <pre><code>Plant Habitat ----- |--> --> ------- --> Multiple values per plant | | Flower Life Cycle |--> ------ --> ---------- --> Single Value | | Tree Cone Type |--> ---- --> --------- --> Single value | | Shrub |--> ----- </code></pre> <p>另一种可能是在运行时为每个新属性添加属性表,但我不确定如何在SQLAlchemy或任何其他ORM中实现这一点</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>查看<a href="http://docs.sqlalchemy.org/en/rel_0_8/orm/inheritance.html#joined-table-inheritance" rel="nofollow">joined table inheritance</a>的文档。将植物定为基类,而花、灌木、树木可以有自己的表。每个子工厂表都可以有任何必要的外键关系。在</p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
尽管Python中的所有内容都是引用,为什么Python导师在没有指针的列表中绘制字符串和整数?
8 回答
尽管python中的表达式为false,但循环仍在运行
6 回答
尽管python代码正确,但从nifi ExecuteScript处理器获取语法错误
1 回答
尽管Python在Neovim中工作得很好,但插件不能识别Neovim中的Python主机
1 回答
尽管python字典包含了大量的条目,但它并没有增长
7 回答
尽管python说模块存在,为什么我会得到这个消息?
9 回答
尽管setuptools和控制盘是最新的,但无法识别singleversionexternallymanaged
4 回答
尽管stdout和stderr重定向,但未捕获错误消息
8 回答
尽管Tensorboard的事件太大,但Tensorboard的步骤太少了
2 回答
尽管tkinter上的变量已更改,但显示未更改
4 回答
尽管try/except使用Python进行单元测试时出现断言错误
7 回答
尽管URL是sam,但仍会抛出“达到最大重定向”
3 回答
尽管url有效,Pandas仍读取url的\u csv错误
6 回答
尽管while中存在时间延迟,但LINUX线程的CPU利用率为100%(1)
7 回答
尽管x0在范围内,Scipy优化仍会引发ValueError
8 回答
尽管xpath正确,但使用selenium单击链接仍不起作用
9 回答
尽管下载了ffmpeg并设置了路径变量python,但没有后端错误
9 回答
尽管下载了i,但找不到型号“fr”
8 回答
尽管下载了plotnine包,但未获取名为“plotnine”的模块时出错
8 回答
尽管为所有行指定了权重,网格(0)仍不起作用
1 回答