Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) create table


CEBOLA~

Pergunta

Bom dia pessoal.

Sou no no mundo mysql e gostaria de uma ajudinha de vocês.

Estou com um problema, como crio um banco que tem o id_usuario como chave primaria, e o resto dos campos ligados a ele e que podem se repetir, exemplo:

Tem o id do usuário que contém o nome, telefone, endereço, e em quais lojas ele foi e em qual data. Quando executar um select no nome dele mostrar o usuario com todos os lugares que ele freqüentou como mostra abaixo.

Como crio esta tabela?

ID    NOME            LOCAL                    DATA
23     joao              festa                     10/12/2010
23     joao               casa da irma          12/12/2010
23     joao            estádio                  15/12/2010

Abraços

Editado por Denis Courcy
Link para o comentário
Compartilhar em outros sites

8 respostass a esta questão

Posts Recomendados

  • 0
Bom dia pessoal.

Sou no no mundo mysql e gostaria de uma ajudinha de vocês.

Estou com um problema, como crio um banco que tem o id_usuario como chave primaria, e o resto dos campos ligados a ele e que podem se repetir, exemplo:

Tem o id do usuário que contém o nome, telefone, endereço, e em quais lojas ele foi e em qual data. Quando executar um select no nome dele mostrar o usuario com todos os lugares que ele freqüentou como mostra abaixo.

Como crio esta tabela?

ID    NOME            LOCAL                    DATA
23     joao              festa                     10/12/2010
23     joao               casa da irma          12/12/2010
23     joao            estádio                  15/12/2010
Abraços
Create database nomedobancodedados
É o comando para criar um banco de dados.
use meubancodedados
É o comando para utilizar um banco de dados específico
Create table usuario(
id_usuario integer unsigned not null auto_increment,
nome varchar(60) not null default '',
local varchar(20) not null default '',
`data` date,
primary key(id_usuario)

É o comando para criar a tabela que você exemplificou acima.

Link para o comentário
Compartilhar em outros sites

  • 0
Denis amigo, e quando eu for inserir vários locais? insert festa, data, etc , quando eu for listar usuario order by local, ele lista o usuario com todos locais?

abraços

Agora a coisa mudada de figura.

Você está falando de relacionamento muitos para muitos entre usuários e locais. Ou seja, um usuário pode estar em muitos locais e um local pode ser para muitos usuários. É isto?

Ou você está falando de relacionamento um para muitos entre locais e usuários?. Neste caso um local para muitos usuários.

Ou você está falando de relacionamento uma para muitos entre usuários e locais? E neste caso, um usuário pode estar em muitos locais.

Qual das tres opções acima?

Link para o comentário
Compartilhar em outros sites

  • 0
Denis, estou falando de um usuário para muitos locais de 1 para N.

Neste caso a tabela de usuário deverá ficar assim:

Create table usuario(
id_usuario integer unsigned not null auto_increment,
nome varchar(60) not null default '',
`data` date,
primary key(id_usuario)
E deverá ser criada uma tabela de locais assim:
Create table locais(
id_local integer unsigned not null auto_increment,
nome varchar(60) not null default '',
id_usuario integer unsigned not null default '0'
primary key(id_local)
foreign key (id_usuario) references usuario(id_usuario) on update no action on delete no action)

Eu vejo que assim está errado, pois o mesmo local deverá ser recadastrado se houver outro usuário para o mesmo lá. Mas se é isto que você quer...

Link para o comentário
Compartilhar em outros sites

  • 0

Mais eu quero que só tenha 1 id mais com vários locais repetidos, tipo 100000 locais com mesma data com mesmo horário, mais nunca o id se repetir.

Então foi isso que você postou?

No caso quando eu for cadastrar um usuário vou ter que inserir o mesmo local? Sempre cadastrando novamente?

abraços

Link para o comentário
Compartilhar em outros sites

  • 0
Mais eu quero que só tenha 1 id mais com vários locais repetidos, tipo 100000 locais com mesma data com mesmo horário, mais nunca o id se repetir.

Então foi isso que você postou?

No caso quando eu for cadastrar um usuário vou ter que inserir o mesmo local? Sempre cadastrando novamente?

abraços

'CEBOLA~',

É como falei da primeira vez. este relacionamento é N:N (muitos para muitos)

Faça assim:Tabela de usuário

Create table usuario(
id_usuario integer unsigned not null auto_increment,
nome varchar(60) not null default '',
`data` date,
primary key(id_usuario)
Tabela de local
Create table locais(
id_local integer unsigned not null auto_increment,
nome varchar(60) not null default '',
primary key(id_local)
Tabela que faz o relacionamento entre usuário e local
create table usuario_x_local(
id_usuario integer unsigned not null default '0',
id_local integer unsigned not null default '0'
foreign key (id_usuario) references usuario(id_usuario) on update no action on delete no action,
foreign key (id_local) references local(id_local) on update no action on delete no action)

Um usuário poderá estar relzacionado a varios locais e um local poderá estar relacionado a vários usuários

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.


  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...