Sql 实际上,我已经做了一个“简单”的解决办法,即我只有一个表项,其中PK是项id和修饰语的组合,例如“I:1::3:1:2:3”-这意味着项id=1,3个修饰语,即1,2,3。我总是对修饰符进行排序,使它们总是按升序排列,虽然这个解决方案违反了经典-总是有数字
Sql 实际上,我已经做了一个“简单”的解决办法,即我只有一个表项,其中PK是项id和修饰语的组合,例如“I:1::3:1:2:3”-这意味着项id=1,3个修饰语,即1,2,3。我总是对修饰符进行排序,使它们总是按升序排列,虽然这个解决方案违反了经典-总是有数字,sql,database-design,Sql,Database Design,实际上,我已经做了一个“简单”的解决办法,即我只有一个表项,其中PK是项id和修饰语的组合,例如“I:1::3:1:2:3”-这意味着项id=1,3个修饰语,即1,2,3。我总是对修饰符进行排序,使它们总是按升序排列,虽然这个解决方案违反了经典-总是有数字PK,但它确实适用于我的用例@JayI实际上做了一个“简单”的变通方法——即,我只有1个表项,其中PK是项id和修饰符的组合——例如“I:1::3:1:2:3”——这意味着项id=1,3个修饰符,即1,2,3。我总是对修饰符进行排序,使它们总是
实际上,我已经做了一个“简单”的解决办法,即我只有一个表
项,其中PK是项id
和修饰语的组合,例如“I:1::3:1:2:3”-这意味着项id=1
,3个修饰语,即1,2,3
。我总是对修饰符进行排序,使它们总是按升序排列,虽然这个解决方案违反了经典-总是有数字PK,但它确实适用于我的用例@JayI实际上做了一个“简单”的变通方法——即,我只有1个表项,其中PK是项id
和修饰符的组合——例如“I:1::3:1:2:3”——这意味着项id=1
,3个修饰符,即1,2,3
。我总是对修饰符进行排序,使它们总是按升序排列,虽然这个解决方案违反了经典-总是有数字PK,但它确实适用于我的用例@杰伊
{['item_id': 1, ... 'price': 123, ...],
['item_id': 1, ... 'price': 124, ... modifiers: [1, 2, 3],
['item_id': 1, ... 'price': 125, ... modifiers: [100, 150, 500...],
['item_id': 2, ... 'price': 200, ...],
...}
base_item:
id
modifier:
id
item:
id (autonumber)
base_item_id
item_modifications:
item_id (FK item.id)
modification_id (FK modifier.id)
item_price_history:
item_id (FK item.id)
price
time
for a in auctions:
base_item_id = a['item_id']
modifiers = a['modifiers']
price = a['price']
actual_item_id = some_query(base_item_id, modifiers) #expensive. Can be avoided?
insert_into_histogram(auctual_item_id, price) #expensive but necessary I think