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

Criação de Tabela


GustavoDalPai

Pergunta

Boa Tarde,

 

Recentemente comecei a estudar um pouco de MySQL, e resolvi tentar aplicar-lo criando uma tabela de cadastrados aqui no clube que faço parte.

Create database Clube
default character set utf8
default collate utf8_general_ci;

use Clube;

create table Cadastrados(
Nome varchar(50),
Sexo enum('M', 'F'),
Matricula varchar(9),
Curso enum('Arquitetura e Urbanismo', 'Engenharia Ambiental', 'Engenharia Civil', 'Engenharia de Controle e Automação', 'Engenharia de Minas', 'Engenharia de Produção', 'Engenharia Geológica', 'Engenharia Mecânica', 'Engenharia Metalúrgica', 'Outro'),
Endereco varchar(50),
CPF varchar(15),
RG varchar(15),
Aniversario date,
Email varchar(30),
Telefone varchar(20),
Socio enum('SIM', 'NÃO'),
Atleta enum('SIM', 'NÃO'),
Treinador enum('SIM', 'NÃO'),
primary key (Matricula)
)default charset = utf8;

Até ai tudo bem. Consegui criar a tabela, usei o "insert into" para adicionar valores e testar os campos, tudo tranquilo. Mas agora que minhas duvidas começam:

 

Na coluna "Atleta", um cadastrado meu pode ter até 5 modalidades. Como eu faria dar certo?

 

De primeira eu pensei em criar outra tabela e utilizar o comando enum para resolver o problema.

Create table Atletas(
Modalidade1 enum('Atletismo', 'Basquete', 'Futebol de Campo', 'Futsal', 'Futebol Americano', 'Handebol', 'Natação'),
Modalidade2 enum('Atletismo', 'Basquete', 'Futebol de Campo', 'Futsal', 'Futebol Americano', 'Handebol', 'Natação'),
Modalidade3 enum('Atletismo', 'Basquete', 'Futebol de Campo', 'Futsal', 'Futebol Americano', 'Handebol', 'Natação'),
Modalidade4 enum('Atletismo', 'Basquete', 'Futebol de Campo', 'Futsal', 'Futebol Americano', 'Handebol', 'Natação'),
Modalidade5 enum('Atletismo', 'Basquete', 'Futebol de Campo', 'Futsal', 'Futebol Americano', 'Handebol', 'Natação')
)default charset = utf8;

E depois tentar ligar as duas tabelas.

 

Mas estou achando muito "porco" esse meio. Até pq quando eu adiciona algo com o "insert into", não consigo modificá-lo depois, nem mesmo colocar o valor defaul como vazio.

 

Alguem poderia me ajudar q melhorar isso, e resolver meu problema?

 

Grato desde já.

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

A modalidade é um relacionamento muitos para muitos, pois uma modalidade pode estar em vários atletas e um atleta pode ter varias modalidades.

Para resolver isso, você deverá criar duas tabelas:

Tabela modalidade (inicialmente com os campos idModalidade e nmModalidade, respectivamente o identificador da modalidade e o nome da modalidade)

Tabela Relacionamento Modalidade Atleta (com os campos idModalidade e Matricula).

Outro problema que detectei na construção da tabela cadastrados foi o campo Curso.

Este campo deveria conter o identificador para uma tabela de curso. Um relacionamento um para muitos.

A tabela curso deveria ter os campos idCurso e nmCurso que identificariam, respectivamente, os atributos de identificação do curso e nome do curso.

 

 

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,7k
×
×
  • Criar Novo...