Você está na página 1de 22

Dia 4 - Noções de Banco de Dados

SQL - DDL - DCL

Centro de Alta Performance - SECITECI

SQL - DDL - DCL (Centro de Alta Performance


Dia 4- SECITECI)
- Noções de Banco de Dados 1 / 22
Roteiro

1 Problema

2 Introdução

3 DDL - Linguagem de Definição de Dados

4 DCL - Linguagem de Controle de Dados

SQL - DDL - DCL (Centro de Alta Performance


Dia 4- SECITECI)
- Noções de Banco de Dados 2 / 22
Problema

Problema

Uma empresa contratou uma outra empresa para criar um banco de dados
para uma rede social, mas a empresa contratada não conseguiu concluir o
serviço de modelagem. A empresa contratante agora pediu a sua ajuda
para criar/consertar as tabelas necessárias para o banco de dados. Utilize a
descrição de Mini Mundo e o Modelo Lógico deixados pela empresa
contratada para criar as tabelas com as respectivas colunas e chaves
primárias. Lembre-se: a empresa não conseguiu concluir o serviço

SQL - DDL - DCL (Centro de Alta Performance


Dia 4- SECITECI)
- Noções de Banco de Dados 3 / 22
Problema

Problema

Descrição de mini mundo: Uma rede social para compartilhamento de


fotos e vídeos online. A plataforma permite que os usuários criem perfis,
publiquem fotos e vídeos, sigam outros usuários, comentem e curtam
publicações, participem de grupos de interesse e recebam notificações sobre
atividades relevantes em suas contas. Os usuários podem interagir com a
plataforma por meio de um aplicativo móvel ou de um site.

SQL - DDL - DCL (Centro de Alta Performance


Dia 4- SECITECI)
- Noções de Banco de Dados 4 / 22
Problema

Problema

Modelo lógico em formato textual (deixado pela contratada):


Usuario( ID, Nome, Email, Senha, DataNascimento, Sexo, FotoPerfil )
Perfil( ID, NomePerfil, Biografia, Localizacao, Website)
Publicacao( ID, Texto, DataPublicacao, ID Usuario )
Foto( ID, NomeArquivo, Legenda, ID Publicacao )
Video( ID, NomeArquivo, Duracao, ID Publicacao )
Comentario(Texto, DataComentario, ID Publicacao, ID Usuario )
Grupo( ID, Nome, Descricao )
UsuarioGrupo( ID Usuario, ID Grupo )
Seguidor( ID Usuario, ID Usuario )
Notificacao( ID, Texto, DataNotificacao, ID Usuario )

SQL - DDL - DCL (Centro de Alta Performance


Dia 4- SECITECI)
- Noções de Banco de Dados 5 / 22
Introdução

Introdução

A Linguagem SQL (Structured Query Language) é uma linguagem de


consulta e manipulação de dados em bancos de dados relacionais.

SQL - DDL - DCL (Centro de Alta Performance


Dia 4- SECITECI)
- Noções de Banco de Dados 6 / 22
Introdução

Categorias de comandos na Linguagem SQL

Linguagem de Definição de Dados (DDL)


Linguagem de Manipulação de Dados (DML)
Linguagem de Controle de Dados (DCL)
Linguagem de Controle de Transação (TCL)

SQL - DDL - DCL (Centro de Alta Performance


Dia 4- SECITECI)
- Noções de Banco de Dados 7 / 22
Introdução

DDL - Linguagem de Definição de Dados

A Linguagem de Definição de Dados (DDL) é responsável pelos comandos


para criação, alteração e exclusão de objetos no banco de dados, como
tabelas, índices e constraints.

SQL - DDL - DCL (Centro de Alta Performance


Dia 4- SECITECI)
- Noções de Banco de Dados 8 / 22
Introdução

DCL - Linguagem de Controle de Dados

A Linguagem de Controle de Dados (DCL) é responsável pelos comandos


para gerenciar permissões de acesso a usuários e objetos, ou seja,
permissões para executar comandos DDL, DML, DCL e TCL.

SQL - DDL - DCL (Centro de Alta Performance


Dia 4- SECITECI)
- Noções de Banco de Dados 9 / 22
DDL - Linguagem de Definição de Dados

Linguagem de Definição de Dados (DDL)

A DDL é uma categoria da Linguagem SQL que contém um conjunto de


comandos para criar, alterar e excluir objetos no banco de dados.

SQL - DDL - DCL (Centro de Alta Performance


Dia 4- SECITECI)
- Noções de Banco de Dados 10 / 22
DDL - Linguagem de Definição de Dados

DDL - Comandos

Na etapa de criação do modelo físico do banco de dados em um projeto de


Banco de Dados, esses comandos são utilizados principalmente. Os
comandos são:
CREATE: criar estrutura (banco de dados ou tabelas)
ALTER: alterar estrutura (banco de dados ou tabelas)
DROP: remover estrutura (banco de dados ou tabelas)

SQL - DDL - DCL (Centro de Alta Performance


Dia 4- SECITECI)
- Noções de Banco de Dados 11 / 22
DDL - Linguagem de Definição de Dados

Criação de Estruturas - Comando CREATE

O comando CREATE é utilizado na Linguagem SQL para criar estruturas


no banco de dados, como bancos de dados, tabelas, colunas, chaves, entre
outros.

Para criar um banco de dados, utiliza-se o comando:


CREATE DATABASE <Nome do Banco de Dados>;

SQL - DDL - DCL (Centro de Alta Performance


Dia 4- SECITECI)
- Noções de Banco de Dados 12 / 22
DDL - Linguagem de Definição de Dados

Criação de Estruturas - Exemplo de Criação de Banco de


Dados

Para criar um banco de dados de nome BDTESTE, por exemplo, basta


executar o comando:
CREATE DATABASE BDTESTE;

Ao executar este comando SQL sem passar parâmetros adicionais, o banco


de dados será criado com as opções padrões da instância instalada.

SQL - DDL - DCL (Centro de Alta Performance


Dia 4- SECITECI)
- Noções de Banco de Dados 13 / 22
DDL - Linguagem de Definição de Dados

Criação de Estruturas - Comando CREATE TABLE

Para criar as tabelas, que são as estruturas onde os dados são inseridos,
consultados e manipulados, é utilizado o comando CREATE TABLE.

Sua sintaxe básica é:


CREATE TABLE <nome da tabela> (
<coluna1> <tipo de dados(tamanho)> <restrições da coluna1>,
<coluna2> <tipo de dados(tamanho)> <restrições da coluna2>,
<coluna3> <tipo de dados(tamanho)> <restrições da coluna3>,
<restrições da tabela>
);

SQL - DDL - DCL (Centro de Alta Performance


Dia 4- SECITECI)
- Noções de Banco de Dados 14 / 22
DDL - Linguagem de Definição de Dados

Alteração de Estruturas

O comando SQL ALTER é utilizado para alterar estruturas do banco de


dados. Com esse comando podemos alterar o banco de dados e as tabelas.
Para alterar um banco de dados, a sintaxe do comando SQL é:

ALTER DATABASE <Nome do Banco de Dados> <Parâmetros a serem


alterados>;

Por exemplo, para alterarmos o nome de um banco de dados, devemos


executar:
ALTER DATABASE <nome do banco> RENAME TO
<novo nome do banco>;

SQL - DDL - DCL (Centro de Alta Performance


Dia 4- SECITECI)
- Noções de Banco de Dados 15 / 22
DDL - Linguagem de Definição de Dados

Alteração de Estruturas

Para alterar a estrutura de uma tabela a sintaxe básica é ALTER TABLE


<nome da tabela> seguida da alteração que se pretende fazer.
Para adicionar uma nova coluna, por exemplo, a sintaxe é:

ALTER TABLE <nome da tabela> ADD <nome da coluna> <tipo de


dado e tamanho> <restrições da coluna>;

Por exemplo, se precisarmos adicionar uma nova coluna o comando SQL é:

ALTER TABLE Professor ADD Email varchar(255);

SQL - DDL - DCL (Centro de Alta Performance


Dia 4- SECITECI)
- Noções de Banco de Dados 16 / 22
DDL - Linguagem de Definição de Dados

Remoção de Estruturas

O comando DROP da Linguagem SQL é muito útil para remover


estruturas de dados e objetos de um banco de dados.
Deve ser utilizado com cautela e atenção para evitar a remoção
acidental de estruturas importantes.

SQL - DDL - DCL (Centro de Alta Performance


Dia 4- SECITECI)
- Noções de Banco de Dados 17 / 22
DDL - Linguagem de Definição de Dados

Remoção de Estruturas

Usando o DROP, pode-se remover banco de dados, tabelas, views,


funções, índices, entre outros.
Para remover um banco de dados a sintaxe básica é:
DROP DATABASE <nome do banco>;
Portanto, para remover o banco de dados que criamos anteriormente
usamos:
DROP DATABASE BDTESTE;

SQL - DDL - DCL (Centro de Alta Performance


Dia 4- SECITECI)
- Noções de Banco de Dados 18 / 22
DDL - Linguagem de Definição de Dados

Remoção de Estruturas

Para remover uma tabela a sintaxe básica é:


DROP TABLE <nome da tabela>;
Portanto, para remover a tabela que criamos anteriormente devemos
executar o comando SQL:
DROP TABLE Professor;
É importante saber que se a execução do comando DROP TABLE
acontecer com sucesso a tabela com sua estrutura e seus dados serão
removidos permanentemente.

SQL - DDL - DCL (Centro de Alta Performance


Dia 4- SECITECI)
- Noções de Banco de Dados 19 / 22
DCL - Linguagem de Controle de Dados

DCL - Comandos

DCL é formado por um grupo de comandos SQL, responsáveis pela


administração dos usuários, dos grupos e das permissões.

SQL - DDL - DCL (Centro de Alta Performance


Dia 4- SECITECI)
- Noções de Banco de Dados 20 / 22
DCL - Linguagem de Controle de Dados

Criando e excluindo usuário

Criar usuário:
CREATE ROLE nomeusuario;
Excluindo usuário:
DROP USER nomeusuario;

SQL - DDL - DCL (Centro de Alta Performance


Dia 4- SECITECI)
- Noções de Banco de Dados 21 / 22
DCL - Linguagem de Controle de Dados

Privilégios

Dando privilégios a um usuário:


GRANT UPDATE ON nometabela TO nomeusuario;
Dando privilégios a um grupo inteiro:
GRANT SELECT ON nometabela TO nomegrupo;
Removendo todos os privilégios de todos os usuários:
REVOKE ALL ON nometabela FROM PUBLIC

SQL - DDL - DCL (Centro de Alta Performance


Dia 4- SECITECI)
- Noções de Banco de Dados 22 / 22

Você também pode gostar