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?

ER図について

Posted at

データベース設計について
 Rubyonrails初学者になります。備忘録のために記事を投稿します。

現在はチーム開発カリキュラムを学習しており、データベース設計という単語がでてきました。

データベース設計とは?
 どのような情報をどういった構造でデータベース化するのか設計することをデータベース設計というらしい。

データベース設計に必要なこと
 1.エンティティを洗い出す
 エンティティとはテーブルのこと。実装したい機能に従って必要なテーブルを作成する。

2.要件から情報を抜き出す
 例えば商品テーブルでいくと、商品名であったり、商品の紹介文であったり、カラムにあたる部分

 3.重複する部分は分割する
  この部分は私にとって理解が難しかった部分にあります。
注文テーブルを例にとって理解しました。
スクリーンショット 2024-05-13 003510.png

例えばこのような注文テーブルがあるとします。(雑ですがご容赦ください)2つ悪いところがありまして、1つ目は空のカラムが存在していることです。空のカラムが存在しているとデータベースとして運用する際にエラーが発生する要因になるとのこと。
2つ目はカラムが増える可能性があること。現状では購入商品は2種類のみですが、今後購入した人が3種類や4種類購入することもあるかと思いますが、そうした場合に新たにカラムを追加する必要があります。一度作成したデータベースを後から更新するのは、バグなどを生むリスクが大きいため、よろしくないとのことです。

ではどうすればいいのかというと、もう一つ新たにテーブルを作成する必要があります。
スクリーンショット 2024-05-13 004522.png
下の2つが新しいテーブルになります。注文商品テーブルには注文IDと紐づけできるように注文IDのカラムが追加してあります。

以上のことからデータベースを作成する際には
  ・空のカラムは存在していないか
  ・カラムを増やす必要がないか
この2つに注意して作成する必要があります。

途中ですが、いったん休憩のため後日作成いたします。拙い文章で申し訳ありません。間違いがあれば、ご指摘いただけると幸いです。
 

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?