Imagem de fundo

De acordo com a sua documentação oficial, PostgreSQL é um...

De acordo com a sua documentação oficial, PostgreSQL é um sistema de gerenciamento de banco de dados relacional de objeto (SGBDRO ou ORDBMS - em inglês) de código aberto suporta grande parte do padrão SQL (Structured Query Language, ou Linguagem de Consulta Estruturada, em português) e oferece muitos recursos modernos. Observe e analise o código a seguir:

1: CREATE TABLE public.veiculo

2: (

3: placa character(7),

4: marca character varying(50),

5: modelo character varying(50),

6: CONSTRAINT veiculo_pk PRIMARY KEY (placa)

7: );

8:

9: CREATE TABLE public.concessionaria

10: (

11: cnpj character(14),

12: nome_fantazia character varying(50),

13: CONSTRAINT concessionaria_pk PRIMARY KEY (cnpj)

14: );

15:

16: CREATE TABLE public.concessionaria_veiculo

17: (

18: concessionaria character(14),

19: veiculo character(7),

20: CONSTRAINT concessionaria_veiculo_pk PRIMARY KEY (concessionaria, veiculo),

21: CONSTRAINT concessionaria_fk FOREIGN KEY (concessionaria)

22: REFERENCES public.concessionaria (cnpj) MATCH SIMPLE

23: ON UPDATE NO ACTION

24: ON DELETE CASCADE

25: NOT VALID,

26: CONSTRAINT veiculo_fk FOREIGN KEY (veiculo)

27: REFERENCES public.veiculo (placa) MATCH SIMPLE

28: ON UPDATE NO ACTION

29: ON DELETE CASCADE

30: NOT VALID

31: );

32:

33: INSERT INTO public.veiculo(placa, marca, modelo) VALUES (‘AAA0000’, ‘FIAT’, ‘ARGO’);

34: INSERT INTO public.veiculo(placa, marca, modelo) VALUES (‘BBB1111’, ‘FIAT’, ‘TORO’);

35: INSERT INTO public.veiculo(placa, marca, modelo) VALUES (‘CCC2222’, ‘GM’, ‘ONIX’);

36: INSERT INTO public.veiculo(placa, marca, modelo) VALUES (‘DDD3333’, ‘VW’, ‘T-CROSS’);

37:

38: INSERT INTO public.concessionaria(cnpj, nome_fantazia) VALUES (‘00000000000000’, ‘CAR MAX’);

39: INSERT INTO public.concessionaria(cnpj, nome_fantazia) VALUES (‘11111111111111’, ‘JR AUTOMOVEIS’);

40:

41: INSERT INTO public.concessionaria_veiculo(concessionaria, veiculo) VALUES (‘00000000000000’, ‘AAA0000’);

42: INSERT INTO public.concessionaria_veiculo(concessionaria, veiculo) VALUES (‘00000000000000’, ‘DDD3333’);

43: INSERT INTO public.concessionaria_veiculo(concessionaria, veiculo) VALUES (‘11111111111111’, ‘CCC2222’);

44: INSERT INTO public.concessionaria_veiculo(concessionaria, veiculo) VALUES (‘11111111111111’, ‘BBB1111’);

45:

46: DELETE FROM public.concessionaria WHERE cnpj = ‘11111111111111’;

Após ter executado com sucesso os comandos de CREATE e INSERT, ao tentar executar o trecho do código do comando DELETE conforme apresentado, o PostgreSQL:


A

vai manter os registros relacionados ao CNPJ 11111111111111 nas tabelas concessionaria e concessionaria_veiculo.


B

vai excluir os registros relacionados ao CNPJ 11111111111111 na tabela concessionaria e vai manter os registros na tabela concessionaria_veiculo, também relacionados ao CNPJ 11111111111111.


C

vai excluir os registros relacionados ao CNPJ 11111111111111 na tabela concessionaria_veiculo e vai manter os registros, na tabela concessionaria, também relacionados ao CNPJ 11111111111111.


D

vai manter os registros relacionados ao CNPJ 11111111111111 na tabela concessionaria e vai excluir os registros na tabela concessionaria_veiculo, também relacionados ao CNPJ 11111111111111.


E

vai excluir os registros relacionados ao CNPJ 11111111111111 nas tabelas concessionaria e concessionaria_veiculo.