Inicio de um sistema comercial

Boa tarde meus amigos, tudo bem?
Um colega meu e eu estamos em um projeto para desenvolver um aplicativo comercial personalizado, ou seja, o cliente nos procurou para desenvolver para ele.
Até então tudo bem, levantamos requisitos, necessidades, montamos o projeto, escolhemos ferramentas e vamos iniciar.
Mas eu estava pensando aqui comigo, vamos utilizar o SGBD PostgreSQL, modelamos o DER e iniciamos o modelo físico, mas me surgiu uma dúvida que eu não sei como proceder que é a seguinte:

Depois de instalado no cliente, ele irá usar o sistema alimentando-o com seus dados, mas se surgir alguma necessidade de alteração onde tenhamos que modificar o banco, ou seja, acrescentar ou remover tabelas, como é que posso fazer isso sem comprometer a integridade dos dados existentes? Seria, uma nova modelagem, mas como será feita a atualização no banco físico? vai se dar pelo PGAdmin, onde irei criar cada tabela manualmente ou existe alguma forma de atualizar o banco sem perder os dados…

Desculpa minha ignorância, mas é uma dúvida que a principio não aconteceu mas quero estar previnido.

Abraço.

JuniorMaia
Apagar tabela pode ser complicado, trabalhamos aqui com sql server e nunca precisamos apagar.
Alteramos tabelas, muitas vezes, utilizando aqui alter table (acrescenta ou retira campos da tabela), não perdemos nada …
Esse deve ser um dos grandes problemas nosso: ter que conhecer a fundo a linguagem/api de programação e o SGDB.
Estude a documentação do SGDB que vai utilizar, vc so tem a ganhar.

Eu uso o banco de dados SQL Server e nunca tive esse tipo de problema.
Ao alterar dados de uma tabela acrescentando campos não influencia em nada na integridade das informações dessa tabela;
a não ser se voce deletar um campo que contem dados.

Mas se voce fez a modelagem e esta tudo certo, já andou 1000 passos, é mais facil o cliente pedir pra acrescentar campos do que
tirar, mas se isso ocorrer a alteração da tabela não interfere nos dados.

Se precisar adicionar ou remover tabelas segue a mesma regra se tiver dados perde os dados senão tiver não há pq ter medo;
Uma dica se precisar remover uma tabela que contem dados e voce precisa desses dados crie uma tabela temporaria com essas
informações e depois delete.

O ideial é fazer uma modelagem padronizado e que esteja perfeito , se assim tiver fique tranquilo.
Pode haver mudanças, mas não terá dor de cabeça.

Lembre-se sempre disso “Bem-aventurado são aqueles que fazem backup”

Bem querendo ou não uma aplicação sempre esta no estado “em desenvolvimento”, pois sempre pode ter uma modificação.
como você ja tem a modelagem pronta, sempre que tiver que adicionar ou remover um campo você vai fazer na sua máquina primeiro em ambiente de desenvolvimento.
após fazer as instruções alter table, recomento você salva-las para quando for no cliente executar todas as operações que você fez na sua maquina, para a atualização do banco.
e lembre-se sempre antes de qualquer modificação, faça o backup…