有一个项目表,字段名和字段个数由用户来决定,
比如一个用户表
id,name,age三个字段
其他的字段由用户决定,比如email,photo现在我想到两个方法,一个是在程序中CREATE TABLE 建立表
但是在数据库查询上不好解决一个是另增加两个表,一个存储字段,一个存储值。
在也面显示的时候信息量太大
求各位参观下,发表下意见和解决方法
比如一个用户表
id,name,age三个字段
其他的字段由用户决定,比如email,photo现在我想到两个方法,一个是在程序中CREATE TABLE 建立表
但是在数据库查询上不好解决一个是另增加两个表,一个存储字段,一个存储值。
在也面显示的时候信息量太大
求各位参观下,发表下意见和解决方法
解决方案 »
- 请问有没有办法对指定用户设置Oracle的默认并行度(DOP,Degree of Parallel)?
- ORACLE 根据一个字段的值得到下面的结果如何写sql
- UNION和UNION ALL的区别
- 把wf_engine包赋予一个用户
- PostgreSQL 的日期问题。急急!
- 错误信息(923:ORA-00923: 未找到要求的 FROM 关键字
- 利用OMS备份向导遇到的问题?
- 基础问题,就性能而言char varchar varchar2 哪个好?三者有什么不同?谢谢。
- 数据库启动有问题。请各位帮帮忙啊!
- 有几个传入参数,想当特定的几个参数不为null时,才更新其他几个参数,怎么办?
- 那位知道用sql语句如何取到下月1号这个日期
- 一个非常难优化的sql,,,向高手们求解!!!!!!!!!!!!!!!!!
如果你说的email,photo信息量比较大,可以再单独建一张表,如 id ,email,photo
否则,可以直接将这两列放到一个表中。
如id,name,age,userdefine1(放email),userdefine2(放photo),userdefine3(放其他)
可以2张表,一张就存储你说的那3个字段,另一张包含字段id,fieldname,value,通过id关联
再要么,用户自定义的字段数总有个上限,你就建张表,id,name,age,其他字段名可以用类似a1,a2,a3...
不过这样也需要再建一张表来配置字段名
http://www.google.com.hk/search?hl=zh-CN&newwindow=1&safe=strict&q=EAV+%E8%A1%A8%E8%AE%BE%E8%AE%A1&meta=&aq=f&aqi=&aql=&oq=&gs_rfai=
就是创建一个属性表,三个字段:id, property_name, property_value。
每个ID有几个属性就对应几条记录。