Ir ao conteúdo
  • Cadastre-se

Armazenamento de dados por cliente


Posts recomendados

Bom dia, estou fazendo um aplicativo para Android junto com um site, onde o usuário pode criar sua conta, se logar, e deixar lembretes registrados nessa conta tanto no site quanto no aplicativo. Eu vou usar a biblioteca java.sql para realizar a comunicação entre o aplicativo e o banco de dados do servidor onde está hospedado o site. Devo armazenar os lembretes em tabelas diferentes para cada cliente? Se sim como faço para criar uma nova tabela quando um novo usuario for cadastrado?

Link para o comentário
Compartilhar em outros sites

  • Moderador

@D4ni31 Isso é feito no banco de dados.

Primeiro você precisa modelar seu banco.

Criar os relacionamentos entre as tabelas.

Por exemplo:

 

Tabela usuario vai conter os campos ID auto incrementado(isso faz com que a cada registro seja  incrementado em 1), o nome, email, senha... 

 

Tabela Lembretes,  vai ter o campo ID auto incrementado,  o ID do usuário e o lembrete.

Ou seja, quando fazer a consulta de lembretes, vai poder saber de qual usuário pertence o lembrete.

 

Antes de passar para a programação Java,   recomendo estudar sobre a modelagem de banco de dados.

PS: quando for criar o banco, sete o tipo dele para innoDB ao ao invés de myISAM.

Link para o comentário
Compartilhar em outros sites

Como eu faço para o ID e a data do registro ser auto incrementado? Segue o código para criar minhas tabelas:

 

create table Users(
id_User int not null,
nm_User char(20) not null,
nm_Client varchar(60) not null,
email char(40) not null,
senha char(20) not null,
dt_register datetime not null,
PRIMARY KEY (id_User))

create table Lembretes(
id_User int not null,
lembrete char(200),
PRIMARY KEY (id_User),
FOREIGN KEY (id_User) REFERENCES Users(id_User))

 

Link para o comentário
Compartilhar em outros sites

  • Moderador

@D4ni31 Bem, o ID auto incrementado você define quando estiver criando os campos no phpmyadmin ou por código.

Recomendo muito que use o phpmyadmin, que é o gerenciador do MySQL.

Deixo aqui um vídeo de uma aula que postei a um tempo a trás sobre como modelar e criar relacionamentos no banco de dados

 

 

 

Embora a versão do MySQL no vídeo seja um pouco antiga, os procedimentos são o mesmo!

Link para o comentário
Compartilhar em outros sites

@DiF Você usa algum programa de video-chamada? Se sim e se você está disposto a conversar comigo, me envie em privado qual você usa e seu nome de usuário. Vejo que você conhece muita coisa e pra mim seria bom ter um contato como você para conversar de vez em quando.

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Ok. As tabelas estão criadas. O campo id_User na tabela Lembretes é uma chave estrangeira ao id_User da tabela Users, quando eu for enviar ao banco de dados um novo lembrete como vai funcionar? EU tenho que enviar junto com os dados do lebrete o id_User ou não?

Link para o comentário
Compartilhar em outros sites

  • Moderador

@D4ni31

Vamos lá!

 

Sim, o campo id_users da tabela Lembretes, é uma chave estrangeira ao ID da tabela Users.

Note que o campo ID da tabela users é auto incrementado, mas o id_users da tabela lembretes não!

 

Como usuário vai estar logado no sistema, ele terá o ID dele gravado em uma "SESSION". (não sei como seria o nome em java, mas em php é sessions)

 

Toda ação deste usuário será feito com o ID dele.

Então a cada novo lembrete, será registrado na tabela Lembretes uma nova linha de registros contido.

 

Vamos ao exemplo prático

Tabela Users

 

ID  Nome      Email               Senha
1   Fulano    [email protected]    fulano123
2   Ciclano   [email protected] ciclano321

Tabela Lembretes

ID  ID_user Horario              Lembrete   
1     1     2017-06-12 19:16:00  Reunião com Grupo de estudo
2     1     2017-08-01 17:00:00  Evento de recepção Formatura
3     2     2017-10-05 13:30:00  Ligar para Família   

como pode ver, na tabela Lembretes, o campo ID_user é relacionado ao campo ID da tabela Users

 

Assim quando Fazer a consulta aos lembretes de acordo com o ID do usuário registrado na Session

SELECT Lembretes.Lembrete, 
       Lembretes.Horario 
FROM Lembretes
INNER JOIN Users ON User.ID = Lembretes.ID_user

Isso quer dizer que,  quem tiver logado, verá somente o seu lembrete.

Por exemplo o usuário Fulano, tem 2 lembretes cadastrados e o usuário Ciclano tem somente 1.

 

É por aí.

 

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!