Uważam, że przestrzenne bazy danych nie powinny być traktowane inaczej niż tradycyjne bazy danych. Zasadniczo robią to samo, przechowując duże ilości danych w celu szybkiego wyszukiwania. Na przykład w PostgreSQL / PostGIS geometria jest tylko kolejnym typem danych. Podobnie jak tekst lub liczba całkowita. To samo w SQL Server 2008. To samo w Oracle. Jeśli część „przestrzenna” jest po prostu innym typem pola w bazie danych, to czy tak naprawdę różni się od oryginalnej bazy danych? Czy to oznacza, że powinniśmy wyrzucić wszystkie zasady tradycyjnego projektowania baz danych?
Oczywiście normalizacja może być podjęta zbyt daleko, podobnie jak w przypadku tradycyjnych baz danych, więc kompromisem jest znalezienie najlepszego projektu, który odpowiada Twoim potrzebom.
Jeśli planujesz stworzyć wysoce zdenormalizowaną strukturę z tabelami zawierającymi 100 kolumn, musisz zadać sobie pytanie, co może się zmienić w przyszłości? Czy przy znacznym wzroście liczby wierszy wpłynie to również na wydajność zapytań? Czy wpłynie to na łatwość utrzymania w przyszłości?
Co jest złego w tworzeniu znormalizowanej struktury i korzystaniu z widoków w celu ujawnienia wszystkich danych klientowi bazy danych, czy to GIS, czy innemu klientowi?
Wszystkie te pytania dotyczą zarówno tradycyjnych baz danych, jak i baz danych przestrzennych. Jeśli przejdziesz przez http://en.wikipedia.org/wiki/Database_normalization , przekonasz się, że dotyczy to również baz danych przestrzennych.
Jeśli oprogramowanie, którego używasz na bazie bazy danych, zmusza cię do korzystania z wysoce zdenormalizowanych struktur, jest to inny argument. Jesteś ograniczony przez oprogramowanie, a nie bazę danych, więc nie masz wyboru w najlepszym projekcie bazy danych.
Myślę więc, że krótka odpowiedź brzmi (moim zdaniem) projektowanie baz danych jest tak samo ważne w przypadku baz danych przestrzennych, jak i tradycyjnych baz danych.