Ao utilizar comandos de DDL (data definition language), o usuário do banco de dados pode criar, modificar ou excluir objetos em um banco de dados. O comando de CREATE TABLE, por exemplo, cria tabelas que basicamente são um conjunto de campos com seus tipos de dados e de restrições como chave primária e chave estrangeira. Em um sistema bancário, existe uma tabela TRANSACAO que foi criada com o seguinte comando:
Respostas
Resposta:
COMMIT : responsável em finalizar uma transação, independentemente se a mesma foi aberta implicitamente ou explicitamente, após sua efetivação todos os usuários enxergarão dentro das tabelas as modificações em seus registros.
ROLLBACK : finaliza a transação, desfazendo todas as aplicações de INSERT, UPDATE e DELETE; até o fechamento de uma transação anterior.
ROLLBACK TO … : desfaz a transação até encontrar o ponto indicado pelo nome do SAVEPOINT criado; permitindo desfazer apenas parte da transação.
SAVEPOINT : permite criar um ponto inicial de uma transação; pode ser usado para dividir transações maiores em partes menores.
INSERT INTO PESSOA
VALUES (1, 'MARIA', 'F', TO_DATE('12/03/1989','DD/MM/YYYY'));
INSERT INTO PESSOA (ID, NOME, GENERO, DATA_NASCIMENTO)
VALUES (2, 'PEDRO', 'M', TO_DATE('20/04/2005','DD/MM/YYYY'));
UPDATE PESSOA SET NOME = 'PAULO' WHERE ID = 2;
Ao aplicar o primeiro comando INSERT, logo após a criação da tabela é iniciada uma sessão de transação de forma implícita. O segundo INSERT e o UPDATE aplicado vão se agregando a esta sessão, pois enquanto não houver um dos 4 itens explicados na sessão Como finalizar uma transação, está não será encerrada.
Resposta:
F,V,F,V
Explicação:
o item I é falso, uma vez que não há no comando a cláusula de primary key, portanto esta restrição não foi estabelecida e pode haver valores repetidos de código na tabela. O item II é verdadeiro, como o campo COD_CONTA é INTEGER, apenas valores inteiros (sem decimais) devem ser aceitos. O item III é falso, pois o campo RESGATE é not null, portanto é obrigatório ter um valor atribuído a este campo. Por fim, o item IV é verdadeiro; o campo COD_CONTA é uma chave estrangeira que aponta para o campo CÓDIGO na tabela de conta, portanto apenas valores de código presentes na tabela conta são válidos para este campo COD_CONTA na tabela de TRANSACAO.