-
X-Received: by 2002:ac8:124c:: with SMTP id g12mr19755243qtj.57.1564476684514; Tue,
30 Jul 2019 01:51:24 -0700 (PDT)
X-Received: by 2002:ac8:124c:: with SMTP id g12mr19755243qtj.57.1564476684514; Tue,
30 Jul 2019 01:51:24 -0700 (PDT)
Path: news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!2.eu.feeder.erj
e.net!4.us.feeder.erje.net!feeder.erje.net!weretis.net!feeder6.news.weretis.net
!feeder.usenetexpress.com!feeder-in1.iad1.usenetexpress.com!border1.nntp.dca1.g
iganews.com!nntp.giganews.com!b26no5921746qtq.0!news-out.google.com!a5ni515qtd.
0!nntp.google.com!b26no5921742qtq.0!postnews.google.com!glegroupsg2000goo.googl
egroups.com!not-for-mail
Newsgroups: pl.comp.programming
Date: Tue, 30 Jul 2019 01:51:24 -0700 (PDT)
In-Reply-To: <SUD%E.1982843$hWc.88937@fx15.am4>
Complaints-To: g...@g...com
Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=165.225.84.84;
posting-account=bMuEOQoAAACUUr_ghL3RBIi5neBZ5w_S
NNTP-Posting-Host: 165.225.84.84
References: <3RZ_E.825905$w82.303616@fx33.am4>
<b...@g...com>
<U02%E.324013$Lu7.252596@fx13.am4> <qhm60a$1j7l$1@gioia.aioe.org>
<SUD%E.1982843$hWc.88937@fx15.am4>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <2...@g...com>
Subject: Re: Serializacja obiektów w bazie danych - jakie podejście jest zalecane?
From: Maciej Sobczak <s...@g...com>
Injection-Date: Tue, 30 Jul 2019 08:51:24 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Lines: 48
Xref: news-archive.icm.edu.pl pl.comp.programming:213720
[ ukryj nagłówki ]> Chodzi o to by warstwa bazy danych była całkowicie zautomatyzowana
> (automatyzacja to atut systemów komputerowych).
Automatyzacja jest możliwa, jeśli są wszystkie dane do automatycznego przetwarzania.
A projekt bazy danych nie opiera się na strukturze programu, tylko na wymaganiach,
które są powyżej projektowanego programu. Czyli nawet gdybyś chciał coś
automatyzować, to nie na tej ścieżce:
program
|
V
baza danych,
tylko na takich:
wymagania
| |
V V
program baza danych
I tu byś był bliżej ideału, ale zwykle wymagania nie występują w formie, na której
można jakąkolwiek automatyzację uprawiać (w szczególności: zwykle nie występują w
żadnej formie). Ale da się ten proces, całościowo, uprawiać ręcznie - i zwykle jest
to lepsze, niż ułomna automatyzacja, która ostatecznie może kosztować więcej, niż
oszczędza.
Projekt bazy danych w ogóle nie musi się zgadzać 1:1 z projektem programu. W sensie -
nawet liczba tabel nie musi się zgadzać z liczbą klas. Może być nawet tak, że ze
względów wydajnościowych (albo innych) struktury bazy służące do zapisu danych będą
inne, niż te służące do odczytu. Albo pierdylion innych możliwości, których nie da
się obsłużyć automatem parsującym kod programu.
> Ten mój generator będzie
> generował klasę Database_N_M w oparciu o klasy zachowalne umiejscowione
> w warstwie logiki biznesowej.
Lepiej nie.
Najlepszy cytat w tym temacie: "It's a data base, not a data dump."
--
Maciej Sobczak * http://www.inspirel.com
Następne wpisy z tego wątku
- 31.07.19 18:30 Szyk Cech
- 31.07.19 18:40 Szyk Cech
- 31.07.19 18:52 wloochacz
- 01.08.19 13:41 Maciej Sobczak
- 02.09.19 14:56 M.M.
- 02.09.19 17:46 Szyk Cech
Najnowsze wątki z tej grupy
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
- CfC 28th Ada-Europe Int. Conf. Reliable Software Technologies
- Młodzi programiści i tajna policja
- Ada 2022 Language Reference Manual to be Published by Springer
- Press Release - AEiC 2023, Ada-Europe Reliable Softw. Technol.
- Ada-Europe - AEiC 2023 early registration deadline approaching
- Ada-Europe Int.Conf. Reliable Software Technologies, AEiC 2023
- Ile cykli zajmuje mnożenie liczb 64-bitowych?
Najnowsze wątki
- 2024-05-30 Warszawa => SAP WM Consultant / Execution <=
- 2024-05-30 Wrocław => Mid/Senior QA Engineer <=
- 2024-05-30 Bieruń => Administrator i wdrożeniowiec Lotus Notes/Domino <=
- 2024-05-30 Warszawa => B2B Sales Representative <=
- 2024-05-29 Warszawa => Frontend Developer - React <=
- 2024-05-29 Kraków => Senior PHP Developer (Symfony) <=
- 2024-05-29 Warszawa => Frontend Developer (React) <=
- 2024-05-29 Zabrze => Regular .NET Developer <=
- 2024-05-29 Zabrze => Regular .NET Developer <=
- 2024-05-29 Warszawa => Senior Cloud DevOps Engineer (Azure) <=
- 2024-05-29 Berlin => Technischer Rollouter (d/m/w) <=
- 2024-05-29 Poznań => Specjalista ds. Sprzedaży <=
- 2024-05-29 Kraków => MS Dynamics 365BC/NAV Developer <=
- 2024-05-29 Warszawa => Google Ads Freelancer <=
- 2024-05-29 Ulm => Solution Engineer (m/w/d) Data Center Technologies <=