数据库问题比如说有一个记录
姓名 年龄 籍贯 爱好 当爱好有不确定数量时怎么弄?是建立足够多字段,比如 爱好1 爱好2 爱好3 爱好4 还是在爱好字段下将不同爱好用分割符号分开,程序中再处理,比如 唱歌,游泳,羽毛球有别的好办法吗?
姓名 年龄 籍贯 爱好 当爱好有不确定数量时怎么弄?是建立足够多字段,比如 爱好1 爱好2 爱好3 爱好4 还是在爱好字段下将不同爱好用分割符号分开,程序中再处理,比如 唱歌,游泳,羽毛球有别的好办法吗?
解决方案 »
- 关于调用C的DLL中回调函数问题
- 前贴已结,请 lsftest 等老师进来继续指教权限问题
- 怎么可以得到Spreadsheet(OWC11)控件中,当前页第一行的行号?
- 请教:如何将pictureBox内的文本用鼠标右键加以复制?或利用其他办法复制?
- 这个版不错,热烈恭喜!
- 如何在已生成的rs数据集上,再采用select语句检索?谢谢!
- 还有一个问题:treeview背景的颜色可以更改吗?如何在菜单里加上小图标呢?
- vb高手们回答一下为什么老是出现 错误 9 10061错误
- 超难问题,dataReport中分组中的子集添加序号方法???
- 一个关于systemparametersinfo的问题?
- VBA控件的问题又来了
- VB用日志记录用户重要操作
***********
这个不可取———————————————分隔符
*******
可以考虑
———————————————也可以另建表存放
姓名code 行号 爱好
n0001 001 唱歌
n0001 002 游泳
n0001 003 羽毛球
n0002 001 唱歌
n0002 002 游泳
姓名 爱好
A A0
A A1
A A2
B A0
B A2
实际上,如何建表是由数据需要如何处理决定的。而且,作为关系型数据库,不建议在一条记录中搞许多冗余字段,只建一个爱好字段。如果仅仅由于显示,在同一条记录中的该字段写入所有爱好即可。如果要利用爱好分类查询,则有多项爱好的人需要多条记录。每一条记录写入一项爱好。如:张三 20 北京 唱歌
张三 20 北京 游泳
张三 20 北京 羽毛球当然,也可以将爱好另外建表:表1:
ID 姓名 年龄 籍贯表2:
ID 爱好这样,一个人在表1 中占用一条记录。如果有多项爱好,则在表2 中占用多条记录:表1中:
00001 张三 20 北京表2中
00001 唱歌
00001 游泳
00001 羽毛球分表还是合表,各有利弊,要根据应用的实际情况抉择。爱好1 爱好2 爱好3 爱好4 这种方式是最差的。例如你要筛选出唱歌,则需要:select * from yourtable where 爱好1='唱歌' or 爱好2='唱歌' or 爱好3='唱歌' or 爱好4='唱歌'