数据库设计:实体关系图与表创建及 SQL 生成
1. 实体关系图(ERD)构建
1.1 店内销售部分
在 ERD 的第二部分,主要处理店内销售相关数据。现金销售和信用卡销售的共同数据存储在 in_store_sale 实体中,这些数据对于现金销售来说已足够。而信用卡销售则需要额外的信用卡相关数据,这些数据存储在 credit_sale_details 实体中。 in_store_sale 和 credit_sale_details 之间存在一对一的关系。
这种双实体设计并非数据库设计的必要条件,但出于性能考虑被采用。假设现金交易数量远多于信用卡交易数量,这种设计可以对单一数据集进行垂直分区,处理数据中存在的“不平衡”情况,即只有小部分实体实例有信用卡详细信息。
当数据库投入使用一段时间后,数据库管理员可以查看实际的信用卡销售和现金销售比例。如果信用卡销售占比很大,将 in_store_sale 和 credit_sale_details 合并为一个实体可能更合理,对于现金销售,信用卡详细信息列可留空。虽然会浪费一些空间,但在检索信用卡销售数据时可避免进行冗长的连接操作。
以下是相关实体及其属性:
| 实体 | 属性 |
| — | — |
| Product_stocked | SKU , UPC , store_numb </
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



