HotScripts.pl - darmowe programy, skrypty  

Wróć   HotScripts.pl - darmowe programy, skrypty > Grupy dyskusyjne > pl.comp > pl.comp.bazy-danych

Odpowiedz
 
LinkBack Narzędzia wątku Wygląd
  #1 (permalink)  
Stary 31-05-2006, 00:26
mcv
Guest
 
Postów: n/a
Domyślnie Lista =?ISO-8859-2?Q?uporz=B1dkowana?= w relacji

Witam.

Jak robicie listy uporządkowane w relacjach, tzn. tak, żeby jeden rekord w
relacji był jednym elementem listy? Konkretnie chodzi mi o listę
jednokierunkową.

Na razie to wyobrażam to sobie tak, jak to się robi w programowaniu, tzn.
dodaję dwa atrybuty -- identyfikator (unikalny) i identyfikator następnego
rekordu. Ale to jest cokolwiek... niewygodne i wymaga wielu zapytań +
transakcji przy dodawaniu/usuwaniu elementów.

Baza danych to PostgreSQL, 8.0.1.

Pozdrawiam();
--
michał gawron | rlu 283570 | mcv, email/jabber at mulabs.org/chrome.pl
:wq
Reply With Quote
  #2 (permalink)  
Stary 31-05-2006, 00:27
FOX
Guest
 
Postów: n/a
Domyślnie Re: Lista =?ISO-8859-2?Q?uporz=B1dkowana_w_relacji?=

> Jak robicie listy uporządkowane w relacjach, tzn. tak, żeby jeden rekord w
> relacji był jednym elementem listy? Konkretnie chodzi mi o listę
> jednokierunkową.


Zrób sobie kolumnę z numerem pozycji w liście

Pozdrawiam
FOX
Reply With Quote
  #3 (permalink)  
Stary 31-05-2006, 00:27
=?ISO-8859-2?Q?S=B3awomir_Szysz=B3o?=
Guest
 
Postów: n/a
Domyślnie =?ISO-8859-2?Q?Re:_Lista_uporz=B1dkowana_w_relacji?=

Dnia Tue, 30 May 2006 22:49:38 +0200, mcv <root@localhost.org> wklepał(-a):

>Witam.
>
>Jak robicie listy uporządkowane w relacjach, tzn. tak, żeby jeden rekord w
>relacji był jednym elementem listy? Konkretnie chodzi mi o listę
>jednokierunkową.


Nie napisałeś najważniejszego: jakie ma być zastosowanie tej listy (może jest
inne rozwiązanie)?
--
Sławomir Szyszło mailto:slaszysz@poczta.onet.pl
Primus inter FAQires & Grand Inquisitor no.0 of pl.comp.bazy-danych
FAQ pl.comp.bazy-danych http://www.dbf.pl/faq/
Archiwum http://groups.google.com/groups?grou...mp.bazy-danych
Reply With Quote
  #4 (permalink)  
Stary 31-05-2006, 00:27
mcv
Guest
 
Postów: n/a
Domyślnie Re: Lista =?ISO-8859-2?Q?uporz=B1dkowana?= w relacji

*Sławomir Szyszło* testified:

> Dnia Tue, 30 May 2006 22:49:38 +0200, mcv <root@localhost.org>
> wklepał(-a):
>
>>Witam.
>>
>>Jak robicie listy uporządkowane w relacjach, tzn. tak, żeby jeden rekord w
>>relacji był jednym elementem listy? Konkretnie chodzi mi o listę
>>jednokierunkową.

>
> Nie napisałeś najważniejszego: jakie ma być zastosowanie tej listy (może
> jest inne rozwiązanie)?


Może i jest, ale mimo wszystko chętnie dowiedziałbym się jak robić list,
a nie inne rzeczy ;-)

A chodziło o połączenie relacji 'kandydat' z 'kierunek', kandydat wybierał
kilka kierunków, na które chciał zdawać, z uwzględnieniem priorytetów,
gdzie najchętniej chciałby się dostać :-)

--
michał gawron | rlu 283570 | mcv, email/jabber at mulabs.org/chrome.pl
:wq
Reply With Quote
  #5 (permalink)  
Stary 31-05-2006, 00:27
mcv
Guest
 
Postów: n/a
Domyślnie Re: Lista =?ISO-8859-2?Q?uporz=B1dkowana?= w relacji

*FOX* testified:

>> Jak robicie listy uporządkowane w relacjach, tzn. tak, żeby jeden rekord
>> w relacji był jednym elementem listy? Konkretnie chodzi mi o listę
>> jednokierunkową.

>
> Zrób sobie kolumnę z numerem pozycji w liście


A wiesz co? Na początku myślałem, że to głupie rozwiązanie.
Nie wpadłem, że można dać potem np. przed wstawieniem
UPDATE ... SET pos = pos + 1 WHERE pos > ileśtam.
Z jakiegoś powodu wmówiłem sobie, że będę musiał każdy rekord osobno
aktualizować.

Dzięki, na moje skromne oczekiwania wystarczy :-)

> Pozdrawiam
> FOX


--
michał gawron | rlu 283570 | mcv, email/jabber at mulabs.org/chrome.pl
:wq
Reply With Quote
  #6 (permalink)  
Stary 01-06-2006, 00:02
Antoni Jakubiak
Guest
 
Postów: n/a
Domyślnie Re: Lista =?ISO-8859-2?Q?uporz=B1dkowana_w_relacji?=

>> Nie napisałeś najważniejszego: jakie ma być zastosowanie tej listy (może
>> jest inne rozwiązanie)?


[...]

Ja mam troche bardziej złożony problem w tym temacie. Na razie
nie zastanawiałem się jak go rozwiązać, ale skoro pojawił się
wątek na grupie, to może warto pociągnąć dalej.

Wyobraźmy sobie że w tabeli są listy (średnio 100 elementów).
np.: A->B, B->C, C->D, D->E
Ale niekiedy listy mogą mieć rozgałęzienia.
np.: A->B, B->C, C->D, B->E, E->F
Następnie chce zrobić iteracji listy, znając jej element końcowy.
W trudniejszym przypadku, dla F, będzie to lista: F,E,B,A.

Znam dwa rozwiązanie
1. trzymać w bazie nadmiarowe dane (id, tatus_id, drzewko)
2. podczas przeszukiwania robić kolejne zapytania.

Wybrałem 1. Wadą jest generowanie w bazie dodatkowych danych.
Zaletą jest szybkość odczytu listy.

Ale może są inne, lepsze sposoby.



Pozdrawiam
Antoni Jakubiak




Reply With Quote
  #7 (permalink)  
Stary 01-06-2006, 00:03
=?ISO-8859-2?Q?S=B3awomir_Szysz=B3o?=
Guest
 
Postów: n/a
Domyślnie =?ISO-8859-2?Q?Re:_Lista_uporz=B1dkowana_w_relacji?=

Dnia Wed, 31 May 2006 00:43:39 +0200, mcv <root@localhost.org> wklepał(-a):

>Może i jest, ale mimo wszystko chętnie dowiedziałbym się jak robić list,
>a nie inne rzeczy ;-)
>
>A chodziło o połączenie relacji 'kandydat' z 'kierunek', kandydat wybierał
>kilka kierunków, na które chciał zdawać, z uwzględnieniem priorytetów,
>gdzie najchętniej chciałby się dostać :-)


No a klasyczna relacja N:M (w tabeli łączącej dodatkowy atrybut "priorytet") nie
wystarczy? IMHO tak. Podaj co chcesz wyciągać z tych tabel, to się okaże.
--
Sławomir Szyszło mailto:slaszysz@poczta.onet.pl
Primus inter FAQires & Grand Inquisitor no.0 of pl.comp.bazy-danych
FAQ pl.comp.bazy-danych http://www.dbf.pl/faq/
Archiwum http://groups.google.com/groups?grou...mp.bazy-danych
Reply With Quote
  #8 (permalink)  
Stary 01-06-2006, 00:03
mcv
Guest
 
Postów: n/a
Domyślnie Re: Lista =?ISO-8859-2?Q?uporz=B1dkowana?= w relacji

*Sławomir Szyszło* testified:

> Dnia Wed, 31 May 2006 00:43:39 +0200, mcv <root@localhost.org>
> wklepał(-a):
>
>>Może i jest, ale mimo wszystko chętnie dowiedziałbym się jak robić list,
>>a nie inne rzeczy ;-)
>>
>>A chodziło o połączenie relacji 'kandydat' z 'kierunek', kandydat wybierał
>>kilka kierunków, na które chciał zdawać, z uwzględnieniem priorytetów,
>>gdzie najchętniej chciałby się dostać :-)

>
> No a klasyczna relacja N:M (w tabeli łączącej dodatkowy atrybut
> "priorytet") nie wystarczy? IMHO tak. Podaj co chcesz wyciągać z tych
> tabel, to się okaże.


Takoż właśnie zrobię - tabelkę candidaterofile, zawierającą tylko klucze
obce do tabel candidate i profile (wszędzie są klucze surogatowe)
oraz atrybut priority. Tylko tyle, kandydat po prostu miał mieć
uporządkowaną listę kierunków, na które chciałby się dostać.

Teraz mam inny problem, mianowicie jak zrealizować takie wybieranie
kierunków w miarę prosto przez WWW ;-) Chyba wspomogę się Javascriptem.

Dziękuję za odpowiedzi i pozdrawiam();
--
michał gawron | rlu 283570 | mcv, email/jabber at mulabs.org/chrome.pl
:wq
Reply With Quote
  #9 (permalink)  
Stary 02-06-2006, 00:44
=?ISO-8859-2?Q?Pawe=B3_Matejski?=
Guest
 
Postów: n/a
Domyślnie Re: Lista =?ISO-8859-2?Q?uporz=B1dkowana_w_relacji?=

Antoni Jakubiak wrote:
>>> Nie napisałeś najważniejszego: jakie ma być zastosowanie tej listy (może
>>> jest inne rozwiązanie)?

>
>
> [...]
>
> Ja mam troche bardziej złożony problem w tym temacie. Na razie
> nie zastanawiałem się jak go rozwiązać, ale skoro pojawił się
> wątek na grupie, to może warto pociągnąć dalej.
>
> Wyobraźmy sobie że w tabeli są listy (średnio 100 elementów).
> np.: A->B, B->C, C->D, D->E
> Ale niekiedy listy mogą mieć rozgałęzienia.
> np.: A->B, B->C, C->D, B->E, E->F
> Następnie chce zrobić iteracji listy, znając jej element końcowy.
> W trudniejszym przypadku, dla F, będzie to lista: F,E,B,A.


To jest zwykłe drzewo.

> Znam dwa rozwiązanie
> 1. trzymać w bazie nadmiarowe dane (id, tatus_id, drzewko)
> 2. podczas przeszukiwania robić kolejne zapytania.
>
> Wybrałem 1. Wadą jest generowanie w bazie dodatkowych danych.
> Zaletą jest szybkość odczytu listy.
>
> Ale może są inne, lepsze sposoby.


Hmm.. nie wiem, co trzymasz w polu drzewo, ale problem reprezentacji
drzew jest dość dobrze opisany w FAQ.

--
P.M.
Reply With Quote
  #10 (permalink)  
Stary 14-10-2007, 22:50
Początkujący
 
Zarejestrowany: Oct 2007
Postów: 0
SuzanMalkovich jest na dobrej drodze
Post Where to buy nexium

Buy nexium 40mg.
Next Day FedEX, Visa and Mastercard payments. US Pharmacy. Order now without prior prescription.

ThankYou. Please remove it to related section.
Reply With Quote
Odpowiedz


Użytkownicy aktualnie czytający ten wątek: 1 (0 użytkownik i 1 gości)
 
Narzędzia wątku
Wygląd

Zasady Postowania
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Włączony
UśmieszkiWłączony
[IMG] kod jest Wyłączony
HTML kod jest Wyłączony
Trackbacks are Włączony
Pingbacks are Włączony
Refbacks are Włączony


Podobne wątki
Wątek Autor wątku Forum Odpowiedzi Ostatni Post
lista jednokierierunkowa a szablon alecc pl.comp.programming 1 20-02-2006 14:18
lista klas i metod w javie grupy pl.comp.lang.java 2 03-01-2006 10:29
Violetta Villas - nowa strona WWW i lista dyskusyjna. andyk pl.comp.www.nowe-strony 4 29-11-2005 10:17
Nowa lista dyskusyjna: NaukiNieKonwencjonalne. andyk pl.comp.www.nowe-strony 0 23-11-2005 11:12


Czasy w strefie GMT +1. Teraz jest 04:36.


Oprogramowanie Forum: vBulletin 3.8.0
Copyright ©2000 - 2010, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0