blog 開発

【基本設計】テーブル定義書の書き方

テーブル定義書の書き方は下記記事からご確認ください。

こんにちは!今回は、基本設計のテーブル定義書の作成方法を紹介していきます!

想定読者

  • 駆け出しエンジニア
  • 要件定義をしようとしている方

そんな方に見ていただければと思います。

すずき

すずきは今タスク管理アプリを作成中!
要件定義は、最新版じゃないけど下記の記事から初代要件定義が確認できるよ!

テーブル定義書とは

鈴木が作ったテーブル定義書

テーブル定義書とは、データベース内の各テーブルの情報をまとめたもの!

テーブル定義書は、データベース内の各テーブルの構造と属性を詳細に記述したドキュメントです。システム開発やデータベース設計において、データの整合性や一貫性を保つために欠かせない重要なツールです。以下に、テーブル定義書の各項目について説明します。


項目ごとに紹介していくよ!

論理名

論理名は、テーブルやカラムのビジネスロジックに基づいた名前です。システムの利用者が理解しやすいように、人間に読みやすい形式で記載されます。例えば、「顧客情報」という論理名は、システムの利用者がそのテーブルの役割を直感的に理解できるようにしています。

物理名

物理名は、実際にデータベース上で使用されるテーブルやカラムの名前です。論理名が日本語であっても、物理名は通常英語やアルファベットを使用して記述されます。例えば、「顧客情報」という論理名に対して、物理名は「CUSTOMER_INFO」などと設定されます。

データ型

データ型は、カラムに格納されるデータの種類を指定します。代表的なデータ型には、数値型(INT, FLOATなど)、文字列型(VARCHAR, CHARなど)、日付型(DATE, TIMESTAMPなど)があります。適切なデータ型を選定することは、データベースのパフォーマンスやデータの正確性に大きな影響を与えます。

桁(バイト)

桁(バイト)は、カラムに格納できるデータの最大長さを示します。文字列型の場合、最大文字数やバイト数を指定し、数値型の場合は整数部と小数部の桁数を指定します。これにより、データの範囲や精度を管理します。

Not Null

Not Nullは、カラムに必ず値が入力される必要があることを示します。これを設定することで、データの欠落を防ぎ、データの整合性を保つことができます。例えば、顧客IDや注文日時などの重要なカラムにはNot Null制約を設けることが一般的です。

半角/全角

半角/全角は、データが半角文字または全角文字で入力されるべきかを指定します。特に日本語などのマルチバイト文字を扱う場合に重要です。入力フォーマットの一貫性を保つことで、データの整合性を確保します。

英字・数字

英字・数字の項目は、カラムに入力されるデータが英字のみ、数字のみ、またはその組み合わせであるかを指定します。例えば、郵便番号や電話番号など特定の形式を持つデータに対して設定します。

PK・FK

PK(Primary Key)は、テーブル内の各レコードを一意に識別するためのカラムです。PKは必ず一意であり、Null値を取ることはできません。FK(Foreign Key)は、他のテーブルとのリレーションを定義するためのカラムであり、データの整合性を保つために使用されます。

デフォルト値

デフォルト値は、カラムに値が指定されなかった場合に自動的に設定される値です。これにより、データ入力時の省略やミスを防ぐことができます。例えば、注文ステータスが未入力の場合、デフォルトで「未処理」と設定することが考えられます。

備考

備考欄には、カラムやテーブルに関する追加情報や特記事項を記載します。設計時の注意点や運用上のメモを残すことで、後のメンテナンスや拡張に役立てることができます。

まとめ

今回は、サインアップとログインに必要なユーザーテーブルとタスクを追加するときに必要なタスクテーブルのテーブル定義書を書いてみました。

これを使って開発をしていきましょう!

鈴木が作ったテーブル定義書
  • この記事を書いた人

鈴木陽介

現役Javaエンジニア

2000年生まれ

もうすぐ書籍を出版します。

-blog, 開発