Создание таблиц базы данных, относящихся к первичным и внешним ключам

#sql #key

#sql #Клавиша

Вопрос:

Я выполняю онлайн-задание, в котором мне нужно создать пример базы данных для авиакомпании. В нем подробно изложена общая информация, которую необходимо поместить в каждую таблицу, но мне нужна помощь в связывании определенных таблиц.

Я составил таблицы в Word, чтобы помочь мне понять связи между таблицами, но я не уверен, правильно ли я это делаю.

У меня есть таблица с именем «Персонал», которая выглядит следующим образом: введите описание изображения здесь

Меня попросили создать еще одну таблицу, в которой указан предыдущий опыт работы каждого сотрудника, например, компания, в которой они работали, даты присоединения и окончания и т. Д. Таблица «Опыт работы»: введите описание изображения здесь

Мой вопрос в том, каким будет первичный ключ для таблицы опыта работы? Поскольку Staff_ID ссылается на таблицу Staff, может ли это быть как первичный ключ, так и внешний ключ?

Ответ №1:

Просто создайте общий идентификатор work_experience_id или we_id (как вам угодно), чтобы каждый раз, когда вы хотите вызвать предыдущий опыт работы для персонала, вы просто выбирали первичный ключ общего идентификатора.

Комментарии:

1. Привет, спасибо за ответ. Однако есть вопрос, как это будет однозначно идентифицировать опыт работы сотрудников? Допустим, я ввожу первичный ключ we_ID в таблицу опыта работы, как вы можете определить, какой сотрудник соответствует их опыту работы, поскольку в таблице опыта работы нет Staff_ID.

2. Вот где ваши внешние ключи вступают в работу. Либо вы создаете свою текущую таблицу с Staff_ID в качестве fkey для однозначной идентификации, либо добавляете we_id в таблицу staff, чтобы однозначно идентифицировать сотрудника. Я также новичок во всем программировании и разработке, и раньше я действительно запутался в том, как работает внешний ключ.

3. О, мой плохой, я понял это сейчас. Спасибо

4. Рад, что смог как-то помочь.