Thread View: pl.comp.lang.delphi.bazy-danych
9 messages
9 total messages
Started by Maciej "MACiAS" Pilichowski
Thu, 01 Apr 1999 10:28
Id w sieci
Author: Maciej "MACiAS" Pilichowski
Date: Thu, 01 Apr 1999 10:28
Date: Thu, 01 Apr 1999 10:28
20 lines
1324 bytes
1324 bytes
Hej,
Czy moglibyscie albo wytlumaczyc, albo odeslac do dostepnej
literatury /ang, pol/ jak wlasnorecznie nadawac numery Id rekordom,
zwlaszcza jesli pracujemy w sieci. Chodzi o mechanizmy omijania
deadlockow.
Przykladowo -- dopisywane sa do bazy mieszkancow Torunia dwie osoby.
Kazda z nich musi miec unikalny numer Id.
Jeszcze inaczej -- chodzi mi o wlasnoreczny, dzialajacy poprawnie,
autoincrement.
milego dnia zycze
hej
--
Maciej "MACiAS" Pilichowski http://www.torun.pdi.net/~macias/
nowe klamoty w marcu: pieniadze publiczne, W I R U S Happy99
S P R Z E D A M : oryginalne gry HalfLife i Thief, streamer Jumbo250,
lornetke z zoomem, segment CD Technics, przeciwsloneczne okulary sportowe
Re: Id w sieci
Author: Tomasz Rubaj
Date: Thu, 01 Apr 1999 10:21
Date: Thu, 01 Apr 1999 10:21
14 lines
1052 bytes
1052 bytes
> Przykladowo -- dopisywane sa do bazy mieszkancow Torunia dwie osoby. > Kazda z nich musi miec unikalny numer Id. > > Jeszcze inaczej -- chodzi mi o wlasnoreczny, dzialajacy poprawnie, > autoincrement. > W sql mozna to zrobic tak: update tablica_numerow set maxnumer=maxnumer+1; // zwiekszamy i jedn blokujemy rekord select maxnumer from tablica_numerow; commit; Tablica z numeracja ma 1 wiersz. TRubaj
Re: Id w sieci
Author: Staszek Pak
Date: Thu, 01 Apr 1999 12:33
Date: Thu, 01 Apr 1999 12:33
26 lines
1904 bytes
1904 bytes
> >Kazda z nich juz go ma, jest nim numer PESEL. Ale mam nadzieje >ze nie lamiesz ustawy o ochronie danych osobowych. :-)))) >Ciekaw jestem jak zestandaryzowales dlugosci pol dla nazwisk, imion, >adresow itp. Moj kumpel ostatnio robil system dla kasy chorych i podczas wprowadzania danych dokonywal weryfikacji numeru PESEL. Okazalo sie, ze na ok. milion rekordow jest ok 20 blednych PESEL-i, niewykluczone, ze byly one zduplikowane. Jesli baza danych tego kolegi jest rozlaczna (tzn. kazdy z oddzialow ma osobna baze i nie korzystaja ze wspolnej) wystarczy ustalic okreslony system nadawania numerow ID dla rekordow. Np. oddzial A moze generowac id poczawszy id wartosci IDSTART_A, oddzial B - IDSTART_B itd. Pozniej po polaczeniu rekordow nie ma problemu z duplikacja. Innym pomyslem jest uzywanie GUID (Global Unique ID), ktorego generowanie zapewnia Windows. Algorytm generowania tego id jest zdaje sie tak opracowany, ze nie ma szans aby powtorzyl sie on na jakimkolwiek komputerze na swiecie (nie wiem jak to robia, ale mozna poczytac). Jest to jednak metoda pamieciozerna, poniewaz taki id jest zapisany na 128 bitach (nie daje glowy teraz ze jest tak naprawde, ale cos kolo tego). Stach.
Re: Id w sieci
Author: Janusz Hankiewicz
Date: Thu, 01 Apr 1999 20:58
Date: Thu, 01 Apr 1999 20:58
13 lines
974 bytes
974 bytes
> > Przykladowo -- dopisywane sa do bazy mieszkancow Torunia dwie osoby. > Kazda z nich musi miec unikalny numer Id. > Kazda z nich juz go ma, jest nim numer PESEL. Ale mam nadzieje ze nie lamiesz ustawy o ochronie danych osobowych. :-)))) Ciekaw jestem jak zestandaryzowales dlugosci pol dla nazwisk, imion, adresow itp. Pozdrawiam Janusz Hankiewicz
Re: Id w sieci
Author: Janusz Dziadoń
Date: Fri, 02 Apr 1999 07:11
Date: Fri, 02 Apr 1999 07:11
26 lines
1787 bytes
1787 bytes
Maciej "MACiAS" Pilichowski napisał(a) w wiadomości: <370333dc.5799300@rymunda.torun.pdi.net>... >Czy moglibyscie albo wytlumaczyc, albo odeslac do dostepnej >literatury /ang, pol/ jak wlasnorecznie nadawac numery Id rekordom, >zwlaszcza jesli pracujemy w sieci. Chodzi o mechanizmy omijania >deadlockow. >Przykladowo -- dopisywane sa do bazy mieszkancow Torunia dwie osoby. >Kazda z nich musi miec unikalny numer Id. >Jeszcze inaczej -- chodzi mi o wlasnoreczny, dzialajacy poprawnie, >autoincrement. Rozumiem, ze przyklad MastApp masz przetrenowany ?? Tam jest tabelka z NextItem. Przy rzadko modyfikowanych tabelach mozesz skorzystac z TQuery: 1. wykonac - Select Max(id) from tabelka, 2. pobrac tego maxa - NewRecid:=Fields[0].AsInteger 3. dodac 1 - Inc(newrecId); 4. to bedzie id nowego rekordu. Napisz lepiej co to za baza - czy SQL czy tez DBase, Paradox. W SQl sa triggery - opisik SQL choc ubogi jest nawet z Delphi. Korzystalem tez z ksiazki "Projektowanie baz danych w Delphi". Za dobra nie jest, ale gdy sie nie ma co sie lubi .... -- Janusz Dziadon j.dziadon@bph.krakow.pl
Re: Id w sieci
Author: Maciej "MACiAS" Pilichowski
Date: Fri, 02 Apr 1999 13:44
Date: Fri, 02 Apr 1999 13:44
23 lines
1474 bytes
1474 bytes
Hej,
On Thu, 01 Apr 1999 12:58:35 -0800, Janusz Hankiewicz
<fiddler@kki.net.pl> wrote:
>> Przykladowo -- dopisywane sa do bazy mieszkancow Torunia dwie osoby.
>> Kazda z nich musi miec unikalny numer Id.
>Kazda z nich juz go ma, jest nim numer PESEL.
Eeee, jakby tu wytlumaczyc Ci slowo "przykladowo"...
>Ciekaw jestem jak zestandaryzowales dlugosci pol dla nazwisk, imion,
>adresow itp.
Hugh?
milego dnia zycze
hej
--
Maciej "MACiAS" Pilichowski http://www.torun.pdi.net/~macias/
nowe klamoty w marcu: pieniadze publiczne, W I R U S Happy99
S P R Z E D A M : oryginalne gry HalfLife i Thief, streamer Jumbo250,
lornetke z zoomem, segment CD Technics, przeciwsloneczne okulary sportowe
Re: Id w sieci
Author: Maciej "MACiAS" Pilichowski
Date: Sat, 03 Apr 1999 09:23
Date: Sat, 03 Apr 1999 09:23
29 lines
1671 bytes
1671 bytes
Hej,
>Rozumiem, ze przyklad MastApp masz przetrenowany ??
Nope. Mam sie rumienic? ;-))
> Tam jest tabelka z
>NextItem. Przy rzadko modyfikowanych tabelach mozesz skorzystac z TQuery:
>1. wykonac - Select Max(id) from tabelka,
>2. pobrac tego maxa - NewRecid:=Fields[0].AsInteger
>3. dodac 1 - Inc(newrecId);
>4. to bedzie id nowego rekordu.
Kurcze, ani Twoj przyklad ani Tomka /dzieki/ nie przekonuja mnie. A co
jesli dwaj uzytkownicy zrobia append. Obaj dostana takie same numery.
CHYBA!
>Napisz lepiej co to za baza - czy SQL czy tez DBase, Paradox.
Powiedzmy ze Paradox. Mowie "powiedzmy" bo chodzi mi o ogolna
technike.
milego dnia zycze
hej
--
Maciej "MACiAS" Pilichowski http://www.torun.pdi.net/~macias/
nowe klamoty w marcu: pieniadze publiczne, W I R U S Happy99
S P R Z E D A M : oryginalne gry HalfLife i Thief, streamer Jumbo250,
lornetke z zoomem, segment CD Technics, przeciwsloneczne okulary sportowe
Re: Id w sieci
Author: Krzysztof Borys (Bask)
Date: Mon, 05 Apr 1999 22:28
Date: Mon, 05 Apr 1999 22:28
16 lines
1378 bytes
1378 bytes
On Sat, 03 Apr 1999 09:23:44 GMT, macias@torun.pdi.net (Maciej "MACiAS" Pilichowski) wrote: >Hej, > >>Rozumiem, ze przyklad MastApp masz przetrenowany ?? > >Nope. Mam sie rumienic? ;-)) Sprawdź tam lepiej - generalnie polega to na użyciu tabeli z 1 rekordem jednopolowym, używanej w trybie Exclusive. Program robi Edit, ściąga nr rekordu, inkrementuje wartość, wykonuje Post i zamyka tebele. Może się zdarzyć że masz 2 klientów na tabeli - musisz wykryś wyjątki i spróbować powtórzyć operację. -- UIN: 3620584 Bask WWW: http://www.wpk.p.lodz.pl/~bask
Re: Id w sieci
Author: Janusz Dziadoń
Date: Tue, 06 Apr 1999 07:11
Date: Tue, 06 Apr 1999 07:11
20 lines
1430 bytes
1430 bytes
Maciej "MACiAS" Pilichowski napisał(a) w wiadomości: <3707cbff.2330184@rymunda.torun.pdi.net>... >>Rozumiem, ze przyklad MastApp masz przetrenowany ?? >Nope. Mam sie rumienic? ;-)) Nie nie musisz, ale zaczynajac pisanie baz warto sie moim zdaniem z nim zapoznac. Szczególnie ze wzgledu i w aspekcie wspólpracy wielu userów w sieci. >Kurcze, ani Twoj przyklad ani Tomka /dzieki/ nie przekonuja mnie. A co >jesli dwaj uzytkownicy zrobia append. Obaj dostana takie same numery. >CHYBA! No wlasnie chyba - nie dywaguj tylko sprawdz. Zreszta jak widze Bask ci juz to opisal. -- Janusz Dziadon j.dziadon@bph.krakow.pl
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads