🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.programming
Article #215770

Re: Serializacja obiektów w bazie danych - jakie podejście jest zalecane?

#215770
From: Tomasz Kaczanowski
Date: Mon, 29 Jul 2019 07:07
30 lines
2616 bytes
W dniu 2019-07-27 o 21:57, Szyk Cech pisze:
>>> * struktura bazy danych generuje się automatycznie z klas C++.
>>
>> Dlaczego?
> 
> Hasło: DRY (ang.: Don't repeat yourself.).
> 
> Nie zmierzam robić tego raz. Chcę stworzyć mechanizm generowania baz dla 
> wszelkich moich projektów bazodanowych. Chcę mieć potem wygodę używania 
> tego rozwiązania (tak wiem by to osiągnąć muszę napisać drugie tyle 
> testów automatycznych).
> 
> SOCI ma pełnić w tym kluczową rolę, bo jak rozumiem przykrywa nawet 
> specyficzną składnię danego motoru (ujednolica ją). Prawdopodobnie będę 
> musiał użyć wersji 3.x z uwagi na stabilność. Szkoda, że nie wiadomo 
> jakie są różnice między wersjami 3.x a 4.0...

Problem jest taki, że takie przebudowywanie bazy od strony programu 
wprowadza na bazę ograniczenia (szczególnie jeśli chodzi o rzeczy 
specyficzne dla danego silnika bazodanowego), po wtóre potrafi 
wygenerować dodatkowe problemy. Nadzorowanie struktury bazy z klienta to 
proszenie się o kłopoty. Pracuje przy jednym podobnym projekcie, kto w 
ten sposób obmyślił, niby wszystko fajnie, ale niestety jeśli potrzeba 
cos poprawić / zoptymalizować, zaczynają się schody. Dużo lepsze 
rozwiązanie było w poprzedni projekcie, przy którym pracowałem, gdzie 
baza była niezależna od kodu klienta, jeśli chodzi o strukturę. Jedyne 
co to baza pozwalała się podpiąć bądź nie w zależności od wersji programu.

-- 
http://kaczus.ppa.pl
Technical Details
Message-ID: <qhm60a$1j7l$1@gioia.aioe.org>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!3.eu.feeder.erje.net!feeder.erje.net!weretis.net!feeder7.news.weretis.net!news.dns-netz.com!news.freedyn.net!aioe.org!.POSTED.hIZuc4K1q8cwEo8uISl3bg.user.gioia.aioe.org!not-for-mail
References: <3RZ_E.825905$w82.303616@fx33.am4> <b5a5eba3-5dcd-4ee9-acf6-4ee728a19a5f@googlegroups.com> <U02%E.324013$Lu7.252596@fx13.am4>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!3.eu.feeder.erje.net!feeder.erje.net!weretis.net!feeder7.news.weretis.net!news.dns-netz.com!news.freedyn.net!aioe.org!.POSTED.hIZuc4K1q8cwEo8uISl3bg.user.gioia.aioe.org!not-for-mail
From: Tomasz Kaczanowski <kaczus@poczta.onet.pl>
Newsgroups: pl.comp.programming
Subject: Re: Serializacja obiektów w bazie danych - jakie
 podejście jest zalecane?
Date: Mon, 29 Jul 2019 09:07:55 +0200
Organization: Aioe.org NNTP Server
Lines: 31
Message-ID: <qhm60a$1j7l$1@gioia.aioe.org>
References: <3RZ_E.825905$w82.303616@fx33.am4> <b5a5eba3-5dcd-4ee9-acf6-4ee728a19a5f@googlegroups.com> <U02%E.324013$Lu7.252596@fx13.am4>
Reply-To: kaczus@wytnij_poczta.onet.pl
NNTP-Posting-Host: hIZuc4K1q8cwEo8uISl3bg.user.gioia.aioe.org
Mime-Version: 1.0
X-Complaints-To: abuse@aioe.org
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101 Thunderbird/60.5.0
X-Notice: Filtered by postfilter v. 0.9.2
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit