Nosso projeto consiste em desenvolver um script na linguagem SQL Oracle. Esse script deve contemplar a criação das tabelas Aluno, Matricula e Classe utilizando os comandos CREATE TABLE, Constraint Primary Key e Constraint FOREIGN KEY, conforme os dados do documento Orientações do projeto.
Soluções para a tarefa
CREATE TABLE Aluno (
Nr_Rgm NUMBER(8),
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),
CONSTRAINT Aluno_Id_sexo_ck CHECK (Id_sexo IN ('M','F'))
);
CREATE TABLE Classe (
Cd_Classe NUMBER(8),
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),
Cd_Classe NUMBER(8),
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)
);
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) ) ;
ALTER TABLE Aluno ADD CONSTRAINT Aluno_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) ) ;
ALTER TABLE Classe ADD CONSTRAINT Classe_PK PRIMARY KEY ( Cd_Classe )
;
CREATE
TABLE Matricula
(
Dt_Matricula DATE NOT NULL ,
Nr_Rgm NUMBER (8) NOT NULL ,
Cd_Classe NUMBER (8) NOT NULL ) ;
ALTER TABLE Matricula ADD CONSTRAINT Matricula_PK PRIMARY KEY ( Dt_Matricula )
;
ALTER TABLE Matricula ADD CONSTRAINT Cd_Classe_FK FOREIGN KEY ( Cd_Classe )
REFERENCES Classe ( Cd_Classe )
;
ALTER TABLE Matricula ADD CONSTRAINT Nr_Rgm_FK FOREIGN KEY ( Nr_Rgm )
REFERENCES Aluno ( Nr_Rgm )
;