0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【DB設計】DBを制する者がシステムを制する

Last updated at Posted at 2023-12-05

本記事について

達人に学ぶDB設計徹底指南書』の個人的ポイントをまとめたもの。

自分の理解を深めるとともに、誰かにとっての気づきになれば幸いです。
(記憶を頼りに書いているので、情報が間違っていたらすみません)

本記事を書こうと思ったきっかけ

現在オリジナルアプリを作成しており、その中でデータベースの設計をしています。
しかし自分がデータベースの設計について本質的な理解がないことに気づいたので、勉強することにしました。

本記事の要約

  • データ(データベース)はありとあらゆるサービスで使われている
  • 最も広く使われているDBのモデルはRDB
  • RDBではオラクル、MySQL、SQLといったDBMSが有名
  • システム開発は処理でなく、先にDBから設計する

データベースに関連する用語の整理

「データ」とは、「ある形式(フォーマット)に沿って揃えられた事実」を意味します。

「データベース(以下DBと表記)」は、それらデータの集合です。

そしてこのDBを管理するシステムのことを、「DBMS(Database Management System)」と言います。

DBの代表的なモデル

DBの代表的なモデルとしては以下のようなものが挙げられます。

1. RDB(Relational Database)
2. OOD(Object-Oriented Database)
3. XMLD(XML Database)
4. KVS(Key-Value Store)

この中で最も広く使われているモデルが、1のRDB(リレーショナルデータベース)になります。

RDBにおいて、データは2次元のフォーマットで格納されます。

また、本書ではこのRDBに焦点が当てられます。

RDBの主なDBMS

  • Oracle
  • SQL Server
  • MySQL

RDBではオラクルやSQL Server、MySQLといったサービスがよく利用されています。

なぜDB設計が大事なのか?

それではシステム開発において、なぜDB設計は重要なのでしょうか?

それは現在のシステム開発プロセスは「データ志向のアプローチ(DOA)」を採用しているためです。

これは「プロセス(プログラム)を先に作るのではなく、データを先に作る」という思想を指します。

こう聞くと、『プログラムを組んでからデータ設計するんじゃないの?』と思われる方もいるかもしれません。

しかし例えば受注・発注・仕訳といった機能を持つプログラムを作ってからデータ設計するとなると、

それぞれの機能ごとにデータを設計することになります。

その結果データが重複したり、整合性が取れなくなることがあるのです。

そのため現在では、先にデータ(を扱うルール)を決めてから、それに合わせてプロセスを作るという工程が主流となっています。

DB設計の3要素

DB設計にあたっては、次の3つのスキーマ(枠組み)が重要となります。

①外部スキーマ
②概念スキーマ
③内部スキーマ

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?