Ir ao conteúdo

Posts recomendados

Postado

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?

Postado

Como eu faço para quando o cara criar uma conta ser atribuído um ID na conta dele, eu tenho que fazer isso no programa ou no banco de dados?

  • Moderador
Postado

@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.

Postado

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))

 

  • Moderador
Postado

@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!

Postado

@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
Postado

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?

  • Moderador
Postado

@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í.

 

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...