⑧Web開発

データベース設計の基礎【SQLとテーブル設計の考え方】

⑧Web開発
記事内に広告が含まれています。

データベース設計はバックエンド開発の核心です。SQLの基礎とテーブル設計の考え方を学びます。

SQLの基本操作(CRUD)

-- テーブル作成
CREATE TABLE users (
  id INTEGER PRIMARY KEY AUTOINCREMENT,
  name TEXT NOT NULL,
  email TEXT UNIQUE NOT NULL,
  created_at DATETIME DEFAULT CURRENT_TIMESTAMP
);

-- データ挿入
INSERT INTO users (name, email) VALUES ('Taro', 'taro@example.com');

-- データ取得
SELECT * FROM users;
SELECT name, email FROM users WHERE id = 1;
SELECT * FROM users ORDER BY created_at DESC LIMIT 10;

-- データ更新
UPDATE users SET name = 'Jiro' WHERE id = 1;

-- データ削除
DELETE FROM users WHERE id = 1;

テーブル結合(JOIN)

CREATE TABLE posts (
  id INTEGER PRIMARY KEY AUTOINCREMENT,
  user_id INTEGER REFERENCES users(id),
  title TEXT NOT NULL,
  body TEXT
);

-- INNER JOIN: 両方に存在するデータを取得
SELECT users.name, posts.title
FROM posts
INNER JOIN users ON posts.user_id = users.id;

良いテーブル設計の原則

原則内容
主キー(PRIMARY KEY)各レコードを一意に識別するidを必ず設ける
NOT NULL制約必須カラムにはNOT NULLを付ける
UNIQUE制約重複してはいけないカラム(メールなど)に付ける
外部キー(FOREIGN KEY)テーブル間の関連をREFERENCESで定義する
正規化データの重複を排除してテーブルを分割する

まとめ

  • SQLのCRUDはSELECT・INSERT・UPDATE・DELETEの4命令
  • JOINで複数テーブルを結合してデータを取得できる
  • 主キー・NOT NULL・UNIQUE・外部キーで整合性を保つ

コメント

タイトルとURLをコピーしました