CREATE 文でテーブルを作成する - SQL Server
テーブルは、データベースにデータを格納するための重要なオブジェクトです。
SQL Server では、以下の手順に従って新しいテーブルを作成することができます。
新しいテーブルを作成するためのSQL文
新しいテーブルを作成するには、CREATE TABLE文を使用します。例えば、以下のように記述します。
CREATE TABLE dbo.PurchaseOrderDetail ( PurchaseOrderID bigint NOT NULL, LineNumber smallint NOT NULL, ProductID int NULL, UnitPrice money NULL, DueDate datetime NOT NULL PRIMARY KEY(PurchaseOrderID, LineNumber) );
上記の例では、PurchaseOrderDetail という名前の新しいテーブルを作成しています。テーブルには、PurchaseOrderID 列からDueDate 列までの5つの列が含まれます。データ型は、数値型( int )や日付/時刻型(datetime)などを使用します。
テーブル名の前についている「dbo」は、SQL Serverにおけるデフォルトのスキーマです。スキーマは、テーブルやストアドプロシージャなどのオブジェクトに名前空間を提供します。(スキーマは、Windowsでいうところのフォルダに似ています。テーブルを適切なスキーマに登録することで、テーブルをより整理し、見つけやすくすることができます。)
データの有効範囲
int 型は、一般的には4バイトで表現され、-2,147,483,648 から 2,147,483,647 までの範囲の整数を表現できます。つまり、int 型はおおよそ-21億から+21億の範囲の整数を格納することができます。int 型は整数を管理するためにデータベースでよく利用されます。ただし、int 型には範囲に制限があるため、より大きな整数を扱う場合には、bigint 型などのより大きなデータ型を使用する必要があります。また、日付と時刻を扱うためには、date 型やdatetime 型を使用します。
SQL Server で使用できるデータ型については、以下を確認します。
learn.microsoft.com
データベースにテーブルを登録する際には、格納するデータに適した適切なデータ型を使用することが非常に重要です。例えば、数値データを文字列として格納すると、データの検索や比較に問題が生じます。数値型のデータを比較する場合には、データベースエンジンは高速に処理することができますが、文字列型のデータを比較する場合には、より多くの処理が必要になる可能性があります。そのため、適切なデータ型を使用することで、データベースのパフォーマンスを向上させることができます。
主キーの設定
テーブルには、各行を一意に識別するために主キーを設定することができます。
主キーを設定するには、PRIMARY KEY制約を使用します。PRIMARY KEY 制約は、1つのテーブルにつき、1つだけ作成することができます。また、PRIMARY KEY制約で定義する列は、NULLを許容しない(NOT NULL)として定義する必要があります。
通常、主キーは、テーブルの最初の列に設定されます。例えば、先ほどのPurchaseOrderDetailテーブルでは、PurchaseOrderID 列とLineNumber 列が主キーとして設定されています。
まとめ
以上の手順に従って、SQL Server で新しいテーブルを作成することができます。テーブルを作成する際には、テーブル名や列名、制約、データ型などを適切に設定することが重要です。これにより、データの整合性を維持し、データベース内での検索や処理が効率的に行えるようになります。