Databazova struktura na mapovanie komplexnych dat

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
David Ďurika
Člen | 328
+
0
-

Zdravim,

idem robit web kt. bude sluzit na mapovanie komplexnych dat.

Ide o to ze:

mam nasledovne ‚hlavne‘ entity: osoba, lokalita (obec, gps bod, krajina…), kniha, …

kazda hlavna entita ma atributy roznych typov:

- osoba: meno, datum narodenia, datum smrti, povolanie, zaluby, ...
- lokalita:
	- obec: nazov, poloha na mape, pocet obyvatelov, ...
	- gps bod: nazov, co tam bolo (jazero, pramen, pamiatka, ....)
	- krajina: nazov, pocet obyvatelov, ...
- kniha: pocet kapitol, pocet stran, napisana v roku, typ, ...

a tieto hlavne entity su medzi sebou rozne poprepajane:

- kniha: n:m autovov [osoba], n:m postavy v knihe [osoba], n:m [lokalita], ....
- osoba: n:m rodinne vztahy (otec, mama, surodenci, ...) [osoba], n:1 narodeny v [lokalita], ....

je to volna a dost komplikovana struktura dat (toto je len taka zbezna analyza)

Ako navrhnut DB strukturu?

  • pouzit CMS pristup: attribute, attributeType, node, nodeType, node_attributes, node_relations, relationType
  • alebo si pre kazdy entitu, typ atributu a vztah spravit zvlast tabulky

Rad by som pocul vas nazor, ako [by]ste riesili taktuto situaciu, vyhody nevyhody jednotlivych rieseni, popripade navrh nejakeho ineho riesenia dakujem.

(viem ze sa to netyka uplne nette, preto som to dal do ‚Obecná diskuse‘ snad to nebude nikomu prekazat;)

Filip Procházka
Moderator | 4668
+
0
-

Pokud máš finální počet těch typů entit (nebo se aspoň nebude rozšiřovat moc často, tak bych to napsal celé ručně, protože z toho je vidět, že časem tam dostaneš nějaký nápad jak customizovat tu aplikaci aby se k nějakým typům chovala jinak a když to máš zvlášť tak je to vždycky lepší.

Pokud máš finální počet attributů… višco :)

Pokud ne, tak si udělej strukturu na kterou to půjde mapovat dynamicky.

David Ďurika
Člen | 328
+
0
-

Nedavno som objavil grafove databazy a to je presne to co potrebujem!
ak by mal niekto zaujem o grafove DB tak: zdrojak.cz a php wrapper na neo4j

Editoval achtan (17. 1. 2014 8:11)

David Matějka
Moderator | 6445
+
0
-

jo, grafovy databaze jsou pekny. mrkni taky na orientdb, pokud si na ni jiz nenarazil

David Ďurika
Člen | 328
+
0
-

@matej21 dik, teraz uz mam rozhodovaci paralyzu :)

bazo
Člen | 620
+
0
-

s neo4j sa velmi dobre pracuje, cypher je celkom jednoduchy a silny. na niektore veci si vystacis len s traverzovanim. ale nepodporuje niektore bezne funckie z sql ako praca s datumom, stringami a ine.
existuje celkom slusny ogm postaveny nad neo4jphp https://github.com/…eo4j-PHP-OGM, niekde mam k nemu aj rozsirenie pre nette.

orientdb sa mi zda taky viac low level, ale zas ma vlastnosti aj dokumentovej databazy. a doctrine odm este nepodporuje pracu s grafmi.

ale zas je zadarmo oprotin neo4j

_Martin_
Generous Backer | 679
+
0
-

bazo: Neo4j je taktéž zdarma, ne? Mám pocit, že má stejný licenční model, jako MySQL.

bazo
Člen | 620
+
0
-

je to free pre opensource alebo pre velmi male firmy, inak stoji 12000 dolarov/eur http://www.neotechnology.com/price-list/

ale nainstalovat si mozes aj enterprise verziu, len to nebude licencne koser :)