Neste 10º tópico da série, falarei um pouco sobre alguns comandos DDL, que significa “Data Definition Language” e servem para criar e alterar objetos no banco de dados. Também falarei um pouco sobre tabelas, como cria-las, por exemplo. No tópico seguinte serão abordados outros objetos comuns em bancos de dados, como views e sequences.

1) COMANDOS DDL

São caracterizados como comandos DDL:

1.1) comandos usando CREATE, ALTER, DROP ou RENAME.

1.2) Remover todas as linhas de uma base de dados sem remover sua estrutura (TRUNCATE).

1.3) Realizar auditorias na base de dados (AUDIT, NOAUDIT).

1.4) Adicionar uma descrição sobre um objeto ao dicionário de dados (COMMENT).

Comandos DDL executam implicitamente um COMMIT. Caso você execute um ALTER TABLE, por exemplo, este comando realizará um COMMIT, caso o ALTER TABLE seja executado com sucesso.

2) Usando comandos DDLs para criar  objetos em um banco de dados

Um SGBD possui inumeros objetos, cada um com uma finalidade específica. Aqui, listarei apenas operações em tabelas, haja vista que o próximo tópico aborda outros objetos comuns, como índices, views e sequences:

2.1) Tabela: É a estrutura básica de armazenamento em um banco de dados relacional. Dados são lógicamente armazenados em tabelas e físicamente armazenados em datafiles. Existem vários tipos de tabelas como Index-Organized Tables, Clustered Tables e etc. A mais comum é a Heap-Organized Table. A sintaxe básica de criação é:

[et_pb_dmb_code_snippet _builder_version=”4.0.6″ code=”LS0gc2ludGF4ZSBiYXNpY2EKLS0gY29tYW5kbyBEREwgcGFyYSBhIGNyaWFjYW8gZGUgdW1hIHRhYmVsYQoKQ1JFQVRFIFRBQkxFIG93bmVyLnRhYmVsYSAoCmNvbHVuYSAgIHRpcG9fZGFkb3MgICAgY29uc3RyYWludHMvcmVzdHJpY29lcwpbLi4uXQopOwoKLS0gZXhlbXBsbwotLSBtb2RvIDEgcGFyYSBjcmlhw6fDo28gZGUgdW1hIHRhYmVsYSwgasOhIGNvbSBjb25zdHJhaW50cwoKQ1JFQVRFIFRBQkxFIHByb2QudmVuZGVkb3IgKApJRF9WRU5ERURPUiAgIE5VTUJFUiAgICAgICAgTk9UIE5VTEwsCk5PTUUgICAgICAgICAgVkFSQ0hBUjIoMTAwKSBOT1QgTlVMTCwKU0VUT1IgICAgICAgICBWQVJDSEFSMig0MCksClBSSU1BUlkgS0VZKElEX1ZFTkRFRE9SKSwKRk9SRUlHTiBLRVkoSURfVkVOREVET1IpIFJFRkVSRU5DRVMgUFJPRC5DQURBU1RSTyhJRF9DQURBU1RSTykKKTs=” hover_enabled=”0″]LS0gc2ludGF4ZSBiYXNpY2EKLS0gY29tYW5kbyBEREwgcGFyYSBhIGNyaWFjYW8gZGUgdW1hIHRhYmVsYQoKQ1JFQVRFIFRBQkxFIG93bmVyLnRhYmVsYSAoCmNvbHVuYSAgIHRpcG9fZGFkb3MgICAgY29uc3RyYWludHMvcmVzdHJpY29lcwpbLi4uXQopOwoKLS0gZXhlbXBsbwotLSBtb2RvIDEgcGFyYSBjcmlhw6fDo28gZGUgdW1hIHRhYmVsYSwgasOhIGNvbSBjb25zdHJhaW50cwoKQ1JFQVRFIFRBQkxFIHByb2QudmVuZGVkb3IgKApJRF9WRU5ERURPUiAgIE5VTUJFUiAgICAgICAgTk9UIE5VTEwsCk5PTUUgICAgICAgICAgVkFSQ0hBUjIoMTAwKSBOT1QgTlVMTCwKU0VUT1IgICAgICAgICBWQVJDSEFSMig0MCksClBSSU1BUlkgS0VZKElEX1ZFTkRFRE9SKSwKRk9SRUlHTiBLRVkoSURfVkVOREVET1IpIFJFRkVSRU5DRVMgUFJPRC5DQURBU1RSTyhJRF9DQURBU1RSTykKKTs=[/et_pb_dmb_code_snippet]
[et_pb_dmb_code_snippet _builder_version=”4.0.6″ code=”LS0gZXhlbXBsbwotLSBtb2RvIDIgcGFyYSBhIGNyaWHDp8OjbyBkZSB1bWEgdGFiZWxhLCBqw6EgY29tIGNvbnN0cmFpbnRzCgpDUkVBVEUgVEFCTEUgdmVuZGVkb3IgKApJRF9WRU5ERURPUiAgIE5VTUJFUiAgICAgICAgTk9UIE5VTEwgQ09OU1RSQUlOVCBwa192ZW5kZWRvciBQUklNQVJZIEtFWSwKTk9NRSAgICAgICAgICBWQVJDSEFSMigxMDApIE5PVCBOVUxMLApTRVRPUiAgICAgICAgIFZBUkNIQVIyKDQwKSAgTk9UIE5VTEwsCklEX1ZFTkRBICAgICAgTlVNQkVSICAgICAgICBDT05TVFJBSU5UIGZrX3ZlbmRlZG9yX2NhZGFzdHJvIFJFRkVSRU5DRVMgdmVuZGFzKGlkX3ZlbmRhKQopOw==” hover_enabled=”0″]LS0gZXhlbXBsbwotLSBtb2RvIDIgcGFyYSBhIGNyaWHDp8OjbyBkZSB1bWEgdGFiZWxhLCBqw6EgY29tIGNvbnN0cmFpbnRzCgpDUkVBVEUgVEFCTEUgdmVuZGVkb3IgKApJRF9WRU5ERURPUiAgIE5VTUJFUiAgICAgICAgTk9UIE5VTEwgQ09OU1RSQUlOVCBwa192ZW5kZWRvciBQUklNQVJZIEtFWSwKTk9NRSAgICAgICAgICBWQVJDSEFSMigxMDApIE5PVCBOVUxMLApTRVRPUiAgICAgICAgIFZBUkNIQVIyKDQwKSAgTk9UIE5VTEwsCklEX1ZFTkRBICAgICAgTlVNQkVSICAgICAgICBDT05TVFJBSU5UIGZrX3ZlbmRlZG9yX2NhZGFzdHJvIFJFRkVSRU5DRVMgdmVuZGFzKGlkX3ZlbmRhKQopOw==[/et_pb_dmb_code_snippet]
[et_pb_dmb_code_snippet _builder_version=”4.0.6″ code=”LS0gZXhlbXBsbwotLSBtb2RvIDMgcGFyYSBhIGNyaWHDp8OjbyBkZSB1bWEgdGFiZWxhLCBqw6EgY29tIGNvbnN0cmFpbnRzCgpDUkVBVEUgVEFCTEUgUFJPRC5WRU5ERURPUiAoCklEX1ZFTkRFRE9SICAgTlVNQkVSICAgICAgICBOT1QgTlVMTCwKTk9NRSAgICAgICAgICBWQVJDSEFSMigxMDApIE5PVCBOVUxMLApTRVRPUiAgICAgICAgIFZBUkNIQVIyKDQwKSwKQ09OU1RSQUlOVCBwa192ZW5kZWRvciBQUklNQVJZIEtFWShJRF9WRU5ERURPUiksCkNPTlNUUkFJTlQgZmtfdmVuZGVkb3JfY2FkYXN0cm8gRk9SRUlHTiBLRVkoSURfVkVOREVET1IpIFJFRkVSRU5DRVMgUFJPRC5DQURBU1RSTyhJRF9DQURBU1RSTykKKTs=” hover_enabled=”0″]LS0gZXhlbXBsbwotLSBtb2RvIDMgcGFyYSBhIGNyaWHDp8OjbyBkZSB1bWEgdGFiZWxhLCBqw6EgY29tIGNvbnN0cmFpbnRzCgpDUkVBVEUgVEFCTEUgUFJPRC5WRU5ERURPUiAoCklEX1ZFTkRFRE9SICAgTlVNQkVSICAgICAgICBOT1QgTlVMTCwKTk9NRSAgICAgICAgICBWQVJDSEFSMigxMDApIE5PVCBOVUxMLApTRVRPUiAgICAgICAgIFZBUkNIQVIyKDQwKSwKQ09OU1RSQUlOVCBwa192ZW5kZWRvciBQUklNQVJZIEtFWShJRF9WRU5ERURPUiksCkNPTlNUUkFJTlQgZmtfdmVuZGVkb3JfY2FkYXN0cm8gRk9SRUlHTiBLRVkoSURfVkVOREVET1IpIFJFRkVSRU5DRVMgUFJPRC5DQURBU1RSTyhJRF9DQURBU1RSTykKKTs=[/et_pb_dmb_code_snippet]

3) Usando comandos DDLs para alterar uma tabela.

Através do comando ALTER … é possível alterar muitas das propriedades de um objeto, como adicionar novas propriedades a este mesmo objeto e remover atributos de objetos, como por exemplo constraints em uma tabela. Existem inúmeras possibilidades para cada um dos inúmeris tipos de objetos no Oracle, portanto recomenda-se consultar a documentação oficial para uma lista completa de opções modificáveis nos objetos do banco. Abaixo seguem alguns exemplos:

[et_pb_dmb_code_snippet _builder_version=”4.0.6″ code=”LS0gY29tYW5kbyBEREwgcGFyYSBjcmlhciB1bWEgUEsgZW0gdW1hIGNvbHVuYQpBTFRFUiBUQUJMRSBUQUJfRU1QUkVHQURPUyBBREQgQ09OU1RSQUlOVCBQS19FTVBOTyBQUklNQVJZIEtFWSAoRU1QTk8pCgotLSBjb21hbmRvIERETCBwYXJhIGFkaWNpb25hciB1bWEgY29sdW5hIGVtIHVtYSB0YWJlbGEKQUxURVIgVEFCTEUgVEFCX0VNUFJFR0FET1NfMiBBREQgRkVSSUFTIE5VTUJFUiBOVUxMCgotLSByZW1vdmVyIGEgY29sdW5hIHByZXZpYW1lbnRlIGNyaWFkYQpBTFRFUiBUQUJMRSBUQUJfRU1QUkVHQURPU18yIERST1AgQ09MVU1OIEZFUklBUw==” hover_enabled=”0″]LS0gY29tYW5kbyBEREwgcGFyYSBjcmlhciB1bWEgUEsgZW0gdW1hIGNvbHVuYQpBTFRFUiBUQUJMRSBUQUJfRU1QUkVHQURPUyBBREQgQ09OU1RSQUlOVCBQS19FTVBOTyBQUklNQVJZIEtFWSAoRU1QTk8pCgotLSBjb21hbmRvIERETCBwYXJhIGFkaWNpb25hciB1bWEgY29sdW5hIGVtIHVtYSB0YWJlbGEKQUxURVIgVEFCTEUgVEFCX0VNUFJFR0FET1NfMiBBREQgRkVSSUFTIE5VTUJFUiBOVUxMCgotLSByZW1vdmVyIGEgY29sdW5hIHByZXZpYW1lbnRlIGNyaWFkYQpBTFRFUiBUQUJMRSBUQUJfRU1QUkVHQURPU18yIERST1AgQ09MVU1OIEZFUklBUw==[/et_pb_dmb_code_snippet]

4) Descrever como objetos de schema funcionam

Objetos de schema (Schema Objects) são aqueles que, como o próprio nome diz, fazem parte de um schema (ou owner). Objetos como tabelas, views e sequences, índices são objetos de schema. Usuários e roles, por exemplo, não precisam de schemas. No Oracle, ao criar um usuário, se está criando um schema.

Para um usuário de do schema A ter acesso a uma tabela do schema B, é necessário que se conceda os devídos privilégios de acesso ao schema A.

É isso ai pessoal, até a próxima. Keep Querying