程序设计
1.表的设计
1.表1Unit(单位)
class Unit{
Long id;
String name;
}
2.表2,Product(商品),它引用表1Unit(单位),在数据库表中,product包含对Unit的外键引用
class Product{
Long id;
String name;
Unit unit;
}
3.表3, PurchasingOrder(采购订单),它引用表2
class PurchasingOrder{
Long id;
Date inputDate;
Product product;
}
2.问题叙述
1.现有二个Unit,unit1(name="斤"),unit2(name="个")
2.现有两个Product,product1(name="大米",unit1),product2(unit2)
3.待问题
1.如product1已经引用unit1(name="斤"),假设今天做一个采购订单
,采购商品(name="大米",unit1(name="斤")), 此时采购商品名称为"大米",单位为斤
但在这之后,有人改了单位unit1(name="斤")为unit1(name="米").此时再去看采购定单的商品变为
采购商品(name="大米",unit1(name="米")),此时的数据改变了当时采购时的状态
总结:导致采购前后数据一致
2.此时在维护unit表时,如果要删除unit1,由于外键影响,导致删除异常!此时该怎么设计!
3.如果没有外键影响,如果删除掉,则引用其单位的商品的单位信息全部被删除!此时怎么设计!