ゼロからのデータモデリング入門(1)
「歴史的問題」からデータモデルを考える
情報価値向上技術支援室
沖 冠吾(おき かんご)
2008/9/10
ホストコンピュータ時代のシステム開発のポイントをまとめると、以下の2点になります。
- システム開発の目的は業務処理の効率化である
- 業務処理単位のアプリケーションの開発生産性を高めるシステム開発が主流だった
つまり、データベースの問題ではなく、システム開発の考え方が「業務処理の効率化」を重視したものであったということです。
リレーショナルデータベースの台頭
エドガー・コッド(E. F. Codd)博士が提唱したリレーショナルモデルをベース注2に1980年初頭にリレーショナルデータベース管理システム(RDBMS)が台頭します。リレーショナルモデルは、リレーショナルデータベースへの実装仕様であり、具体的には、データの更新異常を排除し、データの独立性を可能にしたことから開発時および保守時の生産性向上を実現しています。つまり、リレーショナルデータベースは、階層型データベースやネットワーク型データベースの持つ問題点を解消し、データやプログラムの独立性を高めたデータベースです。
当初RDBMSは、システムリソースを多く消費するためシステム開発の現場において利用が進まず、企業の導入が本格的に始まったのは、ワークステーションやPCサーバの普及によりハードウェア資源の低価格化が実現した1990年代に入ってからとなります。
商用RDBMSの台頭とクライアント/サーバシステム
この時期に、Oracle、Informixなど商用のRDBMSが台頭し、クライアント/サーバシステムという新しいシステムアーキテクチャが生まれました。システム開発環境においては、マイクロソフトのVisual Basicを中心にRDBMSから簡単にデータを取得できる4GLの普及が進み、ユーザー部門主導の「部門システム」が数多く開発されました。
従来のシステムでは必要なデータを取り出すことが容易でなかったユーザー部門にとって、画面イメージを確認しながらデータの登録、取得が簡単にできるクライアント/サーバシステムは、画期的な仕組みとして業務の生産性を飛躍的に向上させました。
BI、データウェアハウス概念の登場
1990年代後半になるとクライアントアプリケーションはさらなる進化を遂げ、多くのビジネスインテリジェンス(BI)ツールが台頭してきます。
ユーザーの情報活用ニーズに対してアプリケーションを作らずに対応できるBIツールは、部門単位の情報活用ツールとして瞬く間に普及していきました。ご存じのとおり、データウェアハウス(DWH)の概念は時期を同じくして、1990年代にWilliam H. Inmon氏により提唱されています。
初期のDWHの概念としては、「更新、削除を行わない」「意思決定のためにサブジェクト化(目的別の管理対象)された」データの倉庫であるとされています。
サブジェクト化のためにデータベース設計の重要性を唱える人もいれば、「大福帳データベース」(注.3)を構築して、BIツールやRDBMSの機能を駆使してユーザーに必要なデータが提供できると唱える人もおり、さまざまな形態でシステム開発が行われました。
注3:いわゆる呉服屋などで使われていた大福帳のような仕組みをデータベースに実装したもの。必要なデータをすべて同じ場所に格納したものを指します。
データ格納器としてのデータベース
いずれにしてもこの時期のRDBは、あくまでデータを格納するための「器」であり、アプリケーション用途に合ったデータの格納ができればよかったのです。
いい換えると、階層型データベースやネットワーク型データベースの問題点を解消するものとしてRDBMSが出現し、普及していったにもかかわらず、その特性や有用性が生かされず、従来と同様、業務処理の効率化が最優先され、業務処理単位にアプリケーション開発が行われていました。
繰り返しになりますが、ここでご理解いただきたいのは、データベースの概念が変わり、リレーショナルデータベースを利用できる環境にあってもシステム開発における考え方はなんら変わっていなかったということなのです。
◆◆◆
次回では、こうした背景を踏まえて、RDBMSの技術的な有用性とRDBMSを有効活用するための設計思想についてお話しします。
沖 冠吾(おき かんご)
コンサルティングサービスのマーケティング活動を行いながら、データモデリングとシステムモデリングのコンサルティングに従事する。
| 2/2 |
レガシーのデータが抱える「歴史的問題」から
データモデルを考える
・昨今のシステム課題からみるデータモデリングの必要性
・システム開発の歴史から考えるデータのありかた
ホストコンピュータの時代
・データ格納器としてのデータベース
- Oracleライセンス「SE2」検証 CPUスレッド数制限はどんな仕組みで制御されるのか (2017/7/26)
データベース管理システムの運用でトラブルが発生したらどうするか。DBサポートスペシャリストが現場目線の解決Tipsをお届けします。今回は、Oracle SE2の「CPUスレッド数制限」がどんな仕組みで行われるのかを検証します - ドメイン参加後、SQL Serverが起動しなくなった (2017/7/24)
本連載では、「SQL Server」で発生するトラブルを「どんな方法で」「どのように」解決していくか、正しい対処のためのノウハウを紹介します。今回は、「ドメイン参加後にSQL Serverが起動しなくなった場合の対処方法」を解説します - さらに高度なSQL実行計画の取得」のために理解しておくべきこと (2017/7/21)
日本オラクルのデータベーススペシャリストが「DBAがすぐ実践できる即効テクニック」を紹介する本連載。今回は「より高度なSQL実行計画を取得するために、理解しておいてほしいこと」を解説します - データベースセキュリティが「各種ガイドライン」に記載され始めている事実 (2017/7/20)
本連載では、「データベースセキュリティに必要な対策」を学び、DBMSでの「具体的な実装方法」や「Tips」などを紹介していきます。今回は、「各種ガイドラインが示すコンプライアンス要件に、データベースのセキュリティはどのように記載されているのか」を解説します
|
|




