日本語名の是非とデータ型採用方針

2006年3月22日(水)
梅田 弘之(うめだ ひろゆき)

物理モデルをシングルバイト、論理モデルをダブルバイトに


   テーブル名やカラム名をシングルバイトで定義するとしましょう。テーブルの列を定義する「テーブル定義書」を作成する場合、英語(またはローマ字)だけだと意味がわかりにくいので、カラム名の横に日本語名も併記します。アプリケーションを作成する際は、この日本語名を参照しながら実カラム名の意味を理解して作業を進めることになります。データモデリングツールを使った場合、物理モデルと論理モデルを使い分けて英語名・日本語名の両表記をサポートします。

   では、具体例で説明しましょう。ちょっと趣向を凝らして、SQL Serverに付随されているサンプルデータベース「Northwind」をOracleに移植することにします。図1はNorthwindデータベースからリバースしてER図を作成し、それをOracle用に変換してOracleデータベースにフォワード生成するという例題の流れです。

Northwindデータベースの物理モデルと論理モデル
図1:Northwindデータベースの物理モデルと論理モデル

   図2は、リバース生成したER図の物理モデル表示で、テーブル名やカラム名がシングルバイト表示になっています。データモデリングツールは、物理モデルをこの状態のままで論理モデルに日本語名を付けることができます。

物理モデル表示でシングルバイト
図2:物理モデル表示でシングルバイトを利用した場合

   図3は日本語名を付けた論理モデル表示で、データベース設計は通常この論理モデル表示で作業を行います。

論理モデル表示でダブルバイト
図3:論理モデル表示でダブルバイトを利用した場合

   図2や図3においてエンティティ「社員」をダブルクリックすると、図4のようなエンティティ定義画面が開きます。この画面を見ると、テーブル名やカラム名などの物理モデル情報とエンティティ名や属性名(アトリビュート)という論理モデル情報を一緒に定義・管理していることが確認できます。

エンティティ定義でシングルバイトとダブルバイトを混在
図4:エンティティ定義でシングルバイトとダブルバイトを混在させた場合
(画像をクリックすると別ウィンドウに拡大図を表示します)

   例えば1行目の属性、「社員番号」は論理モデル上の情報で、ダブルバイトで定義しました。一方、カラム名「EmployeeID」は物理モデル上の情報でシングルバイトです。このER図をOracleに接続してフォワード処理を行えば、物理モデル情報(シングルバイト)に基づいてテーブルオブジェクトが作成されます。このようにして、SQL Serverの有名なNorthwindデータベースをOracle上に移植することもできるのです。

著者
梅田 弘之(うめだ ひろゆき)
株式会社システムインテグレータ

東芝、SCSKを経て1995年に株式会社システムインテグレータを設立し、現在、代表取締役会長。2006年東証マザーズ、2014年東証第一部、2019年東証スタンダード上場。

前職で日本最初のERP「ProActive」を作った後に独立し、日本初のECパッケージ「SI Web Shopping」や開発支援ツール「SI Object Browser」を開発。日本初のWebベースのERP「GRANDIT」をコンソーシアム方式で開発し、統合型プロジェクト管理システム「SI Object Browser PM」など、独創的なアイデアの製品を次々とリリース。

主な著書に「Oracle8入門」シリーズや「SQL Server7.0徹底入門」、「実践SQL」などのRDBMS系、「グラス片手にデータベース設計入門」シリーズや「パッケージから学ぶ4大分野の業務知識」などの業務知識系、「実践!プロジェクト管理入門」シリーズ、「統合型プロジェクト管理のススメ」などのプロジェクト管理系、最近ではThink ITの連載をまとめた「これからのSIerの話をしよう」「エンジニアなら知っておきたいAIのキホン」「エンジニアなら知っておきたい システム設計とドキュメント」「徹底攻略 JSTQB」を刊行。

「日本のITの近代化」と「日本のITを世界に」の2つのテーマをライフワークに掲げている。

連載バックナンバー

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています