我想知道如何解决这个问题。
我们的数据库中有一个配置文件表,它将由一个读取的进程填充 上传的Excel文档,然后将列和行中的数据转储到 用户的个人资料(所有此类Excel电子表格中唯一常见的是电子邮件地址)。
因此,我们无法真实地预测给定用户的个人资料的样子。 如何创建我的个人资料表?
答案 0 :(得分:1)
如果您已经使用编程语言处理这些数据,而不是盲目地进行映射,那么它应该非常简单。
带有ID的User_table,以及一些修复信息,例如名称等等。
然后你有一个配置文件表,它有一个user_id外键和密钥对值,标题/值
答案 1 :(得分:1)
抱歉,我必须创建另一个答案,但评论不会让我创建ascii草图
----------
| user |
----------
| id pk|
| name |
| ..... |
----------
----------------
| preference |
----------------
| user_id fk | <-- reference user.id
| header |
| value |
----------------
csv_row = 1,churk,height,11,weight,500lb,width,22,...
或者csv_row = 1,churk,height=11,wieght=500lb,width=22......
这将在用户表中产生1行,user.id = 1,user.name = Churk 至少3行优先。 {[1,高度,11],[1,重量,500磅],[1,宽度,22]}
因此,当您查询数据库时,您只需要
SELECT * FROM user JOIN preference on preference.user_id = user.id WHERE user.name = 'Churk';
答案 2 :(得分:0)
以后如何查询这些数据?尽管我讨厌这种做法,但这可能是需要在列中存储csv数据的情况。
<强>更新强>
这可能非常适合Entity Attribute Value架构。我也不是EAV的粉丝,但至少它比一栏中的csv数据更不邪恶。