
ER図ってなに?

任せて!月額無料の予約システム「タダリザーブ」が解説するよ!
「ER図って聞いたことはあるけれど…よく知らない」
「ER図? それって何なの? 聞いたこともない」
そんな人もいると思います。
ER図はデータベース設計の基本ですが、プログラミング初心者やまったくプログラミングを学んだことがない人の場合、そんな言葉は聞いたこともないという人もいるでしょう。
ER図は設計図のようなもので、ウェブサイトやシステムの複雑なデータベースの構造を可視化したいときは「ER図」が必要になります。
予約システムの導入を考えた時、どんな風に作られているのか気になるものです。
今回は、そもそもER図とは何?、ER図作成のメリット、ER図の基本構成等をご紹介します。
ER図とは?
そもそもER図とは何なのでしょうか。
ER図の「ER」は「Entity Relationship Diagram」の略です。
「Entity=実体」+「Relationship=関連」+「Diagram=図」となることから、実体関連図とも呼ばれます。ちなみに病院のERは「Emergency Room」の略となります。
ER図はデータベース設計の基本となる設計図のことを意味します。
ER図は設計図ですから、これを見ればシステムが扱うデータ構造や関連性などがひと目でわかるようになっているのです。
例えば、「客が文具を注文する」という処理をER図で表すと
実体(エンティティ):「客」「文具」
関連(リレーション):「注文する」
という具合になります。
このようにER図ではエンティティとリレーションシップの組み合わせでシステムが表現できるのです。
そのため、データベースが必要なWEBサイト、システム設計では必ず使われていて、ER図がなくてはデータベースを構築できないほど必要不可欠なものなのです。
ER図作成のメリット
では、ER図を作成すると以下のようなメリットがあります。
後戻りのコスト削減
データベースのテーブル数が多くなればなるほど、複雑になり、当然、どこかに設計ミスが生まれてきます。
この場合、どこにミスがあるのかをひとつずつ戻って検証する必要が出てきます。
特に大規模システムの場合、ER図があればシステム全体の構成を俯瞰して、どこに問題があるのかを突きとめることができます。
ER図があれば、たとえ設計者がいなくても素早く対応できるようになりまし、コスト削減にもつながります。
運用・保守に役立つ
システムは一度構築したら終わりではありません。よりよいシステムになるように改修を何度も繰り返していきます。
こうすることで問題がある点を少しずつよくして使いやすくしていくのです。
ER図があることで、どこをどう直したかがひとめでわかり、運用・保守に役立ちます。
ER図の基本構成
ER図は以下の5つの要素を用います。
- エンティティ
- アトリビュート
- リレーション
- カーディナリティ
- 依存・非依存関係
エンティティ
エンティティはデータのまとまりのことを指します。
要するにホルダーや入れ物のようなもので、その中にアトリビュートが入ります。
たとえば、教室という入れものがエンティティとすれば、中に生徒ひとりひとりが入れば、生徒がアトリビュートというイメージになります。
アトリビュート
アトリビュート(attribute)は属性とも呼ばれます。
「attribute」はWeblio辞書によれば「人や物・場所にもともと備わっている特質・特性・性格のことを意味する」となっています。
たとえば、「生徒」情報を例にすると、「生徒の名前」「生徒の住所」「生徒の電話番号」などに相当します。
リレーション
リレーションはエンティティ同士の関係性を表すもので、つまり、テーブル同士がどんな関係にあるかがわかります。
ER図上では線や矢印で表されます。
カーディナリティ
カーディナリティ(Cardinality)は、数学では「基数」または「濃度」という意味ですが、ITでは、テーブルの同一の列(カラム)に含まれる異なる値の数(バリエーション)のことを指し、「多重度」とも呼ばれます。
リレーションシップの状態を具体的に表現しますが、0か1ではなく、「1対多」「多対1」「多対多」など「多数」を表現したい場合は、鳥の足記法(Crow’s Foot)と呼ばれる表記法を使います。
一般的によく使用されるのは以下になりますが、これ以外にも多くの記号があります。
参考:若手プログラマー必読!5分で理解できるER図の書き方5ステップ
依存関係
テーブル間の関係が依存しているか依存していないかで、エンティティの形が変わります。
エンティティ間で親と子の関係になるため、どちらかのデータが欠けても成り立たないということになります。
依存・非依存関係は互いの存在が必要かどうかで判断します。
依存関係の場合はエンティティ間が親子関係になり、必ず紐づくデータが存在します。
一方、非依存関係の場合はエンティティ間に親子関係がなく、紐づくデータがなくてもシステムが成り立ちます。
予約システムの基本的な5つの機能
予約システムは名前通り、予約に関するさまざまな機能があり、主に下記の5つがメインとなっています。
もちろん、システムごとに特徴があり、向いている業種などもありますし、多店舗にも対応したものもあります。
店舗に合う予約システムを選ぶことが何より重要です。
- 予約の受付・管理
- 予約変更受付
- メール配信
- 顧客情報管理・分析
- 事前決済機能
予約の受付・管理
予約システムのメイン機能が予約の受付です。
予約システムのほとんどは縦軸が時間、横軸が日にちというようにカレンダーのような予約ページが表示され、予約できる日には○、空きがなければ×表示がされ、感覚的に利用できるようになっています。
予約変更受付
来店による予約や電話による予約変更も一元管理できます。
日時を間違えたり、急用が入ったりした場合、変更やキャンセルができるかどうかは重要なことです。
さらに店舗としてもドタキャン被害を最小限に抑えることもできます。
キャンセル待ち機能があれば利益損失防止にもつながります。
メール配信
予約システムのなかには、予約受付やキャンセル受付等をした際に自動メールを配信する機能を備えたものを搭載しているものもあります。
また、予約日時直前にお知らせメールを自動配信すれば、予約忘れによるドタキャン防止になります。
顧客情報管理・分析
名前、電話番号、性別といった顧客情報を一元管理することで、顧客の分析に役立てることができます。
適切なタイミングでおすすめサービスを送れるようになり、リピーター獲得にも役立ちます。
事前決済機能
予約システムのなかには、事前決済機能がついているものもあります。
予約時にクレジットカードや各種決済サービスでの支払いを済ませることができれば、ドタキャン防止にもつながります。
まとめ
予約システムには主に予約の受付・管理、予約変更受付、メール配信、顧客情報管理・分析、事前決済機能などが搭載されていますが、これらもER図による設計がされています。
予約システムを使う場合も、ただ単に使うだけでなく、システム構築に関する知識を頭に入れるだけでも使い方が変わってくるはずです。
今回、プログラミングに必要なER図を少しだけかじりました。これらを頭の隅に入れながら、予約システムを使ってみてください。
ドライヘッドスパ専門店ヘッドミント|格安ヘッドマッサージ全国展開中
ドライヘッドスパ専門店ヘッドミントのフランチャイズ募集