2013-07-06 6 views
-1

Это мой первый пост. Мне нужна помощь в разработке части базы данных, которую я создаю; Моя база данных потребует от пользователя ввода нескольких рабочих заданий. Теперь я не уверен, как создать базу данных. Должен ли я создавать разные таблицы для каждого опыта? Пожалуйста, имейте в виду, что пользователь должен предоставить не менее 5 лет опыта. Если в течение последних 5 лет есть пользователь, у которого было 15 заданий, это может быть сложно создать 15 разных таблиц. Что вы рекомендуете? СпасибоСовет по проектированию баз данных - несколько записей

+0

Бранко Димитриевич понял вопрос и предложил рабочее решение. Спасибо –

ответ

0

Должен ли я создавать разные таблицы для каждого опыта?

No.

Но вы должны создать другую таблицу для каждого различного рода опыта. Каждая таблица опыта находится в отношениях N: 1 по отношению к таблице лиц и имеет определенные столбцы и/или ограничения (как это необходимо для этого конкретного вида опыта).

Предполагая, что существует только один вид опыта, вам понадобится только одна таблица опыта. Например:

CREATE TABLE PERSON (
    PERSON_ID INT PRIMARY KEY 
    -- Other fields such as name, date of birth etc... 
); 

CREATE TABLE WORK_EXPERIENCE (
    PERSON_ID INT REFERENCES PERSON (PERSON_ID), 
    WORK_EXPERIENCE_NO INT, -- Orders the work experiences of the same person. 
    PRIMARY KEY (PERSON_ID, WORK_EXPERIENCE_NO) 
    -- Other fields such as company name, description, period of time etc... 
); 

Если есть пользователь, который имел 15 рабочих мест в течение последних 5 лет, что может быть трудно создать 15 различных таблиц.

Действительно. Но создание 15 строк в таблице WORK_EXPERIENCE (все с общим PERSON_ID) было бы совсем не трудным;)

+0

удивительный. благодаря –

0

Я думаю, что лучшей идеей было бы создать таблицу Users, а затем таблицу Work Experience, а затем установить ограничение внешнего ключа в таблице Work Experience, чтобы каждая строка в таблице WE ссылалась на действительную пользователь.

+0

В этом случае я не должен ставить User_id как PK в таблицу WE. Я должен держать таблицу МЫ свободной от ПК? –

+0

У вас должен быть ПК в таблице WE, а не как идентификатор пользователя. Идентификатор пользователя - это ограничение внешнего ключа, но каждая запись занятости должна иметь свой собственный ПК, например столбец WE_id. –

+0

Благодарим вас за ваш ответ и разъяснение. –

Смежные вопросы