2012-03-12 9 views
1
  1. リレーション内の2つのタプルはいずれも少なくとも1つの 属性で異なる値を持ちます。
  2. 同じ関係に属するタプルは、任意の順序で格納されます。
  3. プログラマは、1つまたは複数の属性の値に従って、特定の順序で表示される同じリレーションのタプルを指定できます。

私は真、偽、...本当だと思います....TrueまたはFalse ...データベース関係の混乱....これらの説明を少し必要とします

あなたの人々はもはや、私が持っているよりも、この分野でされているので、:)

私はあなたの男の意見を聞きたいです

は、事前に皆さんありがとう:)

+2

私は、リレーショナルデータベースをリレーショナル代数と混同していると思いますが、少なくともそれらのコンセプトのいくつかは混在しているようです。さらに、これらのコンセプトは、データベースエンジン間で非常に異なるでしょう。 – Lamak

答えて

2

私は非重複行(タプル)を持っている開発者を強制的に任意のRDBMSを知りません。したがって、実際には、答えはFalse、True *、Trueです。

*ここでも、実際には、#2への答えはRDBMSに応じて、いくつかの状況では偽かもしれないが、それはする必要はありません。また、開発者は#2が真であると仮定すべきです。

+0

Yea .. 2は私にとっても非常に混乱しています。それが虚偽であることを証明するための例がありますか?ありがとう:)乾杯 – user1235103

+0

たとえば、SQL Serverでは、テーブルにクラスタードインデックスがある場合、そのテーブルのデータはインデックスキーの値に基づいてソートされます。しかし、やはり、開発者が想定すべきものではない。 –

+1

@ user1235103 - RDBMSのドキュメントを参照して、データがディスクにどのように格納されているかを理解する必要があります。どのようにデータが格納されているかについての暗黙の順序はありません – Lamak

2
  1. 真。完全に同一の2つの行は、同じタプルを論理的に表す必要があります。リレーション内のタプル(またはテーブル内の行)は、基本的に真理のステートメントです。 (「John Smith」、1/1/2000)は、「John Smithという従業員が2000年1月1日に雇用を開始した」ことを意味する可能性があります。 RDBMSでテーブル( 'ジョン・スミス、1/1/2000)と('ジョン・スミス、1/1/2000)がある場合、この文は、任意のより多くの真のことはありません - *ここではのタプルが1つだけ表示されています。*リレーショナルモデルでは、行のコピーを複数保存することはできません。 1つのコピーを変更した場合は、他のすべてのコピーにも同じ変更を加える必要があります。あなたがそれを照会するときには、それらのコピーの1つだけが使用されるべきです。実際には、制約付きで一意性を強制し、物理コピーを1つだけ保存する方が便利です。

  2. 真(またはより正確に:適用されません)。関係モデルでは、真理値表がどの順序で格納されているかは関係ありません。タプルが表現される順序は、その真理値に対して重要ではありません。

  3. 「該当しません」。リレーショナル・データベースに対する照会の結果がユーザーに提示される方法は、リレーショナル・モデルの範囲外です。本当にそれほど気にすることはできませんでした。

(*私に教えていないと、その特定の日に作業を開始した「ジョン・スミス」という名前の二人があるかもしれません。リレーショナルモデルでは、あなたがにこれら二つの貧しい仲間について別の何かを見つけなければなりませんない場合は、アップデートがあり、解決することができない異常削除 - - 論理的に、それらの行はがまったく同じ真実のステートメントにを参照する必要があり、そうでない場合は、データベースにそれらを区別例えば、「ジョン・スミスは」突然間違えられるの病気になった場合をそのほかのジョン・スミス、及び辞任のために、どのように彼の辞任の日付を設定するには、UPDATE文を書くでしょう?)

1

リレーション内の2つのタプルは、少なくとも1つの属性で異なる値を持ちます。

真。これは、リレーショナル・モデルの要件です。

タプルは、任意の順序で格納されます。

trueでもfalseでもありません。

リレーションには定義によってタプルの順序がないことは事実です。しかし、関係は「保存」されていません。クイズマスターはおそらくという関係変数(relvar)と言っていました。

relvarのタプルが特別な順序で格納されているかどうかについては、関係モデルには何の言い方もありません。むしろこれはDBMSの機能です。連続した記憶域に基づいたほとんどのSQL製品では、ディスク上の物理的な順序付けに影響を与える基本表のクラスタード索引をユーザーが指定できます。しかし、SQL標準にはそのようなインデックスについては何も言及していません。リレーショナルDBMSに類似の機能がない理由はありません。

プログラマは は、1つ以上の 属性の値に応じて特定の順序で表示されるように同じ関係でタプルを指定することができます。

この文は、リレーショナルデータベース言語には当てはまりません。データベース言語にこのような特徴があった場合、結果は関係(それはタプルを表示しません)ではないので、問題の言語はリレーショナルではありません。

関連する問題