タグ付けされた質問 「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
eコマース注文表。価格を節約するか、監査/履歴テーブルを使用しますか?
初めてのeコマーススキーマを設計しています。私はしばらくの間このテーマについて読んでいますが、との関係について少し混乱order_line_itemしていますproduct A 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作成され、の外部キーproduct_auditテーブルが追加され、価格はそこから(参照によって)取得することができます。 このアプローチを使用することには多くの利点があるように思えます(データの重複、価格変更履歴など)。このアプローチを使用するeコマーススキーマの例に出くわしていませんが、何か不足していますか? UDPATE:私の質問はSlowly Changing Dimensionに関連しているようです。ただし、緩やかに変化するディメンションはデータウェアハウスとOLAPに関連しているため、私はまだ混乱しています。それで、Slowy Changing Dimensionタイプをメインのビジネストランザクションプロセスデータベース(OLTP)に適用できますか?私は多くの概念を混ぜているのだろうか、いくつかのガイダンスを大いに感謝します。

1
実際の最低の正のREAL番号は何ですか
MSDNによると、REAL番号の範囲は-3.40E + 38から-1.18E-38、0および1.18E-38から3.40E + 38です。明らかに、実際の下限ははるかに低いです。次のスクリプトは、REAL列に1.401298E-45を入力します。 CREATE TABLE a ( r1 REAL NULL , r2 REAL NULL , r3 REAL NULL ) ; GO INSERT INTO a ( r1, r2 ) VALUES ( 1.18E-37, 10 ) ; GO DECLARE @i INT ; SET @i = 1 ; WHILE @i < 20 …
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.