• 締切済み

正規化について

テーブルの正規化には、第一正規形、第二正規形、第三正規形、ボイスコッド正規形、第四正規形、第五正規形のステップがありますが、それぞれのステップにおいて、どのような操作をしているのでしょうか? 特に、ボイスコッド正規形、第四正規形、第五正規形がよくわからないです。 情報無損失結合分解はなんとなくわかるのですが、多値従属性、結合従属性などの意味がまったくわかりません。

みんなの回答

  • xcrOSgS2wY
  • ベストアンサー率50% (1006/1985)
回答No.1

うーん、教科書的な回答以外にしようがあるとは思えないのですが。 何か参考書をご覧になっていて分からないところがあるのであれば、 「教科書には〇〇正規形への正規化について××と書いてあり、例として###→@@@と書いてあるのですが、この例がなぜこうなるのかが理解できません。」 というように具体的な内容を挙げてもらうほうが、断然回答しやすいですよ。

otu_otu
質問者

お礼

アドバイスありがとうございます。 私は、リレーショナルデータベース理論の全体を上手に見渡した話題が欲しかったのです。一歩踏み込んで勉強していると、さまざまな概念が出てくるのですが、「これらがどのように関連してこの分野を形成しているのか」を知りたかったのです。

関連するQ&A

  • データベースの正規化について

    第4正規形、第5正規形についてさっぱりわかりません。明示的に多値従属がどうのこうの・・・はい~~~??なんですか、これは・・・・・。 ボイスコッドまでは理解できたのですが、第4正規形、第5正規形だけはさっぱりです・・。 簡単にいうとこれらの正規形ってどういうことなんでしょうか。

  • データベース情報無損失分解、第四正規形について

    データベースの学習をしています。 以下の語を説明する文章がそれぞれどれかわかりません。 用語 (1)情報無損失分解 (2)第四正規形 (a)リレーションスキーマリレーション中の結合従属性(X1, X2, ...., Xn)が自明な結合従属性であるか、各XiがRのスーパーキーである場合に成り立つ (b)リレーションスキーマR中の多値従属性X→Yが自明な多値従属性であるか、XがRのスーパーキーである場合に成り立つ

  • ボイスコッド正規形

    http://www.techscore.com/tech/sql/16_02.html を参考に勉強しているのですが、ここのサイトでの疑問点です。 ボイスコッド正規形の説明の一番最後のほうに、 --引用-- 受注番号を主キーとし、下のテーブルでは納入業者を主キーとします。それぞれ、受注番号→商品番号、納入業者→商品番号という完全関数従属関係が成立しています。これらのテーブルは、ボイスコッド正規形の条件を満たしています。 --引用終わり-- ココの点で、受注番号→商品番号の関数従属はなりたっているのでしょうか?? 12345は商品番号001,002の二つを指している気がするのですが。

    • ベストアンサー
    • MySQL
  • 第4正規系を説明する文章は、どちらだと思いますか?

    【データベース】第4正規系を説明する文章は、どちらだと思いますか? a) リレーションスキーマR中の結合属性*(X1, X2, X3,...,Xn)が自明な結合従属性であるか各XiがRのスーパーキーである場合に成り立つ b) リレーションスキーマR中の多値従属性X→→Yが自明な多値従属性であるか、XがRのスーパーキーである場合に成り立つ

  • ボイスコッド正規化

    ボイスコッドを必要とする条件で 「自明でない関数従属性が成立する場合」がわからず困っております。 以下の表があります。 備品グループ  社員氏名 承認者 パソコン類  櫻井忠雄 山田課長 パソコン類   伊藤隆  佐藤課長 パソコン類   福永達也 山田課長 プロジェクタ類 櫻井忠雄 鈴木課長 <ルール> ・備品グループと社員ごとに承認者が決まっている。 {備品グループ、社員}→承認者 ・承認者は一つのグループしか承認できない。 承認者→備品グループ とあるとき、挿入、削除、更新異状が発生することはわかったのですが 「承認者→備品グループという自明でない関数従属性が成立している。」 よって、「ボイスコッド正規化をする必要がある」とありました。 「承認者→備品グループ」は自明に思える(佐藤課長(ほかの課長も)は、パソコン類(承認するものは1つ)のみで、 プロジェクタ類の承認はしてないので自明だと思う)のですが この考えは間違っているのでしょうか?

  • また正規形について。

    http://www.techscore.com/tech/sql/16_02.html のURLの下の方の表 受注番号、商品番号、納入業者 12345  001   業者 A 12345  002   業者 B 12346  001   業者 A 12347  001   業者 D において、 ****以下引用**** このとき、非主キー列「納入業者」は「受注番号」と「商品番号」から決まりますので、(受注番号、商品番号) →納入業者は関数従属の関係が成立しています。よって、このテーブルは第二正規形の条件を満たしていると言えます。(中略) ****引用終わり**** とありますが、私には 商品番号→納入業者 という関数従属関係があるきがするのですが違うのでしょうか?なので第二正規形の時点で、 (商品番号、納入業者)という表が新たに分離される気がするのですが… さらに、 http://www.st.rim.or.jp/~ryoma/tips/seikika.htm のURLの同じくボイスコッド正規形で扱われ表、 商品コード、仕入先コード、担当者コード 000120001 111 401 000120001 112 402 000120002 111 401 000120002 150 403 仕入先コード、仕入先名 001 東京商店 002 大阪商会 003 名古屋流通 で、 *引用* 商品コード、仕入先コード、担当者コードを属性とする上の表は、繰り返し部分を持たず、また商品コード+仕入先コード、あるいは商品コード+担当者コードをキーとすることができ、かつ推移従属の関係が存在しないため、第三正規形です。 *終* とありますが、主キーを【商品コード、仕入先コード】と決めたとき、非候補キーである担当者コードは仕入先コードに関数従属している気が(私は)してしまうので第二正規形へ変形した時点で(仕入先コード、担当者コード)という表が分離されていると思うのですが。 以上の解釈で間違っている考えがあればご指摘ください。

    • ベストアンサー
    • MySQL
  • 表の正規化について

    もしかしたらカテゴリーが違うかもしれませんが 「情報」というカテゴリーがなかったので… Q:表1と表2を結合を説明せよ。 また、それを第一正規形から順を追って説明せよ。 という課題が出されました。 結合は分かったのですが、2行目の問題の意味が良く分かりません。 正規化しろという意味ではなさそうですし… 順を追ってということは過程が何個かありそうです。 どなたかこの意味を教えていただけないでしょうか? ちなみに、表1も表2も正規形です。 文章だけでわかりにくいとは思いますが 分かる方よろしくお願いします。

  • データベース設計

    今まで、サンプルデータを元にselect文の使い方を主に勉強していたのですが、突然データベース設計のレポートを出題されました。 同時に、自分で設計したレポートで意味のあるいろいろなselect文を実行してみる。と言うのも課題なのですが、こちらは何とかなるとおもうのですが、設計がよく分かりません。 課題の内容は以下の通りです。 1.1 ER図 1.2 スキーマ定義とドメイン制約 1.3 想定表における関数従属性、多値従属性、結合従属性 1.4 想定表における候補キーの算出 1.5 想定表における第3正規形判定と分解 1.6 外部キーの説明 具体的にどのように設計していけばよいか、各項目でなにをしなければいけないのか等、参考になるコトを教えてください。 授業の配付資料を読み直してみたのですが、ER図やスキーマ・ドメインなど、出てきてないようです。

  • 推移的関数従属について(第4正規形?)

    推移的関数従属について教えてください。 推移的関数従属  A->B->C かつ A <- Bではない 参考にしている本:  データベース午後徹底演習(2001年11月初版) ページ76P 問題: 職種テーブル  職種 言語経験 DB経験 R 17~20 10-13 SE 10~16 5 -9 P 0~9 0 -4 があり、問題文に 言語及びDBと職種の対応関係は上記のとおりとする。 言語及びDBのいずれか一方の経験ポイントが職種テーブルの該当職種のポイントに満たないような担当者はいないものとする。 たとえば職種がSEの人は、必ず言語経験が10-16のポイントで、かつDB経験は5-9の間のポイントである。 これから、  言語経験 -> 職種  DB経験 -> 職種 を導きましたが、解説を見ると、 {言語経験、DB経験}は、多値従属性が存在するが、値を一意に決定することができない となっています。 多値従属性を理解していないのが原因かもしれませんが、なぜ一意に決定できないのでしょうか? (1つの値に対して、「1つ以上の」値が対応する)が定義なのですが、上記の説明を見ると一意に特定できると思うのですが。 データを登録するときにそのような制約を儲けていないからダメということなんでしょうか? よろしくお願いします

  • 第3正規化とは何でしょうか

    データベースの第三正規化がよく分かりません。 第二正規化との違いがよく分かりません。 第2→主キーの一部に従属する項目を分離 第3→主キーに従属しない項目を分離 という説明があったり (このテキストでは、主キーを常に複合キーとしているようであり、その複合キーの(2つとして)どちらかを主キーとする表をつくるのが2で、その複合キーのどちらとも関係しない列を主キーとする表を3としているようなのですが、そもそも主キーは複合キーとは限らないはずだと思うのですが・・) 別のテキストでは(ある基本情報技術者試験のテキスト) 第2→関数従属 第3→推移的関数従属 という説明があったりします(推移的関数従属というのをネットで調べてみましたが、その概念がここでどう当てはまるのか分かりません) このへん教えていただけませんでしょうか? あるいは、分かりやすくある程度体系的に教えているページや本があれば教えてください。