Удаление связей
Применимо к:
SQL Server Analysis Services Azure Analysis Services
Fabric/Power BI Premium
Удалять существующие связи можно с помощью конструктора моделей в представлении диаграмм или диалогового окна «Управление связями». Сведения об использовании связей в табличных моделях см. в разделе Связи.
Рекомендации по удалению связей
Принимая решение об удалении связи, необходимо учитывать следующие моменты.
- Отменить удаление связи невозможно. Можно создать связь повторно, но это действие потребует полного пересчета формул в модели. Таким образом, перед удалением связи всегда нужно сначала проверить, не используется ли она в формулах.
- Удаление связи между двумя таблицами может привести к ошибкам в формулах, которые ссылаются на данные таблицы.
- Функция выражений анализа данных (DAX) RELATED использует связи между таблицами для поиска связанных значений в другой таблице. После удаления связи она будет возвращать другие результаты. Дополнительные сведения см. в описании функции RELATED (DAX).
- Помимо изменения результатов сводной таблицы и формулы, операции создания и удаления связей приводят к пересчету книги, что может занять некоторое время.
Удаление связей
Удаление связи с помощью представления диаграммы
- В SQL Server Data Tools откройте меню Модель, выберите пункт Представление модели и выберите пункт Представление диаграммы.
- Щелкните правой кнопкой мыши линию связи между двумя таблицами и выберите команду Удалить.
Удаление связи с помощью диалогового окна «Управление связями»
- В SQL Server Data Tools откройте меню Таблица и выберите пункт Управление связями.
- В диалоговом окне Управление связями выберите связи из списка. Чтобы выбрать несколько связей, щелкните каждую из них, удерживая нажатой клавишу CTRL.
- Нажмите кнопку Удалить связь.
- В диалоговом окне Управление связями нажмите кнопку Закрыть.
Удаление связей внешнего ключа
Ограничение внешнего ключа в SQL Server можно удалить с помощью SQL Server Management Studio или Transact-SQL. При удалении ограничения внешнего ключа удаляется требование принудительного создания ссылочной целостности.
Ссылки на внешние ключи в других таблицах см. в разделе «Ограничения первичного и внешнего ключа».
Разрешения
Требуется разрешение ALTER на таблицу.
Использование SQL Server Management Studio
Удаление ограничения внешнего ключа
- Разверните в обозревателе объектовтаблицу с ограничением, после чего разверните узел Ключи.
- Щелкните правой кнопкой мыши ограничение и нажмите кнопку «Удалить«.
- В диалоговом окне «Удалить объект» нажмите кнопку «ОК«.
Использование Transact-SQL
Удаление ограничения внешнего ключа
- В обозревателе объектов подключитесь к экземпляру ядра СУБД.
- На стандартной панели выберите пункт Создать запрос.
- Скопируйте приведенный ниже пример в окно запроса и нажмите кнопку Выполнить.
USE AdventureWorks2022; GO ALTER TABLE dbo.DocExe DROP CONSTRAINT FK_Column_B; GO
Дополнительные сведения см. в разделе ALTER TABLE (Transact-SQL).
Следующие шаги
- Инструкция ALTER TABLE (Transact-SQL)
- sys.key_constraints (Transact-SQL)
- Создание связей по внешнему ключу
- Изменение связей по внешнему ключу
Как удалить связь между таблицами sql
Чтобы удалить связь между таблицами в SQL, нужно использовать оператор ALTER TABLE и удалить внешний ключ, который связывает две таблицы.
Вот пример SQL запроса для удаления внешнего ключа «fk_column» из таблицы «my_table» :
ALTER TABLE my_table DROP CONSTRAINT fk_column;
В этом примере оператор ALTER TABLE используется для изменения таблицы «my_table» , а ключевое слово DROP CONSTRAINT указывает на то, что необходимо удалить внешний ключ из таблицы.
Обратите внимание, что при удалении внешнего ключа могут потребоваться изменения в других таблицах, связанных с этим ключом. В зависимости от структуры базы данных, может потребоваться удалить или изменить соответствующие записи в связанных таблицах, чтобы сохранить целостность данных.
Drop a Foreign Key SQL Server
В этом учебном пособии вы узнаете, как удалять внешний ключа в SQL Server (Transact-SQL) с синтаксисом и примерами.
Описание
После создания foreign key, вам может быть понадобится удалить foreign key из таблицы. Вы можете сделать это с помощью оператора ALTER TABLE в SQL Server (Transact-SQL).
Синтаксис
Синтаксис удаления внешнего ключа в SQL Server (Transact-SQL):
ALTER TABLE table_name
DROP CONSTRAINT fk_name;
Параметры или аргументы
table_name — имя таблицы, в которой был создан внешний ключ.
fk_name — имя внешнего ключа, который вы хотите удалить.
Пример
Рассмотрим пример того, как удалить внешний ключ в SQL Server (Transact-SQL).
Например, если вы создали внешний ключ следующим образом:
Transact-SQL
CREATE TABLE products
( product_id INT PRIMARY KEY ,
product_name VARCHAR ( 50 ) NOT NULL ,
category VARCHAR ( 25 )
CREATE TABLE inventory
( inventory_id INT PRIMARY KEY ,
product_id INT NOT NULL ,
quantity INT ,
min_level INT ,
max_level INT ,
CONSTRAINT fk_inv_product_id
FOREIGN KEY ( product_id )
REFERENCES products ( product_id )
В этом примере внешнего ключа мы создали родительскую таблицу products . Таблица products имеет первичный ключ, который состоит из поля product_id .
Затем мы создали вторую таблицу под названием inventory , которая в этом примере внешнего ключа будет дочерней таблицей. Мы использовали оператор CREATE TABLE для создания внешнего ключа fk_inv_product_id в таблице inventory . Внешний ключ устанавливает связь между столбцом product_id в таблице inventory и столбцом product_id в таблице products .
Если необходимо удалить внешний ключ с наименованием fk_inv_product_id , то нужно выполнить следующую команду: