<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
	<channel>
		<title><![CDATA[Forum PostgreSQL - PostgreSQL + struktury drzewiaste (trees) + relacje parent-child]]></title>
		<link>https://forum.postgresql.org.pl/viewtopic.php?id=36</link>
		<description><![CDATA[Najświeższe odpowiedzi w PostgreSQL + struktury drzewiaste (trees) + relacje parent-child.]]></description>
		<lastBuildDate>Mon, 12 May 2008 09:15:43 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Odp: PostgreSQL + struktury drzewiaste (trees) + relacje parent-child]]></title>
			<link>https://forum.postgresql.org.pl/viewtopic.php?pid=138#p138</link>
			<description><![CDATA[[quote=rski]z tego co depesz pisal, takie definiowanie glebokosci znacznie przyspiesza operacje (jesli sie nie myle)[/quote]
Rzeczywiscie jest to duze przyspieszenie, ale przy tworzeniu/modyfikacji takiego drzewa, trzeba przekalkulowac wszystkie wezly. Majac 40 roznych drzewek (pomiedzy ktorymi galezie sa ze soba powiazane)  robi sie niezly metlik. Mam duze obawy czy przy 4000-5000 rekordow strace kontrole nad caloscia.

Myslalem o czyms takim:

tabela: Komponenty
ID (primary key NOT NULL sequence)
Numer rysunku (UNIQUE NOT NULL)
Nazwa rysunku (text)
Struktura rysunku (refStrukturaID)
Uwagi (text)
---
Przyklad:
1; 001; rysunek 001; 3; pierwszy rysunek
2; 002; zestawienie 001; 2; pierwsze zestawienie

***
tabela: Struktura
ID (primary key NOT NULL sequence)
Typ struktury (UNIQUE NOT NULL)
Nazwa struktury (text)
Uwagi (text)
---
Przyklad:
1;ZG;zestawienie glowne; nadrzedne, nie moze byc wprowadzone do zestawienia podrzednego
2;ZE;zestawienie normalne; podrzedne, zawiera rysunki, moze byc czescia zestawienia glownego
                                         lub innego   zestawienia podrzednego
3;RY;rysunek; standardowy element drzewka, nie moze tworzyc zadnej struktury
4;NO;normalka; znormalizowany element drzewka (np. Polskie Normy - nakretki),nie moze 
                        tworzyc zadnej struktury

***
tabela: Zestawienia
PARENT (refKomponentyID where Komponenty.refStrukturaID=1 or Komponenty.refStrukturaID=2)
CHILD (refKomponentyID where Komponenty.refStrukturaID<>1)
ILOSC (int4; ilosc sztuk)
----------------------------
HMMM... teraz najgorsze (?)...
Zastanawiam sie nad stworzeniem takiej funkcji, ktora jako wynik utworzy inna tabele tymczasowa zawierajaca przekalkulowane wartosci Depth(Level) drzewka pobierajac dane z tabeli Zestawienia.
PARENT         CHILD        ILOSC          DEPTH
    1                  -                -                  0
    1                  2               1                  1
    1                  3               2                  1
    1                  5               1                  1
    5                  8               2                  2
    5                  9               2                  2
    5                  3               1                  2
    ...
i tak dalej...

Czy jest to w jakis sposob wykonalne? Podstawowe zalozenie, jakie bralem pod uwage:
Im mniej danych/informacji bedzie wprowadzanych recznie, tym mniej bledow mozna popelnic.
Moge sie bardzo mylic, bo nie mam duzego doswiadczenia z bazami danych - za co wszystkich przepraszam. Ale jak sie chce czegos nauczyc, trzeba tylko zaczac i probowac, probowac, probowac...

Pozdrawiam]]></description>
			<author><![CDATA[dummy@example.com (kafar82)]]></author>
			<pubDate>Mon, 12 May 2008 09:15:43 +0000</pubDate>
			<guid>https://forum.postgresql.org.pl/viewtopic.php?pid=138#p138</guid>
		</item>
		<item>
			<title><![CDATA[Odp: PostgreSQL + struktury drzewiaste (trees) + relacje parent-child]]></title>
			<link>https://forum.postgresql.org.pl/viewtopic.php?pid=135#p135</link>
			<description><![CDATA[z tego co depesz pisal, takie definiowanie glebokosci znacznie przyspiesza operacje (jesli sie nie myle)]]></description>
			<author><![CDATA[dummy@example.com (rski)]]></author>
			<pubDate>Tue, 06 May 2008 10:44:39 +0000</pubDate>
			<guid>https://forum.postgresql.org.pl/viewtopic.php?pid=135#p135</guid>
		</item>
		<item>
			<title><![CDATA[Odp: PostgreSQL + struktury drzewiaste (trees) + relacje parent-child]]></title>
			<link>https://forum.postgresql.org.pl/viewtopic.php?pid=134#p134</link>
			<description><![CDATA[[quote=rski]Depesz dużo i ciekawie o tym pisal na depesz.com, widziales?[/quote]
Wszedlem na strone Depesz'a. Dzieki za link.
Teraz musze troche przeanalizowac i potestowac te informacje.

Troszeczke nie podoba mi sie fizyczne definiowanie glebokosci drzewka bezposrednio w tabeli. Myslalem o czyms o wiele prostszym (moze poprzez jakas funkcje), co automatycznie generowaloby odpowiedni poziom (level/glebokosc) na bazie samej relacji parent-child niezaleznie od tego z ktorego miejsca w drzewku zaczniemy analizowac jego strukture.

Pozdrawiam]]></description>
			<author><![CDATA[dummy@example.com (kafar82)]]></author>
			<pubDate>Tue, 06 May 2008 09:18:04 +0000</pubDate>
			<guid>https://forum.postgresql.org.pl/viewtopic.php?pid=134#p134</guid>
		</item>
		<item>
			<title><![CDATA[Odp: PostgreSQL + struktury drzewiaste (trees) + relacje parent-child]]></title>
			<link>https://forum.postgresql.org.pl/viewtopic.php?pid=130#p130</link>
			<description><![CDATA[Depesz dużo i ciekawie o tym pisal na depesz.com, widziales?]]></description>
			<author><![CDATA[dummy@example.com (rski)]]></author>
			<pubDate>Mon, 05 May 2008 10:27:27 +0000</pubDate>
			<guid>https://forum.postgresql.org.pl/viewtopic.php?pid=130#p130</guid>
		</item>
		<item>
			<title><![CDATA[PostgreSQL + struktury drzewiaste (trees) + relacje parent-child]]></title>
			<link>https://forum.postgresql.org.pl/viewtopic.php?pid=129#p129</link>
			<description><![CDATA[Witam Wszystkich,
szukam sposobu na zrozumienie, zaimplementowanie i zaprezentowanie (PHP) struktur drzewiastych w relacji ojciec-dziecko.

--- Przedstawienie drzewa
Sekw.   Poziom   Rysunek   Nazwa                                      Ilosc
01            0          zest01      zestawienie glowne (master)       1
02            1          zest05      zestawienie 05                           1
03            2          rys03        rysunek 03                               1
04            2          rys02        rysunek 02                               1
05            1          zest06      zestawienie 06                           1
06            2          rys04        rysunek 04                               1
07            2          M8x16      sruba metryczna M8x16              2
08            2          M8           nakretka M8                               2
09            1          rys07        rysunek 07                               1
10            1          zest02      zestawienie 02                           1
11            2          zest07      zestawienie 07                           1
12            3          rys02        rysunek 02                               1
13            3          M6            nakretka M6 (zgrzewana)           3
14            2          rys05        rysunek 05                               1
15            2          rys08        rysunek 08                               2
16            2          M6x12      sruba M6x12                              3

--- BOM (Bill Of Materials) - ilosc i koszt poszczegolnych komponentow

Sekw.   Rysunek   Nazwa                                       IloscTot     Cena       CenaTot
01            M6            nakretka M6 (zgrzewana)             3           1,0 PLN   3,0 PLN
02            M8           nakretka M8                                 2           1,2 PLN   2,4 PLN
03            M6x12      sruba M6x12                                3
04            M8x16      sruba metryczna M8x16                2
05            rys02        rysunek 02                                  2
06            rys03        rysunek 03                                  1
07            rys04        rysunek 04                                  1
08            rys05        rysunek 05                                  1
09            rys07        rysunek 07                                  1
10            rys08        rysunek 08                                  2

--- Technologia - koszt wykonania/montazu na poszczegolnych etapach

Sekw.   Rysunek   Nazwa                                       IloscTot     Cena       CenaTot
01          zest01      zestawienie glowne (master)        1
02          zest02      zestawienie 02                            1
03          zest05      zestawienie 05                            1
04          zest06      zestawienie 06                            1
05          zest07      zestawienie 07                            1


Wczesniej tego typu struktury tworzylem w EXCEL-u, ale z uwagi drobne roznice zwiazane z aktualizacja, archiwizacja i zarzadzaniem plikami, postanowilem "pobawic sie" bazami danych w lokalnym intranecie.

Niestety mimo, ze istnieje ogromna ilosc materialow dostepnych w Internecie (praktycznie na dowolny temat), troche sie w tym wszystkim pogubilem.
Bardzo prosilbym o jakies sugestie od czego zaczac i na co zwrocic szczegolna uwage.

Pozdrawiam serdecznie]]></description>
			<author><![CDATA[dummy@example.com (kafar82)]]></author>
			<pubDate>Mon, 05 May 2008 09:57:04 +0000</pubDate>
			<guid>https://forum.postgresql.org.pl/viewtopic.php?pid=129#p129</guid>
		</item>
	</channel>
</rss>
