golgiapparatus Ответов: 1

Нужна помощь с Microsoft SQL server и направленными ациклическими графами


Всем привет,
У меня есть вопрос о направленных ациклических графах. Я новичок в Microsoft SQL server, пришедшем из MySql. Причина, по которой я сейчас использую MS SQL, заключается в необходимости узловых графиков в реляционной базе данных. Я так много читал об этом, что мне действительно нужно, чтобы это сработало. Я пробовал это с самого начала http://techportal.ibuildings.com/2009/09/07/graphs-in-the-database-sql-meets-social-networks/ и я ничего не могу заставить работать. Я просто пытаюсь создать несколько таблиц:

CREATE TABLE nodes (
 id INTEGER PRIMARY KEY,
 name VARCHAR(10) NOT NULL,
 feat1 CHAR(1), -- e.g., age
 feat2 CHAR(1)  -- e.g., school attended or company
);

CREATE TABLE edges (
 a INTEGER NOT NULL REFERENCES nodes(id) ON UPDATE CASCADE ON DELETE CASCADE,
 b INTEGER NOT NULL REFERENCES nodes(id) ON UPDATE CASCADE ON DELETE CASCADE,
 PRIMARY KEY (a, b)
);

CREATE INDEX a_idx ON edges (a);
CREATE INDEX b_idx ON edges (b);


Проблема в том, что я продолжаю получать эту ошибку:
Msg 1785, Level 16, State 0, Line 8
Introducing FOREIGN KEY constraint 'FK__edges__b__628FA481' on table 'edges' may cause cycles or multiple cascade paths. Specify ON DELETE NO ACTION or ON UPDATE NO ACTION, or modify other FOREIGN KEY constraints.
Msg 1750, Level 16, State 0, Line 8
Could not create constraint. See previous errors.


Я не уверен, что делаю что-то не так, просто мне нужна небольшая помощь.

Спасибо
Гольджи

Что я уже пробовал:


		    
                    

1 Ответов

Рейтинг:
1

Simon_Whale

взгляните на эту статью, примеры находятся в нижней части страницы

примеры индексов tsql