Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   datenbank model (https://www.delphipraxis.net/159222-datenbank-model.html)

r_amse_s 18. Mär 2011 17:55

Datenbank: sqlite • Version: 3.7.5 • Zugriff über: aducom

datenbank model
 
hallo,

möchte folgende Informationen in einer DB (sqlite) abspeichern. Weiss aber nicht genau wie ich es angehen kann

Code:
M1
|
|
------Mod1
|      |
|      -----H1
|      |    |
|      |    ----V1
|      |    |
|      |    |
|      |    ----V2
|      |
|      -----H2
|
------Mod2
|
|
M2
|
...
die Komponenten für sqlite habe ich schon.

weitere Angaben: M1,M2,...Mx sind immer als root Node zu verstehen. Von jeden Mx können sich beliebig viele Modx abzweigen. Von jeden Modx beliebig viele Hx und letztendlich von jeden Hx beliebig viele Vx.

das Ganze sollte in einem DBTree(View) dargestellt werden. Es sollte irgendwie über Master/Detail gehen, habe leider aber kein Schema :-)

die Tabellen stehen noch nicht fest, aber ich habe sie in etwa skizziert

Mx
ID autoinc
M char(50)

Modx
ID autoinc
ID_Mx INT
Mod char(50)

Hx
ID autoinc
ID_Modx INT
H char(50)

Fx
ID autoinc
ID_Hx INT
F char(50)

haentschman 18. Mär 2011 18:11

AW: datenbank model
 
Hallo...

denke nicht so kompliziert... :zwinker:

Du brauchst 1 Tabelle:
ID
ID übergeordneter Knoten
ID Knoten
Bezeichnung Knoten

...fertsch.

ibp 18. Mär 2011 18:31

AW: datenbank model
 
vielleicht wäre ja auch Nested Sets was für dich...

r_amse_s 18. Mär 2011 18:51

AW: datenbank model
 
danke euch allen!
genau das habe ich gesucht, wobei die Antwort von @haentschman die praktische Lösung ist und die Antwort von @ibp die Theorie dazu ist. cool 8-)

danke!

ibp 18. Mär 2011 19:12

AW: datenbank model
 
Achtung nicht verwechseln Nested Sets mit Adjazenzlisten Modell!!!

r_amse_s 18. Mär 2011 20:24

AW: datenbank model
 
ok, und zum Befüllen des TreeViews

gibt es da Algorithmen zu beachten? wie z.B.
- zuerst die root nodes, dann der erster Level aller root Nodes, usw.

od.

- erster root node, dann alle seine 1st Level nodes, 2nd Level, usw; dann 2-ter root node,...

da müsste man mehrmals die Tabelle durchlaufen (od. den TV), oder?
was ist besser von Performance und Effizienz her?


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:15 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz