On 2005-11-24, at 00:40, konrad rzentarzewski wrote:
23/09/05, messie from [ Andrzej Boczek ] ...
Zabrałem się za porządki z moim LMS i przy okazji zmieniłem bazę danych z mysql na postgres. I tu nastąpiło moje wielkie zdumienie.
LMS na postgresie nie używa więzów integralności...
Czy jest ku temu jakiś sensowny powód? Bo to, że mysql ich nie wspiera jest dla mnie miałkim powodem. Więzy są po to, żeby nie dane się nie rozjeźdżały po róznych dziwnych akcjach.
Niech mnie ktoś oświeci...
używanie kluczy obcych rozleniwia autorów aplikacji (zamiast sprawdzać spójność danych w aplikacji wystarczy sprawdzać czy operacja na bazie się udała, inna obsługa błędów), co prowadziło by do zwiększających się różnic w implementacji tego samego dla różnych silników.
póki derkaderka nie wysadzi mysql ab to rozmaite portowalne aplikacje będą używać koncepcji "wszystko w appie" zamiast "co się da zrzucamy na bazę" sprowadzając ją do roli storage'u.
osobiście nic bym nie miał przeciwko zarzuceniu mysqla na rzecz np. orakiela, jak i wyplenieniu 2/3 getów za pomocą ajaxa, ale jaki tam ze mnie rewolucjonista. a sam nie napiszę tego, a i chodzić codziennie do sklepu muszę po bułki i salceson :)
Wrong, mr. Boczek (ktorego zreszta pozdrawiam przy okazji) ma racje. To baza powinna miec foregin keys, i constrains, i triggery. A jak tylko udaje ze jest SQLem, bo ma SQL w nazwie to juz co innego :P iow, applikacja powinna sprawdzac dane swoja droga, te ktore otrzymuje ze srodowiska zew. (przez siec), a baza powinna robic wszystko aby zachowac integralnosc, constrainami, triggerami, itd