Chave Primaria

Firebird

10/04/2007

Pessoal,

Boa tarde!



Meu Cadastro de Cliente hoje é dividido em duas tabelas: CLIENTE e outra tabela CONTATO

Na tabela CONTATO eu tenho três campos para guardar Telefone dos Contatos mas estou tendo problema pois estou vendo a necessidade de poder cadastrar mais Números de Telefones pois a maior parte dos Clientes que trabalham com meu sistema fazem a busca dos seus Cliente cadastrados no Sistema através do Numero do Telefone.

Então estou pensando em criar uma terceira tabela TELEFONE e fazer o relacionamento com a tabela CONTATO para que eu não fique limitado a quantidade de Telefone por Contato.

Uma coisa extremamente importante é que não pode em hipótese alguma ter numero de telefone repetido então pensei em criar a tabela tendo como Chave Única o DDD e o Número do Telefone, ficaria mais ou menos assim:





CREATE TABLE TELEFONE (

DDD CHAR(2) NOT NULL,

TELEFONE VARCHAR(9) NOT NULL,

ID_CONTATO INTEGER,

TELEFONE_TIPO VARCHAR(15))







alter table TELEFONE

add constraint PK_TELEFONE

primary key (DDD,TELEFONE)





Outro detalhe importante é que meu Sistema trabalha Conectado há Centrais Telefonicas entao quando entra uma Ligação o Sistema recebe o numero da Central Telefônica e faz uma busca no Banco de Dados procurando pelo numero então preciso que esta Busca seja bem rápida pois na maioria dos Clientes o Telefone toca o dia todo.



Gostaria de pedir a opinião dos colegas, este seria um bom caminho há seguir?



Fico no agurdo.



Um abraço,


Mmoreira

Mmoreira

Curtidas 0
POSTAR