PostgreSQLのテーブル定義の基本(CREATE TABLE)
生徒
「PostgreSQLでテーブルを作るって聞いたんですが、テーブルって何ですか?」
先生
「テーブルは、紙の表と同じです。名前や年齢を行と列で整理して書く名簿を想像してください。」
生徒
「パソコンを触ったことがほとんどなくても理解できますか?」
先生
「大丈夫です。紙のノートに表を書く感覚で説明します。」
1. SQLとは何か?
SQLは、データベースに対して命令を出すための言葉です。データベースとは、情報をきちんと整理して保存するための入れ物です。
PostgreSQLは、SQLを使って操作できる有名なデータベースで、初心者の学習から仕事まで幅広く使われています。
2. テーブルとは何か
テーブルは、データベースの中にある表です。縦の列を「カラム」、横の行を「レコード」と呼びます。
例えば、名前、年齢、メールアドレスを並べた会員名簿がテーブルです。
3. テーブル定義とは
テーブル定義とは、「どんな列を持つ表を作るか」を最初に決めることです。ノートに表を書く前に、項目名を決める作業と同じです。
PostgreSQLでは、CREATE TABLEというSQLを使ってテーブル定義を行います。
4. CREATE TABLEの基本構文
CREATE TABLEは、新しいテーブルを作るための命令です。テーブル名と、列の名前、データ型を書きます。
CREATE TABLE users (
id INTEGER,
name TEXT,
age INTEGER,
email TEXT
);
INTEGERは数字、TEXTは文字を入れるための型です。データ型とは、どんな種類のデータを入れるかを決めるルールです。
5. テーブルの中身のイメージ
上の定義で作られるテーブルは、次のような形になります。
id | name | age | email
---+------------+-----+-------------------
1 | 山田太郎 | 25 | taro@example.com
2 | 佐藤花子 | 19 | hanako@example.com
3 | 鈴木一郎 | 30 | ichiro@example.com
4 | 高橋次郎 | 22 | jiro@example.com
6. 主キーという考え方
主キーとは、1行ずつを区別するための番号です。クラス名簿の出席番号のようなものです。
同じ番号が重ならないように設定します。
CREATE TABLE users (
id INTEGER PRIMARY KEY,
name TEXT,
age INTEGER,
email TEXT
);
7. データ型を決めるメリット
データ型を正しく決めると、間違ったデータを防げます。年齢の列に文字が入らないようにできるのです。
これは、記入欄に「数字のみ」と書いておくのと同じ役割です。
8. NULLを許可するかどうか
NULLとは、「まだ値が入っていない状態」を表します。空欄を許すかどうかもテーブル定義で決められます。
CREATE TABLE users (
id INTEGER PRIMARY KEY,
name TEXT NOT NULL,
age INTEGER,
email TEXT
);
NOT NULLを付けると、必ず値を入れる必要があります。
9. テーブル定義を理解する大切さ
テーブル定義は、データベースの設計図です。最初にしっかり決めておくことで、後から困りにくくなります。
PostgreSQLのCREATE TABLEを理解することは、データベース操作の第一歩です。