株式会社わくわくスタディワールド

リレーショナルモデルを理解してデータベース設計を行う

昨日,エンバカデロ・テクノロジーズ主催で開催された「DBエンジニアのための技術勉強会」に行ってきました。
漢(オトコ)のコンピュータ道」というブログを書かれている,MySQLの専門家である奥野幹也先生のセッションで,『データベース設計徹底指南!!』というテーマで開催されました。

内容は,こちらでスライドが公開されていますのでご覧いただければと思いますが,リレーショナルモデルとデータベース設計についての理論的な解説が中心でした。
セミナーの中でも言われていましたが,データベースの設計はリファクタリングが難しいので,変な設計を行うと,それが技術的負債になります。
負債はどんどん積み重なっていきますので,ちゃんと理論を理解して設計を行うことは大切だな,と改めて感じました。

また,お話を聞いてすごく感じたのは,「今でも正規化を知らないでシステム開発をやる人って結構多いんだなぁ」ということでした。
私自身,最初の会社に入社したてのころに関わったシステムのデータベースが,全然正規化されておらず,そのせいでのトラブルが続出で苦労した経験があります。
今でも,現場では理論が軽視されて,誤った常識で作られているところが多いんだということを知りました。

データベース設計の手法自体は,情報処理技術者試験の勉強をするときに出てくる内容と同じです。
リレーショナルモデルや正規化については,基本情報技術者試験や応用情報技術者試験の勉強で,ひととおり学習します。
実際の現場では,この基本レベルの設計理論を知らない人も結構いるように思います。

リレーショナルモデルは数学の理論なので,机上の勉強でちゃんと理解しさえすれば実務で役立てることができます。
データベーススペシャリスト試験は設計にかなり特化していますので,ひととおり学習すれば状況に合わせてデータベース設計を行うことができるようになると思います。

また,試験を受けなくても,データベース設計を実際に行う技術者なら,リレーショナルモデルの基本的なことは,全員わかっていて欲しいです。
適当にデータベースを作ることの怖さは,体験している人も多いんじゃないかと思います。
リレーショナルデータベースを使うなら,データベース理論の理解は必須,ぐらいにしてほしいものです。

ということで,改めてデータベースの基本について,特に正規化を中心に動画をいくつか作成してみました。
特に試験,ということは関係なしに,気軽に見ていただければと思います。
一応,基本情報技術者向けぐらいに,やさしく説明したつもりです。

データベースとは


データモデル


関係データベースで起こる問題


正規化の目的


第1正規形


主キー


第2正規形


第3正規形


データベースの理論をしっかり理解して,実務に役立てていきましょう。