Open6

チーム開発の軌跡

かいかい

初日2024年11月12日

グループ単位で行ったこと

  • メンバーとの自己紹介
  • 簡単なグループワーク
  • 簡単な読み合わせ
  • 簡易的なWBSの作成・提出

個人で行ったこと

  • 今後の設計で扱うファイルの管理
  • カリキュラムの「システム設計」の熟読
  • ER図作成の用意
かいかい

ER図作成について

XMLファイルを保存してdraw.ioで読み込む方法

運営が用意したXMLファイルを使用してテンプレにそって作成する感じ



基本的なER図作成の手順は

  1. エンティティを洗い出す(箱)
  2. 要件から属性を抜き出す(箱の中身)
  3. 重複するもの(繰り返し項目)は分割する
  4. 外部キーで置き換える
  5. マスタ項目を分割する
  6. 多重度を考える(つながりの時の大小関係)

この流れで作成する

今回の課題では「1. エンティティを洗い出す」は用意されている(不足はあるかも)

テーブル名の命名もすでに完成しているので今回はなし

基本的なルール

日本語で定義する
単語である
分かりやすい名前
スネークとかキャメルとかも統一、もしくはプロジェクトに合わせる

チーム開発では「2. 要件から属性を抜き出す(箱の中身)」から本格的に行う

実質的に2と3は同時に頭の中で考えておく、ついでに4の外部キーも頭の片隅に…

かいかい

外部キー

同じ名前の人でも、違う認識をするためのキー
他の人はかぶらないはずのカラムを考える⇒簡単なのは各テーブルのPK

PK?

各テーブルの中で一意にレコードを識別するためのカラムです。
通常、テーブルごとに必ず1つのプライマリキーを持ち、そのカラムは重複することがありません。
PKはテーブルのレコードを正確に検索、更新、削除するために重要です。

マスタ項目

マスタテーブル⇒アクションによってデータの増減がないテーブル
取引が行われてもデータの変化がないジャンルテーブルという認識

マスタテーブルと反対なのが、トランザクションテーブル⇒データが蓄積されるようなテーブル

ジャンルテーブルのPKが「ジャンルで分けたいテーブルの項目になってる」

今までは「ジャンル分けしたいテーブル」のなかで、カラムとして「ジャンルA」「ジャンルB」を
扱ってきたが、新しいジャンルを増やしたり、編集する時にめんどくさいので、
「ジャンル」というテーブルを作成して。その中でA,Bがレコードとしてある。
そのレコードたちにはPKが割り振ってあるので、「ジャンル分けしたいテーブル」では
そのPKを指定すればジャンル分けができる

かいかい

多重度

基本的には

  • 1   対   1
  • 1  対 多(N)
  • 多(N) 対 多(N)

「1対1」と「多対多」は、あまり推奨されません

  • 1対1のリレーションは、テーブルをまとめることができる
  • 多対多のリレーションは、原則作ってはいけません
    ⇒多対多の回避方法は中間テーブルを作成する
中間テーブルに対する自分なりの解釈

・部活と生徒の関係で考えてみる

部活は複数あって、生徒も複数いる。
⇒1つの部活には複数の生徒が存在する
⇒1人は複数の部活を兼部できる

多対多をそのままリレーションをすると
⇒同じ項目が並んでしまう
⇒⇒組み合わせを考えるのが難しくなるって事
⇒⇒⇒テーブルは1つのID(指標)を決めることによってレコード(行)を特定できるはず

ここでの作業は「1対1」「1対多」「多対多」をすべて確認したうえで、
どうやって1対多にするか考える作業みたいなもん

かいかい

2日目2024年11月13日

グループ単位で行ったこと

  • 個人で作成したER図を見せ合い相談
  • ER図の提出(1回目)
  • 提出後のセルフチェック
  • ER図の提出(2回目)
  • 明日までの行動の確認

個人で行ったこと

  • ER図の仕上げ
  • テーブル定義書の作成
かいかい

gitのつかうコマンド

「ブランチを切る」(新しい作業を行う)

git checkout -b 作業名

~作業する~

変更点の確認

git status

変更した箇所・追加した箇所だけアップ

git add -A 

コミット

git commit -m "コメント"

リモートに挙げる(GitHubに反映)

git push origin 作業名

最新developとの差分を読み込む

git pull origin develop