[firebase-br] RES: RES: Chave Primaria de Tabela
Marcelo Moreira
marcelo em easysistemasmg.com.br
Qua Abr 11 09:57:17 -03 2007
Valber,
No meu caso eu tive que desenvolver CTI para alguns modelos de centrais
telefônicas como centrais da Siemens, Intelbras, Avaya, Alcatel ... Esta são
as principais. Então basicamente o que este CTI faz é entender o Protocolo
usado pelas Centrais e enviar as informações para um servidor que faz toda a
coisa acontecer.
Espero que tenha conseguido explicar direito.
Abraço!
-----Mensagem original-----
De: Valber Aguiar [mailto:valber em aguiarsistemas.com.br]
Enviada em: quarta-feira, 11 de abril de 2007 10:00
Para: marcelo em easysistemasmg.com.br
Assunto: Re: [firebase-br] RES: Chave Primaria de Tabela
Como vc faz a comunicação com a central telefonica????
----- Original Message -----
From: "Marcelo Moreira" <marcelo em easysistemasmg.com.br>
To: "'Marcelo Silva'" <marcvan em ig.com.br>; <lista em firebase.com.br>
Sent: Wednesday, April 11, 2007 9:00 AM
Subject: [firebase-br] RES: Chave Primaria de Tabela
Xará
Eu entendi sua explicação mas veja bem no meu caso eu não posso permitir em
hipótese alguma um telefone em duplicidade porque como meu sistema esta
ligado há uma central telefônica assim que o sistema recebe este numero da
central telefônica (DDD + Numero do Telefone) ele deve me retornar no Banco
de Dados um Cadastro de Cliente e se ele encontrar mais de um vai matar a
lógica do sistema.
Só uma duvida, quanto a trabalhar com chaves compostas isso pode afetar em
alguma coisa no desempenho do banco de dados?
Fico no aguardo.
Obrigado!
-----Mensagem original-----
De: Marcelo Silva [mailto:marcvan em ig.com.br]
Enviada em: quarta-feira, 11 de abril de 2007 08:55
Para: marcelo em easysistemasmg.com.br
Assunto: Re: [firebase-br] Chave Primaria de Tabela
Tanto faz se vc manter fora ou nao, pois o SQL tem recursos para destrinchar
uma string
SELECT * FROM TELEFONE WHERE (TELEFONE LIKE '11%')
SELECT * FROM TELEFONE WHERE (TELEFONE STARTING '11')
SELECT * FROM TELEFONE WHERE (TELEFONE CONTAINING '11') <- equivale ao like
%string%
Se criar DDD separado ae tera que criar uma chave composta para nao repetir
Ex.
11 69627390
11 69194251
21 69627390
Perceba que o DDD é diferente mas os Telefones se repetem em outro LOCAL por
isso aconselho deixar juntos
Tem tambem uma caso citado por um colega da lista, onde vc pode ter clientes
diferentes com o mesmo telefone (Pessoas da mesma familia) neste caso voce
nem pode criar uma Forekey tera que criar um Unique composto (nao sei se da)
com o campo TELEFONE e ID_CONTATO
* mas pra tudo tem um jeito :)
------------------------------------------
Marcelo Silva
msn: marcvan em ig.com.br
11 6723-3106 - TB
11 9693-4251 - CL
------------------------------------------
----- Original Message -----
From: "Marcelo Moreira" <marcelo em easysistemasmg.com.br>
To: "'Marcelo Silva'" <marcvan em ig.com.br>
Cc: <lista em firebase.com.br>
Sent: Tuesday, April 10, 2007 5:48 PM
Subject: RES: [firebase-br] Chave Primaria de Tabela
Marcelo,
Depois de conversar com algumas pessoas a sua proposta seria a mais indicada
mesmo ... a única coisa que vou ter que manter é o DDD separado do texto do
telefone ... Fora isso, acredito que estou no caminho certo.
Valew pela atenção.
Um abraço.
-----Mensagem original-----
De: Marcelo Silva [mailto:marcvan em ig.com.br]
Enviada em: terça-feira, 10 de abril de 2007 15:32
Para: marcelo em easysistemasmg.com.br; FireBase
Assunto: Re: [firebase-br] Chave Primaria de Tabela
Eu criaria assim
CREATE TABLE TELEFONE (
COD_TEL INTEGER NOT NULL, <- CHAVE PRIMARIA É UM SEQUENCIAL
TELEFONE VARCHAR(10) NOT NULL, <- UM TELEFONE TERA 10 DIGITOS 1169627390
ID_CONTATO INTEGER, <- AQUI DEVE SER A FOREKEY
TELEFONE_TIPO VARCHAR(15)) <- DESCRICAO DE TIPO
Depois faria uma chave Unique Key no campo TELEFONE
Quanto ao campo TELEFONE estar com 10 digitos tudo junto eu prefiro, pois na
hora de colocar a mascara vc nao sofre
1169627390 -> FormatMask -> (11) 6962-7390
------------------------------------------
Marcelo Silva
msn: marcvan em ig.com.br
11 6723-3106 - TB
11 9693-4251 - CL
------------------------------------------
----- Original Message -----
From: "Marcelo Moreira" <marcelo em easysistemasmg.com.br>
To: <lista em firebase.com.br>
Sent: Tuesday, April 10, 2007 2:50 PM
Subject: [firebase-br] Chave Primaria de Tabela
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,
Marcelo Moreira
* marcelo em easysistemasmg.com.br
* (31) 9165-9616
*(31) 3334-5139
MSN: easysuporte em terra.com.br
Skype: EasySistemas
Easy Sistemas
www.easysistemasmg.com.br
Antes de IMPRIMIR, pense em sua responsabilidade e compromisso com o MEIO
AMBIENTE
--
No virus found in this outgoing message.
Checked by AVG Free Edition.
Version: 7.5.446 / Virus Database: 269.0.0/754 - Release Date: 9/4/2007
22:59
______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
Para editar sua configuração na lista, use o endereço
http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
Para consultar mensagens antigas: http://firebase.com.br/pesquisa
--
No virus found in this incoming message.
Checked by AVG Free Edition.
Version: 7.5.446 / Virus Database: 269.0.0/754 - Release Date: 9/4/2007
22:59
--
No virus found in this outgoing message.
Checked by AVG Free Edition.
Version: 7.5.446 / Virus Database: 269.0.0/754 - Release Date: 9/4/2007
22:59
--
No virus found in this incoming message.
Checked by AVG Free Edition.
Version: 7.5.446 / Virus Database: 269.2.0/756 - Release Date: 10/4/2007
22:44
--
No virus found in this outgoing message.
Checked by AVG Free Edition.
Version: 7.5.446 / Virus Database: 269.2.0/756 - Release Date: 10/4/2007
22:44
______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
Para editar sua configuração na lista, use o endereço
http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
Para consultar mensagens antigas: http://firebase.com.br/pesquisa
--
No virus found in this incoming message.
Checked by AVG Free Edition.
Version: 7.5.446 / Virus Database: 269.2.0/756 - Release Date: 10/4/2007
22:44
--
No virus found in this outgoing message.
Checked by AVG Free Edition.
Version: 7.5.446 / Virus Database: 269.2.0/756 - Release Date: 10/4/2007
22:44
Mais detalhes sobre a lista de discussão lista