Почему мы определяем ключевые отношения в SQL Management Studio ?. Я студент, и учитель хотел этого. На самом деле я думаю, что это не обязательно, потому что я могу подключать таблицы с sql-запросами. Например: У нас есть EMPLOYEE
и MANAGER
Таблица. EMPLOYEE
имеет ID, Name, SuperID(supervisorID in MANAGER)
MANAGER
имеет ID, Name
В учитель фактически сказал, что «вы должны соединить две таблицы в среде SQL Server Management для работника SuperID
является внешним ключом MANAGER
«s ID
и» я могу подключиться (то есть я могу видеть связь две таблицы) две таблицы с SQL запросом, как:Основные отношения (основной ключ, внешний ключ) в SQL Server Management Studio
SELECT e.*,m.Name as 'Manager's Name' FROM EMPLOYEE e, MANAGER m
WHERE e.SuperTC = m.TC
это нормально, но почему мы соединим две таблицы в SQL Management Studio (Первичный ключ, внешний ключ в разделе SQL Management Studio) Если мы не будем? подключиться, что будет? Нужно ли, когда мы работаем в профессиональной компании?
Возможный дубликат [Являются ли иностранные ключи действительно необходимыми в дизайне базы данных?] (Http://stackoverflow.com/questions/18717/are-foreign-keys-really-necessary-in-a-database-design) –
Основная причина заключается в том, чтобы включить ссылочную целостность без написания пользовательских запросов в триггерах. Некоторые дизайнеры также будут использовать внешние ключи для связи таблиц для вас. SQL заканчивается тем же, но это избавляет вас от проблем и риска набрать их самостоятельно. –
И вы знаете с абсолютной уверенностью, что запросы, которые вы пишете, будут единственным способом доступа к данным ... когда-либо !? –