Получить первичные и внешние ключи прямо в ERD
Я прочитал свои заметки, и теперь я не уверен насчет ключей.
Моя логическая схема
http://files.getdropbox.com/u/175564/db/db-11.png
Эта таблица должна соответствовать следующему физическому ERD
http://files.getdropbox.com/u/175564/db/db-22.png
У меня в таблице только один внешний ключ Question
,
я бы хотел знать
- если
question-id
а такжеquestion-tag
в таблице Question-tag-xref, ANDquestion-id
а такжеanswer
в таблице ответов также будут внешние ключи?
2 ответа
Маси - Логические модели обычно не содержат информацию о типе данных (string, int и т. Д.), Но указывают, является ли атрибут (становится столбцом в физической модели) необязательным (может быть нулевым или нет).
Тем не менее, да, столбцы QUESTION-ID и QUESTION-TAG будут внешними ключами в таблице QUESTION-TAG-XREF. Вот физический взгляд на QUESTION-TAG-XREF:
ВОПРОС-TAGS-XREF
- QUESTION-ID (отношение pk, fk к таблице QUESTIONS)
- QUESTION-TAG-CODE (отношение pk, fk к таблице QUESTION-TAG)
Оба столбца - pk, чтобы гарантировать, что у вас не может быть дубликатов тегов для данного вопроса.
Вы правы в том, что QUESTION-ID будет внешним ключом в таблице ANSWERS по отношению к таблице QUESTION.
Глядя на оба ERD, вот внешние ключи, которые я хотел бы поставить на место:
Первая ERD: Question-Tag-xref(вопрос-идентификатор) должен ссылаться на вопрос (вопрос-идентификатор). Ответы (вопрос-идентификатор) должны относиться к вопросу (вопрос-идентификатор). Вопрос (идентификатор пользователя) должен относиться к пользователю (идентификатор пользователя).
Второй ERD: Question-Tag-xref(вопрос-идентификатор) должен ссылаться на вопрос (вопрос-идентификатор). Ответы (вопрос-идентификатор) должны относиться к вопросу (вопрос-идентификатор). Вопрос (user-id) должен относиться к user-info (user-id).
Я получаю только один внешний ключ в таблице вопросов тоже.
В ответ на ваш вопрос: Столбец question-id в Question-tag-xref должен иметь ссылку на внешний ключ для Question (question-id). Столбец вопрос-идентификатор в таблице ответов должен иметь ссылку на внешний ключ к вопросу (вопрос-идентификатор)
К