Você está na página 1de 18

Banco de Dados - Administrao de Banco Dados

Administrar um banco , de maneira simplista, instalar, configurar, monitorar e solucionar problemas de um SGBD (Sistema Gerenciador de Banco de Dados). Esmiuando este conceito, um Administrador de Banco de Dados tem as seguintes responsabilidades: Projeto lgico do banco de dados: criao do esquema lgico usando a DDL; Definio de checagem de segurana e integridade; Deciso de como os dados so representados na base de dados armazenada; Projeto fsico da base de dados; Definio de procedimentos de recuperao; Monitorao do desempenho; Contato com usurios para averiguao de disponibilidade dos dados por eles requisitados e ajuda na determinao e resoluo de problemas; Ajustes apropriados medida que ocorram mudanas de requisitos

Organizao de Arquivos

TIPOS DE ACESSO

TIPOS DE ORGANIZAO DE ARQUIVOS

Serial (Heap): Tipo de organizao em que os registros esto armazenados lado a lado. O nico modo de acesso possvel o seqencial, ou seja, para acessarmos o registro N, temos que fazer N - 1 acessos. O nmero mdio de comparaes na ordem de (N + 1)/2. A nica tcnica utilizada para atualizar um arquivo seqencial a tcnica de balanced-line.

Sequencial (Heap Ordenado): Nos arquivos sequenciais os registros esto dispostos ordenadamente, classificados pela chave primria ou chave de ordenao, isto , a sequncia fsica e lgica dos registros coincide conforme o critrio estabelecido para classificao. Portanto, h um custo adicional das operaes que modificam o arquivo para mant-lo ordenado. A vantagem a facilidade de recuperar registros cujos argumentos de pesquisa coincidam com a chave de ordenao. Este tipo empregado quando o principal modo de processamento o sequencial e quando as modificaes podem ser adiadas at o momento em que se faz o processamento sequencial dos registros. Quando a rea reservada para armazenamento do arquivo exatamente a que se precisa para guardar todos os seus registros, a ocupao do espao tima, ou seja, no h desperdcio. Quando necessrio alocar uma rea maior, existe uma perda que corresponde diferena de posies ocupadas

na rea, causada pelos mecanismos de incluso de registros, com a blocagem de registros, e de alocao de rea para arquivo. Indexados: Tipo de organizao em que os registros so identificados por um ndice, chamado de chave do acesso ou chave do registro ou chave principal, que representa o valor com que as demais informaes so identificadas no arquivo. Esta chave de acesso dever ser nica para cada registro, ou seja, no possvel ter dois registros com o mesmo valor de chave. ESTRUTURA INTERNA O arquivo de organizao indexada possui duas reas: rea de ndices: Contm a chave de acesso e o endereo de cada registro na rea de dados. Todo acesso aos registros ser feito atravs desta rea, que mantida sempre ordenada, pela chave de acesso, pelo Sistema Operacional. rea de Dados: Armazena os demais campos de todos os registros do arquivo, independente de qualquer ordenao ou seqncia. MODO DE ACESSO NA ORGANIZAO INDEXADA Seqencial: feito atravs da leitura seqencial da rea de ndices do arquivo. Para cada ocorrncia desta rea (equivalente a um ndice), ser obtido o endereo fsico do registro deste ndice na rea de dados e com este endereo lido o registro. Na recuperao seqencial de um arquivo, os dados sero lidos sempre ordenados pela chave. Aleatrio ou Randmico: Caracteriza-se por no existir uma seqncia lgica na recuperao dos registros, ou seja, aps a leitura do ltimo registro, pode ser lido o quinto ou primeiro, ou qualquer outro, uma vez que, esta seqncia determinada pelo programa de aplicao. No processo de leitura, o Sistema Operacional localiza o valor da chave desejada na rea de ndices, identificando o endereo do registro correspondente na rea de dados, possibilitando o acesso, por este endereo, para a recuperao do registro. PRINCIPAIS OPERAES PARA ATUALIZAO DOS DADOS Incluso: O Sistema Operacional localiza na rea de ndice o local onde ser armazenado a chave a ser includa, reorganizando se necessrio as demais chaves mantendo-as sempre ordenadas. Aps este processo, ele procura na rea de dados, um endereo disponvel para armazenamento do registro. Identificado o endereo, o registro ser includo e o valor do seu endereo, atualizado na rea de ndices. Alterao: O Sistema Operacional localiza na rea de ndices, o valor da chave de acesso que se deseja atualizar, identificando o endereo do registro na rea de dados. Aps esta operao, ele atualiza os dados do registro no endereo correspondente. Excluso: O Sistema Operacional remove fisicamente da rea de ndices a chave de acesso do registro que ser deletado e realiza uma excluso lgica do registro na rea de dados. Seqencial Indexado: o tipo de organizao em que, semelhante organizao indexada, os registros so identificados por um indice, chamado de chave do acesso ou chave do registro ou chave principal, que representa o valor com que as demais informaes do registro ser identificado no arquivo. Esta chave de acesso dever ser nica para cada registro, ou seja, no possvel ter dois registros com o mesmo valor de chave. ESTRUTURA INTERNA: O arquivo de organizao seqencial-indexada possui duas reas: rea de ndices: Contm o valor da maior chave de acesso existente em cada bloco de registros da rea de dados e o endereo deste bloco nesta rea. rea de Dados: Contm, agrupados em blocos, os registros que compem o arquivo, sendo mantidos ordenados dentro de cada um desses blocos. MODOS DE ACESSO NA ORGANIZAO SEQENCIAL INDEXADA Seqencial: feito atravs da leitura seqencial dos dados na rea de dados.

Aleatrio ou Randmico: feito a localizao, atravs do valor da chave de acesso na rea de ndices, do bloco onde dever estar armazenado o registro desejado, identificando o seu endereo na rea de dados. Aps a localizao do bloco nesta rea, feita uma procura seqencial nos registros nele existentes at a localizao do registro desejado.

PRINCIPAIS OPERAES PARA ATUALIZAO DOS DADOS Incluso: O Sistema Operacional localiza na rea de ndice o bloco onde ser armazenado a chave a ser includa. Aps esta operao ele localiza na rea de dados o bloco desejado e inclui o registro na posio correta, isto , ordenado. Alterao: O Sistema Operacional localiza na rea de ndices o endereo do bloco onde poder estar armazenado a chave desejada. Localizando-o, na rea de dados, feita a procura seqencial do registro a ser atualizado. Excluso: O Sistema Operacional remove fisicamente da rea de dados o registro desejado, aps a localizao do bloco na rea de ndices. Relativa ou Direta: o tipo de organizao que contm, apenas, uma rea de dados para armazenamento dos registros. Estes registros so identificados por uma chave principal, cujo endereo fsico para armazenamento dado atravs do valor desta chave ou de um valor calculado a partir dela. Um arquivo de organizao relativa tem que possuir chave de contedo numrico, para possibilitar o clculo do endereo e localizao do registro na rea de dados. Para encontrar o endereo de um registro o Sistema Operacional utiliza uma funo que, atravs de um algoritmo qualquer, transforma o valor da chave em um endereo fsico, onde est armazenado o registro solicitado. Eventualmente, esta funo gera para dois ou mais valores de chave diferentes o mesmo endereo fsico. Neste caso, o primeiro registro includo ficar na rea de dados e os demais em uma rea auxiliar, chamada rea de coliso, interligados atravs de uma lista simples. A rea de coliso uma rea de dados auxiliar, onde fica armazenado todos os registros cujo clculo do endereo igual a de outros j armazenados. MODOS DE ACESSO NA ORGANIZAO RELATIVA Seqencial: feito atravs da leitura seqencial dos dados na rea de dados, obedecendo a seqncia das chaves. Aleatrio: feito a localizao do registro atravs do endereo fsico calculado atravs de uma funo a partir do valor da chave de acesso. Caso haja mais de um registro para o mesmo endereo, o Sistema Operacional far pesquisa seqencial dos registro na rea de coliso do arquivo. PRINCIPAIS OPERAES PARA ATUALIZAO DOS DADOS Incluso: O Sistema Operacional calcula o endereo do registro, atravs do valor de sua chave, incluindo-o no local especificado, caso j exista registros neste endereo ele far a incluso na rea de coliso. Alterao: O Sistema Operacional calcula o endereo do registro, atravs do valor de sua chave, atualizando-o no local especificado ou na rea de coliso, dependendo de onde ele esteja armazenado. Excluso: O Sistema Operacional calcula o endereo do registro, atravs do valor de sua chave, removendo-o logicamente da rea de dados ou da rea de coliso, dependendo de onde ele esteja armazenado. Invertido: o tipo de organizao que permite o acesso direto aos registros de dados atravs de chaves secundria (chave que no primria), de um arquivo de dados. Esta arquivo formado pelo contedo das chaves secundria e da relao das chaves primrias dos registros que a contm. Exemplo: Arquivo Principal: Funcionrio Chave primria ou principal: Cod. funcionrio

COD. FUNCIONRIO 10 15 20 23 28 32 35

NOME A D E C F B G

SALRIO 110.000 150.000 180.000 110.000 180.000 150.000 180.000

Arquivo invertido por salrio: SALRIO CHAVES PRIMRIA 110.000 10, 23 150.000 15, 32 180.000 20, 28, 35 Este tipo de organizao auxilia a recuperao de registros atravs de uma consulta, sendo bastante utilizado pelos Sistemas de Gerenciamento de Banco de Dados (SGBD) existentes. Ele est sempre associado a um arquivo principal, onde est armazenado o registro completo. O processo de atualizao de um arquivo invertido ocorre simultaneamente do arquivo principal, devendo o mesmo ser feito pela prpria aplicao ou pelo SGBD.

Tcnicas de Armazenamento
ndices Indicadores Listas Hashing AVL B-Tree RAID Storage Area Networks Primary (memria) Secondary Hard Disks Tertiary Mecanismo robtico que ir montar/inserir e desmontar/remover mdia de massa em um dispostivo Off-Line A mdia gravada normalmente em um sedundrio ou tercirio, e ento removida fisicamente. Ao contrrio do tercirio, no pode ser acessado sem interao humana. - Fcil transporte - Em caso de desastre estando longe no ser afetada - Incrementa segurana uma vez que fisicamente inacessvel por um computador. - Menos caro

Mtodos de Acesso
SAM - Sequencial Access Method

Indexed Access Method

Direct Access Method ou Hashing

Espaciais K-d-Tree, Quad-tree, R-tree Na seleo dos mtodos de acesso a registros fsicos, deve-se considerar a forma como os dados sero utilizados pelas diversas aplicaes.

Tcnica de Organizao de Campos

Mtodos de Acesso (???)


DDL: especificao do esquema do BD (dados e seus tipos de dados, ndices, ) DML: manipulao de dados (I, A, E, C) Processamento eficaz de consultas: considerar relacionamentos, predicados de seleo, volume de dados, ndices, ...

Tipos de Banco de Dados


Hierrquico

Rede

Relacional

Orientado a Objetos

Ex: Jasmine, O2, Versant, ObjectStore, Objectivity/DB... Geogrfico/SIG/Espacial

Dedutivo

Temporal

Distribudo uma coleo de vrias Base de Dados logicamente inter-relacionadas, distribudas por uma rede de computadores. Existem dois tipos de banco de dados distribudos, os homogneos e os heterogneos. Os homogneos so compostos pelos mesmos bancos de dados, j os Heterogneos so aqueles que so compostos por mais de um tipo de banco de dados. Num banco de dados distribudos os arquivos podem estar replicados ou fragmentados, esses dois tipos podem ser encontrados ao longo dos ns do sistema de BDD's. Quando os dados se encontram replicados, existe uma cpia de cada um dos dados em cada n, tornando as bases iguais (ex: tabela de produtos de uma grande loja). J na fragmentao, os dados se encontram divididos ao longo do sistema, ou seja a cada n existe uma base de dados diferente se olharmos de uma forma local, mas se analisarmos de uma forma global os dados so vistos de uma forma nica, pois cada n possui um catlogo que contm cada informao dos dados dos bancos adjacentes. A replicao dos dados pode se dar de maneira sncrona ou assncrona. No caso de replicao sncrona, cada transao dada como concluda quando todos os ns confirmam que a transao local foi bem sucedida. Na replicao assncrona, o n principal executa a transao enviando confirmao ao solicitante e ento encaminha a transao aos demais ns.

Projeto de Banco de Dados


O projeto de banco de dados apresenta-se com uma atividade essencial na fase de desenvolvimento de sistemas, pois todos os dados de uma cooperao estaro de alguma forma organizados e mantidos em bancos de dados. O projeto de banco de dados decomposto em Projeto Conceitual, Projeto Lgico e Projeto Fsico. Projeto Conceitual: inicia a partir das especificaes e abstraes do mundo real e resulta no esquema conceitual de banco de dados. Dessa forma, dada uma coleo de requisitos de dados, o projetista de banco de dados tem o papel de criar um esquema conceitual que satisfaa os requisitos. Um esquema conceitual uma descrio em alto nvel (geralmente grfica) da estrutura do banco de dados e, independente do SGBD adotado para implementao. Um diagrama que represente os requisitos de dados do problema em questo elaborado nessa fase. Esse diagrama possui o nome de Diagrama de Entidade e Relacionamento (DER) e, vrios so os conceitos utilizados na sua elaborao: entidade, relacionamento, agregao, entidade fraca, atributos, entre outros. Projeto Lgico: consiste no mapeamento do esquema conceitual para o modelo de dados do SGBD adotado, resultando em um esquema lgico.Um esquema lgico uma descrio da estrutura do banco de dados que pode ser processada por um SGBD. Os modelos lgicos mais utilizados pertencem a trs classes: relacional, redes e hierrquico, sendo amplamente utilizado o modelo relacional. O projeto lgico depende do modelo de dados escolhido, mas no do SGBD a ser utilizado. Muitas vezes a escolha do SGBD feita muito antes do projeto ter iniciado, na fase de definio do projeto. Quando o modelo de dados escolhido o modelo relacional, na passagem do esquema conceitual para o esquema lgico, um novo diagrama elaborado, denominado Diagrama de Estrutura de Dados (DED). Esse diagrama representa os dados modelados segundo o modelo relacional e sua implementao pode ser realizada atravs de uma ferramenta CASE. Uma das vantagens em se trabalhar com projeto conceitual est na possibilidade de se adiar a escolha do SGBD (mesmo a sua classe). Para auxiliar o projetista na tarefa de modelar os dados, existem os mecanismosde abstrao de dados que permitem melhor representar a semntica da informao envolvida na aplicao. As abstraes comumente usadas no projeto conceitual so: classificao, agregao e generalizao. Abstrao de Classificao: usada para agrupar objetos similares, caracterizadospor propriedades comuns, em classes de objetos. Ex: classe EMPREGADO - instancias : (Joo, Pedro, ..., Maria). A classificao estabelece um relacionamento -INSTANCIA-DE entre cada elementoda classe e a classe.

Abstrao de Agregao: um conceito de abstrao para construir objetos compostos a partir de seus objetos componentes. Essa abstrao estabelece um relacionamento -PARTE-DE entre os componentes e a classe Abstrao de Generalizao: define um relacionamento de subconjunto entre os elementos de duas ou mais classes. Ex: classes CARRO e BICICLETA so subconjuntos da classe VECULO. Essa

abstrao estabelece um relacionamento -UM entre a classe pai (chamada superclasse) e cada classe filha (subclasse). Propriedades de Cobertura da generalizao Cobertura TOTAL ou PARCIAL: A cobertura de uma generalizao total(t) se cada elemento da classe genrica mapeada para pelo menos um elemento das classes especializadas. Ex: A generalizao formada pela classe PESSOA e as subclasses HOMEM e MULHER possui cobertura total. A cobertura parcial (p) se existe algum elemento da classe genrica que no mapeado para nenhum elemento das subclasses. Exemplo: Suponha que VECULO uma classe que contm outros tipos de veculos alm de carros e bicicletas. A generalizao nesse caso parcial. Cobertura EXCLUSIVA (DISJUNO): A cobertura de uma generalizao exclusiva (e) se cada elemento da classe genrica mapeado para no mximo um elemento das subclasses. Ex: Um Veculo s um Carro ou s uma bicicleta (nunca os dois ao mesmo tempo) SOBREPOSIO (OVERLAPPING): A cobertura de sobreposio (s) se existe algum elemento da classe genrica que mapeado para elementos de duas ou mais subclasses diferentes. Ex: Aluno Graduao e Aluno Ps Graduao (caso um aluno possa fazer graduao e ps ao mesmo tempo, temse uma cobertura de sobreposio) Restrio de Cobertura: Restrio de Cobertura - uma superclasse (E2) no pode ser diretamente instanciada (abstrata), somente suas subclasses (E7 ou E8). Notao Para denotar o tipo de cobertura de uma hierarquia de generalizao ser usada a seguinte notao: (t,e), (t,s), (p,e), (p,s) e ser indicado como na figura ao lado. Quando numa generalizao a cobertura no est especificada, admite-se que (t,e)

Projeto Fsico: o inicia-se a partir do esquema lgico e resulta no esquema fsico. Um esquema fsico uma descrio da implementao do banco de dados e direcionado para um SGBD especfico. Decises tomadas nessa fase para melhorar o desempenho podem alterar o esquema lgico. Uma vez que o projeto fsico completado, os esquemas lgico e fsico so expressos usando linguagem de definio de dados do SGBD adotado. O banco de dados criado e populado e pode ser testado para se tornar operacional. O projeto fsico de banco de dados consiste na criao de tabelas que representam a implementao do modelo lgico, NO NECESSARIAMENTE preservando todos os atributos e entidades. Em operao de juno (join), atinge-se maior eficincia quando os registros fsicos esto ordenados pelo atributo usado na juno

Transformando o Esquema Conceitual em Esquema Lgico


O mapeamento do esquema conceitual para o esquema fsico pode ser visto como sendo um processo em duas fases: a primeira, independe do SGBD e no considera nenhuma caracterstica especifica que se aplica implementao do SGBD escolhido; a segunda, consiste no ajustamento do esquema lgico s suas particularidades. Vrias regras de traduo do esquema conceitual para o esquema lgico so adotadas. Essas regras so simples e diretas. As entidades e agregaes do DER (Diagrama de Entidade e Relacionamento) so

mapeadas e originam tabelas no DED (Diagrama de Estrutura de Dados). Os atributos identificadores das entidades correspondem s chaves primrias das tabelas derivadas. No caso de relacionamentos, podem ser aplicadas as seguintes regras: Relacionamento 1:1 e 1:n no originam tabelas. A representao do relacionamento feita com a incluso na tabela derivada da entidade do lado n de um atributo correspondente chave primria da entidade do lado 1, com a funo de chave estrangeira. Cada relacionamento n:m d origem a uma nova tabela. A sua chave primria derivada da concatenao dos atributos identificadores das entidades relacionadas. Cada relacionamento com grau 3 (ternrio) ou superior tambm pode dar origem a uma nova tabela. Da mesma forma observada para os relacionamentos n:m, a chave primria derivada da concatenao dos atributos identificadores das entidades relacionadas. A figura abaixo mostra um DED resultante de um mapeamento DER. Os retngulos representam as tabelas. Os atributos acima da linha divisria representam a chave primria das tabelas, e os as abaixo da linha divisria representam os atributos no chaves. A circunferncia cheia denota a migrao das chaves primrias das tabelas. As linhas cheias denotam que as chaves primrias tornam-se parte da chave primria na tabela alvo, enquanto que as linhas tracejadas indicam que as chaves primrias tornam-se chaves estrangeiras na tabela alvo.

Conceitos de Administrao
Esquema de Banco de Dados: uma coleo de objetos de um banco de dados que esto disponveis para um determinado usurio ou grupo. Os objetos de um esquema so estruturas lgicas que se referem diretamente aos dados do banco de dados. Eles incluem estruturas, tais como tabelas, vises, seqncias, procedimentos armazenados, sinnimos, ndices, agrupamentos e links de banco de dados. (No h nenhum relacionamento entre um tablespace e um esquema; os objetos do mesmo esquema podem estar em tablespaces diferentes, e um tablespace pode conter objetos de esquemas diferentes). O esquema de um sistema de banco de dados uma estrutura descrita em uma linguagem formal suportada pelo sistema de gerenciamento de banco de dados (SGBD). Em um banco de dados relacional, o esquema define as tabelas, os campos em cada tabela e os relacionamentos entre os campos e tabelas. Esquemas geralmente so armazenados em um dicionrio de dados. Apesar de um esquema ser definido em linguagem texto de banco de dados, o termo frequentemente utilizado para referir-se a uma representao da estrutura do banco de dados. Tablespace: Objeto lgico que guarda os arquivos de dados do BD Oracle. Convm, antes de definir o tamanho da Tablespace, fazer uma estimativa do quanto de espao em disco ser necessrio para alocar os objetos (tabelas, ndices, ...). Entretanto, podemos aumentar o tamanho da Tablespace, adicionando datafiles (arquivos de dados) mesma.

Database Buffer Cache: No Database Buffer Cache dados do BD Oracle so armazenados. O processo DBWR (database writer) grava os blocos de dados que as transaes modificam na memria (database buffer cache) de volta para os arquivos de dados do BD. Os buffer do Database Buffer Cache so compartilhados por todos os processos de usurio do Oracle conectados instncia (instance). O tamanho do bloco do database buffer cache e quantidade de blocos so parametrizados. Com a atuao do Database Buffer Cache as E/S de disco so reduzidas, armazenando dados que as transaes solicitaram recentemente. Exemplo: Quando uma transao inclui uma instruo pra atualizar uma linha o Oracle manda para o database buffer cache o bloco que contm a linha, atualizando a linha logo em seguida. Se outra transao quiser atualizar a mesma linha, ou outra que est no mesmo bloco, no ser necessrio outro acesso a disco, pois a linha j est no database buffer cache (memria). Controle de Acesso: todo controle feito quanto ao acesso ao BD, impondo regras de restrio, atravs das contas dos usurios. O Administrador do BD (DBA) o responsvel superior por declarar as regras dentro do SGBD. Ele o responsvel por conceder ou remover privilgios, criar ou excluir usurios, e atribuio de um nvel de segurana aos usurios do sistema, de acordo com a poltica da empresa. Controle de Inferncia: um mecanismo de segurana para banco de dados estatsticos que atua protegendo informaes estatsticas de um individuo ou de um grupo. Bancos de dados estatsticos so usados principalmente para produzir estatsticas sobre vrias populaes. O banco de dados pode conter informaes confidenciais sobre indivduos. Os usurios tm permisso apenas para recuperar informaes estatsticas sobre populaes e no para recuperar dados individuais, como, por exemplo, a renda de uma pessoa especfica. Controle de Fluxo: um mecanismo que previne que as informaes fluam por canais secretos e violem a poltica de segurana ao alcanarem usurios no autorizados. Ele regula a distribuio ou fluxo de informao entre objetos acessveis. Um fluxo entre o objeto A e o objeto B ocorre quando um programa l valores de A e escreve valores em B. Os controles de fluxo tm a finalidade de verificar se informaes contidas em alguns objetos no fluem explicita ou implicitamente para objetos de menor proteo. Dessa maneira, um usurio no pode obter indiretamente em B aquilo que ele ou ela no puder obter diretamente de A. Criptografia de Dados: uma medida de controle final, utilizada para proteger dados sigilosos que so transmitidos por meio de algum tipo de rede de comunicao. Ela tambm pode ser usada para oferecer proteo adicional para que partes confidenciais de um banco de dados no sejam acessadas por usurios no autorizados. Para isso, os dados so codificados atravs da utilizao de algum algoritmo de codificao. Assim, um usurio no autorizado ter dificuldade para decifr-los, mas os usurios autorizados recebero chaves para decifrar esses dados. A criptografia permite o disfarce da mensagem para que, mesmo com o desvio da transmisso, a mensagem no seja revelada. Usurios: Abrange usurios e esquema do banco de dados onde cada banco de dados Oracle tem uma lista de nomes de usurios. Para acessar um banco de dados, um usurio deve usar um aplicativo desse tipo e tentar uma conexo com um nome de usurio valido. Cada nome tem uma senha associada para evitar o uso sem autorizao. Devem ser implementados ainda diferentes perfis de usurio para diferentes tarefas no Oracle, tendo em vista que cada aplicao/usurio tem a sua necessidade de acesso. Existe ainda a possibilidade de proteger os perfis com senha, o que uma excelente medida. Alm dessas medidas, o uso de cotas aumenta a restrio de espao em disco a ser utilizado por usurios/aplicativos. Domnio de Segurana: Onde cada usurio tem um domnio de segurana, um conjunto de propriedades que determinam coisas como aes (privilgios e papeis) disponveis para o usurio; cota de tablespaces (espao disponvel em disco) do usurio; limites de recursos de sistema do usurio. As

tabelas (tablespaces) do sistema, como a system, devem ser protegidas de acessos de usurios diferentes dos usurios de sistema. Autoridade: As autoridades fornecem um mtodo de agrupar privilgios e controlar o nvel de acesso dos administradores e operadores da base de dados com relao manuteno e operaes permitidas. As especificaes da base de dados esto armazenadas em catlogos da prpria base de dados. As autoridades do sistema esto associadas a membros de grupos e armazenados no arquivo de configurao administrativa do banco de dados. Este arquivo define as concesses de acesso e o que poder ser executado de acordo com cada grupo. Privilgios: Os privilgios so permisses nicas dadas a cada usurio ou grupo. Eles definem permisses para tipos de autorizao. Pelos privilgios possvel autorizar o usurio a modificar ou alcanar determinado recurso do Banco de Dados. Os privilgios tambm so armazenados em catlogos do prprio Banco de Dados, visto que os grupos de autoridade por j possurem grupos predefinidos de privilgio concedem implicitamente privilgios a seus membros. Tipos de privilgios discricionrios: O SGBD deve oferecer acesso seletivo a cada relao do banco de dados baseando-se em contas especficas. As operaes tambm podem ser controladas; assim, possuir uma conta no necessariamente habilita o possuidor a todas as funcionalidades oferecidas pelo SGBD. Informalmente existem dois nveis para a atribuio de privilgios para o uso do sistema de banco de dados: O nvel de conta: Nesse nvel, o DBA estabelece os privilgios especficos que cada conta tem, independente das relaes no banco de dados. O nvel de relao (ou tabela): Nesse nvel, o DBA pode controlar o privilgio para acessar cada relao ou viso individual no banco de dados. Revogao de privilgios: Em alguns casos, interessa conceder um privilgio temporrio a um usurio. Por exemplo, o proprietrio de uma relao pode querer conceder o privilgio SELECT a um usurio para uma tarefa especfica e depois revogar aquele privilgio quando a tarefa estiver completada. Por isso, necessrio um mecanismo para a revogao de privilgios. Em SQL, um comando REVOKE introduzido com o intento de cancelar privilgios. Controle de acesso obrigatrio e para segurana multi-nvel: Neste mtodo, o usurio no tem um meio termo, ou ele tem ou no tem privilgios, sendo utilizado normalmente em BD que classificam dados de usurios, onde necessrio um nvel a mais de segurana. A maioria dos SGBDs no oferecem esse tipo de controle de acesso obrigatrio, ficando com os controles discricionrios ditos anteriormente. Normalmente so utilizados em sistemas governamentais, militares ou de inteligncia, assim como industriais e corporativas. As classes de segurana tpicas so altamente sigilosas (top secret, TS), secreta (secret, S), confidenciais (confidential) (C) e no Classificada (unclassified, U), em que TS o nvel mais alto e U o mais baixo. De uma forma geral, os mecanismos de controle de acesso obrigatrio impem segurana multinvel, pois exigem a classificao de usurios e de valores de dados em classes de segurana e impem as regras que probem o fluxo de informao a partir dos nveis de segurana mais altos para os mais baixos. Controle de acesso baseado em papis: uma abordagem para restringir o acesso a usurios autorizados e uma alternativa aos sistemas de controles de acesso do tipo MAC e DAC. O conceito de controle de acesso baseado em papis surgiu com os primeiros sistemas computacionais multiusurios interativos. A idia central do RBAC que permisses de acesso so associadas a papis, e estes papis so associados a usurios. Papis so criados de acordo com os diferentes cargos em uma organizao, e os usurios so associados a papeis de acordo com as suas responsabilidades e qualificaes. Vrios indivduos podem ser designados para cada papel. Os privilgios de segurana comuns a um papel so concedidos ao nome dele, e qualquer indivduo designado para esse papel automaticamente teria esses privilgios concedidos.

A separao de tarefas um requisito importante em diversos SGDBs. necessria para impedir que um usurio realize sozinho o trabalho que requer o envolvimento de outras pessoas. A excluso mtua de papis um mtodo que pode ser implementado com sucesso. Outro aspecto relevante nos sistemas RBAC so as restries temporais possveis que podem existir nos papis, como o tempo e a durao das ativaes de papis e o disparo temporizado de um papel por uma ativao de outro papel. O uso se um modelo RBAC um objetivo altamente desejado solucionar os principais requisitos de segurana das aplicaes baseadas na web. Controle de acesso utilizando Triggers: Com a utilizao das Triggers possvel criar mecanismos de segurana mais complexos que podem ser disparados cada vez que um evento chamado. O comando Insert na tabela exemplo de um evento que pode ser usado para disparar uma Triggers, alm disso, as mesmas podem ser disparadas antes ou depois de comando especificado com o objetivo de prover maior rigor no controle de segurana. Se o comando executado pelo usurio no for validado pela Triggers, um erro sinalizado do corpo da prpria Triggers para impedir que a tabela seja modificada indevidamente. Controle de acesso utilizando Views: As views constituem um outro mtodo de controle de acesso, normalmente utilizadas para restringir o acesso direto aos dados. Com a view possvel permitir acesso de usurio concedendo privilgios, ocultar linhas e colunas de informaes confidenciais ou restritas residentes na tabela original das indicaes do SQL. Os privilgios e concesses so definidos somente na view e no afetam a tabela base sendo o acesso dos usurios delimitado pela view, a qual gerada criando um subconjunto de dados na tabela referenciada. A opo With Verification prov maior segurana porque no permite ao usurio modificar as linhas de tabela sem ter privilgios de leitura dentro da view. Perfil: refere-se a uma coleo de atributos que so aplicados a um usurio, permitindo um nico ponto de referncia para qualquer um dos muitos usurios que compartilham dos mesmos atributos. http://www.diegomacedo.com.br/conceitos-sobre-seguranca-em-banco-de-dados/ http://www.cce.puc-rio.br/sitecce/website/website.dll/folder?cOferec=2174

Tunning de Banco de Dados


Tuning diz respeito ao ajuste do SGBD para melhor utilizao dos recursos deste, provendo um uso eficaz e eficiente do SGBD, maximizando seu desempenho e estabilidade. Os objetivos da sintonia (ou tuning) so os seguintes: fazer com que as aplicaes sejam executadas mais rapidamente, diminuir o tempo de resposta de consultas/transaes e melhorar o desempenho geral das transaes. A linha divisria entre o projeto fsico de um banco de dados e sua sintonia muito pequena. As mesmas decises de projeto so revisadas na fase de sintonia, que um ajuste continuado do projeto. As informaes de entrada para o processo de sintonizao incluem estatsticas relacionadas a diversos fatores. Em particular um SGBD pode coletar internamente as seguintes estatsticas: tamanho de tabelas individuais, nmero de valores distintos em uma coluna, nmero de vezes que uma consulta ou transao em particular submetida/executada em um intervalo de tempo. Os tempos necessrios para as diferentes fases de processamento de consultas.

Essas e outras estatsticas criam um perfil do contedo e do uso de banco de dados. Outras informaes obtidas a partir do monitoramento das atividades do sistema de banco de dados incluem as seguintes: estatsticas de armazenamento: dados a respeito da alocao de armazenamento para espao de tabelas, espao de ndices e portas de buffer. estatsticas de desempenho de entrada/sada: atividade total de leitura/escrita (paginao) do disco. estatsticas de processamento de consultas: tempos de execuo de consultas, tempos de otimizao durante a otimizao de consultas. estatsticas relacionadas a bloqueios/registro de log: taxas de definio de diferentes tipos de bloqueios, taxas de desempenho de transaes e registros de log de atividades. Muitas dessas estatsticas acima se referem a transaes, ao controle de concorrncia e a recuperao de dados. Mas a sintonia de bancos de dados envolve tratar diretamente os seguintes tipos de problema: como evitar excessivas disputas por bloqueios, aumentando, de modo, a concorrncia entre as transaes, como minimizar a sobrecarga de registrar logs e o armazenamento desnecessrio de dados, como otimizar o tamanho do buffer e o escalonamento de processos e, finalmente, como alocar recursos tais como discos, memria e processos para uma utilizao mais eficiente. A maioria desses problemas mencionados pode ser resolvida por meio de ajuste apropriado de parmetros fsicos do SGBD, da alterao das configuraes de dispositivos, da alterao de parmetros do sistema operacional e de outras atividades similares. Sintonia de ndices: A escolha inicial de ndices pode precisar de uma reviso pelas seguintes razes: certas consultas podem demorar demais para serem executadas por conta da ausncia de um ndice, certos ndices podem, absolutamente, no ser utilizados e certos ndices podem estar causando sobrecarga excessiva porque so baseados em um atributo que constantemente sofre alteraes. O objetivo da sintonia avaliar dinamicamente os requisitos, os quais variam durante diferentes perodos do ms ou da semana, e reorganiz-los de forma a proporcionar melhor desempenho global. A excluso e a criao de novos ndices so sobrecarga que pode ser justificada em funo de melhorias de desempenho. A atualizao de uma tabela geralmente suspensa enquanto um ndice estiver sendo excludo ou criado Sintonia de Consultas: O otimizador constri o plano de execuo a partir da consulta SQL, tendo uma margem limitada de opes sobre os operadores utilizados. Uma consulta SQL mal escrita leva o otimizador a utilizar um caminho que nem sempre o mais adequado, o que gera um plano de execuo que normalmente compromete o desempenho. Em ambientes nos quais existem inmeras consultas construdas dessa forma e que so executadas freqentemente, a conseqncia acaba sendo drstica, dificultando o uso eficiente da maior parte dos recursos disponveis e deixando de atender em tempo outros processos crticos cujas execues so rpidas e necessitam de prioridade. A justificativa para se usar a tcnica de reescrita de consultas como uma das primeiras a ser utilizada, que essa tcnica afeta apenas uma consulta especfica, no se propagando para outras aplicaes que acessam as tabelas envolvidas na instruo SQL. Ajuste de Alocao de Memria: Alocao apropirada de recursos de memria para as estruturas do SGBD pode trazer efeitos posistivos na performance. A alocao devida de recursos de memria melhoram a perfomance do cache, reduzindo a paginao, definindo corretamente o buffer do Banco de Dados (shared_pool, buffer cache, log buffer, etc.). Observe o buffer hit ratios. Coloque os objetos grandes e muito acessados em memria para prevenir freqente reloads. Ajuste dos caminhos de acessos: A base de dados tem que encontrar os dados em ordem para retorn-lo para o usurio realizar a pesquiza. A chave para afinar as pesquisas manter os registros e os indices da base de dados contiguos.

Ajustes de I/O e Estrutura Fsica: I/O de disco tende a reduzir a performance de vrias aplicaes de software. O ajuste de I/O e estrutura fisca envolve a distribuio de dados em discos diferentes, evitando assim a conteno de dados. Arquivos de Banco de Dados precisam estar com o tamanho correto e em um local que prove um mnimo de I/O. Verifique tambm freqentes sorts de disco, full table scans, falta de ndices, row chaining, fragmentao de dados, etc. Estude os eventos que acontecem no banco relativo locks, latches e wait com cuidado e elimine-os quando possvel. Ajustes das Plataformas (S.0.): Monitore e defina com cuidado os parmetros de CPU, I/O e memria de forma a melhorar a performance do Banco. Pois conforme a verso do gerenciado para um determinado sistema operacional pode haver parmetros diferentes de ajustes. Ajustes da Topologia de Acesso: Depois dos ajustes referentes aos bancos de dados e plataformas operacionais, ser necessrio realizar ajustes na topologia de acesso as aplicaes para se obter o desempenho desejado necessrio para a camada cliente ( aplicaes com estrututras em 3 camadas). O Tuning do Projeto de Banco de Dados: Uma m performance geralmente resultado de uma modelagem ruim. importante se preocupar com a modelagem, pelo menos at a 3FN. Tabelas existentes podem ser juntadas (Desnormalizadas) porque determinados atributos de duas ou mais tabelas so freqentemente necessrias ao mesmo tempo.

Otimizadores
RBO Otimizadores Baseados em Regras
Otimizadores com base em regras (RBO) abandonam o processo de otimizao uma vez que tenham encontrado uma primeira forma aplicvel das regras, sem verificar se outros mecanismos podem ser aplicados. Uma das regras, por exemplo, determina que prefervel utilizar um ndice do que fazer ler cada linha da tabela, chamada varredura de tabela (full table scan FTS). Essa regra no levava em conta os dados em si, por exemplo, suponha que haja um ndice em uma coluna e todas as 100.000 linhas dessa tabela contenham o mesmo valor exato nessa coluna. Ler os blocos de um ndice e, ento, ler cada linha na tabela exigiria mais trabalho que simplesmente ler cada linha na tabela. O problema do RBO que ele no considera distribuio de dados. (obsoleto)

CBO Otimizadores Baseados em Custo


Otimizadores com base em custos (CBO) utiliza estatsticas sobre os dados para ajudar a tomar melhores decises fundamentadas do que um conjunto predefinido de regras poderia tomar.

Você também pode gostar