看板 Database 關於我們 聯絡資訊
資料庫名稱: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) 內容/問題描述: 我們公司是百貨業,常常辦一些促銷活動,需要儲存活動資料 例如每日簽到送禮物的活動, 每次的簽到活動可能五次有一次是特例 有特殊規則要判斷 只好開新的欄位 或是轉盤抽道具 有時靠累積消費取得的次數來抽獎 有時是一天抽一次 儲存的欄位會有一、兩欄不太一樣 想問一下這種情況 資料表要怎麼設計 總不能為了特例加欄位吧 每遇到特例就加欄位 到最後資料表看起來會亂七八糟 目前用最笨的方法,一個活動建一個資料表 https://imgur.com/qKvN0NT 不知道有沒有人遇過類似情況 該怎麼設計資料表呢? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 61.218.40.109 ※ 文章網址: https://www.ptt.cc/bbs/Database/M.1516864457.A.8DE.html
kyrc: 加個Metadata欄位,Type, ItemType直接存json進去? 01/25 15:40
vi000246: 應該可以 我沒看過有人這樣做過 想問在關聯式資料庫這 01/25 17:04
vi000246: 樣做可行嗎 01/25 17:04
vi000246: 如果要下where查詢 有辨法在sql裡將json解析出來嗎 01/25 17:09
vi000246: 剛研究過 需要sqlserver2016才支援在T-SQL解析JSON的功 01/25 17:26
vi000246: 能 如果在舊板本 可能要先把資料撈出 再用程式解析JSON 01/25 17:26
vi000246: 再做where查詢了 01/25 17:27
kyrc: 可以,但SQL Server 2016以上才原生支援,其他要自己想辦法 01/25 17:27
vi000246: 好的 感謝 我再研究有沒有其他方式 01/25 23:07