Creating MySQL Table

1

Recently I started to study a bit of , and I solved create a register table here in the club that I am part of.

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;

So far so good. I was able to create the table, I used insert into to add values and test the fields, but now that my doubts begin:

In the "Athlete" column, a registered member of mine can have up to 5 modalities. How would I make it work?

At first I thought about creating another table and using the enum command to solve the problem.

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;

Then try to connect the two tables.

But I'm finding "pork" very mean. Also because when I add something with insert into , I can not modify it later, nor even put the default value as empty.

    
asked by anonymous 15.03.2017 / 16:58

1 answer

0

If you put the modal information in another table you can have 0..n modal, using foreign key to get the modalities registered, the schema would look like this

I recommend doing something similar also with Courses, not to be limited to the enum courses

    
15.03.2017 / 17:34