【问题标题】:Database: Design customer orders数据库:设计客户订单
【发布时间】:2013-09-04 13:20:42
【问题描述】:

我目前正在创建一个应该使用 SQLite 数据库的 Android 应用程序。就我而言,我需要存储“产品类型”、“账单”和“所有购买产品的列表”

比尔:

id
customer
data -> link to list of all purchased products
price

产品类型:

id
name
price

我的问题是:一位客户可以将更多产品与一张账单相关联。如何设计它?正在为每张账单使用一行:

id
bill_id
product

或者更确切地说在一行中插入更多产品,然后在我的应用程序中解析它?我想,有比这些我的更好的解决方案。谢谢你的帮助。

【问题讨论】:

    标签: database sqlite


    【解决方案1】:

    您在问题中说,“一位客户可以将更多产品与一张账单相关联。”

    另一种说法是,一个客户可以有 0 个或多个帐单,一个帐单可以有 1 个或多个产品。

    改写您的陈述后,database normalization 变得更加明显。

    Customer
    --------
    Customer ID
    Customer Name
    ...
    
    Bill
    ----
    Bill ID
    Customer ID
    Bill Time Stamp
    
    Bill-Product
    ------------
    Bill ID
    Product ID
    
    Product
    -------
    Product ID
    Product Name
    Product Price
    ...
    

    【讨论】:

      【解决方案2】:

      要设计带有账单的客户订单,我们可以设计如下:

      此架构具有基本属性,我们可以根据需要添加更多属性。

      客户表

      id PK

      全名

      地址

      电话

      菜单项表

      id PK

      项目名称

      item_description

      商品价格

      订单表

      id PK

      customer_id FK

      订单日期

      订单明细表

      id PK

      order_id FK

      menu_item_id fk

      数量

      账单表

      id PK

      order_id FK

      金额

      账单日期

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-12-10
        • 1970-01-01
        • 1970-01-01
        • 2015-10-10
        • 2021-03-23
        • 2021-02-13
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多