8.データベース設計
◆作業の概要、目的、タイミング
システムで使用するデータを保存するための、データベースの詳細を検討し、定義する。
- データベースの定義内容は、システムのほとんどの画面・帳票にかかわる。
そのため、データベースに不備があれば製造時に大きな手間がかかる。システムとしての品質にも影響を与える。
おおよその画面レイアウトが決まってからでないと、データベースの項目を抽出できない。
- およその画面レイアウトを決めてから、または、各画面の詳細設計と並行して行う。
- データベース設計の内容によっては、各画面設計にも影響を与えることがある。
◆事前に必要なもの、情報
この作業の前段階として以下の作業を行い、また、作業に必要な情報として以下のものや情報等を用意しておく。
| この前の作業 | 事前情報、他 |
|---|---|
| ・メニュー体系図 ・各画面設計 |
・ヒアリングで得た情報 ・一般的な/最新の業界・技術情報 ・対象システムの業務知識 ・技術知識(マシン、ソフト、プログラム言語) |
◆一般的なデータベース
RDB(リレーショナルデータベース)が、現在のシステム開発で最も一般的。
- データを表形式で表す(=テーブル)。
- SQL(RDBの操作言語)を使う。
- 様々な規模の製品があり、デスクトップ用のものから大型サーバ向けのものまである。
(Oracle、SQLServer、PostgreSQL、Accessなど。) - 高機能なものは、管理に専門知識が必要なものもある。
◆具体的な作業項目、手順
ここでは、一般的なRDBをもとに説明する。
1.画面や帳票の入力項目、出力項目(表示項目)を参考にデータ項目を洗い出し、1つの表のデータ項目として横に並べてみる。
その際、実際に何件かのデータが入力されている状態をイメージする。
| 氏名 | 生年月日 | 年齢 | 性別 | 受講クラス | 受講料 |
|---|---|---|---|---|---|
| 山田太郎 | 1975/06/25 | 26 | 男 | 英会話初級 | 18,000 |
| 小川春子 | 1972/01/10 | 30 | 女 | 英会話中級 | 21,000 |
| 三上隆 | 1967/10/04 | 34 | 男 | ビジネス英会話 | 23,000 |
| 林直美 | 1977/09/22 | 24 | 女 | 英会話初級 | 18,000 |
2.必要に応じて、表(テーブル)を分割する。
- 同じものが何度も出てくる項目は、別のテーブルに切り出す。
- ある項目が決まれば別の項目も決まるものがある場合は、一緒に別のテーブルに切り出す。
- コードなどテーブルの管理上必要な項目は、入出力項目になくても、テーブルに追加する。
- 別の項目から計算によって導き出せる項目は、テーブルとしては保存しない。
- 内容がパターン化している項目は、符号化(コード化)しておく。 ⇒ コード設計
(生徒情報テーブル)
| 生徒No | 氏名 | クラスNo. | 生年月日 | 性別 |
|---|---|---|---|---|
| 1 | 山田太郎 | 1 | 1975/06/25 | 1 |
| 2 | 小川春子 | 2 | 1972/01/10 | 2 |
| 3 | 三上隆 | 3 | 1967/10/04 | 1 |
| 4 | 林直美 | 1 | 1977/09/22 | 2 |
(クラスマスタ)
| クラスNo. | クラス名 | 受講料 |
|---|---|---|
| 1 | 英会話初級 | 18,000 |
| 2 | 英会話中級 | 21,000 |
| 3 | ビジネス英会話 | 23,000 |
3.必要に応じて、表(テーブル)を分割する。
- データ型(文字/数値/日付)、桁数、入力必須かどうか、その他(データ範囲、コードルールなど)
◆成果物、最終イメージ、作業例
この作業で以下の成果物を出す。または完成イメージの状態にする。それをこの後の作業につなげる。
| 成果物、完成イメージ、他 | この後の作業 |
|---|---|
| ・DB設計書 | ・機能設計 (各画面設計(データ項目、機能など)) ・設計書の全体調整 |
◆作業上のポイント、注意点
データベース設計の良し悪しで、プログラムの書きやすさに影響を与えることがある。
- どの項目がどのテーブルにあるか、そのデータ型は何か、などによって、プログラムの書き方が変わる。
製造に入ってからデータベースの構造が変わると、かなりの手戻りになることがある。
- そのため、製造前に業務上・システム上の様々な局面を考慮して、きちんと定義する必要がある。
Copyright © Xincor miXell Co., Ltd. All rights reserved