草庐IT

多对多

全部标签

mysql - Ebean 和多对多关系 - 怎么样?

我在MySQLWorkbench中创建了一个模式:我如何将其映射到PlayFramework中Ebean中的实体?在教程中,他们使用方法编写模型类,用@Entity注释并让Play生成SQL脚本,但不关心数据类型(例如如何对VARCHAR设置限制)。多对多关系呢?在我的例子中-我应该创建一个实体类UsersScenarios还是应该创建一个Scenario模型,其中包含一些包含Users对象集合的字段和一个User模型包含一组Scenario对象?或者我应该在MySQLWorkbench中生成模式并以某种方式将其映射到我的应用程序中?请帮助我,因为我没有任何ORM经验。编辑:我用两个模

mysql - 如何在mysql中左连接多个一对多的表?

我在mysql中连接三个表时遇到问题。假设我们有一个名为posts的表,我将我的条目保存在其中,我有一个名为likes的表,我将user_id和post_id存储在第三个表中名为comments,我在其中存储user_id和post_id以及评论的文本。我需要一个查询来获取我的条目列表,以及每个条目的点赞数和评论数。我正在使用这个查询:SELECTposts.id,count(comments.id)astotal_comments,count(likes.id)astotal_likesFROM`posts`LEFTOUTERJOINcommentsONcomments.post_i

mysql - 我应该为多对多数据库表使用索引吗?

为名为user_movies的表创建具有以下列的索引是否有意义:用户名电影_id与在此表上插入或更新相比,阅读要多得多,但我不确定该怎么做。另外:在这种情况下省略主键是否足够? 最佳答案 这个表的正确定义如下:CREATETABLEuser_movies(user_idINTNOTNULL,movie_idINTNOTNULL,PRIMARYKEY(user_id,movie_id),FOREIGNKEY(user_id)REFERENCESusers(user_id),FOREIGNKEY(movie_id)REFERENCESm

mysql - 模式迁移 : one-to-many, PostgreSQL 中的多对多

背景在MySQL中,我需要用两个表对一对多建模,用三个表对多对多建模,如果我想保留标准化表格。我正在研究向PostgreSQL的迁移,令人惊讶的是,它允许向量甚至多维向量字段!问题PostgreSQL中一对多和多对多的规范映射是什么?一对多是否只是一个带有向量字段的表?是否有规范的多对多建模方式,还是取决于具体情况(比如我需要如何查询)?使用数组字段有什么注意事项吗? 最佳答案 在PostgreSQL中,您通常应该坚持关系建模,就像您目前在MySQL中使用的那样。PostgreSQL的数组很有用,但出于多种原因不应该成为您数据建模的

mysql - 复杂的 SQL 查询,多对多

对我来说很复杂,因为我是SQL新手。我有三个表-People、Interests和Peoples_Interests(多对多)-它们以下列方式连接:People通过Peoples_Interests有很多InterestsInterest通过Peoples_Interests有很多People我需要向与他们最相似的人提出建议,这是基于相似兴趣的数量。所以对于例如:我对棒球、足球和Volley很感兴趣。我应该从另一个有尽可能多的相似兴趣的用户那里得到建议。如果出现次数为3/3的人应该是我所需要的(如果不存在-2/3等等)。所以我需要一个查询,输出将包含按兴趣相似度排序的人。更新:数据库结

mysql - 从多个表中选择 - 一对多关系

我有这样的表:表格产品[编号|姓名]表格图片[产品编号|网址|订单号]表价[产品编号|组合|货币|价格]表格数量[产品编号|组合|数量]表产品与其他表是一对多的关系。我需要查询表并得到类似这样的结果(伪数组):[ProductId:1,Name:'Sampleproduct',Images:[[url,1],[url,2]],Prices:[[aaa,USD,50.00],[aaa,EUR,50.00],[bbb,USD,59.00],[bbb,EUR,59.00]],Quantities:[[aaa,5],[bbb,3]]]我现在的做法是这样的:我查询所有产品,列出它们的ID,然后使

mysql - SQLAlchemy 和 MySQL 中一对多关系中列的唯一约束

我不确定这个问题的标题是否正确。我可以很好地向我的任何表添加唯一约束,但在下面的情况下,我不确定如何做我想做的事情:classBranch(db.Model):id=db.Column(db.Integer,primary_key=True)name=db.Column(db.String(160))#foreignkeyfor'branches'inAccountclass.accesswithBranch.accountaccount_id=db.Column(db.Integer,db.ForeignKey('account.id'))classAccount(db.Model)

mysql - 如何向表示多对多关系的 MySQL 闭包表添加排序顺序?

这是我在这里的问题的后续:Howtoimplementamany-to-manyhierarchicalstructureinMySQL在这里:HowtorecordsequentialcollectionsofrecordsinMySQL.简而言之,我想在MySQL中实现一个食谱表和另一个指令表。配方是一系列连续的指令或其他配方。例如,您可以想象一个Peach_preserve食谱和一个使用Peach_preserve的Peach_tart,以及一系列其他步骤(说明)。Peach_preserve可用于许多其他食谱。我读了thisblogpostbyBillKarwinaboutcl

mysql - 映射一对多关系时是否应该有一个单独的表?

就性能和可伸缩性而言,在MySQL中执行一对多映射的更好方法是哪种。使用单独的列但坚持使用2个表:(person):id,name(phone):id,number,type,person_id使用单独的表:(person):id,name(phone):id,number,type(person_phone):id,person_id,phone_id 最佳答案 只有一个正确答案,而且是第一个。您的第二个想法是如何建模多对多关系,而不是一对多。 关于mysql-映射一对多关系时是否应该

mysql - 多对多和多对多交集

假设我有一个数据库,其中包含人员、杂货店和您可以在商店购买的商品,如下所示:StoresPeopleFoods-----------------------------------------------------|id|name||id|name||id|name|-----------------------------------------------------|1|Giant||1|JonSkeet||1|Tomatoes||2|Vons||2|KLee1||2|Apples||3|Safeway|------------------|3|Potatoes|-------