我试图为我试图建模的数据提出一个模式,但总是以循环引用结束;我一定是在遗漏一些东西,但我正在寻找最佳方式的建议。
假设我正在从网络服务中提取照片列表,因为每张照片我想要取出摄影师以及拍摄的区域,这样我就可以运行查询以查看摄影师拍摄的照片数量,以及有多少摄影师在特定地区拍摄过照片。
对此进行建模的最佳方法是什么?我认为一张照片有一位摄影师,位于一个区域,但每个摄影师/地区可以有多张照片,一个地区也需要与摄影师建立关系,以便我们可以看到有多少人在特定地区拍摄了照片。
这是我描绘这种关系的方式(希望图表有意义),但这会创建一个圆圈......
照片* GT; - 摄影师* GT; - < *区 - < *照片
不确定它是否有所不同,但这适用于使用sqlite3的iOS应用
答案 0 :(得分:0)
关于,"并且一个地区也需要与摄影师建立关系,以便我们可以看到有多少人在特定地区拍摄了照片。"
不,它没有。所有区域表需求都是一个id字段和有关该区域的信息。此外,摄影师不能拥有regionId字段,因为他们可能会拍摄来自多个地区的照片。话虽如此,根据您的要求,它可能有一个CurrentHomeRegionID字段,它是区域的外键。
如果您的照片表中有photographer_id和region_id,则可以运行您想要的任何查询。