首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >表格布局的3NF

表格布局的3NF
EN

Database Administration用户
提问于 2019-10-22 13:39:41
回答 1查看 102关注 0票数 -1

假设具有下列列的表

代码语言:javascript
复制
UserID, UserName, Console, GameID, 
GameTitle, GameVendor, VendorCountry, Game Genre, NumberOfPlayers

这是正确的3NF吗?

代码语言:javascript
复制
Users(UserID,UserName, Console)

Games(GameID,GameVendor,GameTitle,GameGenre,NumberOfPlayers)

Vendors(GameVendor, VendorCountry)
EN

回答 1

Database Administration用户

发布于 2019-10-22 14:04:09

任何列都不能依赖于非键列,并且需要依赖于主键。也就是说,第三种范式说明您应该删除不依赖键的表中的字段。

要处于第三范式,该实体必须满足2FN和1FN。

显然,如果你想得到一个更好的答案,你需要告诉我们范围的更多细节,让我们了解正在设计的内容和每一列的目的。

但是,根据您在问题中输入的信息,控制台不依赖于用户表中的用户ID。因此,我认为必须有更多的表来控制控制台信息:

代码语言:javascript
复制
CONSOLE(id, type)

GAME_GENRE(id,type)

GAMES(id,gameVendor,gameTitle,gameGenreId,numberOfPlayer)

CONSOLE_GAME(id, consoleId, gameId)

USERS(id,userName, consoleId)

VENDOR(gameVendor, vendorCountry)

注意,我已经创建了一个名为GAME_GENRE的实体。是一个很好的实践,是用类别表来处理数据。

我建议快速阅读这些链接:

这两个链接都有示例。

关于这一主题,还有其他一些有例子的发言:

票数 1
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/251688

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档