我有以下架构:
customer(cid,cname),
books(isbn,price)
orders(oid,cid,isbn,odate,quantity,value)
1. A customer can purchase any no.of books on a single order on the same date
2. A customer can purchase any no. of different types on a single orders
3. A customer can place multiple orders on a same day
因此,当客户下订单分别为121,141,其价格分别为500,500,数量为2,5时,列'值'必须分别填充1 * 500 = 500和5 * 500 = 2500。 因此,值列必须始终为数量*价格。如何在创建订单表期间指定此项?我需要一个触发器吗?
答案 0 :(得分:0)
我认为您的模型存在问题:当订单可以包含多本图书时,您的orders
表会通过books
字段引用isbn
表格!
我会添加一个中间表:
single_order(sid, oid, isbn, quantity)
通过orders
字段引用oid
。 orders
的项目将是具有相应single_order
的{{1}}项的总和。然后,oid
字段将是value
price
books
的{{1}}的总和,您可以使用联接轻松链接到这两个表