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

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

新規登録して質問してみよう
ただいま回答率
85.47%
SQL

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

意見交換

6回答

340閲覧

正規化の行データを列表現したい

ono.kintai0926

総合スコア4

SQL

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

0グッド

1クリップ

投稿2024/04/20 08:41

編集2024/04/21 04:53

正規化の行データについて

DB設計において正規化を行い、別テーブルに行データを保存した場合についてです。
行で保存したデータを列でエクスポートするという要件がある場合の対応です。
様々考え方あるかと存じますが、見解をお伺いしたいです。

条件

各対応する行データ数は異なる。

具体例

idname
1山田 太郎
2田中 花子
idnoplace
11山形
12福岡
13北海道
21香川
22愛知

対応案

・1行での表現は諦め、複数行データとして出力する。
・データ取得時は行データとし、プログラムで対応する。
・行データ数に制限を設ける
など、、

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

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

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

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

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

回答6

#1

logres_Fan

総合スコア164

投稿2024/04/20 09:55

 行で保存したデータがあって、列でこんな風にエクスポートしたいと、具体例を過不足なく提示して下さい。何故、そうしなければいけないのか明確に説明して下さい。

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

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

#2

sazi

総合スコア25199

投稿2024/04/20 12:24

編集2024/04/21 10:19

正規化している状態は崩さず、複数の行データを1行に纏めたものをエクスポートします。
複数の行データを1行に単に纏めるのはSQLレベルで対応します。
※どのように纏めたいのかによりますが、一般的にはクロス集計などと呼ばれるものです。
どうしても対応できない部分は、プログラムで編集します。

DBサーバーは比較的リソース(メモリ等)が潤沢な事が多くて、大量件数を処理する場合の制約が出にくく、先ずはSQLでというアプローチが多いですね。

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

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

#3

logres_Fan

総合スコア164

投稿2024/04/20 13:09

・1列での表現は諦め

1列表現?
1
1
山形
1
2
福岡

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

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

#4

ono.kintai0926

総合スコア4

投稿2024/04/21 05:03

ご意見ありがとうございます。
ご指摘の通り、一列→ 一行の誤りです。
修正いたしました。

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

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

#5

yambejp

総合スコア114883

投稿2024/04/21 09:12

質問の意図がわかりかねる部分もありますが
正規化データを集約して1行で出力するならカンマ区切りやJSON系のデータに集約すればよいのでは?
データ保持を1行でする場合も考え方は同じですが、それをやると正規化にならないのでおすすめしません

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

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

#6

logres_Fan

総合スコア164

投稿2024/04/21 10:51

・1行での表現は諦め、複数行データとして出力する。
・データ取得時は行データとし、プログラムで対応する。
・行データ数に制限を設ける

 河岸を変えるのはいかが?例えば、洋食屋に入店したのに洋食メニューに不満がある。なんて場合に、諦め、味変プログラム、注文縛りドリンクオンリーを悩む必要があるのかしら。

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

この意見交換はまだ受付中です。

会員登録して回答してみよう

アカウントをお持ちの方は

関連した質問