Você está na página 1de 13

TRADUÇÃO DA

TERCEIRA EDIÇÃO

PROJETO, DESENVOLVIMENTO DE APLICAÇÕES


& ADMINISTRAÇÃO DE BANCO DE DADOS

Michael V. Mannino
M284p Mannino, Michael V.
Projeto, desenvolvimento de aplicações e administração
de banco de dados [recurso eletrônico] / Michael V.
Mannino ; tradução: Beth Honorato ... [et al.] ; revisão
técnica: Antônio Fernandes Nunes Guardado, Sidney da
Silva Viana. – 3. ed. – Dados eletrônicos. – Porto Alegre:
AMGH, 2014.

Editado também como livro impresso em 2008.


ISBN 978-85-8055-363-5

1. Banco de dados – Gerenciamento – Programas de


computador. 2. Projeto de banco de dados. 3. Software de
aplicativos – Desenvolvimento. I. Título.

CDD 005.74
CDU 004.658

Catalogação na publicação: Ana Paula M. Magnus – CRB 10/2052


Capítulo

14
Administração de Dados
e de Banco de Dados

Objetivos de Aprendizagem
Este capítulo oferece uma visão geral das responsabilidades e ferramentas dos especialistas em
banco de dados conhecidos por administradores de dados e administradores de banco de
dados. No final deste capítulo, o estudante deverá ter adquirido os seguintes conhecimentos
e habilidades:
• Comparar e contrastar as responsabilidades dos administradores de banco de dados e
administradores de dados.
• Controlar bancos de dados usando instruções SQL em prol da segurança e integridade.
• Gerenciar gatilhos e procedimentos armazenados.
• Compreender os papéis das tabelas dos dicionários de dados e o dicionário de recursos
de informação.
• Descrever o processo de planejamento de dados.
• Compreender o processo para escolher e avaliar SGBDs.
• Adquirir uma visão sobre os ambientes de processamento nos quais a tecnologia de banco
de dados é utilizada.

Visão Geral
Utilizando o conhecimento e as habilidades das partes 1 a 6, você provavelmente terá capaci-
dade para desenvolver bancos de dados e implementar aplicações que usam banco de dados.
Você obteve informações sobre modelagem conceitual de dados, projeto de banco de dados re-
lacional, formulação de consultas, desenvolvimento de aplicações com visões, procedimentos
armazenados, gatilhos e desenvolvimento de banco de dados usando requisitos representados
como visões. A Parte 7 complementa essas áreas de conhecimento e habilidade explorando
questões e habilidades concernentes ao gerenciamento de banco de dados em diferentes ambi-
entes de processamento. Este capítulo descreve as responsabilidades e as ferramentas dos es-
pecialistas em dados (administradores de dados e administradores de bancos de dados) e
fornece uma introdução aos diferentes ambientes de processamento de banco de dados.
Antes de conhecer os detalhes dos ambientes de processamento, você precisa com-
preender o contexto organizacional no qual os bancos de dados se encontram e conhecer as
ferramentas e os processos para gerenciá-los. Este capítulo primeiramente examina um con-
texto organizacional para banco de dados. Você obterá informações sobre o suporte do banco
de dados para o gerenciamento da tomada de decisão, os objetivos do gerenciamento de

481
482 Parte Sete Gerenciamento de Ambientes de Banco de Dados

recursos de informação e as responsabilidades dos administradores de dados e de banco de


dados. Após a explanação do contexto organizacional, este capítulo apresenta novos proces-
sos e ferramentas para o gerenciamento de banco de dados. Você aprenderá instruções SQL
para segurança e integridade, gerenciamento de gatilhos e procedimentos armazenados e
manipulação do dicionário de dados, bem como processos para o planejamento de dados e
seleção de SGBDs. Este capítulo é finalizado com uma introdução aos diferentes ambientes
de processamento, os quais serão apresentados mais detalhadamente nos outros capítulos da
Parte 7.

14.1 Contexto Organizacional para o Gerenciamento de Banco de Dados


Esta seção revisa os níveis de tomada de decisão gerencial e discute o suporte do banco de
dados para a tomada de decisão em todos os níveis. Após essa ambientação, esta seção des-
creve a função do gerenciamento de recursos de informação e as responsabilidades dos espe-
cialistas em dados no gerenciamento desses recursos.

14.1.1 Utilização do Banco de Dados como Suporte para a Tomada


banco de dados
operacional de Decisão Gerencial
um banco de dados para Os bancos de dados fornecem suporte às operações de negócio e à tomada de decisão geren-
dar suporte às funções diárias cial em vários níveis. As grandes organizações, em sua maioria, desenvolveram vários ban-
de uma organização. cos de dados operacionais para ajudar a conduzir seus negócios com eficácia. Os bancos de
dados operacionais oferecem assistência direta às principais funções organizacionais, como
processamento de pedidos, manufatura, contas a pagar e distribuição de produtos. Os fatores
que justificam o investimento em um banco de dados operacional em geral são: maior ve-
locidade de processamento, maior volume de negócios e menores custos com pessoal.
À medida que as organizações conseguem aprimorar suas operações, elas começam a
perceber o potencial para tomada de decisão de seus bancos de dados. Os bancos de dados
operacionais oferecem a matéria-prima para a tomada de decisão gerencial, como descrito na
Figura 14.1. Os níveis inferiores de gerência podem obter relatórios sobre exceções e proble-
mas diretamente dos bancos de dados operacionais. Entretanto, maior valor deve ser adi-
cionado para alavancar os bancos de dados operacionais para a alta e média gerência. Os ban-
cos de dados operacionais devem ser limpos e organizados, integrados e resumidos para
proporcionar valor para a tomada de decisão tática e estratégica. A integração é necessária
porque os bancos de dados operacionais em geral são desenvolvidos isoladamente, sem levar
em consideração as necessidades de informação da tomada de decisão tática e estratégica.

FIGURA 14.1 Apoio do Banco de Dados para os Níveis de Gerência

Hierarquia gerencial Fontes de dados externos e dados resumidos,


bancos de dados táticos

Alta
(estratégia) Bancos de dados operacionais
resumidos e integrados

Média
(tática) Bancos de dados
operacionais individuais
Baixa
(operacional)

Bancos de dados operacionais


Capítulo 14 Administração de Dados e de Banco de Dados 483

A Tabela 14.1 fornece exemplos de gerenciamento de decisões e requisitos de dados. A


baixa gerência lida com problemas de curto prazo relacionados com transações individuais.
Os resumos periódicos dos bancos de dados operacionais e os relatórios de exceção ajudam o
gerenciamento operacional. A média gerência, que se vale dos dados resumidos que são inte-
grados nos bancos de dados operacionais, pode querer integrar os dados dos diferentes de-
partamentos, fábricas e lojas de varejo. A alta gerência, que se vale dos resultados da análise
da média gerência e das fontes externas de informação, necessita integrar os dados de modo
que os clientes, os produtos, os fornecedores e outras entidades importantes possam ser lo-
calizados em toda a organização. Além disso, os dados externos devem ser resumidos e inte-
grados com os dados internos.

14.1.2 Gerenciamento de Recursos de Informação para o


Gerenciamento do Conhecimento
Em resposta aos desafios de alavancar bancos de dados operacionais e tecnologia da infor-
ciclo de vida mação para a tomada de decisão gerencial, ganhou corpo a filosofia do gerenciamento de re-
da informação cursos de informação. O gerenciamento de recursos de informação abrange o processamento,
os estágios da transformação a distribuição e a integração de informações em toda a organização. Um dos elementos prin-
da informação em uma cipais do gerenciamento de recursos de informação é o controle dos ciclos de vida da infor-
organização. O ciclo de vida mação (Figura 14.2). Cada nível de tomada de decisão gerencial e de operações de negócio
da informação é exclusivo para tem seu próprio ciclo de vida da informação. Para que a tomada de decisão seja eficaz, os ci-
cada entidade e deve ser
gerenciado e integrado com
clos de vida devem ser integrados para fornecer informações oportuna e consistentemente.
os ciclos de vida em outras Por exemplo, os ciclos de vida da informação das operações oferecem informações aos ciclos
entidades. de vida da tomada de decisão gerencial.

TABELA 14.1
Nível Gerencial Exemplos de Decisão Requisitos de Dados
Exemplos de Tomada
de Decisão Gerencial Alto Identificar novos mercados e produtos; Previsões econômicas e tecnológicas;
planejar o crescimento; realocar resumo de notícias; relatórios industriais;
recursos nas divisões. relatórios de desempenho de médio prazo.
Médio Selecionar fornecedores; fazer a previsão Tendências históricas; desempenho do
de vendas, de estoque e de caixa; examinar fornecedor; análise do caminho crítico;
os níveis de pessoal; preparar orçamentos. planos de curto e médio prazo.

Baixo Montar escala de funcionários; corrigir Relatórios sobre problemas; relatórios de


atrasos nos pedidos; identificar gargalos na exceções; escala de funcionários; resultados
produção; monitorar o uso de recursos. da produção diária; níveis de estoque.

FIGURA 14.2
Estágios Típicos do Ciclo
de Vida da Informação
Uso

Aquisição
Disseminação

Armazenamento

Formatação
Proteção

Processamento
484 Parte Sete Gerenciamento de Ambientes de Banco de Dados

FIGURA 14.3
Três Pilares do
Gerenciamento do Tecnologia
Conhecimento

Processamento de Dinâmica da
informações humanas organização

A qualidade dos dados é um fator especial do gerenciamento de recursos de informação


em virtude de seu impacto sobre a tomada de decisão gerencial. Como discutido no Capítulo
2, a qualidade dos dados está relacionada a inúmeras dimensões, como correção, oportu-
nidade, consistência, completude e confiabilidade. Normalmente, o nível de qualidade dos
dados suficiente para as operações de negócio pode ser insuficiente para a tomada de decisão
nos níveis de gerência superiores. Esse conflito é especialmente verdadeiro para a dimensão
consistência. Por exemplo, a inconsistência na identificação de um cliente nos bancos de
dados operacionais pode prejudicar a tomada de decisão no nível de gerência superior. O
gerenciamento de recursos de informação enfatiza um ponto de vista sobre qualidade de
dados de longo prazo para a organização como um todo com vistas a apoiar a tomada de deci-
são gerencial.
Nos últimos anos, tem havido um movimento para estender o gerenciamento de recursos
gerenciamento de informação para o gerenciamento do conhecimento. Tradicionalmente, o gerenciamento
do conhecimento de recursos de informação tem enfatizado a tecnologia no sentido de apoiar receitas pre-
aplicar a tecnologia da definidas para a tomada de decisão, em vez de a capacidade para reagir a um ambiente de
informação com as capacidades negócios em constante mudança. Para ter êxito no atual ambiente de negócios, as organiza-
humanas de processamento de
ções devem enfatizar a reação e adaptação rápidas, em vez de planejamento. Para enfrentar
informações e os processos da
organização para suportar uma esse desafio, o Dr. Yogesh Malhotra, famoso consultor gerencial, defende que as organizações
rápida adaptação à mudança. devem desenvolver sistemas que facilitem a criação de conhecimento, em vez de o gerencia-
mento da informação. Para a criação de conhecimento, ele é defensor de uma maior ênfase
sobre o processamento de informações humanas e a dinâmica da organização para equilibrar
a ênfase sobre a tecnologia, como mostrado na Figura 14.3.
Essa visão do gerenciamento do conhecimento oferece um contexto para o uso da tecnolo-
gia da informação para solucionar problemas corporativos. Não basta ter a melhor tecnologia da
informação, é preciso alinhá-la com os elementos humanos e da organização. A tecnologia da in-
formação deve ampliar a capacidade intelectual do indivíduo, compensar as limitações do
processamento humano e apoiar a dinâmica organizacional positiva.

14.1.3 Responsabilidades dos Administradores de Dados e dos


Administradores de Banco de Dados
Novas responsabilidades gerenciais surgiram como parte do controle de recursos de infor-
mação. Administrador de dados (DA, data administrator) é uma posição da média ou alta
gerência que tem amplas responsabilidades pelo gerenciamento de recursos de informação. O
administrador de banco de dados (DBA, database administrador) desempenha uma função de
suporte cujas responsabilidades estão relacionadas aos bancos de dados individuais e aos
SGBDs. A Tabela 14.2 compara as responsabilidades de ambas as funções. O administrador
de dados vê os recursos de informação em um contexto mais amplo que o administrador de
banco de dados. O primeiro considera todos os tipos de dados, estejam eles armazenados
em bancos de dados relacionais, arquivos, páginas Web ou fontes externas. O segundo nor-
malmente considera apenas os dados armazenados nos bancos de dados.
Capítulo 14 Administração de Dados e de Banco de Dados 485

TABELA 14.2
Posição Responsabilidades
Responsabilidades dos
Administradores de Dados Administrador de dados Desenvolve um modelo de dados corporativo.
e dos Administradores de Estabelece padrões e políticas entre bancos de dados com
Bancos de Dados relação à nomeação, ao compartilhamento de dados e à
propriedade dos dados.
Negocia prazos contratuais com os fornecedores de tecnologia
da informação.
Desenvolve planos de longo prazo de tecnologia da informação.
Administrador de banco de dados Desenvolve conhecimento detalhado dos SGBDs individuais.
Procura informações sobre o desenvolvimento de aplicações.
Realiza a modelagem de dados e o projeto lógico de banco
de dados.
Faz cumprir os padrões de administração de dados.
Monitora o desempenho do banco de dados.
Realiza a avaliação técnica dos SGBDs.
Cria instruções de segurança, integridade e processamento
de regras.
Concebe padrões e políticas relacionadas aos bancos de dados
e SGBDs individuais.

modelo de dados O desenvolvimento de um modelo de dados corporativo é uma das responsabilidades


corporativo mais importantes do administrador de dados. Ele oferece um modelo integrado de todos os
um modelo conceitual de dados bancos de dados da organização. Por causa de seu escopo, ele é menos detalhado que os ban-
de uma organização. Um cos de dados individuais que ele engloba. Esse modelo concentra-se nos principais assuntos
modelo de dados corporativo
pode ser usado para o
dos bancos de dados operacionais, e não no detalhamento completo, e pode ser desenvolvido
planejamento de dados e o para o planejamento de dados (que banco de dados desenvolver) ou como suporte à tomada
suporte à tomada de decisão. de decisão (como integrar e resumir os bancos de dados existentes). A Seção 14.3 descreve
em detalhes o planejamento de dados, ao passo que o Capítulo 16 descreve em detalhes o
desenvolvimento de um modelo de dados corporativo como suporte à tomada de decisão. O ad-
ministrador de dados em geral participa significativamente de ambos esses empreendimentos.
As grandes organizações podem oferecer especialização em administração de dados e de
banco de dados. No primeiro caso, a especialização pode ocorrer por tarefa e ambiente. Em
relação à tarefa, os administradores de dados podem especializar-se em planejamento em
contraste com o estabelecimento de políticas. Em relação ao ambiente, eles podem espe-
cializar-se em ambientes como apoio a decisões e processamento de transações e em dados
não tradicionais como imagens, textos e vídeo. No caso do administrador de banco de dados, a
especialização pode ocorrer por SGBD, tarefa e ambiente. Por causa da complexidade da
aprendizagem de SGDBs, os administradores de banco de dados normalmente se especia-
lizam em um ou em poucos produtos. No que diz respeito à tarefa, a especialização em geral
se divide entre modelagem de dados e avaliação de desempenho. Com respeito ao ambiente,
a especialização em geral se divide entre processamento de transações e datawarehouses.
Nas pequenas organizações, a fronteira entre a administração de dados e a administração
de banco de dados é flexível. É provável que não haja posições distintas para administradores de
dados e de banco de dados. A mesma pessoa pode desempenhar ambas as funções. À medida
que as organizações evoluem, a especialização normalmente se desenvolve de modo que se
criem funções distintas.

14.2 Ferramentas de Administração de Banco de Dados


Para cumprir as responsabilidades mencionadas na seção anterior, os administradores de banco
de dados usam uma variedade de ferramentas. Você já obteve informações sobre ferramentas
para modelagem de dados, projeto lógico de banco de dados, projeto físico de banco de dados,
gatilhos e procedimentos armazenados. Algumas das ferramentas são instruções SQL (CREA-
TE VIEW e CREATE INDEX), ao passo que outras fazem parte das ferramentas CASE para o
desenvolvimento de banco de dados. Esta seção apresenta outras ferramentas para segurança,
integridade e acesso a dicionários de dados, e examina o gerenciamento de gatilhos e procedi-
mentos armazenados.
486 Parte Sete Gerenciamento de Ambientes de Banco de Dados

14.2.1 Segurança
A segurança está relacionada à proteção de um banco de dados contra acesso não autorizado
e ações mal-intencionadas de devastação. Por causa do valor dos dados nos bancos de dados
corporativos, há grande motivação por parte dos usuários não autorizados a ganhar acesso
não autorizado a esses bancos. Os concorrentes se sentem muito motivados a acessar infor-
mações confidenciais sobre planos de desenvolvimento de produtos, iniciativas de economia
de custos e perfil de clientes. O desejo dos criminosos à espreita é furtar informações ainda
não divulgadas sobre resultados financeiros e transações de negócio e dados confidenciais
sobre clientes, como número de cartão de crédito. Os transgressores sociais e terroristas
podem causar problemas e prejuízos significativos destruindo intencionalmente os registros
de um banco de dados. Dado o uso crescente da Internet para a condução de negócios, con-
correntes, criminosos e transgressores sociais têm cada vez mais oportunidade de compro-
meter a segurança dos bancos de dados.
segurança do banco Segurança é um tema amplo que envolve várias áreas. Existem os aspectos éticos e
de dados legais sobre quem pode acessar os dados e quando os dados podem ser divulgados. Existem
proteger bancos de dados contra redes, hardware, sistemas operacionais e controles físicos que aumentam os controles ofere-
acessos não autorizados e cidos pelos SGBDs. Existem ainda problemas operacionais relacionados com senhas, dis-
destruição mal-intencionada. positivos de autenticação e cumprimento da privacidade. Essas questões não são tratadas em
maior profundidade porque estão além do escopo dos especialistas em SGBDs e bancos de
dados. O restante desta subseção enfatiza as abordagens de controle de acesso e as instruções
regras de autorização
definem usuários autorizados,
SQL para regras de autorização.
operações permissíveis e partes Para o controle de acesso, os SGBDs ajudam a criação e a armazenagem de regras de au-
acessíveis do banco de dados. torização e o cumprimento dessas regras quando os usuários tentam acessar o banco de
O sistema de segurança do dados. A Figura 14.4 mostra a interação desses elementos. Os administradores de banco
banco de dados armazena regras de dados criam regras de autorização que definem quem pode acessar que parte de um banco de
de autorização e as aplica para dados e para qual operação. O cumprimento das regras de autorização requer a autenticação do
cada acesso ao banco de dados. usuário e assegura que as referidas regras não foram violadas pelas solicitações de acesso (re-
cuperação e modificação de informações do banco de dados). A autenticação ocorre quando um
usuário se conecta pela primeira vez ao SGBD. As regras de autorização devem ser verificadas
controle de acesso
discricionário
para cada solicitação de acesso.
os usuários recebem direitos ou A abordagem mais comum de regras de autorização é conhecida por controle de acesso
privilégios de acesso a partes discricionário. Nesse tipo de controle, os usuários recebem direitos ou privilégios de acesso a
específicas de um banco de partes específicas de um banco de dados. Para exercer um controle preciso, os privilégios em
dados. O controle de acesso geral são especificados para visões, e não para tabelas ou campos. Os usuários podem receber
discricionário é o tipo mais permissão para ler, atualizar, inserir e excluir partes específicas de um banco de dados. Para
comum de controle de
simplificar a manutenção das regras de autorização, é possível conceder privilégios a grupos ou
segurança suportado por
SGBDs comerciais. papéis, em vez de a usuários individuais. Pelo fato de os papéis serem mais estáveis que usuários

FIGURA 14.4
Sistema de Segurança
de um Banco de Dados

Regras de autorização

DBA
Autenticação, Sistema de segurança
requisições de acesso do banco de dados

Usuários

Dicionário de dados
Capítulo 14 Administração de Dados e de Banco de Dados 487

individuais, as regras de autorização que fazem referência a papéis exigem menor manutenção
que as regras que fazem referência a usuários individuais. Os usuários são designados a papéis e
recebem senhas. Durante o processo de login em um banco de dados, o sistema de segurança do
controle de acesso banco de dados autentica os usuários e menciona os papéis aos quais eles pertencem.
obrigatório Os controles de acesso obrigatório são menos flexíveis que os controles de acesso dis-
uma abordagem de segurança de cricionários. Nas abordagens de controle obrigatório, a cada objeto é atribuído um nível de
banco de dados para bancos classificação e a cada usuário é atribuído um nível de autorização. Um usuário pode acessar
de dados altamente sensíveis e um objeto se o seu nível de autorização oferecer acesso ao nível de classificação do objeto em
estáticos. Um usuário pode questão. Os níveis comuns de autorização e classificação são confidencial, secreto e ultra-se-
acessar um elemento do banco creto. As abordagens de controle de acesso obrigatório foram originalmente aplicadas em
de dados se o nível de
autorização do usuário permite o
bancos de dados altamente sensíveis e estáticos para defesa nacional e coleta de informações
acesso ao nível de classificação secretas. Em virtude da limitada flexibilidade dos controles de acesso obrigatórios, apenas
do elemento. alguns SGBDs os aceitam. Entretanto, os SGBDs que são usados na defesa nacional e coleta
de informações secretas devem aceitar controles obrigatórios.
Além dos controles de acesso, os SGBDs aceitam encriptação de dados. A encriptação
envolve a codificação de dados para obscurecer seu significado. Um algoritmo de encriptação
modifica os dados originais (conhecidos por texto puro ou plaintext). Para decifrar os dados,
o usuário fornece uma chave de encriptação para restaurar os dados encriptados (conhecidos
por texto cifrado ou ciphertext) para o seu formato original (texto puro). Dois entre os algo-
ritmos de encriptação mais comuns são o padrão de encriptação de dados e encriptação de
chave pública. Pelo fato de o padrão de encriptação de dados poder ser quebrado por um
poder computacional gigantesco, o algoritmo de encriptação de chave pública tornou-se a
abordagem preferida.

Instruções de Segurança do SQL:2003


O SQL:2003 oferece suporte a regras de autorização discricionária usando as instruções
CREATE/DROP ROLE e as instruções GRANT/REVOKE. Quando se cria o papel, o SGBD
concede o papel tanto ao usuário atual quanto ao papel atual. No Exemplo 14.1, os papéis Pro-
fessorSI e ConsultorSI são concedidos ao usuário atual, enquanto o papel AdministradorSI é
concedido ao papel do usuário atual. A cláusula WITH ADMIN significa que um usuário ao
qual foi atribuído o papel pode atribuir o papel a outros usuários. A opção WITH ADMIN
deve ser usada moderadamente porque oferece ampla liberdade de ação ao papel. Um papel pode
ser suspenso com a instrução DROP ROLE.

EXEMPLO 14.1 Exemplos da Instrução CREATE ROLE


(SQL:2003) CREATE ROLE ProfessorSI;
CREATE ROLE AdministradorSI WITH ADMIN CURRENT_ROLE;
CREATE ROLE ConsultorSI;

Na instrução GRANT, você especifica os privilégios (consulte a Tabela 14.3), o objeto


(tabela, coluna ou visão) e a lista de usuários autorizados (ou papéis). No Exemplo 14.2, o
acesso SELECT é atribuído a três papéis (ProfessorSI, ConsultorSI, AdministradorSI), ao
passo que o acesso UPDATE é dado apenas a AdministradorSI. Aos usuários individuais
devem ser atribuídos papéis para que possam acessar a visão MediaGeralAlunoSI.

TABELA 14.3
Privilégio Explicação
Explicação sobre os
Privilégios Comuns do SELECT Consulta o objeto; pode ser especificado para colunas individuais
SQL:2003 UPDATE Modifica o valor; pode ser especificado para colunas individuais
INSERT Adiciona uma nova linha; pode ser especificado para colunas individuais
DELETE Exclui uma linha; não pode ser especificado para colunas individuais
TRIGGER Cria um gatilho em uma tabela estipulada
REFERENCES Menciona as colunas de uma determinada tabela nas restrições de integridade
EXECUTE Executa o procedimento armazenado
488 Parte Sete Gerenciamento de Ambientes de Banco de Dados

EXEMPLO 14.2 Definição de Visão e Instruções GRANT e REVOKE


(SQL:2003) CREATE VIEW MediaGeralAlunoSI AS
SELECT CPFAluno, NomeAluno, SobrenomeAluno, MediaAluno
FROM Aluno
WHERE Especializacao = ‘SI’:
-- Concede privilégios aos papéis
GRANT SELECT ON MediaGeralAlunoSI
TO ProfessorSI, ConsultorSI, AdministradorSI
GRANT UPDATE ON MediaGeralAlunoSI.MediaAluno TO AdministradorSI;
-- Designa usuários aos papéis
GRANT ProfessorSI TO Mannino;
GRANT ConsultorSI TO Olson;
GRANT AdministradorSI TO Smith WITH GRANT OPTION;

REVOKE SELECT ON MediaGeralAlunoSI FROM ProfessorSI RESTRICT;

A instrução GRANT pode também ser usada para designar usuários aos papéis, como
mostrado nas três últimas instruções GRANT no Exemplo 14.2. Além de conceder os privi-
légios da Tabela 14.3, um usuário pode ser autorizado a passar privilégios a outros usuários
por meio da palavra-chave WITH GRANT OPTION. Na última instrução GRANT do Exem-
plo 14.2, o usuário Smith pode conferir o papel AdministradorSI a outros usuários. A opção
WITH GRANT deve ser usada com moderação porque oferece ampla liberdade de ação ao
usuário.
Para remover um privilégio de acesso, é usada a instrução REVOKE. Na última ins-
trução do Exemplo 14.2, o privilégio SELECT é removido de ProfessorSI. A cláusula RES-
TRICT significa que o privilégio é revogado apenas se ele não tiver sido concedido por mais
de um usuário ao papel especificado.

Segurança no Oracle e no Access


O Oracle 10g estende as instruções de segurança do SQL:2003 com a instrução CREATE
USER, papéis predefinidos e privilégios adicionais. No SQL:2003, a criação de usuário é
tratada como implementação. Visto que o Oracle não depende do sistema operacional para a
criação de usuário, ele oferece a instrução CREATE USER. O Oracle fornece papéis pre-
definidos para usuários altamente privilegiados, incluindo o papel CONNECT, para a criação
de tabelas em um esquema, o papel RESOURCE, para a criação de tabelas e objetos de apli-
cação – por exemplo, procedimentos armazenados –, e o papel DBA, para o gerenciamento
do banco de dados. Em relação aos privilégios, o Oracle faz distinção entre privilégios de sis-
tema (independentes do objeto) e privilégios de objeto. A concessão de privilégios de sistema
normalmente está reservada aos papéis altamente seguros em virtude das amplas conseqüên-
cias que os privilégios de sistema podem causar, como mostrado na Tabela 14.4. Os privilé-
gios de objeto do Oracle são semelhantes aos do SQL:2003, exceto que o Oracle fornece mais
objetos que o SQL:2003, como mostrado na Tabela 14.5.
Os SGBDs, em sua maioria, permitem restrições de autorização por objetos de apli-
cação, como formulários e relatórios, além dos objetos de banco de dados permissíveis na
instrução GRANT. Essas outras restrições de segurança geralmente são especificadas em in-
terfaces proprietárias ou em ferramentas de desenvolvimento de aplicações, em vez de no
SQL. Por exemplo, o Microsoft Access 2003 permite que se definam regras de autorização
por meio da janela Permissões para Usuário e Grupo, como exibido na Figura 14.5. As per-
missões para os objetos de banco de dados (tabelas e consultas armazenadas), bem como para
os objetos de aplicação (formulários e relatórios), podem ser especificadas por meio dessa
janela. Além disso, o SQL aceita as instruções GRANT/REVOKE semelhantes às instruções
do SQL:2003, assim como as instruções CREATE/DROP para usuários e grupos.
Capítulo 14 Administração de Dados e de Banco de Dados 489

TABELA 14.4
Privilégio de Sistema Explanação
Explicação sobre os
Privilégios de Sistema CREATE X, CREATE ANY X Cria objetos do tipo X no esquema de alguém; CREATE ANY
Comuns do Oracle permite que se criem objetos em outros esquemas1
ALTER X, ALTER ANY X Altera objetos do tipo X no esquema de alguém; ALTER ANY X
permite que se alterem objetos em outros esquemas.
INSERT ANY, DELETE ANY, Insere, exclui, atualiza e seleciona em uma tabela de qualquer
UPDATE ANY, SELECT ANY esquema
DROP X, DROP ANY X Exclui objetos do tipo X no esquema de alguém. DROP ANY
permite que se excluam objetos em outros esquemas
ALTER SYSTEM, ALTER Emite comandos ALTER SYSTEM, comandos ALTER DATABASE
DATABASE, ALTER SESSION e comandos ALTER SESSION
ANALYZE ANY Analisa qualquer tabela, índice ou grupo

TABELA 14.5
Procedimento, Função,
Mapeamento entre Privilégio/ Pacote, Biblioteca, Visão
Privilégios e Objetos Objeto Tabela Visão Seqüência2 Operador, Tipo de Índice Materializada3
Comuns do Oracle
ALTER X X
DELETE X X X
EXECUTE X
INDEX X
INSERT X X X
REFERENCES X X
SELECT X X X X
UPDATE X X X

FIGURA 14.5
Janela Permissões para
Usuário e Grupo no
Microsoft Access 2003

1
Esquema é um conjunto de tabelas relacionadas e outros objetos Oracle que são tratados como uma
unidade.
2
Seqüência é um conjunto de valores mantido pelo Oracle. As seqüências normalmente são usadas para
chaves primárias geradas pelo sistema.
3
A visão materializada é armazenada, em vez de derivada. As visões materializadas são úteis em
datawarehouses, como descrito no Capítulo 16.
Encerra aqui o trecho do livro disponibilizado para
esta Unidade de Aprendizagem. Na Biblioteca Virtual
da Instituição, você encontra a obra na íntegra.

Você também pode gostar