この逆さ銀色の鍵のアイコンは何ですか


11

SQL Server 2005のサードパーティサーバーとデータベースを継承して、レポートとダッシュボードを生成できるかどうかを調べました。

あるテーブルで、新しいアイコンを見つけました。他の主キーと外部キーと並んで、青銀の逆さまのキーです。

右クリックすると、コンテキストメニューに[スクリプト制約]のオプションが表示されますが、[変更]しようとすると、列のデザインフォーム(主キーなど)が開きますが、制約ではなく「インデックス」セクション。

誰かがそれが何と呼ばれ、何に使用されているか知っていますか?

逆さまキー

回答:


12

それはユニークな制約を意味しています。SQL Serverでは、一意制約は実際には内部的にインデックスとして実装されています。これがIndexesノードの下にも表示される理由です(少なくともConstraintsノードの下にリストされていない理由、または単に異なる色ではなく逆さまのキーを選択した理由についてはよく説明できません)。

これが実際にインデックスとして実装されていることを検証するには、ここに結果が表示されます。

SELECT index_id, type_desc, is_unique_constraint
  FROM sys.indexes
  WHERE name = N'IX_tblCustIndex';

「Script Constraint As ...」が表示されたとおっしゃっていましたが、これを実行すると、次のようなスクリプトが提供されます。

ALTER TABLE [dbo].[tblCustIndex] ADD UNIQUE NONCLUSTERED 
(
  [some_column] ASC
) WITH (...a bunch of default options...)

ただし、この構文では名前を使用せず、2番目の冗長な一意制約を作成するだけなので、実行しないでください...

これは非常に単純な再現であり、2014年に非常に基本的な構文でも逆さまのキーを取得したことを証明します。

CREATE TABLE dbo.foo(id INT UNIQUE);

ここに画像の説明を入力してください 拡大するにはクリックしてください

一意のインデックスを明示的に作成すると、別のアイコンを取得できるようになります(表示さsys.indexesれる違いはの名前と値のみですis_unique_constraint)。

ここに画像の説明を入力してください 拡大するにはクリックしてください

その他の違いについては、このスタックオーバーフローの回答をご覧ください。


1
SQL2005に固有ですか?UNIQUEインデックスを追加しようとすると、別のアイコン(ある種の逆ツリー)が表示されるためです。また、制約を追加すると、角かっこで囲まれたテーブルのようなアイコンが表示されます。このアイコンを再現することができないようです。
フィリップ

@Philippe回答が更新されました。
アーロンバートランド

ありがとう。それは詳細な説明であり、簡単な説明でした!:-)
フィリップ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.