代码之家  ›  专栏  ›  技术社区  ›  Valentin Flachsel

MySQL:复杂的数据结构和查询

  •  1
  • Valentin Flachsel  · 技术社区  · 15 年前

    location 1 (location_group_name, owner_id, admin_id)
      location 1.1 (name, address)
         location 1.1.1 (name)
            // DEVICE LIST
            device 1 (manufacturer_id, model_id, serial, purchase_date, service_date)
                Battery (manufacturer_id, model_id, purchase_date, service_date)
                Accesory 1 (manufacturer_id, model_id, purchase_date, service_date)
                Accesory 2 (...)
                Accesory n (...)
            device 2
                Battery
                Accesory 1
                Accesory 2
                Accesory n
            device n
    
            // STAFF LIST
            person 1 (name, email)
               qualification 1 (type, date)
               qualification 2 (...)
               qualification n (...)
            person 2
            person n
         location 1.1.2
         location 1.1.n
      location 1.2
      location 1.n
    location 2
    location n
    

    我目前正在考虑将每个设备和人员作为一个序列化的多维数组插入,但我不确定这是否有效,因为cron作业脚本将检查 service_date model 如果召回,或者 serial_number

    另外,如果有任何额外的信息,你需要,请随时问,我会很乐意详细说明。

    2 回复  |  直到 14 年前
        1
  •  2
  •   treeface    15 年前

    我不太清楚你想在这里做什么,但为什么所有的等级制度?这是某种商店/设备/员工模式,对吗?在关系数据库中,您可以将离散的信息分离到它们自己的部分中,并将它们关联到其他表中。所以,如果你有商店/设备/员工,你可以有一个“商店”表,“设备”表,“所有者”表,“雇员”表,“商店\雇员”表,“所有者\商店”表,“设备\商店”表(你可以在其中跟踪库存),“雇员\资格”表,等等。。

        2
  •  0
  •   Scott Saunders    15 年前

    看起来location1.1.1和device之间以及location1.1.1和person之间存在一对多关系。我认为您将以循环查询结束,或者您将执行一些大型查询并循环以将它们合并在一起。

    不要害怕在循环中查询。有了准备好的陈述,他们不必那么慢。