A questão baseia-se na Figura 5, que mostra um Diagrama Entidade Relacionamento (DER), elaborado no DBDesigner 4. A partir desse DER, criou-se e populou-se, nos bancos de dados Oracle 11g e MySQL 5, todas as tabelas do modelo relacional, respeitando-se, rigorosamente, os nomes, domínios dos tipos de dados, integridades de identidade e integridade referencial. Os tipos de dados foram mantidos como numéricos e alfanuméricos em ambos os bancos de dados, entretanto, foi necessário adaptá-los para os tipos de dados específicos do Oracle 11g. Essas tabelas foram criadas sem nenhuma restrição do tipo "on delete" ou "on update". No Oracle 11g, as tabelas foram criadas com os seus nomes em maiúscula, enquanto no MySQL 5 em minúscula.

Um profissional de informática recebeu a tarefa de criar, no banco de dados Oracle 11g, a tabela "Empresa", de modo que ela corresponda exatamente à entidade de mesmo nome existente no DER da Figura 5. Nesse caso, após ser criada a tabela "Area", bastou, a esse profissional, utilizando a linguagem SQL, executar
I. a seguinte declaração, no Oracle 11g:
create table EMPRESA (
cnpj number,
area_id number,
razao_social varchar2(45),
telefone varchar2(15),
primary key(cnpj),
foreign key(area_id) references area(id)
);
cnpj number,
area_id number,
razao_social varchar2(45),
telefone varchar2(15),
primary key(cnpj),
foreign key(area_id) references area(id)
);
II. a seguinte declaração, no Oracle 11g:
create table empresa (
cnpj number primary key not null,
area_id number references area(id) not null
razao_social varchar2(45),
telefone varchar2(15),
);
cnpj number primary key not null,
area_id number references area(id) not null
razao_social varchar2(45),
telefone varchar2(15),
);
III. sequencialmente, as seguintes declarações, no Oracle 11g:
create table Empresa (
cnpj varchar2(5),
razao_social varchar2(45),
telefone varchar2(15)
);
cnpj varchar2(5),
razao_social varchar2(45),
telefone varchar2(15)
);
alter table empresa
add
(area_id number references area(id) not null)
modify
(cnpj number primary key);
add
(area_id number references area(id) not null)
modify
(cnpj number primary key);
Quais estão corretas?