有一个项目表,字段名和字段个数由用户来决定,
比如一个用户表
id,name,age三个字段
其他的字段由用户决定,比如email,photo现在我想到两个方法,一个是在程序中CREATE TABLE 建立表
但是在数据库查询上不好解决一个是另增加两个表,一个存储字段,一个存储值。
在也面显示的时候信息量太大
求各位参观下,发表下意见和解决方法
比如一个用户表
id,name,age三个字段
其他的字段由用户决定,比如email,photo现在我想到两个方法,一个是在程序中CREATE TABLE 建立表
但是在数据库查询上不好解决一个是另增加两个表,一个存储字段,一个存储值。
在也面显示的时候信息量太大
求各位参观下,发表下意见和解决方法
解决方案 »
- 装了Oracle11g之后机器要爆了
- oracle用dblink跨库查询ORA-12154: TNS: 无法解析指定的连接标识符
- 求教这个SQL怎么写?
- 一个关于oracle日期函数的问题?
- 关于v$sql视图的一些问题,急,请教
- Oracle 存储报错,紧急求教!
- 请问:2000pro+oracle8.1.6的SQLPLUS WORKSHEET 输出面版是乱码,如何解决?
- 请问:/* +USE_CONCAT */ 起什么作用?
- ORACLE中的主键与外键是否有关联更新的功能?
- 求助:数据库一个字段存储多个值,想取其中的最大一个,该如何处理
- 那位知道用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有几个属性就对应几条记录。