◆データベースの特徴
・独立性がある
データベースには『論理的独立性』と『物理的独立性』があります。
たとえば、入力画面(物理的独立性)の仕様を変更しても、データ内容(論理的独立性)には影響しませんね。
・3層スキーマで構成されている。
データベース(DBMS:データベースマネジメントシステム)は3層スキーマといって、以下の3つで定義されています。デ-タベース=3層スキーマというわけではありませんが、”普通はこんな考え方でできているよね”と定義したものが3層スキーマです。
(1)外部スキーマ:ユーザーからの視点(見た目とか)
(2)内部スキーマ:ファイル名、ファイルのサイズなど、物理的な視点。
(3)概念スキーマ:テーブルの定義、テーブル間の関係性(リレーション)など,開発者からの視点。
順番的にはこのような感じになります。
外部スキーマはまだいいとして、概念スキーマあたりがややこしいです。内部スキーマと間違えないようにしてください。選択問題ででますよ。
・冗長性を排除していく(=完全性がある)
データベースは”矛盾”や”無駄”を省く性質があります。
たとえば、社員番号40番が石井さんなのに、社員番号40番を石川さんにすることはできません。
また、”文字”入力なのか、数字入力なのかはっきり定義しておく必要があります。
社員番号の列に名前を入れることはできません。
そして、一部を削除した場合は、関連する箇所も削除されます。
社員番号40番の石井さんが売り上げ40万円を達成していたのに、石井さんが退職して石井さんを”社員名簿テーブル”から削除していまうと、関連していた”売り上げ簿テーブル”の石井さんの売り上げがおかしなことになってしまいます。削除されるか、エラー表示になります。
・同時処理の制御する
複数ユーザが同じ処理をしても、それぞれの処理として
保管されます。エラーになってはいけません。
◆構築の仕方(開発者の視点)
(1)階層型DB
従属する関係。会社の組織図など。法人営業課がなくなると、その下の営業1課、2課もなくなる関係。
シンプルだけど、ちょっぴり扱いにくいデータ構造になっている。
(2)ネットワーク型DB
任意のテーブルと関係をもたせることができる”当月売り上げ簿”にデータを入力すると、”商品在庫簿”にも”担当別売り上げ簿”にもデータが反映されたりする。それにしても、複雑なのがこの形。データ構造を覚えておかないと入力すらできないという始末になってしまう。
(3)リレーショナル型DB
それぞれのテーブルが独立している。
今時のデータベースは全部これ。マイクロソフト社のOffice(Access)はこれ。
テーブルというところに記録する。テーブルは”行”と列”からなります。
行は縦のラインです。列は横のラインです。
それぞれの記録をレコードといいます。
・DBMS
現代のデ-タベースはDBMS(データベースマネジメントシステム)で定義・構築されています。
”ユーザとデータベースの間で機能している”ともいえます。
DBMSの定義例
・定義機能(文字入力なのか、数字入力なのか)
・リカバリ機能(データ破壊を直す)
・セキュリティ機能(朗漏洩・改ざんを防ぐ)
・再編成機能(格納位置など、物理的な整理を整理する)
・排他制御機能(データ内容の矛盾を防ぐ)
◆覚えておくべき用語
・データウェアハウス
時系列・目的別のデータ。意思決定支援に利用するデータベース。
・データマート
データウェアハウスから抽出したデータベース。
・データマイニング
規則性、関係性を見つけること。
※よく出題される
・リポジトリ
設計情報やプログラム情報を一元的に管理するためのデータベース。
・データディクショナリ
データの意味を登録した辞書
・シソーラス
同義語などを体系的に分類し、整理したデータベース。
単語の上位/下位関係、部分/全体関係、同義関係、類義関係を整理する。
「僕、私、うち、当方」はすべて「わたし」という意味です。
「データベース」と書いたり「DB」と書くのも意味は同じことです。(表記の揺れ)
そういった同義語、類義語を整理するのが「シソーラス」という考え方です。
テストの選択肢では「同義語の利用によって表記の揺れを吸収し,漏れの少ない検索が可能になる。」と記述されています。
・データベースにおける”再編成”とは?
追加・更新・削除を繰り返すと、再利用できない領域が増えたり、処理速度が下がる。
再編成によってデータベース内を整理する。
以上です。
yamatunes