🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.bazy-danych
Article #195346

Re: [OT] Re: Baza ok 2500 tabel.

#195346
From: wloochacz
Date: Mon, 10 Jul 2017 17:47
95 lines
5633 bytes
W dniu 2017-07-05 o 15:21, Adam pisze:
> W dniu 2017-07-05 o 13:30, wloochacz pisze:
>> W dniu 2017-06-20 o 15:20, Adam pisze:
>> /ciach/
>>
>>> Natomiast Symfonia czy jakieś tam Inserty mają oprócz tego, co
>>> napisałeś jeszcze sporo innych problemów. Najpoważniejsze: brak
>>> spójności systemu. Bywa u klientów, że towar zostanie pobrany na
>>> dokument, a nie zejdzie ze stanu magazynowego.
>>>
>>> W przypadku Optimy, CDN-XL czy Enovy - o spójność baz danych dbają
>>> triggery.
>> No popatrz, mam bazę Enovy (stan na rok 2015, ale nie sadzę aby były aż
>> tak poważne zmiany) pod ręką i nie ma w niej ani jednego triggera.
>> Tak wszystko co piszesz poniżej w kontekście Enovy, nie jest prawdziwe...
> 
> Aż zobaczyłem do jakiejś bazy:
/ciach/

> itd - 490 rekordów.
No i co tam zobaczyłeś, bo  nic z tego nie rozumiem...

> Optimka ma 272, CDN-XL ma 852.
> Zresztą do XL masz dokumentację, podsyłałem Ci kiedyś.
Pisałem o Enovie, a Ty mi tu pokazujesz XL.
A to, że "logika" w ERP XL jest w bazie danych, to jasne.
Burdel z tym taki, że łooo matko...
A najlepiej jest wtedy, gdy mam na przestrzeni kilku lat, kilka firm 
obsługujących ten sam system u klienta (tzw. fakt autentyczny i dotyczy 
ERP XL), robi własne zmiany w triggerach.
Każda z tych firm grzebie sobie w bazie jak im się podoba.
Po kilkunastu takich zmianach, nikt tak naprawdę nie wie co w tym 
trigger-hell się dzieje i kiedy się dzieje...

>>> Albo cała transakcja (w znaczeniu ścieżki logicznej zdarzeń)
>>> przejdzie, albo cała zostanie wycofana. Nawet, gdybym grzebał
>>> bezpośrednio w tabelach z danymi, transakcje są spójne, albo trigger
>>> nie pozwoli zmienić pola, gdy pozostałe warunki nie są zachowane.
>>> Jest to bardzo dobre dla serwisantów.
>> Dobre dla serwisantów?
>> A co to za serwisant, który grzebie w bazie nie wiedząc jakie będę tego
>> konsekwencje dla całego systemu?
>>
>> Taki "serwisant" niech lepiej trzyma lepkie łapki blisko siebie...
> 
> E, tam, nie przesadzaj.
Jasne, ale mam inną opinię.

> Przykładowy trigger dotyczący elementu transakcji (np. faktury) poniżej.
Myślę, że ten trigger  jest z definicji zjebany.

Select top 1?
A co w przypadku, kiedy insert będzie batchowy i będzie więcej niż jeden 
rekord wkładany w tym samym czasie?

Dlatego powtórzę: "Taki "serwisant" niech lepiej trzyma lepkie łapki 
blisko siebie..."
Na co Ty - nie przesadzaj...

 > Myślisz, że bez triggera ktoś by to zapamiętał?
Tak, ale to wymaga programowania w ERPie, a nie w jego bazie.

Poza tym ten cały trigger, jest wzorcowym przykładem jak nie należy tego 
robić i dlaczego nie należy tak tego robić.
Po prostu utrzymanie takiego systemu to istny horror-szoł...

>>> Przykład z życia: pad prądu w środku wpisywania dokumentu. W różnych
>>> systemach następuje rozjazd pomiędzy stanami handlowymi a stanami
>>> magazynowymi, natomiast w Optimie/XL/Enovie praktycznie nigdy. Znam
>>> tylko kilka zgłoszonych przypadków przez blisko 20 lat.
>> Zatem mylisz transakcję bazodanową (która została wycofana, po padł
>> prąd), ze spójnością danych logicznych zapewnioną przez triggery, po
>> stronie bazy danych.
>> I tak przez blisko 20 lat :P
>>
> 
> Być może mylę - nie przeczę.
> Bazodanowa - to jak coś w rodzaju TTS w Novellu?
Bazodanowa to bazodanowa, zgodna z ACID.
W porównaniu do ACID, TTS w Novell to bieda wersja, ale głównie dlatego 
że operuje na plikach (czy na blokach pliku? Ja jestem noga od Novella i 
wiem tyle ile wyczytam) i z tego co wiem, wymaga interakcji z Novell TTS.
W bazie danych nie posługujesz się pojęciem pliku i nic Cię on nie 
obchodzi, a sama transakcja dotyczy wszystkich (zazwyczaj chodzi o 
polecania DML, ale bywa różnie w różnych bazach danych) poleceń SQL, 
które są nią objęte.

> Ale to chyba na innym poziomie, niż logiczna spójność. Muszę doczytać. 
> Jakiś link?
ACID
https://pl.wikipedia.org/wiki/ACID
https://msdn.microsoft.com/en-us/library/aa480356.aspx?f=255&MSPPError=-2147217396

-- 
wloochacz
Technical Details
Message-ID: <5963bdc4$0$653$65785112@news.neostrada.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!newsfeed2.atman.pl!newsfeed.atman.pl!goblin2!goblin1!goblin.stu.neva.ru!newsfeed.neostrada.pl!unt-exc-02.news.neostrada.pl!unt-spo-a-01.news.neostrada.pl!news.neostrada.pl.POSTED!not-for-mail
References: <59400f55$0$663$65785112@news.neostrada.pl> <ohq7ub$s7h$1@gioia.aioe.org> <ohr1t9$h91$1@usenet.news.interia.pl> <59411fb2$0$15209$65785112@news.neostrada.pl> <ohrmer$rgq$1@usenet.news.interia.pl> <5b0cb897-0678-4a43-8e26-375b40c8f6ae@googlegroups.com> <oi8crp$kr8$1@usenet.news.interia.pl> <oi8p3q$dd2$1@usenet.news.interia.pl> <oi9365$1kh$1@usenet.news.interia.pl> <5948b198$0$5146$65785112@news.neostrada.pl> <oib7fa$b50$1@usenet.news.interia.pl> <595ccdc0$0$15205$65785112@news.neostrada.pl> <ojip52$9jn$1@usenet.news.interia.pl>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!newsfeed2.atman.pl!newsfeed.atman.pl!goblin2!goblin1!goblin.stu.neva.ru!newsfeed.neostrada.pl!unt-exc-02.news.neostrada.pl!unt-spo-a-01.news.neostrada.pl!news.neostrada.pl.POSTED!not-for-mail
Subject: Re: [OT] Re: Baza ok 2500 tabel.
Newsgroups: pl.comp.bazy-danych
References: <59400f55$0$663$65785112@news.neostrada.pl> <ohq7ub$s7h$1@gioia.aioe.org> <ohr1t9$h91$1@usenet.news.interia.pl> <59411fb2$0$15209$65785112@news.neostrada.pl> <ohrmer$rgq$1@usenet.news.interia.pl> <5b0cb897-0678-4a43-8e26-375b40c8f6ae@googlegroups.com> <oi8crp$kr8$1@usenet.news.interia.pl> <oi8p3q$dd2$1@usenet.news.interia.pl> <oi9365$1kh$1@usenet.news.interia.pl> <5948b198$0$5146$65785112@news.neostrada.pl> <oib7fa$b50$1@usenet.news.interia.pl> <595ccdc0$0$15205$65785112@news.neostrada.pl> <ojip52$9jn$1@usenet.news.interia.pl>
From: wloochacz <wloochacz@no.spam.gmail.com>
Date: Mon, 10 Jul 2017 19:47:47 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.2.1
MIME-Version: 1.0
In-Reply-To: <ojip52$9jn$1@usenet.news.interia.pl>
Lines: 95
Message-ID: <5963bdc4$0$653$65785112@news.neostrada.pl>
Organization: Telekomunikacja Polska
NNTP-Posting-Host: 83.21.11.204
X-Trace: 1499708868 unt-rea-b-01.news.neostrada.pl 653 83.21.11.204:48569
X-Complaints-To: abuse@news.neostrada.pl
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit