Я пытаюсь провести инвентаризацию наших ИТ-активов в SQL. У меня есть базовые c SQL знания, и я не DBA
, поэтому, пожалуйста, потерпите меня! Диаграмма SQL загружена по ссылке ниже для справки.
У меня есть физические хосты, устройства SAN, сетевые устройства, виртуальные серверы и т. Д. c. У меня есть таблица устройств, в которой есть данные для всех устройств, но затем я решил создать схему для кластеров, хостов и виртуальных серверов в этом иерархическом порядке. Дело в том, что виртуальный сервер - это устройство, а хост для виртуального сервера - это устройство. Таким образом, оба должны будут ссылаться на DeviceID
.
Я добавляю один хост и один виртуальный сервер в таблицу «устройств» (для тестирования таблиц). Затем я добавляю тот же хост в таблицу "vHosts
" без проблем и тот же виртуальный сервер в таблицу "vServer
". Но когда я ввожу vServer
, я вижу ошибку
Оператор UPDATE конфликтует с ограничением FOREIGN KEY ... "" Конфликт произошел в базе данных ... "" ... Утверждение прекращено "
Может кто-нибудь объяснить мне, что я сделал неправильно и как его изменить, чтобы он работал. Пожалуйста, обратитесь к рисунку, чтобы понять буквальную полную картину. FYI
, есть много других таблиц для этой БД, но я включил только соответствующие таблицы в эту диаграмму.
SQL Диаграмма круговых отношений