テーブル定義書
設計書だよ
テーブルの構造が書いてあるよ
テーブルさんのプロフィール帳みたいなものだよ
簡単に書くよ
テーブル定義書(読:テーブルテイギショ)とは
データベースにおける実際にデータが入っている箱(テーブル)のプロフィール帳。
もう少し真面目ぶって書くと
設計書のひとつ
であり
テーブルの構造が書いてあるやつ
です。
もう少し噛み砕いて書くと
「このテーブルは、こんな名前で、こんな項目があって~」のようなことが書いてあって、これを見れば「あっ、こんなテーブルなのね」が分かる資料
です。
詳しく書くよ
順番に見ていきましょう。
まずは予備知識として
・データベース
・テーブル
・キー
・インデックス
・テーブル定義
について簡単に説明します。
「そんなの説明されなくても知ってるよ!」な人は適当に読み飛ばしてください。
データベースは「データを入れておく箱」です。
ただし「データベース」という用語は、実際には もう少し複雑な概念です。
データを入れておく箱そのものは「テーブル」と言います。
とりあえず
データベースの話において、実際にデータを入れておく箱がテーブル
と覚えてください。
キーは「データベース(のテーブル)において何かのカギになりそうな項目」です。
データベース(のテーブル)は表形式のイメージで表現されるのが一般的です。
この表において、何か特別な意味を持たされた項目を「キー」や「キー項目」と呼びます。
インデックスは、今回は「検索を速くするための仕組み」と解釈してください。
辞書的な意味は「索引」とか「見出し」です。
テーブル定義は「テーブルの構造をまとめた情報」です。
例えば
・テーブルの名前
・どんな項目があるか
・それぞれの項目には、どんな種類(文字とか数字とか)のデータが入るか
・それぞれの項目には、どんな制限(「空っぽはダメ」とか)がかかっているか
・どの項目に、どんなキーが設定されているか
・どの項目にインデックスが貼られているか
などが、テーブル定義の情報です。
あるいは「テーブルの構造を決める作業」がテーブル定義です。
例えば
・どんなテーブルを用意するか決める
・それぞれのテーブルに、どんな項目を用意するか決める
・それぞれの項目に、どんな種類(文字とか数字とか)のデータを入れるか決める
・それぞれの項目に、どんな制限(「空っぽはダメ」とか)をかけるか決める
・どの項目に、どんなキーを設定するか決める
・どの項目にインデックスを貼るか決める
などが、テーブル定義でやることです。
「構造」と「構造を決める作業」の どちらを意図しているかは文脈から判断してください。
例えば「データベースの設計ではテーブル定義を決めるよ」であれば「構造」です。
「データベースの設計ではテーブル定義をやるよ」であれば「構造を決める作業」を意図しています。
以上を踏まえて
テーブルの構造をまとめた資料
が「テーブル定義書」です。
テーブルさんのプロフィール帳みたいなものですね。
テーブル定義書はデータベースを設計するときに作る資料のひとつです。
テーブル定義書には、それぞれのテーブルごとに
・テーブルの名前
・項目名
・それぞれの項目に入るデータの種類(文字とか数字とか)
・それぞれの項目に入るデータの長さ(「255文字まで入るよ」とか)
・それぞれの項目に設定される制限(「空っぽはダメ」とか)
・それぞれの項目に設定されるキー
・テーブルや項目ごとのインデックスの有無
などが書いてあります。
以上で大雑把な説明は終わりですが、ここまでの説明を読んで「どうしてデータベース定義書じゃないの?」と疑問を覚える人もいるかもしれませんね。
「データベース定義書」ではない理由は「データベースは、もっと複雑な概念だから」です。
データベースの設計は奥深いです。
例えば「どれくらいの量のデータを入れそうかな?」とか「どうすれば性能が良くなるかな?」とかも考える必要があります。
とはいえ「どんなプログラムを作ろうかな?」を考えるときは、そこまで踏み込んで考えません。
考えるのは「どんなデータを、どのような形で管理しようかな?」までです。
よって、一般的に、データベース設計でSEさんやプログラマさんが考えるのは
1.テーブルの構造
2.テーブル同士の関連性
の2つです。
※例外は、あります。
この2つのうち「1.テーブルの構造」をまとめた資料がテーブル定義書です。
あと、ついでなので書いておくと「2.テーブル同士の関連性」をまとめた資料は「E-R図」などと呼ばれています。
気が向いたら、併せて覚えてあげてください。
データベースにおけるそれ以外の要素、性能面の調整などは別途、データベースの専門家がやったりします。
ということで、文字通り「テーブルを定義したよ!」な資料だからテーブル定義書なのです。
データベース定義書だと、E-R図とかも含んだ概念になっちゃいます。
一言でまとめるよ
まぁ「テーブル定義書」って単語が出てきたら「テーブル
(データベースにおける実際にデータが入っている箱)の構造が書いてある資料なんだな~」と お考えください。
おまけ
■訳してみるよ
「table(テーブル)」の意味は「机」とか「テーブル」とか「表」とかです。
「定義書」は日本語ですね。
何となく くっつけると
表の定義書
となります。
■検索してみる?






