VC驿站

 找回密码
 加入驿站

QQ登录

只需一步,快速开始

搜索
查看: 538|回复: 3

SQL表设计

[复制链接]
77_avatar_middle
最佳答案
0 
在线会员 发表于 2019-5-21 15:13:54 | 显示全部楼层 |阅读模式
3驿站币
学生类   
小明
{
        姓名:小明;
        爱好:唱歌,跳舞,打篮球;

}
小红{
        姓名:小红;
        爱好:唱歌;跳舞;
}
爱好类
{唱歌,跳舞,打篮球;}

学生类该怎么设计? 主要是爱好这一项.一对多





上一篇:获取窗口句柄
下一篇:gets_s 找不到标识符
75_avatar_middle
最佳答案
0 
在线会员 发表于 2019-5-22 21:33:59 | 显示全部楼层
你这真不该问。你用个数字代表不就行了,0唱歌1跳舞2打篮球3乒乒球4打游戏...要好多有好多。脑壳没转过弯就显得那么童真,单纯。
SQL表设计
00_avatar_middle
最佳答案
0 
在线会员 发表于 2019-5-22 22:15:59 | 显示全部楼层
class  爱好类
{
        bool 唱歌;
        bool 跳舞;
        bool 打篮球;
};

class 学生类
{
        string 姓名;
        爱好类 爱好;
};
一个就三个爱好,有就赋值为true,没有就赋值为false,你看这样还ok么?
75_avatar_middle
最佳答案
0 
在线会员 发表于 2019-5-23 10:00:32 | 显示全部楼层
本帖最后由 xx_player 于 2019-5-23 10:01 编辑

嗯,还行,不过,你是SQL表呀。怎么用这种方式这么建呢。应该用TSQL语法
CREATE TABLE students      /*表名*/
(
    name  nvarchar(20),    /*学生名*/
        hobby1 tinyint,        /*爱好1-0无 1唱歌  */
        hobby2 tinyint,        /*爱好2-0无 2跳舞  */
        hobby3 tinyint         /*爱好3-0无 3打篮球*/
)
CREATE TABLE dictionary /*爱好字典*/
(
    seq tinyint,                   /*爱好序号 0无 1唱歌2跳舞3打篮球4..5...等等    */
   describe nvarchar(30),  /*爱好名称*/
   CONSTRAINT PK_seq PRIMARY KEY CLUSTERED (seq)
)
查询学生AAA
select name as 姓名,
(select describe  from dictionary,students where name='AAA' and  hobby1=seq) as 爱好1,
(select describe  from dictionary,students where name='AAA' and  hobby2=seq) as 爱好2,
(select describe  from dictionary,students where name='AAA' and  hobby3=seq) as 爱好3
from students
where name='AAA'
结果
   姓名 爱好1 爱好2 爱好3
1 AAA  唱歌   跳舞  打球

测试环境 MSSQL

SQL表设计

               这些东西都快忘完了。

您需要登录后才可以回帖 登录 | 加入驿站 qq_login

本版积分规则

×【发帖 友情提示】
1、请回复有意义的内容,请勿恶意灌水;
2、纯数字、字母、表情等无意义的内容系统将自动删除;
3、若正常回复后帖子被自动删除,为系统误删的情况,请重新回复其他正常内容或等待管理员审核通过后会自动发布;
4、感谢您对VC驿站一如既往的支持,谢谢合作!

关闭

站长提醒上一条 /2 下一条

QQ|小黑屋|手机版|VC驿站 ( 辽ICP备09019393号 )|网站地图wx_jqr

GMT+8, 2020-9-25 04:57

Powered by CcTry.CoM

© 2009-2020 cctry.com

快速回复 返回顶部 返回列表