1
Create database Banco
default character set utf8
default collate utf8_general_ci;
use Banco;
create table Cadastrados(
Nome varchar(50),
Sexo enum('M', 'F'),
Matricula varchar(9) unique,
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'),
Treinador enum('SIM', 'NÃO'),
primary key (Matricula)
)default charset = utf8;
insert into Cadastrados values
('Vitor Piagge','M','11.2.1234','Engenharia Civil','Avenida da barra, 10','111.111.111-1','22.333.444-5','1991-06-16','[email protected]','(31) 9 1234 123','SIM','NÃO'),
('Gustavo Lima','M','10.2.9999','Engenharia Mecanica','Avenida JK, 100','383.614.758-00','47.798.858-1','1989-10-24','[email protected]','(31) 9 7364 4146','NÃO','NÃO'),
('Leticia Borsato','F','15.2.2134','Arquitetura e Urbanismo','republica cravo e canela','383.614.758-00','47.798.858-1','1997-12-29','[email protected]','(31) 9 7364 4146','SIM','NÃO'),
('Edson Pelé','M','11.1.1111','Engenharia de Produção','Rua Othon Guimaraes, 97','383.614.758-00','47.798.858-1','1990-08-10','[email protected]','(31) 9 7364 4146','NÃO','NÃO'),
('Julio','M','13.2.7777','Outro','Rua do Lino, 235','383.614.758-00','47.798.858-1','1994-09-13','[email protected]','(31) 9 7364 4146','NÃO','SIM'),
('Mila','F','14.2.5555','Outro','Rua Alfa, 304','383.614.758-00','47.798.858-1','1988-04-01','[email protected]','(31) 9 7364 4146','NÃO','SIM');
create table Modalidades(
ID_modalidade int not null auto_increment,
Nome varchar(45),
primary key (ID_modalidade)
)default charset = utf8;
insert into modalidades values
(default, 'Basquete');
create table Cadastrado_ser_Atleta(
ID int not null auto_increment,
Matricula_Cadastrado varchar (9),
Modalidade_ID int not null,
primary key (id),
foreign key (Matricula_Cadastrado) references Cadastrados (Matricula),
foreign key (Modalidade_ID) references Modalidades (ID_modalidade)
)default charset = utf8;
insert into cadastrado_ser_atleta values
(default, '11.2.1240', '1');
How would I select to show the Registered Name, registration, course and the mode the person plays? I’m still learning how to use the key mechanism and relationships, so I’m accepting suggestions that can optimize this code.
You doubt where that came from
Modalidade.Nome
? I thought it was a typo, so I tried compiling it asModalidades.Nome
, since my table calls Modalities. But the program failed. When I tested modality, worked normal.– GDPS
It comes from the second Join, understand
Left Join Modalidades As Modalidade
theAs
definesModalidade
as in the tableModalidades
.– Jéf Bueno
Got it. One last doubt.
curso enum
and traded forCurso_id int
and called itforeign key (Curso_id) references Cursos (ID_Curso)
. Adicinei also:reate table Cursos(
ID_curso int not null auto_increment,
Nome_curso varchar (50),
primary key (ID_curso)
)default charset = utf8;
. I managed to use select between Registered and Courses without problems. But how would it be to show the Registered Name, enrollment, course and mode that the person plays?– GDPS
You have to do one more Join in the query you have in the answer
– Jéf Bueno
I got here @jbueno. Vlw by help. And very good links.
– GDPS