CREATE TABLE Endereco ( Id number, Rua varchar2(20), Bairro varchar2(20), Num number, Cidade varchar2(20), CONSTRAINT endereco_pk PRIMARY KEY (Id) ); CREATE TABLE Pessoas ( CPF varchar2(20), Nome varchar2(20), Telefone varchar2(20), Endereco_Id number, Data_nasc varchar2(10), CONSTRAINT pessoas_pk PRIMARY KEY (CPF), CONSTRAINT pessoas_fk FOREIGN KEY (Endereco_Id) REFERENCES Endereco(Id) ); CREATE TABLE Funcionario ( CPF varchar2(20), Carteira_Trabalho varchar2(20), Funcao varchar2(20), Salario number(10,2), CPF_Gerente varchar2(20), CONSTRAINT funcionario_pk PRIMARY KEY (CPF) ); CREATE TABLE Time ( Cod varchar2(20), Nome varchar2(20), Categoria varchar2(20), CONSTRAINT time_pk PRIMARY KEY (Cod) ); CREATE TABLE Jogador ( CPF varchar2(20), Cadastro_Cbf varchar2(20), Gols_Marcados number, Altura number(10,2), Peso number(10,2), Posicao varchar2(20), Cod_Time varchar2(20), CONSTRAINT jogador_pk PRIMARY KEY (CPF), CONSTRAINT jogador_fk1 FOREIGN KEY (CPF) REFERENCES Pessoas(CPF), CONSTRAINT jogador_fk2 FOREIGN KEY (Cod_Time) REFERENCES Time(Cod) ); CREATE TABLE Categoria_Socio ( Categoria varchar2(20), Mensalidade number, CONSTRAINT categoria_socio_pk PRIMARY KEY (Categoria) ); CREATE TABLE Socio ( CPF varchar2(20), Categoria varchar2(20), Inadimplencia number(1), Carteirinha varchar2(20), CONSTRAINT socio_pk PRIMARY KEY (CPF), CONSTRAINT socio_pk1 FOREIGN KEY (CPF) REFERENCES Pessoas(CPF), CONSTRAINT socio_fk2 FOREIGN KEY (Categoria) REFERENCES Categoria_Socio(Categoria) ); CREATE TABLE SocioDependente ( CPF_Dependente varchar2(20), Carteirinha varchar2(20), CPF_Titular varchar2(20), CONSTRAINT sociodependente_pk PRIMARY KEY (CPF_Dependente), CONSTRAINT sociodependente_fk1 FOREIGN KEY (CPF_Dependente) REFERENCES Pessoas(CPF), CONSTRAINT sociodependente_fk2 FOREIGN KEY (CPF_Titular) REFERENCES Socio(CPF) ); CREATE TABLE Patrocinadores ( CNPJ varchar2(20), Nome varchar2(20), Telefone varchar2(20), CONSTRAINT patrocinador_pk PRIMARY KEY (CNPJ) ); CREATE TABLE Contrato ( Codigo varchar2(20), Valor number, Inicio date, Fim date, CONSTRAINT contrato_pk PRIMARY KEY (Codigo) ); CREATE TABLE Campeonato ( Codigo varchar2(20), Nome varchar2(20), Data_Inicio date, Data_Fim date, CONSTRAINT campeonato PRIMARY KEY (Codigo) ); CREATE TABLE Jogador_Time ( Codigo_Time varchar2(20), CPF_Jogador varchar2(20), CONSTRAINT jogador_time_pk PRIMARY KEY (Codigo_Time,CPF_Jogador), CONSTRAINT jogador_time_fk1 FOREIGN KEY (Codigo_Time) REFERENCES Time(Cod), CONSTRAINT jogador_time_fk2 FOREIGN KEY (CPF_Jogador) REFERENCES Jogador(CPF) ); CREATE TABLE Joga_Em ( Codigo_Time varchar2(20), CPF_Jogador varchar2(20), Cod_Campeonato varchar2(20), CONSTRAINT joga_em_pk PRIMARY KEY (Codigo_Time, CPF_Jogador, Cod_Campeonato), CONSTRAINT joga_em_fk1 FOREIGN KEY (Codigo_Time) REFERENCES Time(Cod), CONSTRAINT joga_em_fk2 FOREIGN KEY (CPF_Jogador) REFERENCES Jogador(CPF), CONSTRAINT joga_em_fk3 FOREIGN KEY (Cod_Campeonato) REFERENCES Campeonato(Codigo) ); CREATE TABLE Telefone ( Telefone varchar2(20), CPF varchar2(20), CONSTRAINT telefone_pk PRIMARY KEY (CPF,Telefone), CONSTRAINT telefone_fk FOREIGN KEY (CPF) REFERENCES Pessoas(CPF) ); CREATE TABLE Patrocina ( Codigo_Time varchar2(20), Cod_Contrato varchar2(20), CNPJ varchar2(20), CONSTRAINT patrocina_pk PRIMARY KEY (Codigo_Time, Cod_Contrato, CNPJ), CONSTRAINT patrocina_fk1 FOREIGN KEY (Codigo_Time) REFERENCES Time(Cod), CONSTRAINT patrocina_fk2 FOREIGN KEY (Cod_Contrato) REFERENCES Contrato(Codigo), CONSTRAINT patrocina_fk3 FOREIGN KEY (CNPJ) REFERENCES Patrocinadores(CNPJ) ); INSERT INTO Endereco (Id, Rua, Bairro, Num, Cidade) VALUES (1, 'Rua aqui perto', 'Ali', 123, 'Raiqueparta'); INSERT INTO Pessoas (CPF, Nome, Telefone, Endereco_Id, Data_nasc) VALUES ('097.232.304-02', 'Dyego', '3355.4122', 1, '06/08/92');