複数のユーザーによる変更の調整
環境によっては、複数のユーザーが同一のオブジェクトを同時に変更することがあります。 たとえば、ユーザーがテーブル デザイナーまたはデータベース ダイアグラム デザイナーでオブジェクトの構造を変更したり、クエリ デザイナーおよびビュー デザイナーの結果ペインの値を変更したりすることがあります。 このような状況では、解決する必要のある競合が発生する可能性があります。
テーブル デザイナーまたはデータベース ダイアグラム デザイナーでの競合
たとえば、テーブル デザイナーでテーブルを操作しているときに、他のユーザーが同じテーブルまたは関連するテーブルを削除したり、名前を変更したりする可能性があります。 テーブルを保存しようとすると、[データベースの変更を確認] ダイアログ ボックス (データベース デザイナー) が表示され、テーブルを開いた後でデータベースが更新されていることが通知されます。
このダイアログ ボックスには、テーブルを保存する結果として影響を受けるデータベース オブジェクトの一覧も表示されます。 この時点で、次のいずれかの処理を実行できます。
[はい] をクリックしてテーブルを保存し、データベースを更新して一覧のすべての変更を反映する。
この操作は、同じデータベース オブジェクトを共有するテーブルに影響を及ぼす可能性があります。 たとえば、titleauthors テーブルの au_id 列を編集しているときに、他のユーザーが、au_id 列によって titleauthors テーブルと関連付けられている authors テーブルを操作しているとします。 このテーブルを保存すると、他のユーザーのテーブルが影響を受けます。 同様に、別のユーザーが sales テーブルの qty 列に CHECK 制約を定義する可能性があります。 qty 列を削除して sales テーブルを保存すると、最初のユーザーの CHECK 制約が影響を受けます。
[いいえ] をクリックして、操作を取り消す。
変更を保存せずにテーブルを閉じることができます。 テーブルを再度開くと、そのテーブルにはデータベースの現在の内容が反映されます。
[テキスト ファイルを保存] をクリックして、変更の一覧を保存する。
[データベースの変更を確認] ダイアログ ボックスに表示されるデータベース変更情報の一覧をテキスト ファイルに保存しておき、他のユーザーが行った変更の理由を調査できます。 たとえば、削除することにしたテーブルを他のユーザーが編集していた場合、データベースを更新する前にテーブルを削除する必要があるかどうかを調べることができます。
クエリおよびビュー デザイナーでの競合
クエリを実行するか、ビューの結果を返すと、結果ペインにデータが表示されます。 複数のユーザーが同じデータセットを同時に操作すると、競合が発生する場合があります。
たとえば、他のユーザーと同時に titleauthors テーブルの全データを表示するクエリを実行するとします。 他のユーザーが、最初に返されるレコードの名前を Barb から Barbara に変更するとします。 この時点で、データベースの該当するフィールドの値は Barbara ですが、こちら側に表示されている結果セットは Barb のままです。 ここで、「Barbara」と入力して、行の外側をクリックします。 クリックすると、競合の解決方法をたずねるメッセージが表示されます。
[はい] をクリックし、データベースを更新して変更を反映する。
他のユーザーの変更はオーバーライドされます。
[いいえ] をクリックし、結果セットをデータベースの現在の内容と同じものにする。
こちら側の変更が他のユーザーの変更によってオーバーライドされます。
[キャンセル] をクリックして、競合を解決せずに編集を続ける。
この場合、変更をデータベースにコミットできません。
参照
処理手順
参照
[データベースの変更を確認] ダイアログ ボックス (データベース デザイナー)