请教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是
相关问答:
type Exception report message description The server encountered an internal error () that prevented it from fulfilling this request. exception org.apache.jas ......
现在有两张表:文章主表A(articleId,articleTitle),文章评论表B(commentId,articleId,commentTitle) 现在我想实现这样的功能:列出文章列表,其中每篇文章标题下面列出此文章的前2个文章评论,请问sql语句怎么写啊 ......
我是在toad中输入下段sql declare TYPE test_rec IS record( code varchar(10), name varchar(30) ); v_book test_rec; ......
刚刚接触MySQL,不知道该如何去查看数据,插入数据,创建数据库、表,用哪为前辈能指教一二? MySQL 5.1参考手册 引用 兄弟你会结贴吗? mysql 参考手册 baidu MySQL官方文档 http://dev.mysql.com/doc ......
哪位仁兄有功能完整可用的SQL下载地址呢,我有一个地址,但是安装后功能不完整无法使用(没有服务器)我知道的地址是 http://down.xlylw.com/downlist/s_66_1.html 看来,你只能到网上自己搜索了! 自己动手就可 ......