Buscar

Resumo Cap 1 - Banco de Dados e os Usuarios de Bancos de Dados

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 7 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 7 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Resumo Cap 1 - Banco de Dados e os Usuários de Bancos de Dados
Aplicações tradicionais de banco de dados - a maioria das informações que são
armazenadas e acessadas apresenta-se em formatos textual ou numérico.
1.1. Introdução
Um banco de dados é uma coleção de dados relacionados. Os dados são fatos que
podem ser gravados e que possuem um significado implícito.
● Representa alguns aspectos do mundo real, sendo chamado, às vezes, de
minimundo ou de universo de discurso (UoD);
● É uma coleção lógica e coerente de dados com algum significado inerente;
● É projetado, construído e povoado por dados, atendendo a uma proposta específica;
● Possui um grupo de usuários definido e algumas aplicações pré concebidas.
Um banco de dados pode ser gerado e mantido manualmente ou pode ser automatizado
(computadorizado).
Um sistema gerenciador de banco de dados (SGBD) é uma coleção de programas que
permite aos usuários criar e manter um banco de dados. Um sistema de software de
propósito geral que facilita os processos de definição, construção, manipulação e
compartilhamento de bancos de dados entre vários usuários e aplicações.
● A definição de um banco de dados implica especificar os tipos de dados, as
estruturas e as restrições para os dados a serem armazenados em um banco de
dados;
● A construção de um banco de dados é o processo de armazenar os dados em
alguma mídia apropriada controlada pelo SGBD;
● A manipulação inclui algumas funções, como pesquisas, atualizações e gerar
relatórios;
● O compartilhamento permite aos múltiplos usuários e programas acessar, de forma
concorrente, o banco de dados;
● A proteção inclui a proteção do sistema contra o mau funcionamento ou falhas
(crashes) no hardware ou software;
● A segurança é para evitar acessos não autorizados ou maliciosos.
O banco de dados e o software SGBD, juntos, são chamados de sistema de banco de
dados.
1.3. Características do Emprego de Banco de Dados
Banco de Dados x Processamento de Arquivos:
● Natureza autodescritiva do sistema de banco de dados. (1)
● Isolamento entre os programas e os dados, e a abstração dos dados. (2)
● Suporte para as múltiplas visões dos dados. (3)
● Compartilhamento de dados e processamento de transações de multiusuários. (4)
(1) O sistema de banco de dados possui não apenas o banco de dados, mas também uma
completa definição ou descrição da estrutura desse banco de dados e suas restrições. Essa
definição está armazenada no catálogo do SGBD, é chamada de metadados e descreve a
estrutura do banco de dados primário.
(2) A estrutura dos arquivos de dados é armazenada no catálogo do SGBD separadamente
do programa de acesso. Denominaremos essa propriedade independência
programa-dados. A característica que permite a independência programa-dados e
programa-operação é intitulada abstração de dados.
(3) Um banco de dados típico tem muitos usuários, e cada qual pode solicitar diferentes
perspectivas ou visões do banco de dados. Um SGBD multiusuários, cujos usuários têm
várias aplicações distintas, deve proporcionar facilidades para a definição de múltiplas
visões.
(4) O SGBD deve incluir um software de controle de concorrência para garantir que
muitos usuários, ao tentar atualizar o mesmo dado, o façam de um modo controlado, para
assegurar que os resultados das atualizações sejam corretos, garantindo que as
transações concorrentes operem corretamente.
Uma transação é um programa em execução ou processo que inclui um ou mais acessos
ao banco de dados, como a leitura ou a atualização de registros.
● A propriedade de isolamento garante que cada transação possa ser efetuada de
forma isolada de outras transações;
● A propriedade de atomicidade garante que todas as operações em um banco de
dados, em uma transação, sejam executadas ou nenhuma seja.
1.6. Vantagens da Utilização da Abordagem SGBD
1.6.1. Controle de Redundância
A redundância em armazenar os mesmos dados várias vezes gera muitos problemas,
como:
● Duplicação de esforços;
● Desperdício de espaço de armazenamento;
● Possibilidade de gerar inconsistência nos dados armazenados;
A redundância controlada oferece mecanismos para o controle de informações replicadas.
O SGBD deve ter a capacidade de controlar essas redundâncias, impedindo as
inconsistências entre os arquivos.
1.6.2. Restringindo Acesso Não Autorizado
O SGBD deve garantir a segurança e um subsistema de autorização usado pelo DBA
para criar contas e definir as restrições de cada uma. O SGBD deve, então, garantir essas
restrições automaticamente.
Os usuários parametrizáveis podem ter permissão para acessar o banco de dados somente
por meio de transações específicas, desenvolvidas para seu uso.
1.6.3. Garantindo o Armazenamento Persistente para Objetos Programas
Os bancos de dados podem ser usados para oferecer um armazenamento persistente aos
objetos programas e estruturas de dados.
Os sistemas tradicionais de banco de dados geralmente possuem o chamado problema de
separação por impedância, quando as estruturas de dados fornecidas pelo SGBD são
incompatíveis com as estruturas de dados da linguagem de programação.
1.6.4. Garantindo o Armazenamento de Estruturas para o
Processamento Eficiente de Consultas
Os sistemas de banco de dados devem fornecer funcionalidades para a execução de
atualizações e consultas eficientemente. Os indexes são baseados em estruturas de dados
árvores (tree) ou estruturas de dados hash, adequadamente adaptados para a pesquisa
em disco.
Os SGBD em geral têm um módulo de armazenamento temporário (buffering) que mantém
partes do banco de dados armazenado na memória principal.
1.6.5. Garantindo Backup e Restauração
Um SGBD deve prover facilidades para a restauração de falhas de hardware ou de
software. O subsistema de backup e recuperação dos subsistemas do SGBD é
responsável pela recuperação dessas falhas.
1.6.6. Fornecendo Múltiplas Interfaces para os Usuários
Como diversos tipos de usuários com níveis de conhecimento técnico diferentes utilizam o
banco de dados, o SGBD deve fornecer interfaces diferentes para esses usuários.
1.6.7. Representando Relacionamentos Complexos Entre os Dados
Um banco de dados pode incluir uma grande variedade de dados que estão
inter-relacionados de muitas maneiras.
O SGBD deve ter a capacidade de representar a variedade de relacionamentos complexos
entre os dados, bem como recuperar e atualizar os dados relacionados fácil e
eficientemente.
1.6.8. Forçando as Restrições de Integridade
A maioria das aplicações de um banco de dados tem certas restrições de integridade que
devem complementar os dados. O SGBD deve prover funcionalidades para a definição e a
garantia dessas restrições.
1.6.9. Permitindo Inferências e Ações Usando as Regras
Alguns sistemas de banco de dados oferecem capacidades para definir as regras de
dedução por inferência gerando novas informações de fatos armazenados no banco de
dados. Esses sistemas são chamados sistemas de banco de dados dedutivos.
Os sistemas de banco de dados ativos oferecem funcionalidades mais potentes, pois
permitem regras ativas que podem disparar automaticamente ações quando certos eventos
e condições ocorrerem.
1.6.10. Implicações Adicionais do Uso da Abordagem de um Banco de
Dados
Algumas implicações adicionais da utilização da abordagem do uso de um banco de
dados que beneficiam a maioria das organizações:
● Potencial para Garantir Padrões;
● Redução no Tempo de Desenvolvimento de Aplicações;
● Flexibilidade;
● Disponibilidade para Atualizar as Informações;
● Economias de Escala;
1.7. Uma Breve História da Aplicação dos Bancos de Dados
1.7.1 Primeiras Aplicações de Bancos de Dados Usando Sistemas
Hierárquicos e de Rede
Um dos principais problemas com os sistemas de banco de dados pioneiros era a mistura
entre os relacionamentos conceituais, o armazenamento físico e a localização de registros
no disco.
As novas consultas que precisavam de uma organização diferente de armazenamento
para a eficiência no processamento eram muito difíceis de serem implementadas.
Outradeficiência desses sistemas era que forneciam somente as interfaces para a
linguagem de programação.
Os principais tipos desses sistemas iniciais foram baseados em três paradigmas principais:
os sistemas hierárquicos, aqueles baseados em modelo de rede, e os de arquivos
invertidos.
1.7.2 Obtendo Flexibilidade de Aplicação com o Banco de Dados
Relacional
Os bancos de dados relacionais foram originalmente projetados com o objetivo de separar
o armazenamento físico dos dados da sua representação conceitual e prover uma
fundamentação matemática para os bancos de dados.
Introduziu as linguagens de consulta de alto nível como uma alternativa às interfaces
para as linguagens de programação.
Os primeiros sistemas relacionais experimentais desenvolveram-se no fim dos anos 70 e
os SGBDRs (sistemas de gerenciamento de banco de dados relacional) introduzidos no
início dos anos 80 eram muito lentos, pois não usavam ponteiros.
Com o desenvolvimento de novas técnicas para melhoria de desempenho, os bancos de
dados relacionais tornaram-se os tipos dominantes de sistemas para as aplicações
tradicionais de banco de dados.
1.7.3 Aplicações Orientadas a Objeto e a Necessidade de Bancos de
Dados Mais Complexos
O aparecimento das linguagens de programação orientadas a objeto nos anos 80 e a
necessidade de armazenar e partilhar os objetos complexos estruturados conduziram ao
desenvolvimento dos bancos de dados orientados a objeto.
A complexidade do modelo e a falta de um padrão inicial contribuíram para seu uso
limitado. Hoje são usados principalmente em aplicações especializadas.
1.7.4 Trocando Dados na Web para o Comércio Eletrônico (E-commerce)
Nos anos 90, o comércio eletrônico (e-commerce) surgiu como a principal aplicação da
Web. Tornou-se rapidamente visível que partes das informações do comércio eletrônico nas
páginas Web eram, muitas vezes, dados extraídos dinamicamente dos SGBDs.
A XML (extended Markup Language) é considerada o principal padrão para o
intercâmbio de dados entre os vários tipos de banco de dados e as páginas Web, pois
combina os conceitos de modelos empregados nos sistemas de documentos com os
conceitos de modelos de bancos de dados.
1.7.5 Ampliando as Funcionalidades dos Bancos de Dados para as
Novas Aplicações
O sucesso dos sistemas de banco de dados em aplicações tradicionais encorajou os
desenvolvedores de outros tipos de aplicações a se esforçarem para usá-los:
● Aplicações científicas;
● Armazenamento e restauração de imagens;
● Armazenamento e recuperação de filmes;
● Aplicações para data mining;
● Aplicações espaciais;
● Aplicações referentes a séries temporais.
Os sistemas relacionais básicos não eram adequados para muitas dessas
aplicações,por uma ou mais das razões a seguir:
● As estruturas de dados mais complexas eram necessárias para a modelagem da
aplicação do que uma representação relacional simples;
● Os novos tipos de dados eram imprescindíveis, além dos tipos numéricos básicos
e as cadeias de caracteres (strings);
● As novas operações e construtores de linguagens de consulta eram essenciais
para manipular os novos tipos de dados;
● As novas estruturas de armazenamento e indexação eram necessárias.
1.8. Quando Não Usar o SGBD
Esse sistema pode envolver custos altos e desnecessários, que normalmente não
ocorreriam no processamento tradicional de arquivos devido a:
● Investimentos iniciais altos em hardware, software e treinamento;
● Generalidade que o SGBD fornece para a definição e processamento dos dados;
● Custos elevados para oferecer segurança, controle de concorrência, recuperação e
funções de integridade.
Pode-se indicar o uso de arquivos convencionais nas seguintes circunstâncias:
● O banco de dados e suas aplicações são simples, bem definidas e sem previsão
de mudanças;
● Há requisitos de tempo real (real-time) para alguns programas difíceis de serem
atendidos por causa da sobrecarga (overhead) do SGBD.
● O acesso de múltiplos usuários aos dados não é necessário.

Continue navegando