Dúvida Relacionamento entre Tabelas do Banco

Dúvida 1 : estou desenvolvendo um sistema onde possui as tabelas cliente e funcionário, porém nas duas possuem informações iguais como nome, data de nascimento, cpf, tenho que criar outra tabela que reaproveite isso? por exemplo uma tabela Pessoa onde possua essas colunas que são iguais?

Dúvida 2: no mesmo sistema da Dúvida 1, as tabelas funcionário e cliente possuirão endereço com rua, cep, complemento etc, mas o mesmo será único, estou partindo pressupondo que não existiram endereços iguais logo não reaproveitarei valores, mas eu teria que criar a tabela endereço separada? já que em funcionario e cliente possuiram as colunas rua, complemento, cep etc ?

Boa tarde!

Duvida 1 - Vc poderia criar uma tabela terceiros que serviria para clientes e funcionários, nessa tabela vc insere uma coluna com a característica que identifique cada um deles.

Duvida 2 - Crie a tabela endereços e faça o mapeamento dela na tabela terceiros, assim com 2 tabelas vc resolve seu problema e futuramente se existirem mais terceiros na sua base de dados, suas tabelas já estariam prontas para recebe-los sem que necessite de nenhuma alteração.

Att.

[quote=ManoJava]Boa tarde!

Duvida 1 - Vc poderia criar uma tabela terceiros que serviria para clientes e funcionários, nessa tabela vc insere uma coluna com a característica que identifique cada um deles.

Duvida 2 - Crie a tabela endereços e faça o mapeamento dela na tabela terceiros, assim com 2 tabelas vc resolve seu problema e futuramente se existirem mais terceiros na sua base de dados, suas tabelas já estariam prontas para recebe-los sem que necessite de nenhuma alteração.

Att.[/quote]

Apoiado!
Existem também outras soluções, essa é muito boa e simples!

Sempre crie e estruture sua base pensando que a mesma poderá crescer, por mais simples que seja o sistema com certeza uma hora ou outra surgirá uma solicitação para novas funcionalidades, quanto mais dinâmica a base melhor, evite “engessar” sua base!