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.
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