質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
データベース

データベースとは、データの集合体を指します。また、そのデータの集合体の共用を可能にするシステムの意味を含めます

データベース設計

データベース設計はデータベースの論理的や物理的な部分を特定する工程です。

データ構造

データ構造とは、データの集まりをコンピュータの中で効果的に扱うために、一定の形式に系統立てて格納する形式を指します。(配列/連想配列/木構造など)

最適化

最適化とはメソッドやデザインの最適な処理方法を選択することです。パフォーマンスの向上を目指す為に行われます。プログラミングにおける最適化は、アルゴリズムのスピードアップや、要求されるリソースを減らすことなどを指します。

Q&A

解決済

1回答

644閲覧

DBのカラム分けのメリットとデメリットについて

tr_09

総合スコア44

データベース

データベースとは、データの集合体を指します。また、そのデータの集合体の共用を可能にするシステムの意味を含めます

データベース設計

データベース設計はデータベースの論理的や物理的な部分を特定する工程です。

データ構造

データ構造とは、データの集まりをコンピュータの中で効果的に扱うために、一定の形式に系統立てて格納する形式を指します。(配列/連想配列/木構造など)

最適化

最適化とはメソッドやデザインの最適な処理方法を選択することです。パフォーマンスの向上を目指す為に行われます。プログラミングにおける最適化は、アルゴリズムのスピードアップや、要求されるリソースを減らすことなどを指します。

0グッド

0クリップ

投稿2020/09/08 06:26

編集2020/09/08 07:59

DBのカラムを分けて管理することのメリット・デメリット
1つにしておくことのメリット・デメリットはなんでしょうか?
前提として、DBにHTMLソースをそのまま格納し、表示させています。

例えば

<div class="aaa">  ただいまの時間は12時です。  <div class="aaa_table"> <table> <tr> <th>時間</th> <td>予定</td>     </tr> <tr> <th>時間</th> <td>予定</td>     </tr> <tr> <th>時間</th> <td>予定</td>     </tr> </table> </div> </div>

このようにテンプレート化されたものがあるとして、
データを追加するときに、毎回同じように"aaa"と"aaa_table"の中身を帰る場合、
DBで一つのカラムに入れず"aaa"と"aaa_table"でカラムを分けて格納しておく方法と
"aaa"と"aaa_table"(上記のコード)を全て1つのカラムに入れておく場合のメリット・デメリットがあれば教えていただきたいです。


●自分なりの考察
カラムを分けるメリット・デメリット
メリット:特定の情報を全削除する場合にカラムごと消せば良いので対応しやすい。
データの個数変更にも対応しやすい
デメリット:詳細に砕いていくと、膨大な量と工数になってしまう。

 カラムを1つにするメリット・デメリット
メリット:データの流し込みが楽
デメリット:特定のセクションに対しての操作が大変。(一部だけ非表示にしてほしい等)


イメージです。(伝わりづらかったらすみません。)
●カラム1つ

idcontents
1<div class="aaa">ただいまの時間は12時です。<div class="aaa_table"><table>~~~

●カラム分ける

idcontentssub_contens
1<div class="aaa">ただいまの時間は12時です。<table><tr><th>時間</th>

参考にしたいので、よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

maisumakun

2020/09/08 06:42

両者について、想定しているテーブル構造を示していただけないでしょうか? (どこまでデータベースに格納するのかという、その段階から考え方が違う可能性もあります)
退会済みユーザー

退会済みユーザー

2020/09/08 06:43

Web アプリの話のようですが、そうであればサーバー側は何になるのか書いてください。より具体的な回答が得られるかもしれません。あと、DB サーバが何かも書いてください。 質問内容が分かりません。「時間」と「予定」のデータを含むレコードが複数あり、それを質問のコードにあるテーブルに表示するのに、レコードには「時間」と「予定」という 2 つのフィールドを持たせるのが良いのか、それとも「時間,予定」というように一つにした方が良いかということですか?
hentaiman

2020/09/08 06:44

なに言ってるのか分からない。考察の部分見ると尚更何の話をしているのか分からない。htmlの構造の話ですか? それとも本当にDBの話だとして、DBにも色々あるけどmysqlとpostgresのようなRDBを想定した話ですか?
tr_09

2020/09/08 08:00

カラムイメージ追加いたしました。 初心者で申し訳ありません。分からないことたくさんありますので、ご指摘いただけたらと思います。
hentaiman

2020/09/08 08:03

ブログシステムみたいなもんで使うデータの保存を考えている???
tr_09

2020/09/08 08:05

そうです!
hentaiman

2020/09/08 08:18

一般的には「時間」「予定」の部分だけをDBに入れますが、ブログシステムのようなものだと作る人の設計次第気分次第なので、どれが良いとかは無いです。 一度適当に作ってから改善点を伺った方がいいでしょう。
tr_09

2020/09/08 08:22

承知いたしました!詳しい回答ありがとうございます。
guest

回答1

0

ベストアンサー

このようにテンプレート化されたものがあるとして、

テンプレートでしたら、一般には中身の「12時」とか、それぞれの時間と予定の内容だけデータベースに入れておくものです。

HTMLごと入れるという構造は、「ページごとに全く構造から違うブログなので、全部HTMLで保管しておく」ようなシチュエーションでしか行いません。

投稿2020/09/08 08:10

maisumakun

総合スコア146018

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

maisumakun

2020/09/08 08:12

ということで、一連のHTMLをcontentsとsub_contentsに分ける方に関しては、「設計意図が全くわからない」です。
tr_09

2020/09/08 08:14

回答ありがとうございます! HTMLソースごと別々に格納して呼び出すイメージで考えていましたが、たしかに全てがテンプレ化されているのであれば、中身だけDBに保存で良いですね!ありがとうございました!
tr_09

2020/09/08 08:15

自分で提案しておきながら、自分でもその構造にあまり理解ができておらずでした…すみません
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問