Questões

Código para a questão 1 CREATE TABLE candidato ( 2 numero sm 96965

Código para a questão

1   CREATE TABLE candidato  (

2       numero smallint NOT NULL,

3       nome character varying (40),

4       cargo smallint,

5       votos integer );

6   CREATE TABLE cargo  (

7       pk_cargo smallint NOT NULL,

8       nome character varying (40));

9   CREATE TABLE voto (

10     pk bigint NOT NULL,

11     secao integer,

12     v_cargo smallint,

13     v_candidato integer); 

14  INSERT INTO cargo  (pk_cargo, nome) VALUES (1, 'Presidente');

15  INSERT INTO cargo  (pk_cargo, nome) VALUES (2, 'Governador');

16  INSERT INTO cargo  (pk_cargo, nome) VALUES (3, 'Prefeito');

17  INSERT INTO candidato  (nome, numero, votos, cargo) VALUES ('Joao', 20, 100, 1);

18  INSERT INTO candidato  (nome, numero, votos, cargo) VALUES ('Maria', 12, 10, 2);

19  INSERT INTO voto  (secao, v_cargo, v_candidato, pk) VALUES (1, 1, 12, 1);

20  INSERT INTO voto  (secao, v_cargo, v_candidato, pk) VALUES (1, 2, 20, 2);

21  INSERT INTO voto  (secao, v_cargo, v_candidato, pk) VALUES (2, 2, 20, 2);

22  INSERT INTO voto  (secao, v_cargo, v_candidato, pk) VALUES (2, null, 12, 4);

23  INSERT INTO voto  (secao, v_cargo, v_candidato, pk) VALUES (1, 1, null, 5);

24  SELECT v.secao, c.nome FROM voto AS v, candidato AS c where c.numero = v.v_candidato ;

25  SELECT c.nome, count (*) FROM voto AS v INNER JOIN candidato AS c on c.numero = v.v_candidato

26          GROUP BY c.numero, c.nome;

27  SELECT c.numero, ca.nome, count (*)

28           FROM voto AS v INNER JOIN candidato AS c ON c.numero = v.v_candidato

29                       INNER JOIN cargo AS ca ON v.v_cargo = ca.pk_cargo GROUP BY ca.nome, c.numero;

30  ALTER TABLE ONLY candidato ADD CONSTRAINT candidato_pk PRIMARY KEY (numero);

31  ALTER TABLE ONLY cargo ADD CONSTRAINT cargo_pk PRIMARY KEY (pk_cargo);

32  ALTER TABLE ONLY voto ADD CONSTRAINT voto_pk PRIMARY KEY (pk);

33  CREATE INDEX fki_candidato_cargo_fk On candidato (cargo);

34  ALTER TABLE ONLY candidato

35     ADD CONSTRAINT candidato_cargo_fk FOREIGN KEY  (cargo) REFERENCES cargo (pk_cargo);

36  ALTER TABLE ONLY voto

37     ADD CONSTRAINT candidato_fk FOREIGN KEY (v_candidato) REFERENCES candidato (numero);

38  ALTER TABLE ONLY voto

39     ADD CONSTRAINT voto cargo fk FOREIGN KEY (v cargo) REFERENCES cargo (pk cargo);

Considerando que o código apresentado represente um script SQL sintaticamente correto, julgue os itens subseqüentes.

I Nas linhas de 1 a 13, encontram-se comandos de DML (data manipulation language), e, nas das linhas de 14 a 29, comandos de DDL (data definition language).

II Os comandos das linhas de 30 a 32 inserem restrições de integridade de entidade no modelo físico do banco de dados.

III Os comandos das linhas de 34 a 39 inserem restrições de integridade no modelo físico do banco de dados.

IV O modelo de dados criado pelo script encontra-se na terceira forma normal.

Estão certos apenas os itens

Questões similares