271
Vývoj / Re:MySQL - podmíněný SELECT přes dvě tabulky
« kdy: 06. 10. 2019, 13:12:41 »Citace
Jasně, a ta moje teze se projevuje tím, že jsem byl <a href="https://forum.root.cz/index.php?topic=21909.msg317937#msg317937" rel="nofollow" class="bbc_link" target="_blank">první, kdo tu explicitně napsalTo sice ano, ale pak jsi to hned zabil nesmyslným trváním na tom, že jeden způsob negace je lepší.
Citace
. Ale to bychom pak <tt class="bbc_tt">INNER JOIN</tt> nepotřebovali,Potřebovali.
Protože je třeba odlišit variantu záznam existuje, ale je NULL a záznam
neexistuje, což je případ, který se vyskytuje hodně zřídka a je normální DB navrhovat tak, aby pokud možno toto nebyl rozdíl - protože defakto oba stavy jsou reálně pochopitelné jako "neurčeno" a
- pokud mají sémantickou odlišnost, pak musí být explicitně vysvětlena, struktura není samovysvětlující. Navíc se s takovou databází pracuje špatně, právě kvůli výsledným problémům s negací. V takovém případě je daleko vhodnější sémantickou hodnotu: záznam je,ale je "nejasný" zachytit nikoli hodnotou NULL, ale nějak jinak.Samozřejmě asi se dá najít speciální příklad, kdy takový návrh bude mít opodstatnění, ale to je takový výjimka, že točit se na něm při řešení evidentně triviálního případu je poněkud demagogické.
- a pokud nemají sémantickou odlišnost, pak je chyba návrhu, že jedna skutečnost může být postihnuta různými stavy v DB.
Proto nepovažuji Miroslavovy dotazy za chybu - prostě předpokládal standardně rozumně navrženou databázi. Pokud naopak na těchto drobných odlišnostech bazíruješ, tak by to mělo být pro Tebe důvod k zamyšlení, nad jak kvalitními strukturami DB jsi zvyklý pracovat.
A pokud tedy opravdu na distinkci výše nezáleží, pak použití INNER/OUTER JOINu je na programovacím stylu. Jak Tvůj argument (že v raritním případě může dojít k sémantické odlišnosti), tak Miroslavova (že se to lépe upravuje při změně sémantiky) je validní, ale Miroslavův argument je daleko více "z praxe".
Citace
Já jsem ale neuváděl tenhle případ. Já jsem uváděl příklad „bydlí v Praze“ × „bydlí mimo Prahu“.Ne, ty jsi uváděl "Bydlí v Praze" a tvrdil jsi, že jediná přirozená negace je "Bydlí mimo Prahu". Což prostě v totmo případě opravdu není pravda. Když odpovím na "Bydlíš v Praze?" "Ne", tak tím nijak nevylučuji to, že jsem digitální nomád a nebydlím nikde.
Citace
Já jsem jenom uváděl příklady, že v přirozeném jazyce znamená negace často něco jiného než prostý doplněk množiny.Ne, jen ses o to snažil a ten příklad se Ti fakt nepovedl. A na základě toho špatného příkladu si vyvozoval obecný princip, "že není správné použít přesnou negaci", který měl zpětně podpořit ten Tvůj špatnej příklad.