首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何为这种情况构建一个防火墙数据库?

如何为这种情况构建一个防火墙数据库?
EN

Stack Overflow用户
提问于 2018-11-22 16:26:56
回答 2查看 40关注 0票数 0

基本上,我想在一个UITableView中显示每一个烟草和所有可用的钩子,基于是否按下烟草段或钩子段。首先,你应该看到品牌,然后是“产品”(就像所有的烟草或胡卡)。那么现在,防火墙数据库到底应该是什么样的呢?因为每一种产品(钩子、烟草)都应该有“名称”、“品牌”、“等级”和“描述”。第二个问题:我如何通过代码在我的表视图中接收所有这些信息?现在,我正在为我的表视图使用下面的部分结构,如果它是0或1,它依赖于var p,然后它选择索引0或1上的部分(基于单击哪个段)。

代码语言:javascript
复制
var sections = [[Section(brand: "7 Days", products: ["Tabak1", "Tabak2", "Tabak3"], expanded: false),
                 Section(brand: "Zomo", products: ["Tabak1", "Tabak2", "Tabak3"], expanded: false)],
                [Section(brand: "Aeon", products: ["Shisha1", "Shisha2", "Shisha3"], expanded: false),
                 Section(brand: "Vendetta", products: ["Shisha1", "Shisha2", "Shisha3"], expanded: false)]]

扩展后的tableView是什么样子?

对于这两个问题中的任何一个,我都会非常感激。谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-11-25 13:40:40

如果您只是简单地读取数据,并且永远不会查询任何内容,这是非常简单的

代码语言:javascript
复制
root
   all_data
      data_0 //created with .childByAutoId
         brand: "7 days"
         products:
            "Tabak1": true
            "Tabak2": true
       data_1
         brand: "Zomo"
         products:
            "Tabak1": true
            "Tabak2": true
       data_3
         brand: "Aeon"
         products:
            "Shisha1": true
            "Shisha2": true

但是,这将导致问题*例如,如果您想查询所有有Tabak2产品的品牌。因此,这里有一个替代方案,使您能够轻松地确定具有Tabak2的品牌节点

代码语言:javascript
复制
root
   brands
      brand_0
         brand: "7 days"
      brand_1
         brand: "Zomo"
      brand_2
         brand: "Aeon"
   products_by_brand
      brand_0
         "Tabak1": true
         "Tabak2": true
      brand_1
         "Tabak1": true
         "Tabak2": true
      brand_2
         "Shisha1": true
         "Shisha2": true

如果你想变得超级酷,那么这里有一个交叉引用所有产品和品牌的结构,它允许各种查询,并允许您将单个产品链接回多个品牌,反之亦然。

代码语言:javascript
复制
root
   brands
      brand_0 //created with .childByAutoId
         brand: "7 days"
         product_0: true //products should probably be in a child node
         product_1: true
      brand_1
         brand: "Zomo"
         product_0: true
         product_1: true
   all_products
      product_0
         name: "Tabak1"
         brand_0: true
         brand_1: true
      product_1
         name: "Tabak2"
         brand_0: true
         brand_1: true

*这实际上可以通过深度路径查询来实现。

票数 0
EN

Stack Overflow用户

发布于 2018-11-22 16:53:22

品牌-> products -> -> uniqueId ->名称、评级和描述

代码语言:javascript
复制
               -> hookah -> uniqueId -> name, rating and description

我不确定您是否需要在产品细节中包括品牌,因为这将是主要的母公司。希望这会有所帮助:)

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53435005

复制
相关文章

相似问题

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