#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. Рад, что смог как-то помочь.