Mocna kontrola typów jest bardzo istotnym udogodnieniem oferowanym przez języki programowania. Chroni programistów przed ich własnymi błędami, powodując wykrycie bardzo wielu błędów koncepcyjnych i zwyczajnych pomyłek już na etapie kompilacji programów. Chociaż mocna kontrola typów ma już długą historię, pewne jej zagadnienia nie są dostatecznie dopracowane. W ostatnich latach nastąpiły dość radykalne zmiany w technologiach baz danych m.in. poprzez zwiększenie nacisku na obiektowość języków zapytań oraz dane półstrukturalne. To powoduje konieczność rozpatrzenia kwestii systemów mocnej kontroli typów adekwatnie do obecnych technologii.W niniejszej książce zaproponowaliśmy nowe podejście do mocnej kontroli typów. Nazwaliśmy je półmocną kontrolą typów. Nazwę wzorowaliśmy na półstrukturalnym modelu danych. Zbieżność nazw nie jest przypadkowa. W modelu półstrukturalnym, w którym typy są z definicji rozluźnione, kontrola typów może być tylko półmocna. Zaprezentowane podejście do mocnej kontroli typów jest całościowe i może być stosowane dla każdego modelu danych, również wtedy, gdy dane są nieregularne lub gdy język zapytań jest rozszerzony poprzez abstrakcje programistyczne i bazodanowe, takie jak procedury, funkcje, metody, aktualizowalne perspektywy itd.