SQL:使用计算字段或者交给软件
SQL: use calculated field or leave it to the software
我正在为体育场门票数据库建模。我有一个 TICKET
、FAN
、CARD
、EVENT
、SEAT
和 SECTOR
实体(以及其他实体)。大约有40k个座位和45个扇区。价格大致是这样计算的:
EVENT
有底价
- 价格会根据
SECTOR
- 根据
FAN
年龄,他可能有别有用心的折扣
FAN
有一张 CARD
并且根据哪种类型的卡他可以获得折扣
TICKET
与 1:1 链接到除 CARD
和 SECTOR
之外的所有内容(但 SEAT
对 SECTOR
很弱,所以他可以看到它的钥匙)
我应该在我的数据库中计算价格吗?仅当我需要存储它时?如果是我应该怎么做,把它作为TICKET
中的计算字段?
我希望我已经足够清楚了,谢谢你的每一个回答
编辑:我不希望 sql 代码计算它
我认为在数据库中实现该算法是个好主意,例如使用来自每个应用程序或网络服务或您打算在某天构建的任何内容的相同算法和代码。
我会创建一个存储过程来计算价格。每当您想要计算价格时,您都可以调用此过程。
一旦出票,它的价格就固定了,所以你通常会把价格和票一起存储。以后你可能会改变折扣,所以同样的票会更便宜,但已经售出的当然不会。也就是说,最初使用存储过程来计算票价。出票时,存储当前价格。
我正在为体育场门票数据库建模。我有一个 TICKET
、FAN
、CARD
、EVENT
、SEAT
和 SECTOR
实体(以及其他实体)。大约有40k个座位和45个扇区。价格大致是这样计算的:
EVENT
有底价- 价格会根据
SECTOR
- 根据
FAN
年龄,他可能有别有用心的折扣 FAN
有一张CARD
并且根据哪种类型的卡他可以获得折扣
TICKET
与 1:1 链接到除 CARD
和 SECTOR
之外的所有内容(但 SEAT
对 SECTOR
很弱,所以他可以看到它的钥匙)
我应该在我的数据库中计算价格吗?仅当我需要存储它时?如果是我应该怎么做,把它作为TICKET
中的计算字段?
我希望我已经足够清楚了,谢谢你的每一个回答 编辑:我不希望 sql 代码计算它
我认为在数据库中实现该算法是个好主意,例如使用来自每个应用程序或网络服务或您打算在某天构建的任何内容的相同算法和代码。
我会创建一个存储过程来计算价格。每当您想要计算价格时,您都可以调用此过程。
一旦出票,它的价格就固定了,所以你通常会把价格和票一起存储。以后你可能会改变折扣,所以同样的票会更便宜,但已经售出的当然不会。也就是说,最初使用存储过程来计算票价。出票时,存储当前价格。