请教SQL语句的问题
在游戏中需要保存好友列表,每个玩家最多可以有1000个好友,每个玩家的数据中包括账号,昵称,年龄,性别,其中玩家可以通过昵称来搜索到其他玩家,请设计一个数据库来保存每个玩家信息和对应该玩家的好友列表信息,要求: 1、 要保证数据库在搜索指定玩家的好友列表信息时的效率; 2、 不浪费数据库的存储空间; 3、 对于需求的改变要有很强的适应力,如好友列表的上限从1000变为2000,玩家的数据中新增加一项身份证号。 答案请提供用于建立表的SQL语句和查询指定昵称玩家的所有好友信息,并标记出是在哪个数据库平台上做的测试。 哪位大哥知道的教下 谢谢了
1玩家一张表 2好友关系一张表 按照玩家名字聚集 可以在加张好友数量的上限表。 玩家表中设一好友字段,内容为好友的id用分隔符分隔 数量怎么限制呢。。。引用 数量怎么限制呢。。。 数量一般得通过程序来控制.直接用数据库的那些限制很难办到. SQL code: 如果采用3楼的方案,将可以参考如下示例: --设置上限值 create table t_SetNum(a int) insert t_SetNum select 1000 go --得到上限值 create function f_getNum() returns int begin declare @s int select @s=a from t_SetNum return @s end go --建玩家表时可以创建好友列表字段(用逗号将好友id隔开)的约束 create table t_User(账号,昵称,年龄,性别 等字段,好友列表 varchar(2000) check(len(好友列表)-len(replace(好友列表,',',''))<dbo.f_getNum()) 呵呵,貌似2和3是
相关问答:
执行的顺序: 1)文件浏览框(选择文件使用) 选择好文件后 点击一个导入按钮的时候 ,把上面上传框里的csv文件以一个ID为文件名,上传到**/**文件夹下 2)读取这个文件夹下的csv的文件,转换成sql 3 ......
我一个项目,有个插入操作,具体是这样的: 我有进货信息表。在出货时选择相应的进货信息,输入数量,选择部门后,点保存按钮,由于网络延时,点一下没有反映,于是用户就又点一下,导致一次插入了两条记录: 例:
......
表 id bh 1 10 2 11 3 12 4 15 5 16 6 22 7 25 8 26 9 27 10 28 将bh按连续分段出来返回字符串: 10~12,15~16,22,25~28 SQL code: declare @t tabl ......
sqlserver2005 建立的数据库,与手持pda传输数据,最近突然出现无法传递数据的问题,pda端提示的错误时outofmemoryexception,但是pda上面的容量没有问题, sqlserver的日子上的错误如下: 日期 2010-1-25 14:45: ......
有两个或以上的远程数据库,如何用ASP检测连接速度并连接最快的MSSQL数据库? 有这样的ASP函数吗?我GOOGLE了一下,找不到。 PHP+MYSQL下有这种例子: PHP code: Example: $wgDBservers = array( ......