Caso nenhuma for a solução ideal, gostaria de receber algumas sugestões da melhor forma de trabalhar com isso.
PS: Talvez eu tenha que consultar algum registro pelo telefone.
Queria saber também sobre o AUTO_IMCREMENT. Se, quando o banco tiver inserções simultâneas, se pode dar algum problema... caso sim, vocês recomendam a criação de um trigger para gerar o código automaticamente?
E sobre a integridade de relacionamentos... Sei que com o engine MyISAM, mesmo que se coloque ON DELETE CASCADE ou algo assim, não há qualquer controle e o comando é ignorado. Sei também que a engine InnoDB controla integridade referencial. Pesquisei sobre diferenças entre elas e notei que a maioria das pessoas usam MyISAM por ser mais rápido.
Eu tenho um banco de dados com muitos acessos simultâneos e com tabelas relativamente grandes e que possui muitos relacionamentos. O recomendado é que eu utilize o MyISAM, certo? E como faria o controle dos relacionamentos, por exemplo, quando inserir algo, alterar, etc...
Como as informações são importantes, queria que um módulo de logs fosse atrelado ao banco. Gostaria de receber informações de como proceder com logs, digo, saber quem alterou o que etc...
Desculpem pela quantidade de questões. É que estou desenvolvendo esse banco de dados, mas não tenho tanto conhecimento quanto deveria ter sobre banco de dados. Estou estudando :)
Pergunta
Ronaldo A. Bueno Filho
Pessoal,
Estou com várias dúvidas quanto a criação e controle de um banco de dados que estou desenvolvendo.
Estou criando um banco de dados relativamente simples, para cadastar empregados , times e localidades.
Inicialmente, eu pensei em criar uma tabela chamada employees, uma chamada teams e outra chamada sites.
Na tabela sites, constam os prédios (localidades/construções)
Na tabela teams, constam os times (departamento financeiro, suporte, etc)
Na tabela employees, todos os funcionários
Minha pergunta é quanto aos campos telefone das tabelas, o qual, todos possuem.
O que penso, é que, cada empregado, bem como cada site e time tem seus próprios telefones. Cada um, podendo possuir vários telefones (celular / fixo).
- Devo criar uma tabela telefones genérica para todos com campos, não tendo como obrigação o preenchimento de todos os IDs?
ex: phones (phoneNumber, phoneType, siteID, employeeID, teamID)
- Devo criar 3 tabelas de telefone (uma tabela para site, outra pra employee e outra pra teams)?
ex:
SitePhone (phonenumber, phoneType, phoneDesc, siteID)
empPhone (phonenumber, phoneType, phoneDesc, empID)
teamPhone (phonenumber, phoneType, phoneDesc, teamOD)
Caso nenhuma for a solução ideal, gostaria de receber algumas sugestões da melhor forma de trabalhar com isso.
PS: Talvez eu tenha que consultar algum registro pelo telefone.
Queria saber também sobre o AUTO_IMCREMENT. Se, quando o banco tiver inserções simultâneas, se pode dar algum problema... caso sim, vocês recomendam a criação de um trigger para gerar o código automaticamente?
E sobre a integridade de relacionamentos... Sei que com o engine MyISAM, mesmo que se coloque ON DELETE CASCADE ou algo assim, não há qualquer controle e o comando é ignorado. Sei também que a engine InnoDB controla integridade referencial. Pesquisei sobre diferenças entre elas e notei que a maioria das pessoas usam MyISAM por ser mais rápido.
Eu tenho um banco de dados com muitos acessos simultâneos e com tabelas relativamente grandes e que possui muitos relacionamentos. O recomendado é que eu utilize o MyISAM, certo? E como faria o controle dos relacionamentos, por exemplo, quando inserir algo, alterar, etc...
Como as informações são importantes, queria que um módulo de logs fosse atrelado ao banco. Gostaria de receber informações de como proceder com logs, digo, saber quem alterou o que etc...
Desculpem pela quantidade de questões. É que estou desenvolvendo esse banco de dados, mas não tenho tanto conhecimento quanto deveria ter sobre banco de dados. Estou estudando :)
Abraços,
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados