【发布时间】:2012-11-21 00:46:51
【问题描述】:
我正在尝试使这种关系正常化:
film_year film_name critic_id critic_name cinemas_debut score
2004 I robot 111 John NY_cinema, LA_cinema 4
2004 I robot 222 Mathiew NY_cinema, LA_cinema 5
在哪里...
- film_year 和 film_name 标识电影。
- Cinemas_debut 是一个多值属性。
- critic_id -> 批评者姓名
- film_year、film_name、critic_id -> 评分
我无法将关系转换为 3FN。这是我尝试过的:
- 步骤 1
到 1NF:
film_year film_name critic_id critic_name cinemas_debut score
2004 I robot 111 John NY_cinema 4
2004 I robot 222 Mathiew LA_cinema 5
2004 I robot 111 John NY_cinema 4
2004 I robot 222 Mathiew LA_cinema 5
- 第二步
到 2NF:
我将critics 关系识别为critics ( critic_id (pk), critic_name )
还有reviews 关系为reviews(film_year (pk), film_name (pk), critic_id (pk), score)
但我不知道如何处理结果关系:
film_year film_name critic_id cinemas_debut
2004 I robot 111 NY_cinema
2004 I robot 222 LA_cinema
2004 I robot 111 NY_cinema
2004 I robot 222 LA_cinema
我的方法有什么问题?有人可以将这种关系翻译成 3FN 吗?谢谢。
【问题讨论】:
标签: database-design normalization