Oracle database.
Criação de um script para criar três tabelas, Aluno, Matricula e Classe, conforme o diagrama exposto no enunciado.
Diante disso, para criar nosso scprit precisamos saber:
· Como Criar uma tabela
· Criar uma Chave Primária
· Criar uma Chave Estrangeira
Soluções para a tarefa
create table aluno ( Nr_Rgm int(8) UNSIGNED not null AUTO_INCREMENT, Nm_Nome varchar(40) not null, Nm_Pai varchar(40) not null, Nm_Mae varchar(40) not null, Dt_Nascimento date not null, Id_Sexo char(1) not null, constraint primary key(Nr_Rgm));
create table classe ( Cd_Classe int(8) UNSIGNED not null AUTO_INCREMENT, Nr_AnoLetivo int(4) not null, Nr_Serie int(2) not null, Sg_Turma varchar(2) not null, Cd_Escola int(6) not null, Cd_Grau int(2) not null, Cd_Periodo int(2) not null, constraint primary key(Cd_Classe));
create table matricula ( Nr_Rgm int(8) UNSIGNED not null, Cd_Classe int(8) UNSIGNED not null, constraint matricula_nr_rgm_foreign foreign key (Nr_Rgm) REFERENCES aluno (Nr_Rgm) ON DELETE CASCADE, constraint matricula_cd_classe_foreign foreign key (Cd_Classe) REFERENCES classe (Cd_Classe) ON DELETE CASCADE);
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 )
;