質問: 画像のようにタブで情報が分かれてる時のデータベースへの登録で質問があります。 「会社概要」「採用データ」「企業マイページ」それぞれのタブを押した時、そのタブの情報が入っていると思いますが、データベースに入れる時は「会社概要」から「企業マイページ」までの情報のhtmlソースをまとめて登録するのでしょうか? または、「会社概要」は「会社概要」用のテーブル、「採用データ」は「採用データ」用のテーブルに分けて、テーブル結合して表示するのでしょうか? ご回答のほどよろしくお願いいたします。 ![イメージ説明](https://teratail-v2.storage.googleapis.com/uploads/contributed_images/c91af37613faeb7e7cb6796453bfac32.jpeg)
回答: 基本的には内容ごとにデータベースに保存します。 htmlごと保存するのはサイトを作るうえでもデータベースに保存するうえでも不便な点が多いです。(データ型やサイズが特定しづらいため) 今回の場合であればhtmlソースで保存してしまうと「会社概要」の部分だけ取り出したい場合は全体から該当部分だけぬきださないといけません。したがって多くの場合はなるべく小さい単位「会社概要」の項目ごと(会社名など)にデータベースに保存することが多いです。 「会社概要」は「会社概要」用のテーブル、「採用データ」は「採用データ」用のテーブルに分けて、テーブル結合して表示するのでしょうか? →「会社概要」「採用データ」「企業マイページ」をそれぞれに各テーブルを用意するかどうかは場合によります。 「会社概要」「採用データ」「企業マイページ」が1対1対1であるならば、1つのテーブルにしてもよいですし、「会社概要」にたいして「採用データ」が複数あるのであれば、「採用データ」用にテーブルを分けるほうがよいです。 また、同じページに表示するために、必ずしもテーブル結合する必要はありません。(参照したいテーブル分SQLを発行すればよいので。) ※そこまで技術的な説明は求められていないようでしたので誤解を生む表現が若干ふくまれることも承知でざっくりとした回答とさせていただきました。