🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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
#100
Author: Maciej "MACiAS" Pilichowski
Date: Thu, 01 Apr 1999 10:28
20 lines
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
#101
Author: Tomasz Rubaj
Date: Thu, 01 Apr 1999 10:21
14 lines
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
#103
Author: Staszek Pak
Date: Thu, 01 Apr 1999 12:33
26 lines
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
#102
Author: Janusz Hankiewicz
Date: Thu, 01 Apr 1999 20:58
13 lines
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
#105
Author: Janusz Dziadoń
Date: Fri, 02 Apr 1999 07:11
26 lines
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
#104
Author: Maciej "MACiAS" Pilichowski
Date: Fri, 02 Apr 1999 13:44
23 lines
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
#106
Author: Maciej "MACiAS" Pilichowski
Date: Sat, 03 Apr 1999 09:23
29 lines
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
#107
Author: Krzysztof Borys (Bask)
Date: Mon, 05 Apr 1999 22:28
16 lines
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
#108
Author: Janusz Dziadoń
Date: Tue, 06 Apr 1999 07:11
20 lines
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