Насколько это стоит, эта таблица нормализована. Законно использовать такие строки, как «автомобиль» или «метро» в качестве первичного ключа для таблицы V_type, или как атрибуты таблицы вашего автомобиля. Нормализация будет нарушена только в том случае, если вы добавите дополнительные атрибуты объекта V_type в таблицу транспортного средства, например. атрибут public
, который определяет, является ли это государственным или частным транспортом.
Даже если у вас нет таких дополнительных атрибутов, может возникнуть причина для разделения типов транспортных средств на собственную таблицу. Таким образом, вы можете контролировать, какие типы транспортных средств могут существовать. В вашем текущем дизайне, если кто-то занесет запись, такую как
v18 Mercedes cra
, что было бы принято. Если, однако, у вас есть таблица типа транспортного средства, которая содержит записи только для действительных типов транспортных средств, таких как автомобиль, метро, автобус и поезд, вы можете обеспечить с помощью ограничения внешнего ключа, что таблица автомобилей будет ссылаться только на эти типы.
Необходимо определить ключи-кандидаты и зависимости. Вы указали v_id как PK, но этого недостаточно для продолжения. Неясно, каков будет детерминант (ы) v_type. – sqlvogel
так значит, что v_type должен быть на отдельной таблице, здесь V1 определяет имя транспортного средства (V_name), но я запутаюсь, что v_name или V-id определяет тип. какое предположение вы можете сделать. – mhrzn
Вы должны решить, что определяет v_type на основе вашего анализа и понимания бизнес-домена. Вы не можете применять принципы нормализации, если не будете правильно понимать проблему, которую пытаетесь решить. – sqlvogel