OQGRAPH

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare

OQGRAPH , care înseamnă OpenQueryGRAPH, este un motor de stocare pentru MySQL și furculițele sale, creat de firma de consultanță OpenQuery și, în special, de fondatorul său Arjen Lentz . Este distribuit (și instalabil cu o comandă SQL) în MariaDB și compatibil cu Drizzle .

OQGRAPH este un motor de stocare numai din punct de vedere tehnic sau formal. În realitate, scopul său este de a permite utilizatorului să navigheze în datele conținute într-un tabel (creat cu alte motoare de stocare, cum ar fi InnoDB sau MyISAM ) pe măsură ce navigați în nodurile unui grafic orientat sau al unui arbore . Această familie de operații este destul de dificil de realizat în SQL .

Licența este GNU GPL versiunea 2.

Tabelele OQGRAPH

Tabelele OQGRAPH trebuie să aibă toate aceeași structură:

 CREAȚI TABELUL db . tblname (
    zăvor SMALLINT UNSIGNED NULL ,
    origid BIGINT UNSIGNED NULL ,
    destid BIGINT UNSIGNED NULL ,
    greutate DOUBLE NULL ,
    următoarele BIGINT UNSIGNED NULL,
    linkid BIGINT UNSIGNED NULL ,
    CHEIE ( zăvor , origid , destid ) FOLOSIND HASH ,
    CHEIE ( zăvor , destid , origid ) FOLOSIND HASH
  ) MOTOR = OQGRAPH ;

Fiecare înregistrare din acest tabel reprezintă un arc , o legătură direcțională între două noduri . Fiecare coloană are o semnificație specială asociată cu aceasta:

  • origid - Nodul de origine.
  • destid - Nodul de destinație.
  • greutate - Greutatea legăturii.
  • zăvor - Utilizat de SELECT pentru a specifica ce informații doriți.

Celelalte coloane sunt utilizate intern.

Modificarea datelor

Coloanele care pot fi modificate direct, prin INSERT, UPDATE și REPLACE, sunt origid, destid și greutate. Dacă greutatea nu primește importanță, este suficient să se aprecieze origidul și destiditatea.

Citirea datelor

În schimb, coloana de blocare este numită în clauza WHERE pentru a informa motorul de stocare ce fel de informații ar trebui să returneze. Mai jos este lista „comenzilor” care pot fi folosite.

Zăvor = NUL

Același efect se obține prin omiterea completă a zăvoarelor. În acest fel, obținem limitele graficului în coloanele origid și destid.

Zăvor = 0

În linkid, ID-urile vârfurilor sunt returnate.

Zăvor = 0 ȘI origid = N

În linkid, ID-urile vârfurilor sunt returnate. Greutatea limitelor este returnată în greutate.

Zăvor = 0 ȘI destid = N

În linkid, ID-urile vârfurilor sunt returnate. Greutatea limitelor este returnată în greutate.

Zăvor = 1

Căutați cu cel mai scurt algoritm de cale.

Zăvor = 2

Căutați cu algoritmul primul-beadth .

Elemente conexe

linkuri externe

Software gratuit Free Software Portal : accesați intrările Wikipedia care se ocupă cu software-ul liber