由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Database版 - 求助:将multiple checkbox改为一个column多个redord写入数据库
相关主题
How did they track the article status in this BBS?Oracle Group and Index question
多对多relation?better way to compare nullable columns?
什么软件用来对matrix的row 和column 进行normalization?问个external table field definition的问题
求助,oracle里怎么实现这个转化How to handle inserting value to Identity column in sql server 2005
问题:如何设计以下DB%如何把一个table所有的column都选出来%
Table Merge (SQL Server)SQL aggregate multiple columns in ACCESS
其实有个问题好久没有明白!用SSIS EXPORT 到 EXCEL 2010 有2000个COLUMN,可能吗
a simple question about insertmacro 请教,谢谢
相关话题的讨论汇总
话题: table话题: column话题: language话题: redord话题: 写入
进入Database版参与讨论
1 (共1页)
n********6
发帖数: 1511
1
背景:
记录一个家庭说的多种语言。
Table:
HouseholdID
Language
Webpage:
chkbox1. English
chkbox2. Russian
...
chkbox20. Arabic
chkbox21. Other Specify __________
问题:
1。有没有直接在网页点击submit这一个transaction里面,作多次insert,写入table?
2。有没有每个语言一个column的做法?何种条件下需要这样做?
i****a
发帖数: 36252
2
normal "normalized" table design is to have a LKLanguage table, with
LanguageID, Language
your user table would have
UserID, user info
your data table would have
ID, UserID, LanguageID
if you want to do it de-normalized for DW purpose, then each language
would have a column.

【在 n********6 的大作中提到】
: 背景:
: 记录一个家庭说的多种语言。
: Table:
: HouseholdID
: Language
: Webpage:
: chkbox1. English
: chkbox2. Russian
: ...
: chkbox20. Arabic

n********6
发帖数: 1511
3
谢谢答复。
老大,我知道normal "normalized" table。
这就要求插入多条record,每个record一种语言。
在一个transaction中插入n个record,每个代表一种语言,似乎挺麻烦。
有没有简单的办法?

【在 i****a 的大作中提到】
: normal "normalized" table design is to have a LKLanguage table, with
: LanguageID, Language
: your user table would have
: UserID, user info
: your data table would have
: ID, UserID, LanguageID
: if you want to do it de-normalized for DW purpose, then each language
: would have a column.

i****a
发帖数: 36252
4
if you really want, you can come up with some smart work around like
masking
0001 english
0010 chinese
0100 spanish
1000 russian
so if somebody has 0011, he speaks english and chinese.
something like the unix/linux chmod
but what you save on database transaction needs to be spent on
"decoding" this record

【在 n********6 的大作中提到】
: 谢谢答复。
: 老大,我知道normal "normalized" table。
: 这就要求插入多条record,每个record一种语言。
: 在一个transaction中插入n个record,每个代表一种语言,似乎挺麻烦。
: 有没有简单的办法?

B*****g
发帖数: 34098
5
有什么麻烦的?除非你的language是limited,也就是说不能生成新的语言。否则你每次
有个新语言就要加一个column。
或者你可以用自定义类型的column,不过现在的不太流行

【在 n********6 的大作中提到】
: 谢谢答复。
: 老大,我知道normal "normalized" table。
: 这就要求插入多条record,每个record一种语言。
: 在一个transaction中插入n个record,每个代表一种语言,似乎挺麻烦。
: 有没有简单的办法?

a9
发帖数: 21638
6
比起多次插入,增加列显然要麻烦的多。

每次

【在 B*****g 的大作中提到】
: 有什么麻烦的?除非你的language是limited,也就是说不能生成新的语言。否则你每次
: 有个新语言就要加一个column。
: 或者你可以用自定义类型的column,不过现在的不太流行

B*****g
发帖数: 34098
7
回到问题,其实没有什么是绝对的。根据不同的要求,数据库的设计可能是不同的。
比如说我们只关心20中常用语言,其它就是个参考,或者使用其它语言的非常少,下
面设计也可以考虑。
Tab1
ID, L1,......, L20, LOTHERS
L1到Lothers都只存1或0。
Tab2
ID Language
只存other language。
或者干脆把LOTHERS改成复杂类的coulmn,比如XML,把所有other的信息都存下,一个
table就够了。

每次

【在 B*****g 的大作中提到】
: 有什么麻烦的?除非你的language是limited,也就是说不能生成新的语言。否则你每次
: 有个新语言就要加一个column。
: 或者你可以用自定义类型的column,不过现在的不太流行

1 (共1页)
进入Database版参与讨论
相关主题
macro 请教,谢谢问题:如何设计以下DB
这个sql语句怎么写Table Merge (SQL Server)
SQL combine two columns from two different tables no shared (转载)其实有个问题好久没有明白!
sql里怎么做循环?a simple question about insert
How did they track the article status in this BBS?Oracle Group and Index question
多对多relation?better way to compare nullable columns?
什么软件用来对matrix的row 和column 进行normalization?问个external table field definition的问题
求助,oracle里怎么实现这个转化How to handle inserting value to Identity column in sql server 2005
相关话题的讨论汇总
话题: table话题: column话题: language话题: redord话题: 写入