Neo4j CQL UNIK Constraint


I Neo4j Database, CQL CREATE Command skaper alltid nye Node eller forhold som betyr at selv om du bruker samme verdier, setter den en ny rad. I henhold til våre krav til søknaden for enkelte noder eller relasjoner, må vi unngå dette dobbeltarbeid. Da vi ikke kan få dette direkte. Vi bør bruke noen database begrensninger for å skape regel på en eller flere egenskaper ved en node eller forhold.

Som SQL, støtter Neo4j database også unik begrensning på NODE-eller Relationship eiendommer

Fordeler med entydig begrensning

For å unngå like poster.

For å håndheve dataintegritet regelen.

Neo4j CQL entydig begrensning Operations

Opprett entydig begrensning. Anmeldelser
Drop entydig begrensning.

Vi vil diskutere Opprette entydig begrensning operasjoner med eksemplene i dette kapittelet.

lage unike Begrensning

Neo4j CQL har gitt "CREATE CONSTRAINT "-kommandoen for å skape unike begrensninger på NODE-eller Relationship eiendommer

skape entydige begrensningen syntaks
Lag CONSTRAINT ON. (< LABEL_NAME >) ASSERT < PROPERTY_NAME > ER UNIK

Syntax Beskrivelse
S.No.
Syntax Element
Beskrivelse
1.Create CONSTRAINT onit er en Neo4j CQL keyword.2. ≪ LABEL_NAME > Det er navnet på en Node etikett eller et Relationship.3.ASSERTIt er en Neo4j CQL keyword.4. < PROPERTY_NAME > Det er eiendommen navnet på en node eller en Relationship.5.IS UNIQUEIt er en Neo4j CQL nøkkelord for å informere Neo4j Database server for å skape en unik begrensning

NB: -

Listen syntaks beskriver at det skaper en unik begrensning på < PROPERTY_NAME >. av < LABEL_NAME > av en node eller et forhold

Eksempel -..

Dette eksemplet viser hvordan du oppretter entydig begrensning på antall tilhører en kreditkort Node

NB: -... Her vil vi sjekke to scenarier

Hvis Database inneholder dupliserte CreidtCard noder

Hvis Database inneholder IKKE dupliserte CreidtCard noder < .no>

Scenario-1)
Hvis dette CreidtCard inneholder like noder som hvordan under

Trinn 1 Anmeldelser -. Skriv under kommando ved dataleseren
MATCH (cc: kredittkort) RETURN cc.id, cc.number, cc.name, cc.expiredate, cc.cvv

Trinn 2
- Klikk på Execute knappen og observere resultatene.

CreditCard.number = 222222 er tildelt 3 noder

Trinn 3
-.. Skriv inn kommandoen nedenfor ved dollar kjapp i dataleseren
CREATE CONSTRAINT ON ( cc: kredittkort) hevder cc.number ER UNIK

Så hvis vi prøver å skape UNIQUE-begrensning på antall eiendom, så det kaster feilmelding som sier at dupliserte noder er tilgjengelige

Melding sier at klarer å skape unike begrensning av antall eiendom.

Scenario-2)
Hvis dette CreidtCard inneholder IKKE like noder som hvordan nedenfor.

Først fjerne like poster ved hjelp DELETE kommandoen. Skriv inn under kommandoen på dataleseren
MATCH (cc: kredittkort) WHERE cc.number = 222222DELETE cc

Klikk på utfør kommando og observere resultatene

Vi kan observere at alle 3 dupliserte noder er slettet permanent fra Database

Trinn 1 Anmeldelser - Skriv inn kommandoen nedenfor ved dollar kjapp i dataleseren
MATCH (cc: kredittkort).. RETURN cc.id, cc.number, cc .name, cc.expiredate, cc.cvv

Deretter kjøre under kommando skjemaet dataleseren
CREATE (cc: kreditkort {id: 22, antall: 222222, navn: "BBB", EXPIREDATE: '10 /10 /2017 ', CVV: 222})

Det skaper en node med antall = 222222. Nå kjører vi den under kommando skjemaet dataleseren for å bekrefte at vår database inneholder ikke dupliserte noder for kreditkort
MATCH (cc: kreditkort ) RETURN cc.id, cc.number, cc.name, cc.expiredate, cc.cvv

Trinn 2
-. Skriv inn kommandoen nedenfor ved dollar kjapp i dataleseren
CREATE begrensning på (cc: kredittkort) ASSERT cc.number ER UNIK

Så det skaper UNIQUE-begrensning på antall eiendom hell
MATCH (cc: kredittkort). RETURN cc.id, cc.number, cc.name, cc.expiredate, cc.cvv

Vi kan observere at en begrensning er lagt til databasen.

Her har vi laget en unik begrensning på kreditkort Node nummer eiendom. Fordi Pr vår klient kravet, bør Creditcard tallene være unike.

Hvis program prøver å sette inn to eksemplarer av kreditkortnummer, Neo4j DB server vil kaste en feilmelding som sier at like mange er allerede finnes i databasen.
< p> Eksempel -.

Dette eksemplet viser hvordan du sjekke om entydig begrensning på antall tilhører en kreditkort Node fungerer riktig

Trinn 1 Anmeldelser - Skriv inn kommandoen nedenfor ved dollar kjapp i dataleseren
MATCH (cc: kredittkort). RETURN cc.id, cc.number, cc.name, cc.expiredate, cc.cvv

Trinn 2
- Klikk på Execute knappen og observere resultatene

Vi kan observere at Databasen inneholder 3 Creditcard noder

Trinn 3
-.. Type . nedenfor kommando ved dollar teksten i dataleseren
CREATE (cc: kreditkort {id: 22, antall: 222222, navn: "BBB", EXPIREDATE: '10 /10/2017 ', CVV: 222})

Trinn 4 Anmeldelser - Klikk på Execute knappen og observere resultatene

Den sier at det å skape like noder med samme CreditCard.number er ikke mulig som den har en unik begrensning



Previous: