2012-05-23 104 views
0

我有一個問題答案系統。一個問題有4個選擇和1個答案(沒有正確答案,它只是用戶的答案)。那麼我應該如何建立這三個表格之間的關係呢?下面我做了什麼是正確的?這就像問題表中缺少的東西,因爲我有4個選擇(我將如何插入它們?)數據庫選擇題Questi0n表關係

Question Table: QuestionId, QuestionText 
Choice Table: ChoiceId, ChoiceText, QuestionId 
Answer Table: AnswerId, ChoiceId, QuestionId, UserId 

在此先感謝您。這是我在計算器:)

有一個愉快的一天的第一個問題,

的Alper

回答

0

由於ChoiceId已經確定了QuestionId,那麼你可以在Answer表擺脫QuestionId如果你想在全面正常化。你的數據。

我會使用,雖然以下結構:

create table questions (
    question_id number primary key, 
    question_text text 
); 
create table questions_choices (
    question_id number references questions(question_id), 
    choice_number number, 
    choice_text text, 
    primary key(question_id, choice_number) 
); 
create table answers (
    answer_id number primary key, 
    user_id number references users(user_id), 
    question_id number, 
    choice_number number, 
    foreign key (question_id, choice_number) references questions_choices(question_id, choice_number) 
); 

這類似於你有什麼,但沒有對questions_choices表中的代理鍵。