0

DatabaseПреобразовать эту базу данных в 3NF, работая вверх от 0NF, с несколькими телефонными номерами

я пытаюсь преобразовать схему этой базы данных до 3NF. В качестве первого шага я понял, что он был в 0NF из-за телефонных номеров. Я смущен тем, что является наиболее эффективным методом получения 1NF.

работодатель (employer_id, умение, имя, telephone_numbers, postal_code)

После попытки следующее:

работодатель (employer_id, умение, имя, telephone_numbers, postal_code)
контакт (работодатель_и, умение, phone_numbers)

Я не верю, что это меня куда-то заставляет?

ответ

0

сделайте стол как тот, который у вас есть, но удалите поле phone_numbers. Тогда вам придется иметь другую таблицу с телефонными номерами, а также ссылку на работодатель_ид первой таблицы. Если вы хотите обеспечить максимальную адаптируемость (у них может быть другой номер контактного телефона для служб очистки, например, для ввода текста), вам нужно будет ссылаться на составной ключ не только на работодателя. Например; Employer_id + умение.

Это приведет вас к 1NF.

Чтобы добраться до 3NF, вам нужно будет извлечь навык из обеих таблиц и ссылаться на него, вы также можете ввести имя и адресную информацию в отдельные таблицы.