[SQL ] 面对特例的情况怎么开Table

楼主: vi000246 (Vi)   2018-01-25 15:14:15
数据库名称:mssql
数据库版本:Microsoft SQL Server 2012 - 11.0.5343.0 (X64)
May 4 2015 19:11:32
Copyright (c) Microsoft Corporation
Standard Edition (64-bit) on Windows NT 6.3 <X64> (Build 9600: )
(Hypervisor)
内容/问题描述:
我们公司是百货业,常常办一些促销活动,需要储存活动资料
例如每日签到送礼物的活动,
每次的签到活动可能五次有一次是特例
有特殊规则要判断 只好开新的字段
或是转盘抽道具 有时靠累积消费取得的次数来抽奖
有时是一天抽一次 储存的字段会有一、两栏不太一样
想问一下这种情况 资料表要怎么设计
总不能为了特例加字段吧
每遇到特例就加字段 到最后资料表看起来会乱七八糟
目前用最笨的方法,一个活动建一个资料表

不知道有没有人遇过类似情况
该怎么设计资料表呢?
作者: kyrc (橘子)   2018-01-25 15:40:00
加个Metadata字段,Type, ItemType直接存json进去?
楼主: vi000246 (Vi)   2018-01-25 17:04:00
应该可以 我没看过有人这样做过 想问在关联式数据库这样做可行吗如果要下where查询 有辨法在sql里将json解析出来吗刚研究过 需要sqlserver2016才支援在T-SQL解析JSON的功能 如果在旧板本 可能要先把资料捞出 再用程式解析JSON再做where查询了
作者: kyrc (橘子)   2018-01-25 17:27:00
可以,但SQL Server 2016以上才原生支援,其他要自己想办法
楼主: vi000246 (Vi)   2018-01-25 23:07:00
好的 感谢 我再研究有没有其他方式

Links booklink

Contact Us: admin [ a t ] ucptt.com