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

results matching ""

    No results matching ""