Aula 7 — Recursos Gerenciais e Organizacionais do Ambiente de Banco de Dados
Recursos gerenciais e organizacionais do ambiente de banco de dados Meta da aula Apresentar os recursos gerenciais e organizacionais do ambiente de banco de dados relacionados aos sistemas de informação.
Introdução
Seção intitulada “Introdução”Nesta aula serão abordados conteúdos referentes à organização tradicional de dados, ao gerenciamento de dados, à criação de um ambiente de banco de dados, à segurança de dados e à tendência do banco de dados.
Os bancos de dados são conjuntos de dados com uma estrutura regular que organizam informações. Normalmente, eles agrupam informações utilizadas para um mesmo fim. São usualmente mantidos e acessados por meio de um software conhecido como Sistema Gerenciador de Banco de Dados (System Manager of Database – DBMS). Um DBMS adota um modelo de dados, de forma pura, reduzida ou estendida. Às vezes, o termo banco de dados é usado como sinônimo de DBMS. O termo banco de dados deve ser aplicado apenas aos dados, enquanto o termo DBMS deve ser aplicado ao software com a capacidade de manipular bancos de dados de forma geral, porém é comum misturar os dois conceitos.
O termo banco de dados foi criado inicialmente por especialistas em computação para indicar coleções organizadas de dados armazenados em computadores digitais, porém o termo é atualmente usado para indicar tanto bancos de dados digitais como bancos de dados disponíveis de outra forma (magnética ou impressa). Aceitando uma abordagem mais técnica, um banco de dados pode ser uma coleção de registros salvos em um computador em modo sistemático, de forma que um programa de computador possa consultálo para responder questões.
Geralmente um registro está associado ao conceito de banco de dados e é dividido em campos ou atributos, que dão valores a propriedades desses conceitos. Possivelmente alguns registros podem apontar diretamente ou referenciar indiretamente outros registros, o que faz parte da caracterização do modelo adotado pelo banco de dados. A descrição de quais são os tipos de registros existentes em um banco de dados e ainda de quais são os campos de cada registro é conhecida como esquema de banco de dados, ou modelo relacional. O modelo de dados mais adotado hoje em dia é o modelo relacional, no qual as estruturas têm a forma de tabelas, compostas por linhas e colunas.
Organização Tradicional de Dados
Seção intitulada “Organização Tradicional de Dados”Para falarmos de banco de dados, é necessário entendermos como funciona a organização dos dados em um sistema de informação computadorizado. Os dados são organizados, tradicionalmente, de forma hierárquica, em: bit (menor unidade de dados); byte (grupo de bits que representa um único caractere); campo (grupo de palavras ou um número completo); registro (grupo de campos relacionados); arquivo (grupo de registros do mesmo tipo); banco de dados (grupo de arquivos relacionados). Na organização hierárquica, é necessário que a entidade, o atributo e o campo-chave estejam relacionados.
graph TD
BD["Banco de dados"] --> AR["Arquivo"] --> RE["Registro"] --> CA["Campo"] --> BY["Byte"] --> BI["Bit"]
Exemplo — Banco de dados de alunos: o banco de dados reúne o arquivo do curso, o arquivo financeiro e o arquivo de histórico pessoal. O arquivo do curso contém os seguintes registros:
| Nome | Curso | Data | Nota |
|---|---|---|---|
| John Stewart | IS 101 | F01 | B+ |
| Karen Taylor | IS 101 | F01 | A |
| Emily Vincent | IS 101 | F01 | C |
A partir do registro de John Stewart: o campo NOME contém “John Stewart”; o byte correspondente à letra J é “01001010” (código ASCII); e o bit é 0 ou 1.
Figura 7.1: Hierarquia de dados num sistema.
Fonte: LAUDON e LAUDON, 2004.
Entidade, atributo e campo-chave são considerados fundamentais na organização do banco de dados. A entidade refere-se a pessoa, coisa, lugar e evento sobre o qual se mantém a informação; o atributo refere-se à descrição de uma entidade específica; o campo-chave é o campo identificador usado para recuperar, atualizar e ordenar registros. Em um processo de seleção (concurso público), por exemplo, o candidato, ao se inscrever, recebe um número de inscrição que servirá para identificá-lo, atualizar dados, corrigir provas ou acompanhar o andamento do processo.
Entidade = PEDIDO Atributos
Entidade = PEDIDO. Atributos (campos):
| Número do pedido (campo-chave) | Data do pedido | Número do item | Quantidade | Total |
|---|---|---|---|---|
| 4340 | 2/8/02 | 1583 | 2 | 17,40 |
Figura 7.2: Entidade e atributos.
Fonte: LAUDON e LAUDON, 2004.
Na organização tradicional de dados existem alguns problemas que devem ser considerados quando se for gerenciar e organizar um banco de dados, tais como: redundância de dados, dependência do sistema de dados, falta de flexibilidade, baixo nível de segurança, falta de compartilhamento e disponibilidade dos dados. Digamos que uma fábrica de computadores organize seus dados de forma hierárquica em um único banco de dados, do qual derivam-se vários arquivos conforme a categoria das funções de contabilidade, finanças, vendas e fabricação.
A partir dessas informações, o administrador do banco de dados tem como detectar quais das categorias apresentam problemas e quais são.
graph LR
M["Arquivo mestre<br/>elementos de dados A a Z"]
M --> P1["Programa de aplicação 1"] --> D1["Arquivos derivativos<br/>A, B, C, D"] --> U1["Usuários — Contabilidade"]
M --> P2["Programa de aplicação 2"] --> D2["Arquivos derivativos<br/>A, B, D, E"] --> U2["Usuários — Finanças"]
M --> P3["Programa de aplicação 3"] --> D3["Arquivos derivativos<br/>A, B, E, G"] --> U3["Usuários — Vendas e marketing"]
M --> P4["Programa de aplicação 4"] --> D4["Arquivos derivativos<br/>A, E, F, G"] --> U4["Usuários — Fabricação"]
Figura 7.3: Processamento tradicional de arquivos.
Fonte: LAUDON e LAUDON, 2004.
Gerenciamento de Dados
Seção intitulada “Gerenciamento de Dados”DBMS é o conjunto de programas de computador (softwares) responsáveis pelo gerenciamento de uma base de dados. O principal objetivo é retirar da aplicação referente ao usuário (cliente) a responsabilidade de gerenciar o acesso, a manipulação e a organização dos dados.
O DBMS disponibiliza uma interface para que os seus clientes possam incluir, alterar ou consultar dados. Em bancos de dados relacionais, a interface é constituída pelos drivers do DBMS, que executam comandos na linguagem SQL. A Linguagem de Consulta Estruturada (Structured Query Language – SQL) é uma linguagem de pesquisa declarativa para banco de dados relacional ou base de dados relacional.
O DBMS cria e mantém bancos de dados, elimina a necessidade de comandos de definição de dados, atua como interface entre aplicativos e arquivos físicos de dados e separa as visões lógica e física dos dados.
graph LR
BD["Banco de dados integrado de recursos humanos<br/>———<br/>Empregados: Nome, Endereço,<br/>Número da Previdência Social, Cargo<br/>———<br/>Folha de pagamento: Horas trabalhadas,<br/>Taxa de remuneração, Remuneração bruta,<br/>Imposto federal, Imposto estadual<br/>———<br/>Benefícios: Seguro de vida, Plano de pensão,<br/>Plano de saúde, Benefícios de aposentadoria"]
SG["Sistema de gerenciamento<br/>de banco de dados"]
BD <--> SG
SG <--> PP["Programas aplicativos de pessoal"] <--> DP["Departamento de pessoal"]
SG <--> PF["Programas aplicativos de folha de pagamento"] <--> DF["Departamento de folha de pagamento"]
SG <--> PB["Programas aplicativos de benefícios"] <--> DB["Departamento de benefícios"]
Figura 7.4: DBMS.
Fonte: LAUDON e LAUDON, 2004.
São considerados componentes do DBMS: linguagem de definição de dados, linguagem de manipulação de dados e dicionário de dados.
A linguagem de definição de dados especifica o conteúdo e a estrutura dos bancos de dados e define cada elemento de dados. A linguagem de manipulação de dados manipula os dados em um banco de dados.
O dicionário de dados armazena definições de elementos de dados e características de dados.
- Nome: Valor-base-remuneração
- Apelido: Baseremuneração
- Nome PC: Salário
- Descrição: Salário anual do funcionário
- Tamanho: 8 bytes
- Tipo: N (numérico)
- Data de alteração: 1/10/95
- Proprietário: Salários
- Segurança da atualização: Pessoal do site Gerente, Sistemas de avaliação de cargos, Gerente de Planejamento de recursos humanos, Gerente do site de questões de oportunidades iguais, Gerente do site de benefícios, Gerente de sistemas de pagamento de demandas, Gerente de planos qualificados, Gerente do site de empregos
- Funções empresariais utilizadas por: Salários, Planejamento RH, Empregos, Seguros, Pensão
- Programas utilizados: P101000, P102000, P103000, P104000, P105000
- Relatórios utilizados: relatório 124 (relatórios de acompanhamento de aumento de salário), relatório 448 (relatório de auditoria de seguro em grupo), relatório 452 (listagem de salários revisada), listagem de referência de pensão
Figura 7.5: Dicionário de dados.
Fonte: LAUDON e LAUDON, 2004.
DBMS Atuais
Seção intitulada “DBMS Atuais”Diversos modelos de DBMS foram e vêm sendo utilizados ao longo da História, com vantagens para um ou para outro modelo por determinados períodos. A seguir, falaremos dos quatro atuais modelos de DBMS, que são: DBMS hierárquico, em rede, relacional e orientado a objeto.
DBMS Hierárquico
Seção intitulada “DBMS Hierárquico”Uma base de dados hierárquica consiste em uma coleção de registros (em diversos aspectos, são muito similares a entidades no modelo entidade-relacionamento), conectados entre si através de ligações (podem ser encaradas como formas restritas de relacionamentos no sentido do modelo entidade-relacionamento).
Cada registro é uma coleção de campos (atributos), cada um dos quais contendo somente uma informação. Uma ligação é a associação entre exatamente dois registros (como relacionamentos binários, no modelo entidade-relacionamento). Os registros, por exemplo, são organizados como árvores com raiz. Cada árvore tem uma raiz, que é um pseudonó (cada nó é um registro, mas a raiz tem apenas a função de ser uma origem comum), ou seja, o pseudonó é um registro primário que serve para originar outros registros (nós). Cada árvore com raiz é referida como uma árvore de base de dados. A base de dados hierárquica é uma coleção de árvores da base de dados (que formam uma floresta).
Para explicar melhor como funciona uma árvore com raiz, você deve entender que não podem existir ciclos entre os nós (registros) e que as ligações formadas na árvore devem ser tais que somente retratem relações um-para-um (entre um pai e um filho) ou um-para-muitos (entre um pai e vários filhos), em que o pai pode ter vários filhos, mas cada filho tem apenas um pai. Assim, o conteúdo de um registro particular pode ter de ser replicado em vários locais diferentes. A réplica de registro possui duas grandes desvantagens: pode causar inconsistência de dados, quando houver atualização, e o desperdício de espaço é inevitável.
Geralmente, usa-se um diagrama de estrutura de árvore para representar o esquema para uma base de dados hierárquica, que é composto por dois componentes básicos: caixas (que correspondem ao tipo registro) e linhas (que correspondem às ligações). Seu propósito é especificar a estrutura lógica geral da base de dados.
graph TD
F["Funcionário<br/>(raiz)"]
F --> R["Remuneração<br/>(primeiro filho)"]
F --> DC["Descrição de cargo<br/>(primeiro filho)"]
F --> B["Benefícios<br/>(primeiro filho)"]
R --> ND["Nível de desempenho<br/>(segundo filho)"]
R --> HS["Histórico salarial<br/>(segundo filho)"]
B --> P["Pensão<br/>(segundo filho)"]
B --> SV["Seguro de vida<br/>(segundo filho)"]
B --> SS["Seguro de saúde<br/>(segundo filho)"]
Figura 7.6: DBMS hierárquico.
Fonte: LAUDON e LAUDON, 2004.
DBMS em rede Sua organização é semelhante à dos bancos de dados hierárquicos, com a diferença de que cada registro filho pode ser ligado a mais de um registro pai (relação muitos-para-muitos), criando conexões bastante complexas. São bastante utilizados em sistemas para computadores de grande porte, sendo que esse modelo é composto de uma estrutura mais completa, possui as propriedades básicas de registros, conjuntos e ocorrências, e utiliza a linguagem de definição de dados (Data Definition Language – DDL) e a linguagem de manipulação de dados (Data Manipulation Language – DML), além de permitir evolução mais eficiente do modelo. A estrutura é formada de entidade (registros), atributos (itens de dados), tipo de registro e ocorrência do registro. Tanto o modelo hierárquico quanto o de rede são chamados de sistemas de navegação, pois as aplicações devem ser construídas para atravessar um conjunto de registros interligados previamente.
graph TD
C1[Curso 1]
C2[Curso 1]
C3[Curso 1]
A1[Aluno 1]
A2[Aluno 2]
A3[Aluno 3]
A4[Aluno 4]
A5[Aluno 5]
C1 --- A1
C1 --- A2
C2 --- A2
C2 --- A3
C3 --- A3
C3 --- A4
C3 --- A5
Figura 7.7: DBMS em rede.
Fonte: LAUDON e LAUDON, 2004.
DBMS relacional O modelo relacional é um modelo de dados que se baseia no princípio em que todos os dados estão guardados em tabelas (ou, matematicamente falando, relações). Toda sua definição é teórica e baseada na lógica de predicados e na teoria dos conjuntos.
A lógica de predicados consiste no consenso inicial necessário para a construção ou aceitação de uma teoria e de sentenças dedutíveis a partir de conceitos teóricos. Já a teoria dos conjuntos é descrita como uma coleção de objetos bem definidos, e esses objetos são chamados de elementos ou membros de um conjunto como, por exemplo, números, pessoas etc.
Historicamente, o modelo relacional é o sucessor do modelo hierárquico e do modelo em rede. Essas arquiteturas antigas são até hoje utilizadas em algumas centrais com alto volume de dados, nas quais a migração é inviabilizada pelo custo que ela demandaria. Existem ainda os novos modelos baseados em orientação a objeto, que na maior parte das vezes são encontrados como kits de construção de DBMS, por exemplo, linguagem de programação Object Pascal, Java etc., em vez de um DBMS propriamente dito.
O modelo relacional foi o primeiro modelo de banco de dados formal. Somente depois seus antecessores, os bancos de dados hierárquicos e em rede, passaram a ser também descritos em linguagem formal.
A linguagem padrão para os bancos de dados relacionais é SQL (Structured Query Language). Ela ainda é adotada, apesar de suas restrições, por ser antiga e muito mais popular que qualquer outra linguagem de banco de dados.
A principal proposição do modelo relacional é que todos os dados são representados como relações matemáticas, isto é, um subconjunto do produto cartesiano de n conjuntos. Em banco de dados relacional, uma “relação” é similar ao conceito de “tabela” e uma “tupla” é similar ao conceito de “linha”. O Microsoft SQL Server, por exemplo, é um gerenciador de banco de dados relacional desenvolvido pela Microsoft.
Trata-se de um banco de dados robusto usado por sistemas corporativos dos mais diversos portes que faz uso de “relação” e de “tupla”.
Em banco de dados relacional, uma tabela (relação) é composta por colunas (campos) e linhas (registros, tuplas). O exemplo a seguir mostra as tabelas Pedido, Peça e Fornecedor:
Pedido
| Número pedido | Data pedido | Data entrega | Número peça | Quantidade peça | Total pedido |
|---|---|---|---|---|---|
| 1.634 | 2/2/02 | 22/2/02 | 152 | 2 | 144,50 |
| 1.635 | 12/2/02 | 28/2/02 | 137 | 3 | 79,70 |
| 1.636 | 13/3/02 | 3/1/02 | 145 | 1 | 24,30 |
Peça
| Número peça | Descrição peça | Preço unitário | Número fornecedor |
|---|---|---|---|
| 137 | Trava da porta | 22,50 | 4.058 |
| 145 | Trinco da porta | 26,25 | 2.038 |
| 150 | Vedação da porta | 6,00 | 4.058 |
| 152 | Compressor | 70,00 | 1.125 |
Fornecedor
| Número fornecedor | Nome fornecedor | Endereço fornecedor |
|---|---|---|
| 4.058 | CBM Inc. | 44 Winslow, Gary IN 44950 |
| 2.038 | Ace Inc. | Rte. 101, Essex NJ 07763 |
| 1.125 | Bryant Corp. | 51 Elm, Rochester NY 11349 |
Figura 7.8: DBMS relacional.
Fonte: LAUDON e LAUDON, 2004.
O banco de dados relacional está calcado em três operações básicas como: select, join e project. Select (selecionar) cria um subconjunto de registros que obedecem a critérios estabelecidos. Por sua vez, join (unir) combina as tabelas relacionais para fornecer mais informações aos usuários. Por fim, project (projetar) permite aos usuários criar novas tabelas contendo apenas as informações relevantes.
Exemplo: para responder a uma consulta sobre as peças 137 e 152, seleciona-se (select) nas tabelas Peça e Fornecedor os registros cujo número-peça seja 137 ou 152; em seguida, une-se (join) o resultado à tabela Fornecedor pelo número do fornecedor; por fim, projeta-se (project) apenas as colunas de interesse:
| Número peça | Número fornecedor | Nome fornecedor | Endereço fornecedor |
|---|---|---|---|
| 137 | 4.058 | CBM Inc. | 44 Winslow, Gary IN 44950 |
| 145 | 1.125 | Bryant Corp. | 51 Elm, Rochester NY 11349 |
Figura 7.9: Operações do banco de dados relacional.
Fonte: LAUDON e LAUDON, 2004.
DBMS orientado a objeto Orientação a objetos corresponde à organização de sistemas como uma coleção de objetos que integram estruturas de dados e comportamento. Na década de 1990, o modelo baseado na orientação a objeto foi aplicado também aos bancos de dados, criando um novo modelo de programação conhecido como bancos de dados orientados a objeto (que armazena dados e procedimentos como objetos que podem ser recuperados e compartilhados automaticamente). Os objetos são valores definidos segundo classes ou tipos de dados complexos, com seus próprios operadores (métodos). Com o passar do tempo, os sistemas gestores de bancos de dados orientados a objeto e os bancos de dados relacionais baseados na linguagem SQL se aproximaram. Muitos sistemas orientados a objeto são implementados sobre bancos de dados relacionais baseados em linguagem SQL. Podemos citar como exemplo, o sistema de gerenciamento da linguagem de programação Object Pascal, Java etc.
Atividade 1
Seção intitulada “Atividade 1”Francy Restaurantes, um famoso restaurante da culinária brasileira, estava passando por algumas dificuldades e resolveu recorrer aos serviços da Gracy Systems, empresa gerenciadora de banco de dados referente ao comportamento de clientes, visando solucionar alguns problemas. Charles, fundador e presidente da Gracy Systems, explica que “no setor de restaurantes todos conhecem os custos da mão-de-obra e dos alimentos, mas o que ninguém conseguiu fazer foi medir seu desempenho com base no comportamento do cliente”.
A Gracy Systems compara os dados dos históricos dos cartões de crédito de seus clientes com demografia em profundidade e dados psicográficos coletados e vendidos à empresa por empresas de marketing. Então ela monta perfis detalhados de cada cliente do Francy Restaurantes, relacionando os dados comprados (de terceiros) aos do cartão de crédito.
Esses perfis utilizam muitas informações do cliente, incluindo frequência, modelos de compra, nível de escolaridade e localização da residência do cliente em relação à do Francy Restaurantes. Os dados são passados ao Francy Restaurantes e identificados por números, e não por nomes, para proteger a privacidade dos clientes.
A Gracy Systems também provê a seu cliente (Francy Restaurantes) indicadores específicos para cada restaurante e para a matriz da empresa, como taxas de rotatividade (razão entre clientes que foram perdidos e a soma de novos clientes e clientes existentes).
Finalmente, Francy Restaurantes recebe ferramentas analíticas que a habilitam a criar relatórios específicos de que necessita. A Gracy Systems procurou desenvolver ferramentas que evitassem problemas como: redundância e inconsistência de dados, dependência de programas, inflexibilidade, baixo nível de segurança, falta de compartilhamento de dados e indisponibilidade de dados.
Como a Gracy Systems, empresa gerenciadora de banco de dados, pode ajudar Francy Restaurantes a melhorar a organização de suas informações diante das dificuldades enfrentadas?
Resposta Comentada
Diante das principais dificuldades enfrentadas pela Francy Restaurantes, como mudar as técnicas tradicionais de gerenciamento de arquivos, que dificultavam ao restaurante o rastreamento de todos os dados que utiliza sistematicamente ou a sua organização para que possam ser acessados facilmente.
Francy Restaurantes solicitou a ajuda da Gracy Systems para melhorar a organização de suas informações e solucionar problemas como: redundância e inconsistência de dados, dependência de programas, inflexibilidade, baixo nível de segurança, falta de compartilhamento de dados e indisponibilidade de dados.
O DBMS consiste em um software que permite a centralização dos dados e de seu gerenciamento, de modo que o restaurante dispunha de uma única fonte consistente para todas as suas necessidades de dados. Um único banco de dados atende a múltiplas aplicações. Um DBMS compreende uma linguagem de definição e de manipulação de dados e um recurso de dicionário de dados.
A característica mais importante do DBMS é sua capacidade de separar as visões lógica e física dos dados. O usuário (cliente) trabalha com a visão lógica. O DBMS extrai informações, de modo que o usuário não tenha de se preocupar com sua localização física.
Criação de Um Ambiente de Banco de Dados
Seção intitulada “Criação de Um Ambiente de Banco de Dados”A criação de um ambiente de banco de dados ocorre por meio de compartilhamento de informações provenientes de projeto conceitual, projeto lógico, diagrama entidade-relacionamento e normalização.
-
Projeto conceitual é um modelo abstrato do banco de dados de uma perspectiva empresarial.
-
Projeto lógico é a descrição detalhada das necessidades de informações empresariais.
-
Diagrama entidade-relacionamento: trata-se de uma metodologia para documentação de bancos de dados ilustrando relacionamentos entre entidades de bancos de dados.
erDiagram
PEDIDO ||--o{ PECA : "pode ter"
FORNECEDOR ||--o{ PECA : "pode ter"
PEDIDO {
string Numero_Pedido PK
date Data_Pedido
date Data_Entrega
string Numero_Peca
int Quantidade_Peca
float Total_Pedido
}
PECA {
string Numero_Peca PK
string Descricao_Peca
float Preco_Unitario
string Numero_Fornecedor
}
FORNECEDOR {
string Numero_Fornecedor PK
string Nome_Fornecedor
string Endereco_Fornecedor
}
Figura 7.10: Diagrama entidade-relacionamento.
Fonte: LAUDON; LAUDON, 2004.
- Normalização é o processo de criação de estruturas de dados pequenas e estáveis a partir de grupos complexos de dados.
erDiagram
PEDIDO ||--o{ PECAS_PEDIDAS : contém
PECA ||--o{ PECAS_PEDIDAS : "é referida em"
FORNECEDOR ||--o{ PECA : fornece
PEDIDO {
string Numero_Pedido PK
date Data_Pedido
date Data_Entrega
float Total_Pedido
}
PECAS_PEDIDAS {
string Numero_Pedido PK
string Numero_Peca PK
int Quantidade_Peca
}
PECA {
string Numero_Peca PK
string Descricao_Peca
float Preco_Unitario
float Total_Pedido
}
FORNECEDOR {
string Numero_Fornecedor PK
string Nome_Fornecedor
string Endereco_Fornecedor
}
Figura 7.11: Relação normalizada para pedido.
Fonte: LAUDON e LAUDON, 2004.
Na criação de um ambiente de banco de dados, deve-se observar que os bancos de dados geralmente são centralizados e podem ser distribuídos em particionado ou duplicado, são usados por um único processador central ou por múltiplos processadores em uma rede clienteservidor e armazenados em mais de um local físico. Em um ambiente de banco de dados, ao se optar por um processador central, este deve estar localizado em uma máquina (CPU hospedeira) com rápida velocidade de processamento, visando gerar os dados solicitados com rapidez e eficiência para atender aos usuários. Por exemplo, os provedores de páginas web necessitam de CPU hospedeira com alta capacidade de armazenamento e velocidade de processamento muito rápida.
graph TD
subgraph A["(a) Banco de dados particionado"]
direction TB
BDA["Banco de dados central"] --> CHA["CPU hospedeira"]
CHA --> CRA1["CPU remota"] --> BRA1["Banco de dados remoto – partição A"]
CHA --> CRA2["CPU remota"] --> BRA2["Banco de dados remoto – partição B"]
end
subgraph B["(b) Banco de dados duplicado"]
direction TB
BDB["Banco de dados central"] --> CHB["CPU hospedeira"]
CHB --> CRB1["CPU remota"] --> BRB1["Banco de dados remoto duplicado"]
CHB --> CRB2["CPU remota"] --> BRB2["Banco de dados remoto duplicado"]
end
Figura 7.12: Banco de dados central.
Fonte: LAUDON e LAUDON, 2004.
Segurança de Dados
Seção intitulada “Segurança de Dados”Os bancos de dados são utilizados para armazenar diversos tipos de informações, desde dados sobre uma conta de e-mail até dados importantes da Receita Federal. Para tal, existem diversos tipos, os quais variam em complexidade e, sobretudo, em segurança.
Com a existência de um patrimônio virtual da organização, a necessidade de imposição de segurança nos sistemas de informação passou a ser de grande importância. O uso de computadores torna algumas vulnerabilidades da organização mais acentuadas, e a imposição de segurança promove a minimização de prejuízos e a garantia de qualidade dos dados e informações do sistema. A maior preocupação da segurança deve ser contra ataques internos, funcionários insatisfeitos e ex-funcionários que possuam privilégios avançados. Um quadro assustador demonstra que muitas empresas não possuem sequer a capacidade de definir se foram ou não atacadas de alguma forma.
Já as maiores ameaças aos sistemas de informação são incêndio, falha elétrica, mau funcionamento de hardware, erros de software, erros de usuário e mau uso do computador.
Existe uma regra que diz que “risco = vulnerabilidades x ataques”.
Portanto, a segurança deve se concentrar em pontos relevantes como:
servidores, pontos de conexão de redes, usuários e seus privilégios nos sistemas. Os invasores mais conhecidos são: hackers e seus variantes, funcionários descontentes, usuários mal treinados e vírus de computador.
Alguns métodos de segurança devem ser considerados para minimizar os risco como: controle de acesso, autenticação de usuário, certificados digitais e criptografia (método que utiliza algoritmos matemáticos complexos para codificar e decodificar os dados ou informações que estejam em tráfego nos sistemas de telecomunicações).
Atividade 2
Seção intitulada “Atividade 2”Você é administrador do banco de dados de uma empresa especializada em desenvolvimento de softwares. A empresa adota um dos principais tipos de banco de dados existentes hoje, como o DBMS relacional e o orientado a objeto.
Os DBMS são flexíveis, suportam relações entre entidades do tipo muitos-para-muitos e são eficientes para armazenar dados. Podem também armazenar recursos gráficos e outros tipos de dados, além dos dados convencionais de texto, para dar suporte a aplicações de multimídia, facilitando o acesso e a utilização das informações. Uma das suas funções é auxiliar a empresa na criação de um ambiente de banco de dados favorável ao compartilhamento de informações provenientes de projeto conceitual e lógico, diagrama entidade-relacionamento e normalização.
Como os principais tipos de DBMS afetam o modo como a empresa especializada em desenvolvimento de softwares pode acessar e utilizar suas informações?
Resposta Comentada
Dentre os quatro principais tipos de banco de dados (DBMS hierárquico, em rede, relacional e orientado a objeto), a empresa especializada em desenvolvimento de softwares optou por adotar os DBMS relacional e orientado a objeto. Sistemas relacionais são muito flexíveis para suportar requisições de informação provisória e para consolidar informações de fontes diferentes. Suportam relações entre entidades do tipo muitos-para-muitos e são eficientes para armazenar dados alfanuméricos que podem ser organizados em campos e registros estruturados.
Essa flexibilidade não era possível com os modelos mais antigos de banco de dados (hierárquicos e em rede). O DBMS orientado a objeto pode armazenar recursos gráficos e outros tipos de dados, além dos dados convencionais de texto, para dar suporte a aplicações multimídia.
O administrador do banco de dados da empresa deve auxiliar na criação de um projeto de banco de dados visando facilitar o acesso e a utilização das informações provenientes de projeto conceitual e lógico, diagrama entidade-relacionamento e normalização. O projeto lógico modela o banco de dados a partir de uma perspectiva empresarial. O processo de criação de estruturas de dados pequenas e estáveis a partir de grupos complexos durante o processo de projeto de um banco relacional é chamado normalização. O projeto também considera as alternativas de distribuir o banco de dados completo ou apenas partes dele para mais de uma localização, a fim de aumentar a capacidade de resposta e reduzir a vulnerabilidade e os custos.
Tendência dos Bancos de Dados
Seção intitulada “Tendência dos Bancos de Dados”A história de evolução dos atuais bancos de dados mostra que a tendência é tornar cada vez mais fácil armazenar, compartilhar e consultar dados através de:
-
processamento analítico online (Online Analytical Processing – OLAP), cuja análise multidimensional de dados permite a manipulação e a análise de grandes volumes de dados a partir de várias dimensões ou perspectivas;
-
data warehouses (armazéns de dados), que suportam ferramentas de relatório e consultas, armazenam dados atuais e históricos, e consolidam dados para análise da administração e tomada de decisão;
graph LR
subgraph FI["Fontes internas de dados"]
DO1["Dados operacionais"]
DH1["Dados históricos"]
DO2["Dados operacionais"]
DH2["Dados históricos"]
end
subgraph FE["Fontes externas de dados"]
DE1["Dados externos"]
DE2["Dados externos"]
end
FI --> ET["Extrai e transforma"]
FE --> ET
ET --> DW[("Data warehouse")]
DW <--> DI["Diretório de informações"]
DW --> AA["Acesso e análise de dados<br/>• Consultas e relatórios<br/>• OLAP<br/>• Data mining"]
Figura 7.13: Data warehouses.
Fonte: LAUDON e LAUDON, 2004.
-
data mining (mineração de dados), que é o processo de explorar grandes quantidades de dados à procura de padrões consistentes, como regras de associação ou sequências temporais, para detectar relacionamentos sistemáticos entre variáveis, detectando, assim, novos subconjuntos de dados, ou seja, são ferramentas para analisar grandes repositórios de dados que encontram padrões consistentes e que inferem regras para prever o comportamento futuro;
-
web e banco de dados hipermídia, que organizam dados como uma rede de nós (servidor web ou HTML) que vinculam os nós em um padrão especificado por usuário e suportam texto, gráficos, som, vídeo e programas executáveis;
-
servidor de banco de dados e de aplicação, que se refere a um computador em um ambiente cliente-servidor que roda um DBMS para processar requisições SQL, executar tarefas de gerenciamento de banco de dados e administrar todas as operações de aplicativos.
graph LR
NAV["Navegador web"] <--> INT((Internet))
INT <--> SW["Servidor web ou HTML<br/>+ aplicativo de servidor<br/>(programas personalizados)"]
SW <--> SBD["Servidor de banco de dados"]
SBD <--> BD[("Banco de dados")]
Figura 7.14: Servidor de banco de dados conectado à web.
Fonte: LAUDON e LAUDON, 2004.
Conclusão
Seção intitulada “Conclusão”A administração de sistemas de informação aborda três itens importantes, como: administração, organização e tecnologia, que interagem entre si, conforme veremos a seguir:
-
Administração – Selecionar um modelo de dados e uma tecnologia de gerenciamento de dados apropriados para a empresa é uma decisão gerencial relevante. Gerentes precisam avaliar os custos e benefícios da implementação de um ambiente de banco de dados e as capacidades dos vários DBMS ou tecnologias de gerenciamento de arquivos. A gerência deve assegurar-se de que os bancos de dados organizacionais sejam projetados para atender aos objetivos do gerenciamento da informação e às necessidades empresariais.
-
Organização – O modelo de dados da empresa deve refletir seus principais processos de negócio e requisitos para tomada de decisões. Pode ser necessário fazer planejamento dos dados para garantir que o modelo de dados escolhido seja eficiente na entrega de informações para os processos de negócios da empresa e aprimore seu desempenho.
-
Tecnologia – Existem algumas opções disponíveis de bancos de dados e gerenciamento de arquivos para organizar e armazenar informações. Decisões tecnológicas cruciais devem considerar a eficiência do acesso à informação, a flexibilidade na organização da informação, o tipo de informação a ser armazenada e organizada e a compatibilidade com o modelo de dados da empresa, bem como com o hardware e os sistemas operacionais.
Atividade Final A F&G Manaus, localizada no Norte do Brasil, dedica-se ao estudo dos genomas.
Em 2002, o governo brasileiro concedeu a essa empresa uma licença de dez anos para projetar, construir e administrar um banco de dados de históricos médicos para o Brasil. Além da centralização dos históricos médicos, o governo também concedeu à F&G Manaus o direito de cruzar esses dados com os dados genéticos e genealógicos dos brasileiros.
A F&G Manaus desenvolveu sofisticados softwares de ferramentas analíticas para localizar variações genéticas que podem ser encontradas em uma quantidade de doenças, com o intuito de comercializar novos medicamentos e testes diagnósticos para as enfermidades genéticas. A empresa já descobriu cerca de vinte genes que, acredita, estão relacionados com mais de quinze doenças. A Francys Laboratórios, indústria farmacêutica francesa, está trabalhando em parceria com a F&G Manaus, lançando programas para desenvolver novas drogas para o tratamento de esquizofrenia, derrames e doenças arteriais.
Os projetos da F&G Manaus não deixam de despertar controvérsias. Um terço dos médicos do Brasil, em cujas clínicas existem dados previamente armazenados, recusou-se a entregar históricos até receberem o consentimento por escrito de seus pacientes. De fato, a lei do DBMS do setor de saúde aprovada em 1998 (que habilitou o ministro da Saúde a conceder a licença para a criação e o gerenciamento de um banco de dados de saúde nacional) e a subsequente concessão da licença à F&G Manaus têm encontrado resistência cada vez maior.
Embora a F&G Manaus tenha desenvolvido um software de programa para cifrar automaticamente os dados, mantendo secretas as identidades dos participantes, há quem acredite que, em um país como o Brasil, o histórico médico já teria, por si só, o potencial de revelar a identidade de uma pessoa.
Desenvolver um ambiente de banco de dados requer muito mais do que apenas selecionar a tecnologia. Requer uma política formal (prevista em lei) de informação que administre a manutenção, a distribuição e a utilização da informação na organização. Os projetos da F&G Manaus prevêem o uso de ferramentas para analisar a informação contida em bancos de dados e para tirar partido dos recursos de informação através da web.
Os dados serão analisados no âmbito da empresa pela utilização de data warehouse e data mining, e serão usados bancos de dados do tipo hipermídia.
Quais são os requisitos gerenciais e organizacionais, as novas ferramentas e tecnologias que tornam um ambiente de banco de dados da empresa F&G Manaus mais acessíveis e úteis?
Resposta Comentada
Os requisitos gerenciais e organizacionais para desenvolver um ambiente de banco de dados mais acessível e útil requerem muito mais do que apenas selecionar a tecnologia adequada.
Requerem normas formais para administrar a manutenção, a distribuição e a utilização da informação na empresa. As normas também devem auxiliar a desenvolver uma função de gerenciamento e uma metodologia de planejamento de dados. Há resistência política nas organizações e no país contra muitos dos conceitos-chave de banco de dados, especialmente no que se refere ao compartilhamento de informações que, até então, são controladas exclusivamente por um grupo organizacional.
Para analisar a informação contida em bancos de dados e para tirar partido dos recursos de informação disponíveis via web, existe uma série de novas ferramentas como: análise multidimensional de dados, também conhecida como processamento analítico online, que pode representar as relações entre dados como uma estrutura multidimensional, e pode ser mais bem visualizada a partir de uma análise mais sofisticada. Os dados podem ser mais convenientemente analisados no âmbito da empresa pela utilização de data warehouse, data mining e bancos de dados hipermídia. O data warehouse é usado para extrair e consolidar dados correntes e históricos de muitos sistemas operacionais diferentes, a fim de auxiliar a tomada de decisões. O data mining analisa grandes repositórios de dados, inclusive o conteúdo dos data warehouses, para descobrir modelos e regras que podem ser utilizados para prever comportamentos futuros e orientar a tomada de decisões. Os bancos de dados hipermídia permitem que os dados sejam armazenados em nós interligados segundo um modelo determinado pelo usuário, e são utilizados para armazenar informações em sites web. Os bancos de dados convencionais podem ser conectados à web para facilitar o acesso do usuário aos dados internos da empresa.