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

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

新規登録して質問してみよう
ただいま回答率
85.48%
Oracle Database

Oracle Databaseは、米オラクルが開発・販売を行うリレーショナルデータベース管理システムです。

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

PostgreSQL

PostgreSQLはオープンソースのオブジェクトリレーショナルデータベース管理システムです。 Oracle Databaseで使われるPL/SQLを参考に実装されたビルトイン言語で、Windows、 Mac、Linux、UNIX、MSなどいくつものプラットフォームに対応しています。

データベース

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

データベース設計

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

Q&A

解決済

3回答

473閲覧

【データベース】正規化する際に列が関数従属かどうかの判断について

matsuo_basho

総合スコア88

Oracle Database

Oracle Databaseは、米オラクルが開発・販売を行うリレーショナルデータベース管理システムです。

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

PostgreSQL

PostgreSQLはオープンソースのオブジェクトリレーショナルデータベース管理システムです。 Oracle Databaseで使われるPL/SQLを参考に実装されたビルトイン言語で、Windows、 Mac、Linux、UNIX、MSなどいくつものプラットフォームに対応しています。

データベース

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

データベース設計

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

0グッド

1クリップ

投稿2022/05/23 13:28

いつも大変お世話になっております。
最近DBの正規化について学んでおります。

とあるサイトで正規化の細かい説明をされているのを拝見したのですが、
この場合、この項目(列)はどちらに含まれるのかというのがわかりません。

https://www.fe-siken.com/bbs/0581.html

上記サイトより例を拝借します。

次のような表があったとします。 受注(受注No, 受注日付, 顧客コード, 顧客名, 商品コード, 商品名, 単価, 数量) 主キーは、{受注No, 商品コード}で、次の関数従属があったとします。 受注No -> 受注日付, 顧客コード, 顧客名 顧客コード -> 顧客名 商品コード -> 商品名, 単価 {受注No, 商品コード} -> 数量

この一番最後の {受注No, 商品コード} -> 数量 がわかりません。

というのも、受注No, 商品コードが決まれば自ずと数量も確定するというのは理解ができるのですが、
そもそも 受注No のみでも「数量」自体は確定するのではないかと思えてしまいます。

要は 受注No -> 受注日付, 顧客コード, 顧客名, 数量 ということでも良いのではと思います。

詳しい方がいらっしゃれば、この点を上手くご説明いただけると幸いです。
どうぞ宜しくお願い致します。

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

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

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

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

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

guest

回答3

0

ベストアンサー

受注No -> 受注日付, 顧客コード, 顧客名, 数量

受注日付6/2に顧客●●さんと(商品)10個取引しました

引用テキスト{受注No, 商品コード} -> 数量

受注日付6/2に顧客●●さんと商品コード■■の(商品)3個取引しました。
受注日付6/2に顧客●●さんと商品コード■▲の(商品)7個取引しました。

投稿2022/06/02 14:36

logres_Fan

総合スコア164

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

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

0

1つの受注に複数の商品コードが含まれるということです
ちょっと認識が難しくなりますが、受注データには普通
明細ごとに単価、数量、金額(単価*数量)、税
などをもたせて、伝票ごとの合計金額を付加したうえで
伝票単位で完結するような作りにします

投稿2022/05/24 01:24

yambejp

総合スコア114833

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

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

0

受注伝票を思い浮かべましょう。
1度の受注で複数の商品を扱えばその受注伝票の商品毎の受注数が必要になるのでは?商品毎の受注数を合計しても意味はないですよね?
別に受注NOをPRIMARY KEYとする受注テーブルがあるのでは?

投稿2022/05/23 15:54

Orlofsky

総合スコア16415

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問