Questions tagged «data-integrity»

6
如何证明数据库中缺少隐式顺序?
最近,我向同事们解释了在必要时使用一列对数据库表中的数据进行排序的重要性,例如,按时间顺序排列的数据。事实证明这有些困难,因为他们似乎可以无休止地重新运行查询,并且总是以相同的顺序返回相同的行集。 我之前已经注意到这一点,而我真正能做的就是坚持要他们信任我,而不仅仅是假设数据库表的行为就像传统的CSV或Excel文件一样。 例如,执行(PostgreSQL)查询 create table mytable ( id INTEGER PRIMARY KEY, data TEXT ); INSERT INTO mytable VALUES (0, 'a'), (1, 'b'), (2, 'c'), (3, 'd'), (4, 'e'), (5, 'f'), (6, 'g'), (7, 'h'), (8, 'i'), (9, 'j'); 将创建具有明确概念顺序的表格。以最简单的方式选择相同的数据将是: SELECT * FROM mytable; 总是给我以下结果: id | data ----+------ 0 | …



2
对子集聚合建模约束?
我使用的是PostgreSQL,但我认为大多数高端数据库必须具有一些类似的功能,而且,针对它们的解决方案可能会为我带来灵感,因此,请不要考虑此特定于PostgreSQL。 我知道我不是第一个尝试解决此问题的人,因此我认为这里值得一问,但我正在尝试评估建模会计数据的成本,以便使每笔交易都达到基本平衡。会计数据是仅追加的。这里的总体约束(用伪代码编写)可能大致类似于: CREATE TABLE journal_entry ( id bigserial not null unique, --artificial candidate key journal_type_id int references journal_type(id), reference text, -- source document identifier, unique per journal date_posted date not null, PRIMARY KEY (journal_type_id, reference) ); CREATE TABLE journal_line ( entry_id bigint references journal_entry(id), account_id int not null references account(id), …

5
电子商务订单表。节省价格,还是使用审核/历史记录表?
我正在设计我的第一个电子商务模式。我已经阅读了一段时间,对an order_line_item和a 之间的关系有些困惑product 一个product可以被购买。它具有各种细节,但最重要的是unit_price。 在客户购买产品时,An order_line_item具有product_id购买,quantity购买和购买时的外键unit_price。 我读过的大部分内容都说unit_price上的order_line_item应该显式添加(即,不通过引用product_id)。这是有道理的,因为商店将来可能会更改价格,这会弄乱订单报告,跟踪,完整性等。 我不明白的是,为什么直接将unit_price值保存到order_line_item? 创建记录unit_price变更记录的审计/历史记录表会更好product吗? order_line_item创建an时,将product_audit添加表的外键,并可以从此处检索价格(通过引用)。 在我看来,使用这种方法有很多好处(减少数据重复,更改价格历史记录等),那么为什么不更频繁地使用它呢?我没有遇到使用这种方法的电子商务模式的示例,我错过了什么吗? UDPATE:看来我的问题与尺寸变化缓慢有关。我仍然很困惑,因为“缓慢变化的维度”与数据仓库和OLAP有关。那么,是否可以将“缓慢更改维度”类型应用于我的主要业务交易流程数据库(OLTP)?我想知道我是否将很多概念混在一起,将不胜感激一些指导。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.