Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Neo4j - Utwórz wiązanie za pomocą Cypher

ograniczenie pozwala na nałożenie ograniczeń na dane, które można wprowadzić względem węzła lub relacji.

Ograniczenia pomagają wymusić integralność danych, ponieważ uniemożliwiają użytkownikom wprowadzanie niewłaściwych danych. Jeśli ktoś spróbuje wprowadzić niewłaściwy rodzaj danych po zastosowaniu ograniczenia, otrzyma komunikat o błędzie.

Typy wiązań

W Neo4j możesz stworzyć wyjątkowość ograniczenia i istnienie własności ograniczenia.

Ograniczenie niepowtarzalności
Określa, że ​​właściwość musi zawierać unikalną wartość (tj. nie ma dwóch węzłów z Wykonawcą etykieta może współdzielić wartość dla Nazwy właściwość.)
Ograniczenie istnienia nieruchomości
Zapewnia istnienie właściwości dla wszystkich węzłów z określoną etykietą lub dla wszystkich relacji o określonym typie. Ograniczenia istnienia własności są dostępne tylko w Neo4j Enterprise Edition.

Utwórz ograniczenie niepowtarzalności

Aby utworzyć ograniczenie unikatowości w Neo4j, użyj CREATE CONSTRAINT ON oświadczenie. Tak:

CREATE CONSTRAINT ON (a:Artist) ASSERT a.Name IS UNIQUE

W powyższym przykładzie tworzymy wyjątkowość ograniczenie na Nazwie właściwość wszystkich węzłów z Wykonawcą etykieta.

Gdy stwierdzenie się powiedzie, zostanie wyświetlony następujący komunikat:

Kiedy tworzysz ograniczenie, Neo4j utworzy indeks. Cypher użyje tego indeksu do wyszukiwania, tak jak inne indeksy.

Dlatego nie ma potrzeby tworzenia osobnego indeksu. W rzeczywistości, jeśli spróbujesz utworzyć ograniczenie, gdy już istnieje indeks, otrzymasz błąd.

Wyświetl ograniczenie

Ograniczenia (i indeksy) stają się częścią (opcjonalnego) schematu bazy danych.

Możemy wyświetlić ograniczenie, które właśnie stworzyliśmy, używając :schema Komenda. Tak:

:schema

Zobaczysz nowo utworzone ograniczenie, a także indeks, który został utworzony za jego pomocą. Możemy również zobaczyć indeks, który został utworzony wcześniej:

Przetestuj wiązanie

Możesz sprawdzić, czy ograniczenie faktycznie działa, próbując dwukrotnie stworzyć tego samego artystę.

Uruchom następującą instrukcję dwukrotnie:

CREATE (a:Artist {Name: "Joe Satriani"}) 
RETURN a

Przy pierwszym uruchomieniu zostanie utworzony węzeł. Przy drugim uruchomieniu powinien pojawić się następujący komunikat o błędzie:

Ograniczenia istnienia nieruchomości

Ograniczenia istnienia właściwości mogą być użyte, aby zapewnić, że wszystkie węzły z określoną etykietą mają określoną właściwość. Na przykład możesz określić, że wszystkie węzły są oznaczone jako Wykonawca musi zawierać nazwę właściwość.

Aby utworzyć ograniczenie istnienia właściwości, użyj ASSERT exists(variable.propertyName) składnia.

Tak:

CREATE CONSTRAINT ON (a.Artist) ASSERT exists(a.Name)

Zwróć uwagę, że ograniczenia istnienia własności są dostępne tylko w wersji Neo4j Enterprise Edition.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Wstaw/aktualizuj funkcję pomocniczą za pomocą PDO

  2. Zaznaczyć wszystkie kolumny z wyjątkiem jednej w MySQL?

  3. Jaka jest różnica między INNER JOIN, LEFT JOIN, RIGHT JOIN i FULL JOIN?

  4. Jak wstawić wiele wartości pól wyboru do tabeli?

  5. Jak włączyć mysqlnd dla php?