
Bases de dados
Abril 12, 2008Pesados os compromissos, apresentamos os modelos lógico e físico das duas bases de dados (a do Android e a que se encontra no servidor Web).
Algumas considerações (para além das que se encontram mencionadas no próprio PDF):
- O número de telefone é a chave primária da tabela USERS, pelo que cada número de telefone representa uma identidade única. Possíveis problemas como os números de empresas (que possuem extensões para um mesmo número) são, assim, ignorados.
- O nome de um utilizador é, em última instância, o nome que cada contacto dá a esse utilizador. Por outras palavras, duas pessoas podem ter o mesmo contacto nas suas listas telefónicas, mas descrevê-lo de formas distintas. Desta forma, é a propriedade “Alias”, da auto-relação com a tabela USERS, que define o nome que cada utilizador atribui aos contactos da sua lista.
- O campo “Visible”, da tabela STATUS no Android, representa os estados que o utilizador pode seleccionar (um dos sete que já apresentámos noutro post). No entanto, existem três estados adicionais: “em chamada” (comutado automaticamente caso se efectue uma chamada, regressando ao estado anterior no final da mesma); “em actualização” (sinaliza que o estado está a ser pedido ao servidor); “não disponível” (sinaliza que não foi possível obter o estado do utilizador).
[edit 13.04.2008 16:29]
Acrescentado o campo que permite saber há quanto tempo cada utilizador comutou o estado pela última vez. Outros possíveis ajustes para breve.
Viva!
Estive a ver com mais atenção a BD e parece-me que há alguns pormenores que têm que ser ajustados, nomeadamente:
- incluir informação temporal para a mudança de status, já que para os utilizadores é relevante saberem a “validade” dessa informação. Em tempos tinhamos discutido esta questão mas tem ficado esquecida por todos, julgo que mesmo ao nível da discussão das soluções gráficas;
- Na lógica de utilizar como backup dos contactos a versão disponível na Web, julgo que falta armazenar alguma informação importante.
Também tenho mais algumas dúvidas relativamente à BD do lado do Android e da forma como os vários contactos de uma pessoa são agrupados. É unicamente pelo campo “alias”? Se sim, não podemos pensar em normalizar esse aspecto da BD?
Falei recentemente com o Nélson no Hall do DeCA mas depois de ver esta solução penso que posso não ter orientado da melhor forma… e sinceramente não me lembro bem do que foi conversado
Se for importante podemos combinar ainda para hoje uma reunião online no yahoo live.
Continuação de bom trabalho!
Boas!
De facto essa informação sobre a data de mudança de estado foi esquecida, iremos corrigir isso!
Não estamos a ver que falte na BD Web, o utilizador terá acesso a todos os seus contactos e ao nome que usou para os descrever (que é a informação relevante). Se calhar faltou referir que, informações como o e-mail, website, e todas aquelas informações que podemos também adicionar nos telemóveis não estão incluídas propositadamente (queríamos começar com uma BD mais simples). Cada um desses itens irá acrescentar um campo à tabela USERS, em ambas as BDs. Se calhar não é má ideia combinar essa reunião extra, para lá das 22h julgo que estaremos todos disponíveis
Do lado do Android, os utilizadores podem também ser agrupados pelo estado. A ideia é adicionar mais tarde também os grupos, mas novamente não nos queríamos estar a dispersar em questões que não são relevantes neste momento. Não parecendo à primeira vista, as listas telefónicas dos telemóveis actuais são programas com bastante complexidade, mesmo sem pensar em questões de estados. Neste momento estamo-nos a centrar mais nos estados, mas deixamos em aberto a anexação dos grupos.
O que foi falado dizia respeito à quantidade de números que podemos armazenar para um mesmo contacto, e se havia interesse em permitir ao utilizador editar as labels sobre as quais esses contactos aparecem. Ponderámos a solução “dinâmica” do Android, que permite inserção de vários números com o mesmo label, mas por que isso não faz muito sentido optámos por designar 5 labels comuns, podendo o utilizador inserir até 5 números para um mesmo contacto.
ok quanto à maioria das questões, mas como é que na BD Web conseguimos saber se um contacto era de trabalho, pessoal,…?
Hoje vai ser complicado conseguir estar ligado a essa hora. Se não der procurem falar amanhã à tarde.