19
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

テーブル設計をskillsでレビューしてみませんか

19
Posted at

はじめに

DB設計の勉強のために、以下の2冊を読みました。

  • 『失敗から学ぶ RDBの正しい歩き方』(曽根壮大)
  • 『達人に学ぶDB設計 徹底指南書 第2版』(ミック)

最近、技術書を読むときに意識していることがあります。
それは「この内容をプロジェクトに活かせるか」という視点で読むことです。

読む前に考えても良いですし、メモしながら読むのでも良いと思います。
本を読むこと自体が目的にならないように、「どの箇所が現プロジェクトに反映できそうか」を考えながら読んでいます。

そこで今回、2冊の知見をもとに、自分のプロジェクトのテーブル設計を見直すためのレビューツールを Claude Code のskillsとして作りました。

この記事では、そのスキル db-review を紹介します。
みなさんのプロジェクトのテーブル設計を見直す足がかりになれば幸いです。

この記事のゴール

みなさんのプロジェクトのテーブル設計を見直す足がかりになれば幸いです。
「エンジニアになるために個人開発中の人」には、特におすすめです。

この記事では書かないこと

上記2冊に記載されているアンチパターンの説明・要約は記載いたしません。
Qiita だけでも色んな人が投稿していたので、そちらをご確認いただければと思います。

db-reviewスキルの概要

db-review は、プロジェクトのスキーマファイルを読み取り、
アンチパターンの候補を検出する Claude Code のスキルです。

2冊の書籍で紹介されているアンチパターンをベースに、汎用的なRDBのレビュー観点として再構成しています。

2つのモード

モード 入力対象 ユースケース
スキーマモード スキーマファイルのみ テーブル定義だけを確認したいとき
全体モード スキーマ + クエリ・モデル クエリやロック周りも含めたフルレビュー

スキーマモードでは、テーブル定義から読み取れる17項目のチェックを実行します。
全体モードでは、さらにクエリやモデルのコードも対象に加え、7項目 + スキーマ補強12項目を追加で検出します。

対応フレームワーク/ORM

以下のスキーマ形式に対応しています。
その他でもAIに対して適切に情報を渡せば動作するかと思います。

  • Prisma
  • Drizzle
  • Rails(schema.rb / マイグレーション)
  • Django(models.py
  • Laravel(マイグレーション)
  • TypeORM
  • Sequelize
  • SQLAlchemy
  • 生SQL(CREATE TABLE DDL)

検出できるアンチパターン

検出結果は、以下の3段階の深刻度でグルーピングされます。

深刻度 基準
CRITICAL データ不整合・データ消失リスク
HIGH パフォーマンス劣化・保守困難
MEDIUM 将来的な技術的負債

各モードのチェック項目の詳細は、以下のファイルで確認できます。

なぜ「断定」ではなく「候補提示」なのか

このスキルは、検出結果を「アンチパターンである」と断定しません。
あくまで「アンチパターンの候補」として提示します。

理由は、DB設計には意図的にその形を選んでいるケースがあるからです。

たとえば、論理削除やJSON列の使用は一般的にはアンチパターンとされますが、プロジェクトの要件上、あえて採用していることもあります。
それが正しい判断かどうかを知るには、コードの全容を把握するか、開発者がドメイン知識として持っている文脈が必要です。

DBはアプリケーションよりも寿命が長いと言われています。
この分野でAIを活用することは大歓迎ですが、最終的な判断は必ず人間が行うべきだと考えています。

そのため、このスキルは「候補を出す → 開発者が判断する → 必要に応じて深掘りする」という流れで使うことを想定しています。

導入方法

GitHub リポジトリはこちらです。

Claude Code の skills は、以下のいずれかの方法でインストールできます。

npx skills(Vercel)

npx skills add takuya-38/claude-skills --skill db-review

gh skill(GitHub CLI)

gh skill install takuya-38/claude-skills db-review --agent claude-code

インストール後、Claude Code で /db-review と入力するとスキルが起動します。

最後に

DB設計本2冊の知見をもとに、テーブル設計をレビューする Claude Code スキル db-review を紹介しました。
今後は「SQLアンチパターン」も読んで、そこで学んだ観点も反映させていきたいと考えています。

技術書を読んで終わりにせず、プロジェクトに活かす手段のひとつとして参考になれば嬉しいです。

参考文献

株式会社シンシア

株式会社シンシアでは、実務未経験のエンジニアの方や学生エンジニアインターンを採用し一緒に働いています。
※ シンシアにおける働き方の様子はこちら

弊社には年間100人以上の実務未経験の方に応募いただき、技術面接を実施しております。
この記事が少しでも学びになったという方は、ぜひ wantedly のストーリーもご覧いただけるととても嬉しいです!

19
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
19
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?