Você está na página 1de 11

PROJETO INTEGRADO DE GESTÃO DE PROJETOS E DE DADOS

ANÁLISE E DESENVOLVIMENTO DE SISTEMAS - 3º SEMESTRE

MATHEUS OLIVEIRA SANTOS

São Paulo
2022
PROPOSTA DA ATIVIDADE:
A partir do diagrama apresentado abaixo desenvolva um script no Oracle Live SQL que crie as tabelas aluno,
matrícula e classe com seus respectivos atributos respeitando o relacionamento das chaves primaria e
estrangeira. Após o desenvolvimento copie o cole o script abaixo.
Oracle Live SQL disponível em: https://livesql.oracle.com/

SCRIPT – cole o script desenvolvido abaixo

CREATE TABLE ALUNO (

NR_RGM NUMBER(8) NOT NULL,

NM_NOME VARCHAR2(40),

NM_PAI VARCHAR2(40),

NM_MAE VARCHAR2(40),

DT_NASCIMENTO DATE,

ID_SEXO CHAR(1),

CONSTRAINT ALUNO_NR_RGM_PK PRIMARY KEY ( NR_RGM )

);

CREATE TABLE CLASSE (

CD_CLASSE NUMBER(8) NOT NULL,

NR_ANOLETIVO NUMBER(4),

NR_SERIE NUMBER(2),

SG_TURMA VARCHAR2(2),

CD_ESCOLA NUMBER(6),

CD_GRAU NUMBER(2),

CD_PERIODO NUMBER(2),
CONSTRAINT CLASSE_CD_CLASSE_PK PRIMARY KEY ( CD_CLASSE )

);

CREATE TABLE MATRICULA (

NR_RGM NUMBER(8) NOT NULL,

CD_CLASSE NUMBER(8) NOT NULL,

DT_MATRICULA DATE,

CONSTRAINT MATRICULA_NR_RGM_FK FOREIGN KEY ( NR_RGM ) REFERENCES ALUNO ( NR_RGM ),

CONSTRAINT MATRICULA_CD_CLASSE_FK FOREIGN KEY ( CD_CLASSE ) REFERENCES CLASSE ( CD_CLASSE )

);

EXECUÇÃO – Teste de execução do script realizada com sucesso


EXECUÇÃO – A partir do script desenvolvido as tabelas foram criada no banco de dados com êxito

EXECUÇÃO – Tabela ALUNO (Colunas e tipo de dados)


EXECUÇÃO – Tabela ALUNO (Constraints)

EXECUÇÃO – Tabela ALUNO populada e query realizada com sucesso

SCRIPT UTILIZADO:
INSERT INTO ALUNO (nr_rgm, nm_nome, nm_pai, nm_mae, dt_nascimento, id_sexo) VALUES (12345678, 'Matheus Santos', 'José
Miguel', 'Maria Joana', '04/01/2000', 'M');

SELECT * FROM ALUNO;


EXECUÇÃO – Tabela CLASSE (Colunas e tipo de dados)

EXECUÇÃO – Tabela CLASSE (Constraints)


EXECUÇÃO – Tabela CLASSE populada e query realizada com sucesso

SCRIPT UTILIZADO:
INSERT INTO CLASSE (cd_classe, nr_anoletivo, nr_serie, sg_turma, cd_escola, cd_grau, cd_periodo) VALUES (87654321, 2022, 03,
'AB', 123456, 03, 01);

SELECT * FROM CLASSE;

EXECUÇÃO – Tabela MATRICULA (Colunas e tipo de dados)


EXECUÇÃO – Tabela MATRICULA (Constraints)

EXECUÇÃO – Tabela MATRICULA populada e query realizada com sucesso

SCRIPT UTILIZADO:
INSERT INTO MATRICULA (nr_rgm, cd_classe, dt_matricula) VALUES (12345678, 87654321, '01/01/2022');

SELECT * FROM MATRICULA;


OBSERVAÇÕES

▪ Não deixei as demais colunas das tabelas como campo obrigatório pois no modelo de dados não foi
possível identificar esta necessidade.
▪ Não defini valores permitidos para coluna ID_SEXO da tabela ALUNO pois no modelo de dados não
foi possível identificar esta necessidade.
▪ Por via das dúvidas, desenvolvi um outro script com as CONSTRAINTS mencionadas acima, segue
abaixo:

CREATE TABLE ALUNO (

NR_RGM NUMBER(8) NOT NULL,

NM_NOME VARCHAR2(40) NOT NULL,

NM_PAI VARCHAR2(40) NOT NULL,

NM_MAE VARCHAR2(40) NOT NULL,

DT_NASCIMENTO DATE NOT NULL,

ID_SEXO CHAR(1) NOT NULL,

CONSTRAINT ALUNO_NR_RGM_PK PRIMARY KEY ( NR_RGM ),

CONSTRAINT ALUNO_ID_SEXO_CK CHECK(ID_SEXO IN ('F', 'M'))

);

CREATE TABLE CLASSE (

CD_CLASSE NUMBER(8) NOT NULL,

NR_ANOLETIVO NUMBER(4) NOT NULL,

NR_SERIE NUMBER(2) NOT NULL,

SG_TURMA VARCHAR2(2) NOT NULL,

CD_ESCOLA NUMBER(6) NOT NULL,

CD_GRAU NUMBER(2) NOT NULL,

CD_PERIODO NUMBER(2) NOT NULL,

CONSTRAINT CLASSE_CD_CLASSE_PK PRIMARY KEY ( CD_CLASSE )

);

CREATE TABLE MATRICULA (

NR_RGM NUMBER(8) NOT NULL,

CD_CLASSE NUMBER(8) NOT NULL,

DT_MATRICULA DATE NOT NULL,

CONSTRAINT MATRICULA_NR_RGM_FK FOREIGN KEY ( NR_RGM ) REFERENCES ALUNO ( NR_RGM ),


CONSTRAINT MATRICULA_CD_CLASSE_FK FOREIGN KEY ( CD_CLASSE ) REFERENCES CLASSE ( CD_CLASSE )

);

Segue abaixo o teste da execução do script com todas as CONSTRAINTS mencionadas nas observações:

Segue abaixo as tabelas criadas no banco de dados a partir do script com todas CONSTRAINTS
mencionadas nas observações:
Segue abaixo as CONSTRAINTS tabela ALUNO, que é a tabela com as diferenças mais significativas
quando comparada com o primeiro script:

Você também pode gostar