首页 > 解决方案 > 服务和服务包的数据库结构

问题描述

我正在构建一个简单的购物车,我们打算在其中销售个人服务以及组合服务包。这个想法是创建具有多种服务的服务包,并为客户购买服务提供一些折扣。

目前,我将服务和包存储在不同的表中 Service Tale 的数据库结构如下:

**Table: tbl_services**
Service_id - Auto Int P Key
Service_name varchar 150
Service_descr text
Service_price Double

服务包表

Pack_id  - auto int, pKey
Pack_name varchar 255
Pack_descr  text
Pack_price  double

表:Service_pack_details(用于存储已添加到特定包中的单个服务)

Packdet_id- auto int
Pack_id - Fkey to header table
Serv_id F key to Service table

最初,这个想法是销售套餐,而不是个人服务。但现在,我们的想法是为客户提供灵活性,让他们购买个人服务或套餐或两者兼而有之。

如果我们允许这样做,或者希望购物车以这种方式运行,那么您认为这是一个好的数据库结构吗?

或者我是否应该将服务和包都存储在一个表中以便于查询和操作?比如, 服务表的新表结构:

*Table: tbl_service_packs
Service_id - Auto Int P Key
Service_name varchar 150
Service_descr text
Service_price Double
Service_type – Small Int (1- Service, 2- package)
Service_items varchar 255( to store comma separated Service_Ids for services that are part of this package)* 

这样一来,所有的服务,包裹都将在一个表中,因此在处理购物车中的物品时会更容易查询吗?

请帮助我获得正确的数据库结构在此先感谢

PS:这是我的第一个问题,所以请询问我是否需要解释什么。

标签: mysqldatabase

解决方案


推荐阅读