SQLServer 主キーの設定方法

今回は、SQLServerでのテーブルの主キーの設定の仕方を紹介していきます。
主キーはデータベースを理解するうえでとても初歩的ですが大切なことなので理解しておきましょう。

 

主キーとは

主キーの設定方法を紹介する前にそもそも主キーとは何かを説明しておきます。
主キーとは、大量のデータを1つのデータに特定することができる項目のことです。

 

例えば下記のようなテーブルがあるとすると、15件のデータのなかから、1つのデータを特定できる項目は、「id」になります。
なので、「id」を主キーに設定すると、同じ「id」のデータは登録できないようになります。

SELECT * FROM hironimoTable

id   |nickName|animal|height|weight
-----+--------+------+------+------
00001|ひろにも|きりん|150   |55.5
00002|ひろにも|きりん|160   |60.0
00003|ひろにも|きりん|170   |70.0
00004|ひろにも|きりん|180   |80.0
00005|ひろにも|きりん|150   |90.0
00006|たなか  |いぬ  |100   |10.0
00007|たなか  |いぬ  |120   |20.0
00008|すずき  |ねこ  |120   |30.0
00009|すずき  |ねこ  |130   |40.0
00010|すずき  |ぞう  |140   |50.0
00011|すずき  |ぞう  |150   |60.0
00012|さとう  |ぞう  |150   |50.0
00013|さとう  |ぞう  |160   |60.0
00014|さとう  |きりん|170   |70.0
00015|さとう  |きりん|180   |80.0

 

ちなみに主キーの項目は1つである必要はなく、複数指定することができます。
もし「id」「nickName」を主キーに設定したとすると、「id」と「nickName」の2つの項目が同じデータはないテーブルとなります。

 

このように、必ず1つのデータに絞り込める項目を主キー(プライマリーキー)と呼びます

 

最もわかりやす例は、マイナンバー制度です。
国民ひとりひとりに、マイナンバーが振られたと思いますが、マイナンバーという主キー項目を設定することで、
1億人のデータから1つのデータを特定できるようになりました。

主キーを設定するメリット
  • データの検索スピードが速くなる
  • データの重複がなくなり、データの整合性が保てる

 

SQLServer 主キーの設定の仕方

GUIから設定する方法

SSMS(SQL Server Management Studio)のGUIから設定する方法を紹介します。

新規のテーブルを作成するか、既存のテーブルを右クリックし、デザインを選択しましょう。

 

するとテーブルのデザインが表示されます。
そして、主キーに選択したい項目を右クリックし、「主キーの設定」を選択しましょう。

 

項目(id)に鍵マークがつきました。これで主キーの設定は完了です。
(複数キー選択したい場合は行を選択する時に複数行選択しましょう。)

 

SQL CREATE文から設定する方法

CREATE文を作成し、項目のところに、「PRIMARY KEY」と記載しましょう。
今回の例では2行目のところです。

CREATE TABLE hironimoTable(
    id varchar(5) NOT NULL PRIMARY KEY,
    nickName nvarchar(50) NULL,
    animal nvarchar(50) NULL,
    height numeric(3, 0) NULL,
    weight numeric(3, 1) NULL,
    insDt datetime NULL,
    updDt datetime NULL
)

 

結果
先ほどと同じように、idのところに鍵マークが設定されています。

CREATE文については、以前も紹介しているので、参考にしてください。

 

まとめ

今回は、主キーについてまとめてみました。

主キー(プライマリーキー)とは、複数のデータから1つのデータに絞り込める項目のことです

テーブルを作成するときは、必ず何を主キーとして設定するのか考えて設定しましょう。

 

SQLServerの記事一覧

 

 

 

 

おすすめの記事