Просто посмотрев здесь определения: http://www.studytonight.com/dbms/database-normalization.php. 1nf требует, чтобы каждая строка была надежно идентифицирована. В вашей таблице нет четкого первичного ключа. Каждая строка может быть идентифицирована по номеру рейса и части полей статуса (прибытие или вылет) и запланированное время
Я вижу, что ваша таблица нарушает 2nf, потому что ваши поля статуса, похоже, содержат несколько фрагментов информации и не являются одного типа данных, то есть он сообщает вам 2 части информации: прибытие/вылет и время. Существует также подразумеваемая ценность в фактическом статусе «Отменена», которая не имела бы связанного времени.
3nf устраняет зависимости между полями, которые не являются частью первичного ключа, в вашем случае я бы указал пальцем на поля от и до: их значения могли быть частью таблицы поиска, так как каждый номер рейса обычно предназначен для конкретный маршрут и, как таковой, повторять их в этой таблице, является ненужным дублированием. Например, вы, похоже, собираетесь на «Сидни», но на самом деле вы собираетесь «Сидней» (без запятой), поэтому запрос на все рейсы в Сидней будет искать QF431. Другая причина для их удаления заключается в том, что, поскольку он стоит, аэропорты отправления и назначения QF431 могут меняться между строками, которые могут нарушать правило, согласно которому каждый номер полета уникален для траектории полета. С текущей структурой это правило не может быть соблюдено dbms
Приветствия за помощь, я попробую реализовать ваши предложения – DxSprods