Czy to powinny być oddzielne kolumny w tabeli? Kod pocztowy, miejscowość, adres. Czy to powinny być 3 kolumny?
Tak, powinny to być osobne kolumny w tabeli. Kwestią dyskusyjną są tabele słownikowe dla tych kolumn. Osobne kolumny mają ogromną przewagę nad jedną kolumną - można po nich wyszukiwać lub grupować. Co prawda można wyszukiwać przez LIKE '%xxx%'
ale to jest morderstwo dla bazy
W 99% przypadków to powinny być osobne kolumny. Aczkolwiek podział danych do kolumn zależy od konkretnych wymagań projektowych/ domenowych. Jeżeli wiesz na 100%, że jakieś dane nie bedą wykorzystywane do wyszukiwania/filtrowania po nich informacji to można je trzymać w jednej kolumnie. Aczkolwiek mówię ogólnie o projektowaniu bazy danych nie o tym konkretnym przypadku, bo tak jak wspomniałem w miażdżącej większości CRM'ów/ CRUD'ów te informacje będą musiały być dostępne jako osobne properties, bo będziesz chciał wyświetlić zamówienia z danego miasta itp.