【ミニアプリ開発】4日目/基本設計②アプリのDBテーブル設計 | 若手エンジニアのブログ

若手エンジニアのブログ

文系出身の若手女子エンジニアによる技術ブログ。
日々の経験や学びをアウトプットするためにブログを書いています。
バックエンド(Java+SpringFramework)を経てインフラエンジニアになりました。
今は育休中につき、本で勉強したことを中心にアウトプットしています。

自分用の家計簿アプリ開発、4日目です!

今回はDBのテーブル設計を行いました。

 

これまでの記事はこちら。

【ミニアプリ開発】1日目/Oracleクラウドを登録してみた

【ミニアプリ開発】2日目/OracleクラウドのDBの種類と、DB作成

【ミニアプリ開発】3日目/基本設計①アプリGUI部分の設計

※作るアプリの詳細と環境は、3日目の記事に載せています

 

もくじ

1.ER図

2.各テーブルの説明

 

■ER図

ER図、何気に作成は初めて。

 

ER図を書くための便利なツールは、ググるとたくさん出てきました。

せっかくなのでツールを使ってみようと思い、今回は、

Git Hub、Git LabやDropBox、Google Driveとも連携できる、Draw.io(https://www.draw.io/)を使うことにしました。

 

Draw.ioで編集したデータが、選んだ連携先に保存されるようです。

 

実際のER図はこちら。

 ・PKは主キー(Primary Key)、FKは外部キー(Foreign Key)

 ・緑の部分がテーブル名

 

■各テーブルの説明

テーブル名 テーブルの説明

MAIN

家計簿の1つ1つのデータを登録するためのテーブル。

TYPE

帳簿の種類(収入・支出・貯金)を選ぶために設けておくテーブル。

CATEGORY1

帳簿の分類を登録するテーブル。
具体的には、「食費」、「消耗品費」などの分類を想定。

CATEGORY2

CATEGORY1テーブルの区分を、さらに細かく分けて分類するためのテーブル。
具体的には、「食費」区分に対する、「食料品費」、「外食費」などの小分類を想定。

FIXED

毎月固定の額(家賃支払い、給与など)を登録するテーブル。
固定額は年月を経ると変わる可能性があるため、
いつからいつまでの固定額かも登録できるようにする。

ALLAMOUNT

各月の、収入・支出・貯金のそれぞれの合計額を格納するテーブル。
※このテーブルは無くても、都度計算すれば合計値は出せます。
が、各月の合計を一覧化する「全体ページ」を開くたびに計算処理が走るのは嫌なので、

月の終了時点で当該月の合計値を計算し、このテーブルに格納しておくようにします。

 

 

今回は以上!

DBユーザや、OracleDB特有?の表領域についても考えたほうが良いと思うのですが、

OracleDBの勉強を進めながら、おいおい設計していくかんじかな…。

 

進みは遅いですが、ブログに書きだすことでモチベ維持につながっているので

引き続き頑張っていこうと思います(#^.^#)