我想开发一个系统,用户将动态获取数据(我的意思是动态,没有重新加载页面,使用AJAX ......但是,它并不重要)。
我的情况是这样的。我有这张桌子,我把它称为#34;播放器",在这个播放器表中,我将存储玩家信息,如玩家姓名,等级,经验等。
每个玩家可以穿上不同的衣服,从上衣(衬衫),下装,鞋子和发型开始,每个玩家可以拥有超过1个上衣,下装,鞋子等。
我犹豫或不确定的是,您通常如何存储数据?我目前的设计是这样的:
Player Table
===========================================================================================
id | name | (others player's info) | wearing | tops | bottoms
===========================================================================================
1 | player1 | | top=1;bottom=2;shoes=5;hair=8 | 1,2,3| 7,2,3
Tops Table
=====================
id | name | etc...
=====================
1 | t-shirt | ...
我不确定这种设计是否合适。如果您是数据库设计者,您将如何设计数据库?或者你将如何存储它们?
请指教。 感谢
答案 0 :(得分:0)
好像你是新来的。
请阅读Wikipedia上有关数据库规范化的文章:
http://en.wikipedia.org/wiki/Database_normalization
我个人不会像上面的例子那样做,因为每次添加或删除一些T恤时你都必须更新玩家的桌子。
答案 1 :(得分:0)
简而言之:你应该制作一张连接2张桌子(玩家和衣服)的桌子,而不是将栏子“穿上”。
你会得到
players
id name
1 player1
clotheTypes
1 top
2 bottom
clothes
id name type
1 shirt1 1
2 shirt2 1
3 pants1 2
wearing
playerId ClotheId
1 1
1 2
但是,请阅读文章taht @badcat shared!
编辑:根据要求提供一些提示:
你通常不希望这样:
id name computer
1 john work, laptop, desktop, oldcomputer
因为你应该在一个单独的表中。现在,您可以在以后添加计算机的品牌和速度:您现在不能像现在这样做。
Person
id name
1 john
computer
id name owner
1 work 1
2 laptop 1
3 desktop 1
....
答案 2 :(得分:0)
您需要为衣服创建一个额外的表格,如下所示:
<强>播放器强>
id_player //1
name //Jhon
level //6
experience //13
<强> player_cloth 强>
id_player //1
id_clothe //5
<强> cloth_types 强>
id_cloth // 5
type // hat
description // very warm
创建表格后,您需要关联此数据,您只需要id_player
值。