DDL Flashcards

(65 cards)

1
Q

Qual comando SQL é usado para criar uma tabela?

A

CREATE TABLE nome_da_tabela (…)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Por que o campo CPF é do tipo VARCHAR2 em vez de NUMBER?

A

Porque CPFs podem começar com 0 e, como texto, preservam os zeros à esquerda.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Qual é a função do comando CREATE TABLE no Oracle SQL?

A

Criar uma nova tabela no banco de dados com suas respectivas colunas e tipos de dados.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Qual a estrutura básica do comando CREATE TABLE?

A

CREATE TABLE nome_da_tabela (
nome_coluna1 tipo_dado,
nome_coluna2 tipo_dado,

);

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

O que deve ser definido ao criar uma coluna em uma tabela?

A

O nome da coluna e o tipo de dado (ex: VARCHAR2(100) ou NUMBER(10,2)).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Por que é importante padronizar nomes de tabelas e colunas?

A

Para facilitar a manutenção e leitura por outros profissionais ou sistemas.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

O que acontece se esquecermos de fechar os parênteses no CREATE TABLE?

A

O Oracle retorna um erro de sintaxe e a tabela não é criada.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Qual é o separador usado entre as definições de colunas dentro do CREATE TABLE?

A

Vírgula ,

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

O que ocorre se tentarmos criar uma tabela com o mesmo nome de uma existente?

A

O Oracle retornará um erro: a tabela já existe.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Podemos criar uma tabela sem nenhuma coluna no Oracle?

A

Não. É obrigatório definir pelo menos uma coluna.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Como acessar o assistente de criação de tabela no Oracle SQL Developer?

A

Clicar com o botão direito em “Tabelas” na conexão desejada e selecionar “Nova Tabela…” (ou “Create Table…”).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Qual é a primeira informação obrigatória ao usar o assistente de criação de tabela?

A

O nome da tabela.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

O que acontece ao clicar em “Add Column” no assistente de criação de tabela?

A

Você adiciona uma nova coluna especificando nome, tipo de dado, tamanho, se aceita nulo, valor padrão etc.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Onde você define se uma coluna será a chave primária no assistente?

A

No campo “Primary Key” da coluna ou na aba “Constraints”.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

O que é exibido na aba “SQL” ou “SQL Preview” do assistente?

A

O código SQL correspondente à tabela que está sendo criada.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Qual a vantagem de usar o assistente de criação de tabela?

A

Não precisa escrever SQL diretamente, facilita o entendimento visual e exibe o SQL gerado automaticamente.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

Para que serve o comando DROP TABLE no Oracle?

A

Para excluir permanentemente uma tabela do banco de dados, incluindo todos os seus dados e estrutura.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

Qual a sintaxe básica do comando DROP TABLE?

A

DROP TABLE nome_da_tabela;

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

O que acontece com os dados ao executar DROP TABLE?

A

Todos os dados da tabela são apagados de forma irreversível.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

É possível recuperar uma tabela depois de usar DROP TABLE?

A

Não, a menos que exista um backup ou que o recurso de Flashback esteja habilitado e configurado.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

O que acontece com os objetos dependentes (como índices e constraints) ao usar DROP TABLE?

A

Eles também são removidos automaticamente.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

Qual erro ocorre se tentarmos DROP TABLE em uma tabela que não existe?

A

O Oracle retorna o erro ORA-00942: table or view does not exist.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

Como evitar erro se a tabela não existir ao usar DROP TABLE?

A

Usando DROP TABLE nome_da_tabela PURGE; ou verificando a existência antes via código PL/SQL.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
24
Q

Qual a diferença entre DROP TABLE e TRUNCATE TABLE?

A

DROP remove a estrutura e os dados da tabela; TRUNCATE remove apenas os dados, mantendo a estrutura.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
Para que serve o comando ALTER TABLE no Oracle?
Para modificar a estrutura de uma tabela existente (adicionar, alterar ou remover colunas, constraints, renomear, etc.).
26
O que acontece se você tentar alterar o tipo de uma coluna que contém dados incompatíveis?
O Oracle retorna erro de incompatibilidade; a alteração não é executada.
27
ALTER TABLE é transacionável? Podemos fazer ROLLBACK?
Sim. Até que o COMMIT seja dado, é possível desfazer a alteração com ROLLBACK.
28
Qual comando adiciona uma chave primária a uma tabela existente?
ALTER TABLE tabela ADD CONSTRAINT pk_nome PRIMARY KEY (coluna1 [, coluna2 ...]);
29
O que acontece se tentarmos inserir uma linha com o mesmo valor de chave primária já existente?
O Oracle gera o erro ORA-00001: unique constraint violated.
30
É possível inserir NULL em uma coluna que faz parte da PK?
Não. O Oracle não permite NULL em nenhuma coluna que pertença a uma Primary Key.
31
Sabemos que não podemos ter duas pessoas vendedoras com a mesma matrícula. Para evitar esse problema, que tal criar uma chave primária para a tabela de vendedores usando este campo como critério? (TABELA: TB_VENDEDORES , coluna: MATRICULA)
32
O que a cláusula PRIMARY KEY (coluna) define em uma tabela?
Define que a coluna será a chave primária da tabela, garantindo unicidade e não nulidade dos valores.
33
Uma coluna PRIMARY KEY pode conter valores NULL?
Não. Toda coluna com PRIMARY KEY deve conter valores não nulos e únicos.
34
É possível definir uma PRIMARY KEY para mais de uma coluna?
Sim. Basta usar PRIMARY KEY (coluna1, coluna2, ...), criando uma chave primária composta.
35
Uma tabela pode ter mais de uma PRIMARY KEY?
Não. Cada tabela pode ter apenas uma chave primária, mas ela pode ser composta por mais de uma coluna.
36
Qual é a sintaxe para definir uma PRIMARY KEY diretamente na criação da tabela?
37
Onde pode-se definir uma PRIMARY KEY na CREATE TABLE?
Diretamente na definição da coluna: id NUMBER PRIMARY KEY Ou como uma constraint separada após todas as colunas: PRIMARY KEY (id)
38
Qual comando define o formato de data padrão da sessão para simplificar inserções?
ALTER SESSION SET NLS_DATE_FORMAT = 'DD/MM/YYYY';
39
O que significa a restrição NOT NULL em uma coluna?
Garante que a coluna não pode conter valores nulos.
40
Como você define que uma coluna deve conter apenas valores únicos?
UNIQUE
41
Qual a sintaxe para renomear uma coluna em uma tabela existente?
ALTER TABLE nome_da_tabela RENAME COLUMN nome_antigo TO nome_novo;
42
O que fazer se você tentar alterar uma tabela de uma forma que viole as restrições existentes?
O Oracle não permitirá a alteração. Você precisará ajustar os dados ou as restrições antes de prosseguir.
43
Se você adicionou uma coluna com restrição NOT NULL a uma tabela que já contém dados, o que acontece?
O Oracle exigirá que você forneça um valor padrão para a nova coluna, pois não pode inserir valores nulos nas linhas existentes.
44
É sempre possível alterar o tipo de dado de uma coluna?
Não. A alteração pode não ser possível se houver dados na coluna que não são compatíveis com o novo tipo de dado.
45
O que acontece se você tentar excluir uma coluna que é referenciada por uma chave estrangeira em outra tabela?
O Oracle não permitirá a exclusão, a menos que você remova a chave estrangeira ou use a opção ON DELETE CASCADE.
46
O que fazer se você perceber que criou uma tabela com a chave primária errada?
Você pode remover a chave primária existente com ALTER TABLE DROP CONSTRAINT nome_da_constraint; e adicionar uma nova chave primária com ALTER TABLE ADD CONSTRAINT nome_da_constraint PRIMARY KEY (coluna);.
47
Quais são as restrições que uma chave primária deve seguir?
Deve ser única para cada linha. Não pode conter valores nulos (NULL).
48
Crie a tabela TAB_EMPRESA
CREATE TABLE TAB_EMPRESA (cod_empresa varchar(5) ,nome_empresa varchar(50) ,PRIMARY KEY (cod_empresa));
49
Crie a tabela TAB_DEPARTAMENTO
CREATE TABLE TAB_DEPARTAMENTO (cod_departamento varchar(5) ,nome_departamento varchar(50) ,cidade_departamento varchar(50) ,cod_empresa varchar(5) ,PRIMARY KEY (cod_departamento));
50
Crie a tabela TAB_PROJETO
CREATE TABLE TAB_PROJETO (cod_projeto varchar(5) ,nome_projeto varchar(50) ,orcamento_projeto float ,data_inicio_projeto date ,cod_departamento varchar(5) ,PRIMARY KEY (cod_projeto));
51
Crie a tabela TAB_FUNCIONARIO com assistente do Oracle
52
Qual seria o comando desta tabela no DLL?
53
Crie a tabela TAB_DEPENDENTE com assistente do Oracle
54
Qual seria o comando desta tabela no DLL?
55
Levando em consideração que todas as tabelas foram criadas, crie agora as chaves estrangeiras: TAB_DEPARTAMENTO
56
Levando em consideração que todas as tabelas foram criadas, crie agora as chaves estrangeiras: TAB_PROJETO
57
Levando em consideração que todas as tabelas foram criadas, crie agora as chaves estrangeiras: TAB_FUNCIONARIO
58
Levando em consideração que todas as tabelas foram criadas, crie agora as chaves estrangeiras: TAB_DEPENDENTE
59
Como se altera o nome da tabela TABELA_DE_VENDAS para NOTAS?
alter table "SYSTEM"."TABELA_DE_VENDAS" rename to NOTAS
60
O nosso usuário não gostou da nomenclatura usada por nós. Logo faça o seguinte: Na tabela TAB_DEPARTAMENTO, altere o nome do campo cidade_departamento para cidade.
alter table "SYSTEM"."TAB_DEPARTAMENTO" rename column "CIDADE_DEPARTAMENTO" to CIDADE
61
Não foi apenas o campo cidade, da tabela TAB_DEPARTAMENTO, que o usuário pediu para que fosse alterado. Também temos as seguintes alterações a serem efetuadas: Na tabela TAB_PROJETO, mude o nome dos campos orcamento_projeto para orcamento e data_inicio_projeto para data_inicio. Na tabela TAB_DEPENDENTE, mude o nome dos campos tipo_dependencia para tipo e idade_dependente para idade.
62
ALTER TABLE ITENS_NOTAS ADD CONSTRAINT FK_NOTAS FOREIGN KEY (NUMERO) REFERENCES NOTAS (NUMERO); Explique o comando detalhadamente
Após a declaração ALTER TABLE temos o nome da tabela; O ADD CONSTRAINT indica o nome da restrição; A constraint FOREIGN KEY traz o campo da própria tabela ITENS_NOTAS de onde partirá a chave estrangeira; E REFERENCES determina que a tabela NOTAS é referenciada no campo NUMERO aonde a chave estrangeira vai chegar.
63
Monte as tabelas, baseado-se nos campos mostrados:
64
Monte as chaves primárias:
65
Monte a chave estrangeira: