Skip to content

Commit da0ad3f

Browse files
committed
by GitHub Actions [skip ci]
1 parent dda3c19 commit da0ad3f

File tree

10 files changed

+87
-114
lines changed

10 files changed

+87
-114
lines changed

current/html/ddl-alter.html

Lines changed: 10 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -72,10 +72,8 @@
7272
the row is accessed, and applied when the table is rewritten, making
7373
the <command>ALTER TABLE</command> very fast even on large tables.
7474
</span>
75-
《マッチ度[71.830986]》<span class="productname">PostgreSQL</span> 11から、定数のデフォルト値の列を追加するためにテーブルの各行が<code class="command">ALTER TABLE</code>実行時に更新される必要はもうありません。
76-
その代わりに、デフォルト値は次回にその行にアクセスされた場合に返され、テーブルが書き換えられた際に適用されるため、<code class="command">ALTER TABLE</code>は巨大なテーブルでも非常に高速になります。
77-
《機械翻訳》定数カラムを持つデフォルト値を追加する場合、<code class="command">ALTER TABLE</code>行の実行時にテーブルの各ステートメントを更新する必要はありません。
78-
代わりに、次に行がアクセスされたときにデフォルト値が返され、テーブルが書き換えられたときに適用されるため、<code class="command">ALTER TABLE</code>はラージテーブルに対しても非常に高速になります。
75+
定数のデフォルト値を持つ列を追加する場合、<code class="command">ALTER TABLE</code>文の実行時にテーブルの各行を更新する必要はありません。
76+
その代わり、デフォルト値は次にその行にアクセスされた時に返却され、テーブルが書き換えられた時に適用されるため、<code class="command">ALTER TABLE</code>は巨大なテーブルでも非常に高速になります。
7977
</p><p>
8078
<span class="original">
8179
If the default value is volatile (e.g., &lt;function&gt;clock_timestamp()&lt;/function&gt;)
@@ -87,11 +85,9 @@
8785
&lt;command&gt;UPDATE&lt;/command&gt;, and then add any desired default as described
8886
below.
8987
</span>
90-
《マッチ度[88.888889]》しかしながら、もしデフォルト値に揮発性(例えば、<code class="function">clock_timestamp()</code>)がある場合、各行は<code class="command">ALTER TABLE</code>実行時に計算した値に更新される必要があります。
88+
もしデフォルト値に揮発性(例えば、<code class="function">clock_timestamp()</code>)がある場合、各行は<code class="command">ALTER TABLE</code>実行時に計算した値に更新される必要があります。
9189
潜在的に長時間の更新作業を避けるため、特に列を主にデフォルト以外の値でとにかく埋めたい場合、デフォルトのない列を追加し<code class="command">UPDATE</code>を使用して正しい値を挿入することが望ましいかもしれません。
9290
その上で、後述するように期待するデフォルトを追加してください。
93-
《機械翻訳》デフォルト値がvolatile(例:<code class="function">clock_timestamp()</code>)の場合、各行は<code class="command">ALTER TABLE</code>が実行される時に計算された値で更新する必要があります。
94-
更新オペレーションが長くなる可能性を避けるために、特にデフォルト以外の値でカラムを埋める場合は、デフォルトなしでカラムを追加し、<code class="command">UPDATE</code>を使用して正しい値を挿入してから、以下で説明するように必要なデフォルトを追加することをお勧めします。
9591
</p></div><p>
9692
<span class="original">
9793
You can also define constraints on the column at the same time,
@@ -159,16 +155,15 @@
159155
To add a not-null constraint, which is normally not written as a table
160156
constraint, this special syntax is available:
161157
</span>
162-
《マッチ度[62.931034]》非NULL制約はテーブル制約として記述できないので、追加するには次の構文を使用します。
163-
《機械翻訳》通常はテーブルNULLとして記述されない制約以外の制約を追加するには、この特別な構文を使用できます。
158+
通常テーブル制約として記述しない非NULL制約を追加するためには、次の特別な構文を使用します。
164159
</p><pre class="programlisting">
165160
ALTER TABLE products ALTER COLUMN product_no SET NOT NULL;
166161
</pre><p>
167162
<span class="original">
168163
This command silently does nothing if the column already has a
169164
not-null constraint.
170165
</span>
171-
《機械翻訳》このコマンドは、カラムにすでにNULL以外の制約がある場合は、何もしません
166+
既に非NULL制約が列にある場合、このコマンドは何もしません
172167
</p><p>
173168
<span class="original">
174169
The constraint will be checked immediately, so the table data must
@@ -209,7 +204,7 @@
209204
<span class="original">
210205
Simplified syntax is available to drop a not-null constraint:
211206
</span>
212-
《機械翻訳》NULL以外の構文を乗り継ぐ場合は、簡易制約を利用できます
207+
非NULL制約を削除するには、簡略化された構文を使用できます
213208
</p><pre class="programlisting">
214209
ALTER TABLE products ALTER COLUMN product_no DROP NOT NULL;
215210
</pre><p>
@@ -220,8 +215,10 @@
220215
most one not-null constraint, so it is never ambiguous which constraint
221216
this command acts on.)
222217
</span>
223-
《機械翻訳》これは<code class="literal">SET NOT NULL</code> NULL以外の構文を追加するための制約を反映したものです。
224-
このコマンドは、カラムにNULL以外の制約がない場合、何もしません(カラムは最大1つのNULL以外の制約を持つことができるので、このコマンドがどの制約に作用するかは決してあいまいではないことを思い出してください)。
218+
これは、非NULL制約を追加するための<code class="literal">SET NOT NULL</code>構文を反映しています。
219+
このコマンドは、列に非NULL制約がない場合は何もしません。
220+
(列には非NULL制約を1つしか指定できないことを思い出してください。
221+
このコマンドがどの制約に作用するのかが曖昧になることは決してありません。)
225222
</p></div><div class="sect2" id="DDL-ALTER-COLUMN-DEFAULT"><div class="titlepage"><div><div><h3 class="title">5.7.5. 列のデフォルト値の変更 <a href="#DDL-ALTER-COLUMN-DEFAULT" class="id_link">#</a></h3></div></div></div><span class="original">
226223
&lt;title&gt;Changing a Column's Default Value&lt;/title&gt;
227224
</span><a id="id-1.5.4.9.10.2" class="indexterm"></a><a id="id-1.5.4.9.10.3" class="indexterm"></a><p>

current/html/ddl-constraints.html

Lines changed: 30 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -274,7 +274,7 @@
274274
<span class="original">
275275
An explicit constraint name can also be specified, for example:
276276
</span>
277-
《機械翻訳》制約:については、明示的な名前例を指定することもできます
277+
以下の例のように、明示的な制約名を指定することもできます
278278
</p><pre class="programlisting">
279279
CREATE TABLE products (
280280
product_no integer NOT NULL,
@@ -287,8 +287,8 @@
287287
A not-null constraint is usually written as a column constraint. The
288288
syntax for writing it as a table constraint is
289289
</span>
290-
《機械翻訳》NULL以外の制約は、通常、カラム制約と書かれます
291-
テーブル構文と書くための制約です
290+
非NULL制約は通常、列制約として記述されます
291+
テーブル制約として記述するための構文は以下のとおりです
292292
</p><pre class="programlisting">
293293
CREATE TABLE products (
294294
product_no integer,
@@ -302,7 +302,7 @@
302302
But this syntax is not standard and mainly intended for use by
303303
&lt;application&gt;pg_dump&lt;/application&gt;.
304304
</span>
305-
《機械翻訳》しかし、この構文は標準ではなく、主に<span class="application">pg_dump</span>.
305+
しかし、この構文は標準ではなく、主に<span class="application">pg_dump</span>での使用を目的としています。
306306
</p><p>
307307
<span class="original">
308308
A not-null constraint is functionally equivalent to creating a check
@@ -311,7 +311,7 @@
311311
&lt;productname&gt;PostgreSQL&lt;/productname&gt; creating an explicit
312312
not-null constraint is more efficient.
313313
</span>
314-
《機械翻訳》非NULL制約は、検査制約を作成することと機能的に同等です<code class="literal">CHECK (<em class="replaceable"><code>column_name</code></em> IS NOT NULL)</code>しかし<span class="productname">PostgreSQL</span>明示的な非NULL制約を作成する方が効率的です
314+
非NULL制約は、チェック制約<code class="literal">CHECK (<em class="replaceable"><code>column_name</code></em> IS NOT NULL)</code>を作成することと機能的には同じですが<span class="productname">PostgreSQL</span>では明示的な非NULL制約を作成する方がより効率的です
315315
</p><p>
316316
<span class="original">
317317
Of course, a column can have more than one constraint. Just write
@@ -336,7 +336,7 @@
336336
<span class="original">
337337
However, a column can have at most one explicit not-null constraint.
338338
</span>
339-
《機械翻訳》ただし、カラムには明示的な非NULL制約を1つだけ含めることができます
339+
ただし、1つの列に設定できる明示的な非NULL制約は1つだけです
340340
</p><p>
341341
<span class="original">
342342
The &lt;literal&gt;NOT NULL&lt;/literal&gt; constraint has an inverse: the
@@ -555,14 +555,10 @@
555555
not enforced by &lt;productname&gt;PostgreSQL&lt;/productname&gt;, but it is
556556
usually best to follow it.
557557
</span>
558-
《マッチ度[83.703704]》1つのテーブルは最大1つの主キーを持つことができます。
559-
(一意性制約および非NULL制約に個数の制限はありません。
560-
機能的にはほとんど同じものですが、主キーとして識別される制約は1つのみです。)
558+
1つのテーブルは最大1つの主キーを持つことができます。
559+
(一意性制約はいくつでも存在する可能性があり、それらを非NULL制約と組み合わせても機能的にはほとんど同じですが、主キーとして識別できるのは1つだけです。)
561560
リレーショナルデータベース理論では、全てのテーブルに主キーが1つ必要とされています。
562561
この規則は<span class="productname">PostgreSQL</span>では強制されませんが、たいていの場合はこれに従うことが推奨されます。
563-
《機械翻訳》テーブルは最大1つの主キーを持つことができます(任意の数の一意性制約を非NULL制約と組み合わせることができ、機能的にはほとんど同じものですが、主キーとして識別できるのは1つだけです)。
564-
リレーショナルデータベース理論では、すべてのテーブルが主キーを持つ必要があると規定されています。
565-
このルールは<span class="productname">PostgreSQL</span>によって強制されるものではありませんが、通常はベストがそれに従います。
566562
</p><p>
567563
<span class="original">
568564
Primary keys are useful both for
@@ -804,28 +800,28 @@
804800
the referenced table or by deleting the now-dangling rows from the
805801
referencing table.
806802
</span>
807-
《機械翻訳》デフォルト<code class="literal">ON DELETE</code>アクションは<code class="literal">ON DELETE NO ACTION</code>;指定する必要はありません
808-
これは、被参照テーブルの削除の続行が許可されることを意味します
809-
ただし、外国-キー制約は満たされる必要があるため、このオペレーションは通常エラーになります
810-
ただし、外国-キー制約のチェックは、トランザクションの後の方への遅延にすることもできます(この章には記載されていません)。
811-
そのケースでは<code class="literal">NO ACTION</code>設定によって、他のコマンドがシチュエーションを<span class="quote"><span class="quote">修正</span></span>できるようになります前制約がチェックされます
812-
例に対しては、挿入によって他の適切な行を被参照テーブルに入れるか、参照テーブルから現在ぶら下がっている行を削除することによってチェックされます
803+
デフォルトの<code class="literal">ON DELETE</code>アクションは<code class="literal">ON DELETE NO ACTION</code>であり、これを指定する必要はありません
804+
これは、被参照テーブルで削除を実行できることを意味します
805+
しかし、外部キー制約は依然として満たす必要があるため、この操作は通常エラーとなります
806+
ただし、外部キー制約の確認は、トランザクションの後半に延期することもできます(この章では説明しません)。
807+
その場合<code class="literal">NO ACTION</code>設定を使用することで、制約が確認される前に他のコマンドでその状況を<span class="quote"><span class="quote">修正</span></span>することができます
808+
たとえば、被参照テーブルに別の適切な行を挿入したり、参照テーブルで現在浮いている行を削除したりするなどです
813809
</p><p>
814810
<span class="original">
815811
&lt;literal&gt;RESTRICT&lt;/literal&gt; is a stricter setting than &lt;literal&gt;NO
816812
ACTION&lt;/literal&gt;. It prevents deletion of a referenced row.
817813
&lt;literal&gt;RESTRICT&lt;/literal&gt; does not allow the check to be deferred until
818814
later in the transaction.
819815
</span>
820-
《機械翻訳》<code class="literal">RESTRICT</code><code class="literal">NO ACTION</code>よりも厳密な設定です
821-
これにより、被参照行の削除が防止されます
822-
<code class="literal">RESTRICT</code>は、トランザクションの後半までチェックが遅延になることを許可しません
816+
<code class="literal">RESTRICT</code><code class="literal">NO ACTION</code>よりも厳しい設定です
817+
これは、被参照行が削除されることを防ぎます
818+
<code class="literal">RESTRICT</code>では、トランザクションの後半まで確認を延期することはできません
823819
</p><p>
824820
<span class="original">
825821
&lt;literal&gt;CASCADE&lt;/literal&gt; specifies that when a referenced row is deleted,
826822
row(s) referencing it should be automatically deleted as well.
827823
</span>
828-
《機械翻訳》<code class="literal">CASCADE</code>は、被参照行が削除された場合、行参照も自動的に削除されるように指定します
824+
<code class="literal">CASCADE</code>は、被参照行が削除されるときに、それを参照している行も自動的に削除するように指定します
829825
</p><p>
830826
<span class="original">
831827
There are two other options:
@@ -838,10 +834,11 @@
838834
but the default value would not satisfy the foreign key constraint, the
839835
operation will fail.
840836
</span>
841-
《機械翻訳》他に次の2つのオプションがあります:<code class="literal">SET NULL</code>および<code class="literal">SET DEFAULT</code>
842-
これらは、参照カラムが削除されたときに、参照行のデフォルト行をそれぞれNULLまたはその被参照値に設定します。
843-
ノートは、これらが制約を遵守することを免除するものではないことを示します。
844-
例については、アクションで<code class="literal">SET DEFAULT</code>が指定されているが、デフォルト値が外部キー制約を満たさない場合、オペレーションは失敗します。
837+
2つの他のオプションがあります。
838+
<code class="literal">SET NULL</code><code class="literal">SET DEFAULT</code>です。
839+
これらにより、被参照行が削除されるとき、参照行の参照列がそれぞれNULLまたはデフォルト値に設定されます。
840+
ただし、これらはいかなる制約にも従うことを許すものではないことに注意してください。
841+
たとえば、アクションで<code class="literal">SET DEFAULT</code>が指定されているが、デフォルト値が外部キー制約を満たさない場合、操作は失敗します。
845842
</p><p>
846843
<span class="original">
847844
The appropriate choice of &lt;literal&gt;ON DELETE&lt;/literal&gt; action depends on
@@ -925,15 +922,13 @@
925922
string with a different case variant, if a character string type with a
926923
case-insensitive collation is used).
927924
</span>
928-
《機械翻訳》<code class="literal">ON DELETE</code>と同様に、<code class="literal">ON UPDATE</code>もあります。
929-
これは、被参照カラムが変更(更新)された場合に呼び出されます。
930-
可能なアクションは同じですが、<code class="literal">SET NULL</code>および<code class="literal">SET DEFAULT</code>にはカラムリストを指定できません。
931-
このケースでは、<code class="literal">CASCADE</code>は、被参照カラムの更新された値を参照行にコピーする必要があることを意味します。
932-
<code class="literal">ON UPDATE NO ACTION</code>(デフォルト)と<code class="literal">ON UPDATE RESTRICT</code>の間にも顕著な差があります。
933-
前者は更新の処理を可能にし、外国キー制約は更新後の状態に対してチェックされます。
934-
後者は、更新後の状態が制約を満たしていても更新が実行されないようにします。
935-
これにより、更新a被参照行は別個の値になりますが、等しいものとして比較されます(例の場合は、ケースバリアントが異なる文字の並びで、を区別しない文字の並びが使用されている場合)。
936-
ケース照合順序タイプ
925+
<code class="literal">ON DELETE</code>と同様に、被参照列が変更(更新)されるときに呼び出される<code class="literal">ON UPDATE</code>もあります。
926+
<code class="literal">SET NULL</code><code class="literal">SET DEFAULT</code>に対して列リストを指定できない点を除いて、実行できるアクションは同じです。
927+
この場合、<code class="literal">CASCADE</code>は、被参照列の更新された値を参照行にコピーする必要があることを意味します。
928+
また、<code class="literal">ON UPDATE NO ACTION</code>(デフォルトです)と<code class="literal">ON UPDATE RESTRICT</code>には大きな違いがあります。
929+
前者では更新を続行でき、外部キー制約は更新後の状態に対して確認されます。
930+
後者は、更新後の状態が制約を満たしている場合でも、更新が実行されないようにします。
931+
これにより、被参照行が、異なってはいるものの比較結果が等しい値 (たとえば、大文字小文字を区別しない照合順序で文字列型が使用されている場合における、大文字と小文字が異なる文字列)に更新されることを防ぎます。
937932
</p><p>
938933
<span class="original">
939934
Normally, a referencing row need not satisfy the foreign key constraint

0 commit comments

Comments
 (0)