Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.
left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Prévia do material em texto

Esta obra é resultado da experiência do autor, adquirida em aulas ministradas em cursos de graduação e pós-
graduação. O texto apresenta a base para entender a tecnologia de banco de dados que oferece suporte aos 
problemas de computação corporativa.
O autor parte do princípio de que o iniciante no estudo de gerenciamento de banco de dados precisa entender os 
conceitos fundamentais sobre o assunto, assim como o modelo de dados relacionais. Com inúmeros exemplos e bancos 
de dados de amostra, o texto permite ao aluno adquirir capacidade para resolver, de forma sistemática, problemas 
básicos e avançados em formulação de consultas, modelagem de dados, normalização, gerenciamento de dados de 
aplicação e customização de aplicações de banco de dados.
T Ó P I C O S I M P O R TA N T E S
• Abordagem abrangente do Oracle 10g e SQL 2003, as aplicações mais recentes de banco de dados.
• Informações novas sobre modelagem de dados e requisitos de sistema.
• Material atualizado sobre normalização.
• Enfoque especial em otimização de banco de dados físico.
• Tendências mais atuais em data warehousing e data mining.
• Abordagem profunda de computação distribuída.
• Questões e problemas no final dos capítulos, além de resumo da sintaxe do SQL:2003.
• Utilização do ER Assistant, uma ferramenta fácil de usar que oferece uma interface simples para criar e con-
verter os diagramas entidade-relacionamento apresentados no livro.
Projeto, Desenvolvimento de Aplicações e Administração de Banco de Dados apresenta as tecnologias 
fundamentais de banco de dados para cada ambiente de processamento e discute o relacionamento de cada 
tecnologia com os avanços do comércio eletrônico e da computação corporativa. Essas características fazem deste 
livro-texto uma ferramenta essencial para aquele que pretende tornar-se especialista em projeto e desenvolvimento 
de aplicações de banco de dados.
Aplicações: Livro-texto para os cursos da área de Computação, como Engenharia de Computação, Ciência da Computação e 
Sistemas de Informação, nas disciplinas específicas de Banco de Dados e outras relacionadas a Desenvolvimento de Sistemas. 
Interessa também aos tecnólogos e aos profissionais que atuam na área de Desenvolvimento de Software utilizando as mais 
recentes e avançadas tecnologias de bancos de dados. Ideal para estudantes e profissionais que precisam desenvolver e man-
ter aplicações baseadas em banco de dados.
CRIE UMA BASE SÓLIDA PARA 
GERENCIAMENTO DE BANCO DE DADOS
PROJETO, DESENVOLVIMENTO DE APLICAÇÕES
& ADMINISTRAÇÃO DE BANCO DE DADOS 
PRO
JETO
, D
ESEN
VO
LVIM
EN
TO
 D
E A
PLIC
A
Ç
Õ
ES
&
 A
D
M
IN
ISTRA
Ç
Ã
O
 D
E BA
N
C
O
 D
E D
A
D
O
S 
M
annino
T E R C E I R A E D I Ç Ã O
TRADUÇÃO DA
TERCEIRA
EDIÇÃO
Michael V. ManninoVisite nosso site:
www.mcgraw-hill.com.br9 2 6 0 2 0 1
ISBN 978-85-7726-020-1
7 8 8 5 7 7
TRADUÇÃO DA
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
481
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 
14manCap14.qxd 24.10.07 11:51 Page 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.
banco de dados 
operacional
um banco de dados para 
dar suporte às funções diárias 
de uma organização.
Hierarquia gerencial
Alta
(estratégia)
Fontes de dados externos e dados resumidos,
bancos de dados táticos
Bancos de dados operacionais
resumidos e integrados
Bancos de dados
operacionais individuais
Bancos de dados operacionais
Média
(tática)
Baixa
(operacional)
FIGURA 14.1 Apoio do Banco de Dados para os Níveis de Gerência
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
de Decisão Gerencial
Os bancos de dados fornecem suporte às operações de negócio e à tomada de decisão geren-
cial em vários níveis. As grandes organizações, em sua maioria, desenvolveram vários ban-
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.
14manCap14.qxd 24.10.07 11:51 Page 482
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-
mação para a tomada de decisão gerencial, ganhou corpo a filosofia do gerenciamento de re-
cursos de informação. O gerenciamento de recursos de informação abrange o processamento,
a distribuição e a integração de informações em toda a organização. Um dos elementos prin-
cipais do gerenciamento de recursos de informação é o controle dos ciclos de vida da infor-
mação (Figura 14.2). Cada nível de tomada de decisão gerencial e de operações de negócio
tem seu próprio ciclo de vida da informação. Para que a tomada de decisão seja eficaz, os ci-
clos de vida devem ser integrados para fornecer informações oportuna e consistentemente.
Por exemplo, os ciclos de vida da informação das operações oferecem informações aos ciclos
de vida da tomada de decisão gerencial.
ciclo de vida 
da informação
os estágios da transformação 
da informação em uma
organização. O ciclo de vida 
da informação é exclusivo para
cada entidade e deve ser
gerenciado e integrado com 
os ciclos de vida em outras
entidades.
Armazenamento
Aquisição
Uso
Disseminação
Formatação
Processamento
Proteção
FIGURA 14.2
Estágios Típicos do Ciclo 
de Vida da Informação
TABELA 14.1
Exemplos de Tomada 
de Decisão Gerencial
Nível Gerencial Exemplos de Decisão Requisitos de Dados
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.
14manCap14.qxd 24.10.07 11:51 Page 483
484 Parte Sete Gerenciamento de Ambientes de Banco de Dados
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
de informação para o gerenciamento do conhecimento. Tradicionalmente, o gerenciamento
de recursos de informação tem enfatizado a tecnologia no sentido de apoiar receitas pre-
definidas para a tomada de decisão, em vez de a capacidade para reagir a um ambiente de
negócios em constante mudança. Para ter êxito no atual ambiente de negócios, as organiza-
ções devem enfatizar a reação e adaptação rápidas, em vez de planejamento. Para enfrentar
esse desafio, o Dr. Yogesh Malhotra, famoso consultor gerencial, defende que as organizações
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.
gerenciamento 
do conhecimento
aplicar a tecnologia da
informação com as capacidades
humanas de processamento de
informações e os processos da
organização para suportar uma
rápida adaptação à mudança.
Tecnologia
Dinâmica da
organização
Processamento de
informações humanas
FIGURA 14.3
Três Pilares do
Gerenciamento do
Conhecimento
14manCap14.qxd 24.10.07 11:51 Page 484
Capítulo 14 Administração de Dados e de Banco de Dados 485
O desenvolvimento de ummodelo de dados corporativo é uma das responsabilidades
mais importantes do administrador de dados. Ele oferece um modelo integrado de todos os
bancos de dados da organização. Por causa de seu escopo, ele é menos detalhado que os ban-
cos de dados individuais que ele engloba. Esse modelo concentra-se nos principais assuntos
dos bancos de dados operacionais, e não no detalhamento completo, e pode ser desenvolvido
para o planejamento de dados (que banco de dados desenvolver) ou como suporte à tomada
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.
TABELA 14.2
Responsabilidades dos
Administradores de Dados 
e dos Administradores de
Bancos de Dados
Posição Responsabilidades
Administrador de dados Desenvolve um modelo de dados corporativo.
Estabelece padrões e políticas entre bancos de dados com
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 
corporativo
um modelo conceitual de dados
de uma organização. Um
modelo de dados corporativo
pode ser usado para o
planejamento de dados e o
suporte à tomada de decisão.
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.
14manCap14.qxd 24.10.07 11:51 Page 485
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 é um tema amplo que envolve várias áreas. Existem os aspectos éticos e
legais sobre quem pode acessar os dados e quando os dados podem ser divulgados. Existem
redes, hardware, sistemas operacionais e controles físicos que aumentam os controles ofere-
cidos pelos SGBDs. Existem ainda problemas operacionais relacionados com senhas, dis-
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
SQL para regras de autorização.
Para o controle de acesso, os SGBDs ajudam a criação e a armazenagem de regras de au-
torização e o cumprimento dessas regras quando os usuários tentam acessar o banco de
dados. A Figura 14.4 mostra a interação desses elementos. Os administradores de banco 
de dados criam regras de autorização que definem quem pode acessar que parte de um banco de
dados e para qual operação. O cumprimento das regras de autorização requer a autenticação do
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
para cada solicitação de acesso.
A abordagem mais comum de regras de autorização é conhecida por controle de acesso
discricionário. Nesse tipo de controle, os usuários recebem direitos ou privilégios de acesso a
partes específicas de um banco de dados. Para exercer um controle preciso, os privilégios em
geral são especificados para visões, e não para tabelas ou campos. Os usuários podem receber
permissão para ler, atualizar, inserir e excluir partes específicas de um banco de dados. Para
simplificar a manutenção das regras de autorização, é possível conceder privilégios a grupos ou
papéis, em vez de a usuários individuais. Pelo fato de os papéis serem mais estáveis que usuários
segurança do banco 
de dados
proteger bancos de dados contra
acessos não autorizados e
destruição mal-intencionada.
regras de autorização
definem usuários autorizados,
operações permissíveis e partes
acessíveis do banco de dados. 
O sistema de segurança do
banco de dados armazena regras
de autorização e as aplica para
cada acesso ao banco de dados.
controle de acesso 
discricionário
os usuários recebem direitos ou
privilégios de acesso a partes
específicas de um banco de
dados. O controle de acesso
discricionário é o tipo mais
comum de controle de 
segurança suportado por 
SGBDs comerciais.
DBA
Usuários
Dicionário de dados
 Sistema de segurança
do banco de dados
Regras de autorização
Autenticação,
requisições de acesso
FIGURA 14.4
Sistemade Segurança 
de um Banco de Dados
14manCap14.qxd 24.10.07 11:51 Page 486
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
banco de dados autentica os usuários e menciona os papéis aos quais eles pertencem.
Os controles de acesso obrigatório são menos flexíveis que os controles de acesso dis-
cricionários. Nas abordagens de controle obrigatório, a cada objeto é atribuído um nível de
classificação e a cada usuário é atribuído um nível de autorização. Um usuário pode acessar
um objeto se o seu nível de autorização oferecer acesso ao nível de classificação do objeto em
questão. Os níveis comuns de autorização e classificação são confidencial, secreto e ultra-se-
creto. As abordagens de controle de acesso obrigatório foram originalmente aplicadas em
bancos de dados altamente sensíveis e estáticos para defesa nacional e coleta de informações
secretas. Em virtude da limitada flexibilidade dos controles de acesso obrigatórios, apenas 
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.
controle de acesso 
obrigatório
uma abordagem de segurança de
banco de dados para bancos 
de dados altamente sensíveis e
estáticos. Um usuário pode
acessar um elemento do banco
de dados se o nível de
autorização do usuário permite o
acesso ao nível de classificação
do elemento.
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
Explicação sobre os
Privilégios Comuns do
SQL:2003
Privilégio Explicação
SELECT Consulta o objeto; pode ser especificado para colunas individuais
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
14manCap14.qxd 24.10.07 11:51 Page 487
488 Parte Sete Gerenciamento de Ambientes de Banco de Dados
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.
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;
14manCap14.qxd 24.10.07 11:51 Page 488
Capítulo 14 Administração de Dados e de Banco de Dados 489
TABELA 14.4
Explicação sobre os
Privilégios de Sistema
Comuns do Oracle
Privilégio de Sistema Explanação
CREATE X, CREATE ANY X Cria objetosdo tipo X no esquema de alguém; CREATE ANY
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
Mapeamento entre
Privilégios e Objetos
Comuns do Oracle
Procedimento, Função,
Privilégio/ Pacote, Biblioteca, Visão
Objeto Tabela Visão Seqüência2 Operador, Tipo de Índice Materializada3
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
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.
FIGURA 14.5
Janela Permissões para
Usuário e Grupo no
Microsoft Access 2003
14manCap14.qxd 24.10.07 11:51 Page 489
Encerra aqui o trecho do livro disponibilizado para 
esta Unidade de Aprendizagem. Na Biblioteca Virtual 
da Instituição, você encontra a obra na íntegra.
 
	Acesse na íntegra
	Parte 7 - Gerenciamento de Ambientes de Banco de Dados
	Capítulo 14 - Administração de Dados e de Banco de Dados

Mais conteúdos dessa disciplina