Administração Gerencial de Banco de Dados

Propaganda
Administração Gerencial de Banco de Dados
Conteúdo programático.




Plataforma: SQL-Server.
Administração.
Gestão / Estrutura / Hierarquia – Profissionais – Objetos – Sistemas – Criação de usuários Integridade.
Restrições / Grant – Revoke.
Trabalho Prático, primeira parte
Escolher um Banco para apresentar
Oracle (DDL, DML, DQL, DCL) exer
Trabalho.
My SQL
Post Grés é gratuito e é baseado no Oraclo.
- Banco de Dados distribuídos
- Arquitetura de Computadores
- Objetivos / Aplicações
Data Warehouse (DW).
Arquitetura do ((DW(Data Mining)(Data Marts))
Segunda parte TP (DW)
ERP.
Normalização 1 EN, 2FN, 3FN
Lista de exercicios + lista TP Primeira parte + Case prático BDD.
São Paulo 18/02/2011.
Sistema de gerenciamento de Banco de Dados.
Conjunto de programas que permitem aos profissionais a criarem e manipularem dados no Banco de Dados.
Assim permite:
Definir
Definir uma base de dados envolve especificação de tipos de dados a serem armazenados no Banco de Dados.
Construir
Para se construir uma base de dados é necessario seguir um processo que permita armazenar dados por um meio
que o SGBD possa controla-los.
Manipular
Indicar a utilização das funções como consultar, recuperação de dados específicos, modoficação da base de dados
para reflexão de mudança no case e geração de relatórios.
Base de Dados
Sistema de base de dados é formada pelo SW de gerenciamento e a Base de Dados.
O sistema deve interagir com os usuários e os profissionais que atuam ou utlizam o sistema.
Esquema usuários e programadores
Sistema de base de dados
Consultar/ programas de aplição
Consultas/programas de aplicação
SGBD
SW para processar/consultar
SW para Base de Dados
Base
Meta
Base
Características:
Procedimento
tradicional de
arquivo
Base de Dados
Definição de
dados
programa
aplicação
Dependência
entre aplicação
específica
Meta de Dados
Vantagens
da Base de
Dados
Eliminação
de
Redundância
Capaz de
Eliminação
permitir diversas
da
aplicações
Redundância
Interdependência –Facilidades
de
de dados
manutenção
Representação Representação
Facilidade
dos dados do
concentual
de
nível físico
manutenção
Cada visão é Permite múltiplas
Facilidade
implementada
visões
de consultas
por módulo
específico
Capacidade do SGBD
- Controle de Redundância
Problemas:
Duplicação de esforços
Duplicação de espaço
Inconsistência: Alteração, Arquivos / Não Alteração, Arquivos.
Compartilhamento de dados
Multiusuários
Facilidade de definir visões e usuários
Restrição de acessos multiusuários
Acesso a todas as informações que necessita
Operação de acesso.
Recuperação e modificação devem ser controladas.
Fornecer subsistema de autorização e segurança pelo DBA
O DBA cria as contas, especifica e faz as restrições
Fornecimento de múltiplas interfaces
Linguagem de consultas para usuários ocasionais
Linguagem de programação para programadores de aplicação
Formulários
Interfaces dirigidas por menus para usuários comuns
Representação de Relacionamentos complexos entre dados
Dados inter-relacionados.
Reforçar Restrições de Integridade
Especificar tipos de dados de cada item
Restrição pelo SGBD
Restrição semântica de dados do mini mundo
Fornecer backup e restauração
Restaurar caso aja falha {HW {SW.
Vantagens
Potencial para obrigar a padronização
Flexibilidade
Mudança {na estrutura {no requisito
Redução de tempo de desenvolvimento de aplicação
Tempo reduzido
Projetar e implementar base de dados
Nova aplicação de SGBD

Estimado em ¼ e 1/6 do tempo de desenvolvimento
Disponibilidade de informações atualizadas
Passagens áreas
Base bancaria
Economia de escala
Consolidação de dados e aplicações
Redução de desperdícios e atividades relevantes
Não utilizar SGBD quando...
-Base de dados e aplicações simples, sem expectativa de mudanças
-Existem restrições de tempo que não podem ser satisfeita pelo SGBD
-Não há necessidade de acesso multiusuário
Profissionais
-Data Base Administrador (DBA)
-Projetista de base de dados
-Analistas de sistema e programador de aplicação
-usuário final {Ocasional, Paramétrico, Sofisticado}
-profissionais de apoio
São Paulo 25/02/2011
Profissionais de Banco de Dados AGBD
-Database Administrador (DBA)
Supervisiona e gerencia recursos compartilhados que são subdivididos em:
 Primários (Base de dados)
 Secundários (SGBD)
Autoriza acesso a base de dados, coorde3nando e monitorando seu uso.
Soluciona problemas { -Quebra de segurança –Baixo Desempenho}
-Projetistas de Base de Dados
Identifica os dados a serem armazenados na base de dados e escolhe a estrutura apropriada para {Armazenar e
Representar dados}.
Estas tarefas são executadas antes que a base de dados seja implementada, responsabilidade de prever
requisitos básicos ao projeto para que possa garantir acesso aos futuros usuários.
Analistas de Sistemas e programadores de aplicação devem estar familiarizados com as capacidades
fornecidas pelo SGBD para desempenhar essas tarefas.
-Analistas de Sistemas
Determinam os requisitos de usuários finais, especificamente dos usuários comuns e desenvolvem
especificações das transações para atender a estes requisitos.
-Programadores de aplicação
Implementam estas especificações produzindo programas e então: Testam, Depuram, Documentam e mantém
estes programas.
Hierarquia
DBA
Projetista
Analista
Programador
São Paulo, 18/03/2011
Profissionais
Usuários finais:
Existe profissionais que precisam ter acesso a base de dados para consultar, modificar e gerar relatórios.
Categorias
-Usuários ocasionais
-Usuários comuns
-Usuário sofisticado
Usuário Ocasional:
Profissionais que necessitam diferentes informações a cada vez ocasional que acessam a base de dados.
Podem usar linguagem sofisticada para especificar suas requisições sendo tipicamente gerente Pleno ou
Sênior.
Usuário comum ou paramétrico:
Realizam operações padrões de consulta e atualizações chamada, transações permitidas, que foram
cuidadosamente programados e testados.
Estes usuários constantemente realizam recuperações e modificações na base de dados.
Profissionais de apoio
-Projetistas e implementadores de SGBD
-Desenvolvedores de ferramentas
Usuários sofisticados
Profissionais que estão familiarizados com SGBD e resolvem seus problemas complexos através de
linguagem sofisticada, incluem engenheiros e analistas de negócios.
Profissionais de apoio
-Projetista e implementadores de SGBD
-Desenvolvedores de ferramentas.
-Operadores de manutenção
Papeis de desempenho para servidores e mapeamento de grupos
Vários com acesso ao SQL-Server devem ser limitados a certos acessos. Há sete funções desempenhadas
pelos usuários para servidor.
Sysadmin = Membros com essa função podem fazer o que quiserem no SQL-Server. Devemos nos precaver
ao atribuir esta função a usuários com a plataforma, pois poderão causar sérios problemas. Destina-se apenas
a administradores de Banco de Dados.
Serveradmin = Usuários que configuram servidores: Quantidade de memória, SQL que pode ser usada ou
qual a quantidade de informações a serem enviadas através da rede de um único frame.
Tornar seus DBA’s assistentes membros desta função permitirá se livrar de parte das tarefas administrativas.
Setupadmin = estes membros podem instalar replicas e gerenciar procedimentos armazenados estendidos
(Usados para executar ação que não são nativas ao SQL). Também atribua este tipo de acesso a DBA’s
assistentes.
Securityadmin = Estes usuários gerenciam questões de segurança como criação e eliminação de logins, leitura
de logs de auditoria e concessão de permissão aos usuários para criarem Banco de Dados.
Processadmin = O SQL pode ser rolado em ambiente multitarefa, conseguindo fazer mais de um processo
simultâneo.
Gerenciar um processo para gravar em um cachê.
Um membro do grupo processadmin pode terminar o processo (KILL) ou cancelar um processo no SQL.
Função indicada a DBA’a assistentes e desenvolvedores.
Os desenvolvedores precisam especificamente cancelar processos que tenham sido especificados
erroneamente, ou consultar incorretas.
DBCreator = Usuários podem criar ou fazer modificações em banco de dados. Função de DBA’s assistentes
bem como desenvolvedores, que devem ser alterados para não criarem bancos desnecessários desperdiçando
espaços em servidores.
Diskadmin = Estes usuários gerenciam arquivos em disco, azem espelhamento de Banco de Dados e
adicionam dispositivos de backup.
DBS’s assistentes devem ser membros desta função.
São Paulo 25/03/11
A partir do memento em que os usuários tiverem acesso ao banco através de uma banca de Banco de Dados
você deve limitar o que poderão fazer neste banco atribuindo um papel (função) no Banco de Dados.
DB-Ower: Membros desta função pode fazer DDL e DML com qualquer tabela de Banco de Dados.
DB-Acessadmin: usuário tem autoridade para determinar quem ganha acesso ao Banco de Dados
acrescentando ou eliminando usuários.
DB-Datareader: Os membros podem ler dados de qualquer tabela do Banco de Dados.
DB-Datawrinter: estes usuários podem acessar, modificar e eliminar dados de todas as tabelas de um banco
de Dados.
DB-Ddladmin: Os administradores DDl podem emitir todos os comandos DDl. (Ele só cria através de
permissão).
DB-Securityadmin: os membros aqui podem acrescentar ou eliminar usuários contidos em papéis para banco
e gerenciar permissões sobre objeto e instruções.
DB-Backupoperator: Estes usuários podem fazer backup de Banco de Dados.
DB-Denydatareader: Os membros não podem ler os dados no Banco de Dados.
DB-Denydatawrinter: Este usuário não pode fazer alterações em dados contidos no Banco de Dados, prem
lhes é permitido ler os dados.
Public; O objetivo deste grupo é conceder aos usuários do Banco de Dados um conjunto padrão de
permissões num Banco de dados.
Todos os usuários do Banco de Dados participam automaticamente deste grupo e não podem ser removidos.
Segurança de Banco de Dados e transações
Segurança é um item primordial que diferencia os Bancos de Dados. Por meio dos critérios rígidos de
controle, podemos ter uma informação segura e que apenas usuários autorizados podem alterá-la.
Embora os direitos variam de um Banco para outro, os comandos relacionados à atribuição e a revogação dos
direitos são os mesmos.
Normalmente os Bancos de Dados vêm com um ou dois usuários (SYS, System, DBA ou SA) que tem o
poder sobre todo o Banco de Dados. Devemos utilizar esses usuários para criar outros usuários; estes
receberão direitos de sistemas e concederão direitos de objetivo a outros usuários.
Classificação de direitos
Existem duas classificações de direitos de Banco de Dados.
1- Objeto: Diz respeito aos objetos que um schema posui.
2- Sistema: Diz respeito aos que se pode realizar no Banco de Dados.
Schema: Representa um local onde se armazenam os objetos do Banco de Dados. Um Schema pode ser
entendido como um usuário que detém o poder sobre os objetos do Banco de Dados
Para criar um Schema, utilizamos o comando;
CREATE SCKEMA nome do schema
[Autorization usuário];
O padrão é que o schema pertença ao próprio usuário que o criou.
São Paulo 01/04/11
Direitos de Sistema:
Estes direitos variam em função do Banco de Dados.
CONECT: Permite ao usuário conectar-se ao Banco de Dados. Usuários que não tem esse direito se quer
pode acessar o Banco de Dados.
RESOURCE: Permite ao usuário, alem de conectar-se criar objetos de Banco de Dados.
DBA: Permite ao usuário controlar todos os objetos do Banco de Dados. É um diretório que deve ser
concedido com muito cuidado e critério para evitar problemas ao Banco de Dados. Recomenda-se que apenas
o Administrador do Banco o possua.
PRIVILÉGIO DE SISTEMA
ALTER
CREATE
DROP
SELECT
EXECUTE
UPDATE
USUÁRIO
ÍNDICE
PROCEDIMENTO
TABELA
VISÃO
SIM
SIM
SIM
SIM
SIM
SIM
SIM
SIM
SIM
SIM
SIM
SIM
SIM
SIM
SIM
SIM
SIM
Atribuindo Direitos de Sistema:
GRANT privilegio
TO usuário
[with Admin Option]
Ex.
GRANT connect
TO fatec;
Utilizamos a clausula WITH ADMIN OPTION dando direito ao usuário de transferir o mesmo direito recebido, a
outros usuários.
Revogando Direitos:
REVOKE privilégio
TO usuário;
Direitos de Objetos:
Como é o Schema que possui os objetos somente ele poderá conceder os direitos sobre seus objetos a outro
usuários do Banco de Dados assim os demais usuários somente poderão realizar o que lhes for permitido pelo
proprietário do objeto.
PRIVILÉGIO DO OBJETO
TABELA
ALTER
DELETE
INSERT
REFERENCES
RENAME
SELECT
UPDATE
SIM
SIM
SIM
SIM
SIM
SIM
SIM
VISÃO
SIM
SIM
SIM
SIM
SIM
Tipos de Direitos:
Existem seis tipos básicos de direitos de acesso.
1- SELECT: Permite extrair dados das tabelas ou visões.
2- INSERT: Permite incluir dados em tabelas ou visões.
3- UPDATE: Permite modificar linhas nas tabelas.
4- DELETE: Permite excluir linhas de tabelas e visões.
5- REFERENCES: Permite criar constrainte de chave estrangeira.
6- ALL PRIVILEGES: Concede todos os privilégios anteriores.
Atribuindo Direitos de Objetos:
GRANT Tipo_privilegio
ON Tabela
To{Usuário/PUBLIC}
[WITH ADMIN OPTION];
Ex.1.
GRANT SELECT
ON cd
TO Fatec;
Ex. 2.
GRANT SELECT
ON Musica
TO fatec;
Whit Admin Option;
Revogando Direitos de Objeto.
Para revogar direitos anteriormente concedidos, utilizamos o comando REVOKE:
REVOKE Tipo_privilégio
ON Tabela
TO Usuário;
Ex.
REVOKE SELECT
ON cd
TO Fatec;
Para criarmos os logins e usuários em códigos:
CREATE login nome
Whit password = ‘1234’;
USE Banco;
CREATE USER NM FOR LOGIN nome
WITH DEFAULT_SCHEMA = nm_schema;
GRANT SELECT
ON cd
TO nm;
AGBD – 01/04
Direitos de Sistema: estes direitos variam em função do banco de dados utilizado.
CONNECT: permite ao usuário conectar-se ao banco de dados. Usuários que não tem esse direito sequer
podem acessar o banco de dados.
RECOURCE: permite ao usuário além de conectar-se, criar objetos de banco de dados.
DBA: permite ao usuário controlar todos os objetos de bando de dados. É um direito que deve ser concedido
com muito critério para evitar problemas ao bando de dados. Recomenda-se que apenas o administrador do
banco de dados o possua
Privilégio
de Sistema
Usuario
Indice
Procedime
nto
Tabela
Visão
AFTER
Sim
Sim
Sim
Sim
CREATE
Sim
Sim
Sim
Sim
Sim
DROP
Sim
Sim
Sim
Sim
Sim
Sim
SELECT
Sim
EXECUT
E
Sim
UPDATE
Atribuindo direitos de sistema
GRANT privilégio
TO usuário
[widht admin option]
Exemplo.:
GRANT CONNECT
TO FATEC;
Utilizamos a clausua with admin option dando direito ao usuário de transferir o mesmo direito recebido, a
outros usuários
Revogando direitos
REVOKE privilégio
TO usuário
Direitos de objeto:
Como é o schema que possui os objetos somente ele poderá conceder os direitos sobre seus obejtos a outros
usuários do banco de dados. Assim os demais usuários somente poderão realizar o que lhes for permitido pelo
proprietario do objeto.
Privilégio do objeto
Tabela
Alter
Sim
Delete
Sim
Sim
Insert
Sim
Sim
References
Sim
Rename
Sim
Sim
Select
Sim
Sim
Update
Sim
Sim
Tipos de direitos:
Existem seis tipos básicos de direitos de acesso:
1. Select: permite extrar dados das tabelas ou visões
2. Insert: Permite incluir dados em tabelas ou visões
3. Update: Permite modificar linhas na tabelas
4. Delte: Permitee excluir linhas de tabelas ou visões
5. References: Permite criar CONSTRAINT de chave estrangeira
6. All Privileges: oncedo todo os privilégios anteriores.
Visão
Atribuindo direitos de objeto:
GRANT tipo_privilégio ON tabela
TO {Usuário|Public} with admin option;
Exemplo.:
1)
GRANT SELECT ON cd
TO fatec;
2)
GRANT SELECT ON musica
TO fatec with admin option;
Revogando direitos de objeto
Para revogar direitos anteriormente concedidos, utilizamos o comando REVOKE;
REVOKE tipo_privilégio
ON tabela
TO usuario
Exemplo.:
REVOKE SELECT
ON cd
TO fatec
Para criamos os logins de usuários em código:
GREATE LOGIN nome
WITH PASSWORD: '1234',
USE banco;
CREATE USER nm FOR LOGIN nome
WITH DEFAULT_SCHEM=nm_schema;
GO;
Download