像这样建模:
CREATE TABLE t_shelf (
shf_surrogate_id INTEGER NOT NULL
DEFAULT HASH(shf_business_id,shf_valid_from) NOT NULL PRIMARY KEY,shf_business_id INTEGER NOT NULL,shf_valid_from DATE NOT NULL,shf_valid_to DATE NOT NULL,shf_name VARCHAR(32)
)
CREATE TABLE inventory (
inv_surrogate_id INTEGER NOT NULL
DEFAULT HASH(inv_business_id,inv_valid_from) NOT NULL PRIMARY KEY,shf_surrogate_id INTEGER NOT NULL FOREIGN KEY REFERENCES t_shelf,inv_business_id INTEGER NOT NULL,inv_valid_from DATE NOT NULL,inv_valid_to DATE NOT NULL,inv_item VARCHAR(32)
);
不要按照您的建议将词干和版本分开。
当前活动记录的 valid_to
日期值为 9999-12-31
。
如果您需要有关如何处理此类模型的详细信息 - 请在此处回答。
某些数据库提供 HASH()
函数,该函数根据一个或多个输入表达式返回一个整数,逗号分隔。我在这里用的。否则,您将不得不使用数据库序列对象。
本文链接:https://www.f2er.com/187073.html