Array
(
)

Sistema já criado - duvida quanto a bd

PHP
Anderson Nunes
   - 21 jul 2013

Olá, temos na empresa um sistema já criado, que atualmente usamos apenas dentro da empresa, acontece que agora iremos usar o sistema em nosso site, onde um cliente interessado irá efetuar a o cadastro e utilizar, porem, obviamente as informações de cada cliente precisam ser acessadas somente por ele, a ideia inicial seria criar uma banco de dados para cada novo cliente, mas seria uma gambiarra muito grande, o certo seria criar uma tabela principal com uma id para cada cliente novo, e o restante estaria vinculado a esta id.
Outro problema seria mudar as inumeras consultas que o sistema faz para relacionar todas as tabelas a esta tabela mestre..
Não sei o que fazer, tem como fazer isso direto no banco de dados pra evitar tanto trabalho?
Valeu

Paulo Sérgio
   - 24 jul 2013

Com qual banco de dados você pretende trabalhar?
Se for MySql você pode fazer da seguinte forma

ex: crie uma tabela chamada "usuarios"
nesta tabela crie os campos que você precisa ex: nome, email, senha....
assim quando criar um novo cadastro ele vai gerar um valor dentro da tabela com um id único
assim você pode alterar, excluir ou fazer o que quiser :)

com essa tabela você pode criar outras e trabalha-las em conjunto ex: tabela "posts"
você pode pegar os dados do usuário na tabela "usuarios" e inserir o id do usuário na tabela "posts", desta forma ao acessar o sistema ira dizer que o post foi efetuado por fulano x

Anderson Nunes
   - 24 jul 2013


Citação:
Com qual banco de dados você pretende trabalhar?
Se for MySql você pode fazer da seguinte forma

ex: crie uma tabela chamada "usuarios"
nesta tabela crie os campos que você precisa ex: nome, email, senha....
assim quando criar um novo cadastro ele vai gerar um valor dentro da tabela com um id único
assim você pode alterar, excluir ou fazer o que quiser :)

com essa tabela você pode criar outras e trabalha-las em conjunto ex: tabela "posts"
você pode pegar os dados do usuário na tabela "usuarios" e inserir o id do usuário na tabela "posts", desta forma ao acessar o sistema ira dizer que o post foi efetuado por fulano x


Sim, esse será o unico geito mesmo..A ideia era saber se tinha como fazer algo direto no banco, mas depois de fazer a pergunta vi que não tinha sentido algum, o unico geito é programar tudo isso. Talvez criaremos um sistema novo, já todo em html5 com ajax, pode valer mais a pena do que arruma este.

Valeu

Paulo Sérgio
   - 24 jul 2013

Concordo as vezes querendo atualizar algo já construido, perdemos tempo demais nisso.
Como profissional já passei por essa algumas vezes, um bom meio de trabalhar e reconstruir o sistema e cadastrar em novo bando, ou de uma lida sobre PDO pode ajuda-lo

Citação:

Citação:
Com qual banco de dados você pretende trabalhar?
Se for MySql você pode fazer da seguinte forma

ex: crie uma tabela chamada "usuarios"
nesta tabela crie os campos que você precisa ex: nome, email, senha....
assim quando criar um novo cadastro ele vai gerar um valor dentro da tabela com um id único
assim você pode alterar, excluir ou fazer o que quiser :)

com essa tabela você pode criar outras e trabalha-las em conjunto ex: tabela "posts"
você pode pegar os dados do usuário na tabela "usuarios" e inserir o id do usuário na tabela "posts", desta forma ao acessar o sistema ira dizer que o post foi efetuado por fulano x


Sim, esse será o unico geito mesmo..A ideia era saber se tinha como fazer algo direto no banco, mas depois de fazer a pergunta vi que não tinha sentido algum, o unico geito é programar tudo isso. Talvez criaremos um sistema novo, já todo em html5 com ajax, pode valer mais a pena do que arruma este.

Valeu

Anderson Nunes
   - 24 jul 2013


Citação:
concordo as vezes querendo atualizar algo já construido, perdemos tempo demais nisso.
como profissional já passei por essa algumas vezes, um bom meio de trabalhar e reconstruir o sistema e cadastrar em novo bando, ou de uma lida sobre pdo pode ajuda-lo

com qual banco de dados você pretende trabalhar?
se for mysql você pode fazer da seguinte forma

ex: crie uma tabela chamada "usuarios"
nesta tabela crie os campos que você precisa ex: nome, email, senha....
assim quando criar um novo cadastro ele vai gerar um valor dentro da tabela com um id único
assim você pode alterar, excluir ou fazer o que quiser :)

com essa tabela você pode criar outras e trabalha-las em conjunto ex: tabela "posts"
você pode pegar os dados do usuário na tabela "usuarios" e inserir o id do usuário na tabela "posts", desta forma ao acessar o sistema ira dizer que o post foi efetuado por fulano x

sim, esse será o unico geito mesmo..a ideia era saber se tinha como fazer algo direto no banco, mas depois de fazer a pergunta vi que não tinha sentido algum, o unico geito é programar tudo isso. talvez criaremos um sistema novo, já todo em html5 com ajax, pode valer mais a pena do que arruma este.

valeu


PDO será usado com certeza, ja temos as diretrizes, agora, seria melhor cadastrar no maximo uns 50 clientes em um banco de dados, apos atingir este numero, instalo o sistema em outra pasta e outro banco, e assim por diante? Digo isso por manutenções, ou backups, etc, penso que colocar por exemplo, uns 500 clientes dentro de um banco somente, cada um com um monte de informações, prdoutos, vendas, etc, seria muito complicado manter! ou não? Separando, se a gente tiver um problema em um banco não irá atingir todos os clientes, apenas um pouco. Usaremos um cloud e em questão de desempenho acho que é tudo a mesma coisa, um banco com todo mundo, ou dividir um pouco em cada banco. O que acha melhor?

Paulo Sérgio
   - 24 jul 2013

Trabalhar com 2 bancos de dados acredito que seja inviável para seu projeto.
Digamos que você criou o banco de dados e tem digamos 5000 registros nele, vc precisa de um backup, o queê você pode fazer?
1- entrar no phpmyadmin e exportar os dados do banco periodicamente para sempre ter os backups
2- criar um script para que você possa fazer isso automaticamente e enviar para seu email por exemplo
3- contrate um servidor em cloud
eu pessoalmente trabalho com a Hostgator, e uma ótima empresa de hospedagem, mas sempre tenho o pé atras rss então faço full backups periodicamente para sempre ter tudo atualizado caso houver alguma perda de dados.
e o melhor trabalhando com um único banco de dados, caso você precise consultar algo que aconteceu a um bom tempo atrás basta você apenas buscar pelo registro sem mudar o banco de dados, e mais como os clientes estarão sempre logando é necessário que a tabela clientes esteja sempre com o cadastro de todos os clientes, caso esteja em um outro banco ele dirá que o cadastro não existe

Citação:

Citação:
concordo as vezes querendo atualizar algo já construido, perdemos tempo demais nisso.
como profissional já passei por essa algumas vezes, um bom meio de trabalhar e reconstruir o sistema e cadastrar em novo bando, ou de uma lida sobre pdo pode ajuda-lo

com qual banco de dados você pretende trabalhar?
se for mysql você pode fazer da seguinte forma

ex: crie uma tabela chamada "usuarios"
nesta tabela crie os campos que você precisa ex: nome, email, senha....
assim quando criar um novo cadastro ele vai gerar um valor dentro da tabela com um id único
assim você pode alterar, excluir ou fazer o que quiser :)

com essa tabela você pode criar outras e trabalha-las em conjunto ex: tabela "posts"
você pode pegar os dados do usuário na tabela "usuarios" e inserir o id do usuário na tabela "posts", desta forma ao acessar o sistema ira dizer que o post foi efetuado por fulano x

sim, esse será o unico geito mesmo..a ideia era saber se tinha como fazer algo direto no banco, mas depois de fazer a pergunta vi que não tinha sentido algum, o unico geito é programar tudo isso. talvez criaremos um sistema novo, já todo em html5 com ajax, pode valer mais a pena do que arruma este.

valeu


PDO será usado com certeza, ja temos as diretrizes, agora, seria melhor cadastrar no maximo uns 50 clientes em um banco de dados, apos atingir este numero, instalo o sistema em outra pasta e outro banco, e assim por diante? Digo isso por manutenções, ou backups, etc, penso que colocar por exemplo, uns 500 clientes dentro de um banco somente, cada um com um monte de informações, prdoutos, vendas, etc, seria muito complicado manter! ou não? Separando, se a gente tiver um problema em um banco não irá atingir todos os clientes, apenas um pouco. Usaremos um cloud e em questão de desempenho acho que é tudo a mesma coisa, um banco com todo mundo, ou dividir um pouco em cada banco. O que acha melhor?

Marcio Araujo
   - 24 jul 2013

e quanto ao acesso aos outros dados, isso é feito no banco?

Anderson Nunes
   - 24 jul 2013


Citação:
e quanto ao acesso aos outros dados, isso é feito no banco?


Não entendi muito bem a pergunta. O banco manterá o cadastro dos clientes da empresa que aluga o sistema e tudo o resto esta vinculado a ele. Cada usuario, digamos assim, tem seus clientes, produtos, etc no mesmo banco, é tudo compartilhado mas ligado pela chave a tabela mestre.

Se eu separar os bancos, os novos usuarios seriam cadastrados neste novo banco, ou seja, seria isolado do outro, e assim em todos os bancos, a ideia seria separar uns 50 clientes (que alugam o sistema) em cada banco com suas respectivas informações.

cada banco teria uma pasta correspondente por exemplo server1.sistema.com.br e quando lotasse estes com uns 50 suuarios colocaria em prdução o outro server2.sistema.com.br,e assim por diante confome da demanda, e cada cliente saberia em qual teria que logar. Estaria no seu painel de controle.

Marcio Araujo
   - 24 jul 2013

ah entendi, era isso que eu queria saber, sobre essa divisão dos usuarios, o que eles terão acesso.