Article View: pl.comp.bazy-danych
Article #195346Re: [OT] Re: Baza ok 2500 tabel.
From: wloochacz
Date: Mon, 10 Jul 2017 17:47
Date: Mon, 10 Jul 2017 17:47
95 lines
5633 bytes
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-mailReferences:
<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