1

次の表を作成しました。

  SCHEDULE
  -id_movie
  -id_room
  -date
  -hour

(Id_room,date,hour)主キーを形成します。特定の日付、特定の時間に、私は特定の部屋に映画しかありません。問題は、このテーブルが第4正規形(4NF)ではないことです。アドバイスをいただけますか?BCNFにあると思います。

テーブルにはmultivalued依存関係があります:id_room—>> hour

このテーブルを4NFにする必要があります。

4

2 に答える 2

3

このテーブルは4NFです。多値の依存関係はありません。つまり、タプル(a、b、c)と(a、d、e)が存在する場合、(a、b、e)と(a、d、c)が存在する必要はありません。

特定の場合:

(1、21/1 / 13、5pm)および(1、22/1 / 13、7pm)は(1、21/1 / 13、7pm)および(1、22/1 / 13、5pm)を必要としません。これは禁止されていませんが。

あなたの混乱は、日付と時刻が2つの列に分割されていることに起因していると思います。特定の瞬間を識別するには、両方が必要です。

于 2013-01-20T23:58:28.093 に答える
2

ウィキペディアから、第4正規形

テーブルは、自明でない多値従属性のすべてについて、スーパーキーである場合、つまり候補キーまたはそのスーパーセットである場合にのみ、4NFになりX->>Yます。XX

multivalued関係には依存関係があるとあなたは言います: id_room->hour

しかしid_room、候補キーでもスーパーセットでもありません。

したがって、その場合、関係は4NFにはありません。


スキーマを4NFにするには、次の2つの関係に分割できます。

  SCHEDULE_DATE_MOVIE
  -id_movie  
  -id_room   *
  -date      *

  SCHEDULE_HOUR
  -hour
  -id_room   *
于 2013-01-21T00:41:31.607 に答える