46

SetProjection() を使用する場合のデータベース理論と NHibernate の観点から、プロジェクションとは何ですか?

4

6 に答える 6

47

射影は、リレーショナル代数の基本操作の 1 つです。関係と、その関係の属性の (場合によっては空の) リストを入力として受け取ります。重複するタプルが削除された、指定された属性のリストのみを含むリレーションを出力します。つまり、出力もリレーションでなければなりません。

たとえば、関係 R{A,B} に 3 つのタプル {1,10}、{2,10}、{3,20} が含まれる場合、属性リスト {B} に対する R の射影には 2 つのタプルが含まれます: { 10}、{20}。

つまり、プロジェクションは SQL の SELECT DISTINCT とほぼ同じです (null と重複列の場合を除く)。

于 2010-08-11T19:48:12.567 に答える
34

簡単に言うと、これは入力 (データベースの行など) を受け取り、出力 (行の列の 1 つ、または複数の列に基づく計算など) を生成する関数です。

于 2010-08-11T17:28:15.140 に答える
17

プロジェクションとは、クエリ内の列のサブセットを意味します。

select x, y, z from YourTable 

x、y、z はここでの射影です。

于 2015-02-13T13:19:56.777 に答える
2

休止状態に関しては、選択する列を指定するようなものです。フェッチする列をマッピングで決定するのとは対照的です。これは、ProjectionList を介して、SQL 関数、サブクエリ、単一の列、または上記のすべてを指定できることを意味します。たとえば、テーブル内の行をカウントしたい場合SetProjection(Projections.RowCount())

于 2010-08-11T19:59:57.920 に答える
2

SQL またはデータベース テーブルに精通している場合: プロジェクションは、返されるフィールド/列/属性の数を指します。選択は、返される行/レコードの数を扱います。ここここに良いビデオの説明があります

于 2015-07-04T19:35:11.220 に答える