inf0198 – introdução à computação 1 introdução à computação unidade v – banco de dados
TRANSCRIPT
1INF0198 – Introdução à Computação
Introdução à ComputaçãoIntrodução à Computação
Unidade V – Banco de Dados
2INF0198 – Introdução à Computação
Banco de Dados
Dado• “Dados são os fatos em sua forma primária, como por exemplo um
nome de um empregado e o número de horas trabalhadas em uma semana, números de peças em estoque ou pedidos de vendas.”
Os dados relevantes e que devem ser manipulados por um determinado negócio se mantém estáveis mesmo que o negócio em questão modifique radicalmente sua forma de operação, ou seja, seus processos. Logo, os dados são mais estáveis que os processos. Por esta razão muitos autores acreditam que o banco de dados é uma das partes mais valiosas e importantes de um sistema de informação.
3INF0198 – Introdução à Computação
Banco de Dados - Hierarquia dos Dados
Os dados geralmente são organizados em uma hierarquia, que começa com o menor dado utilizado pelos computadores ( bit ) e vai progredindo na hierarquia até o banco de dados:
• 8 bits = 1 byte
• 1 byte = 1 caracter = bloco básico de construção da informação
• 1 conjunto de caracteres = 1 campo
• 1 coleção de campos relacionados = 1 registro
• 1 coleção de registros relacionados = 1 arquivo
• 1 coleção de arquivos integrados e relacionados = 1 banco de dados
4INF0198 – Introdução à Computação
Hierarquia dos Dados - exemplo
Funcionário Registro 2
Funcionário Registro 1
Funcionário Registro 3
Funcionário Registro 4
NomeNº daPrevi-dência
Salário NomeNº daPrevi-dência
Salário NomeNº daPrevi-dência
Salário NomeNº daPrevi-dência
Salário
Dados Dados Dados Dados Dados Dados Dados Dados Dados Dados Dados Dados
Bancos de Dados de Pessoal
Arquivo de Folha de
Pagamento
Arquivo de Benefícios
5INF0198 – Introdução à Computação
Banco de Dados
Conjunto de dados integrados que tem por objetivo atender a uma comunidade de usuários
Coleção de dados inter-relacionados tal que:
• um BD representa uma porção da realidade
• um BD é projetado, construido e carregado com dados para atender a um propósito específico:um grupo de usuários e algumas aplicações pré-definidas nas quais estes usuários estão interessados
INF0198 – Introdução à Computação
Elementos Básicos do Banco de Dados
Entidades: representam classes de objetos do mundo real. Ex: funcionários, clientes, produtos
Relacionamentos: representam agregações entre duas ou mais entidades.Ex: associação cliente aos produtos que ele compra
Atributos: representam propriedades elementares das entidades e/ou dos relacionamentos. Ex: matrícula do funcionário, número do telefone do cliente
7INF0198 – Introdução à Computação
Exemplo de entidades e relacionamentos em uma concessionária de eletricidade e algumas aplicações que dependem de acesso aos elementos do banco de dados da
empresa
Entidades: clientes, medidores, contasPagamentos, leituras de medidores
Banco de DadosBanco de Dados
Relacionamentos: contas enviadas aos
clientes, clientes fazem pagamentos, clientes utilizam medidores, ...
Faturamento
Leitura de medidor
Processamento de pagamento
Início/Parada do Serviço
Banco de Dados de uma
Concessionaria de Eletricidade
8INF0198 – Introdução à Computação
Sistema tradicional de arquivos
emissão de guias de cobrança
cadastro de clientes
contas a receber
emissão de ordens de fornecimento
cadastro de fornecedore
s
cadastro de itens
emissão de contas a pagar
emissão de pedidos de compra
emissão de folha de pagamento
cadastro de empregados
cadastro de itens
cadastro de clientes
cadastro de fornecedore
s
cadastro de pedidos
- dados estão projetados para atender uma aplicação específica - dados não estão integrados, mas em diferentes arquivos
INF0198 – Introdução à Computação
Limitações da abordagem tradicional
mesmo objeto da realidade é representado mais de uma vez em diferentes arquivos – redundância
redundância leva a :• inconsistência : dados não representam corretamente a realidade• alterações em parte dos dados pode levar a registros incompatíveis
dados pouco confiáveis
programas de aplicação dependentes dos dados• descrição da estrutura dos arquivos está embutida nos programas e
acesso
10INF0198 – Introdução à Computação
Vantagens da Abordagem de Bancos de Dados em relação a Sistemas de Arquivos
Redundância de dados reduzida
Integridade dos dados aperfeiçoada
Modificação e atualização mais fáceis
Independência entre programas e dados
Melhor acesso aos dados e à informação
Padronização do acesso aos dados
Uma estrutura para desenvolvimento de programa
Melhor proteção global dos dados
Fontes de dados e de informação compartilhados
11INF0198 – Introdução à Computação
Envolve três atividades básicas:
• Atualização e manutenção de bancos de dados comuns para refletir novas transações de negócios e outros eventos que exigem mudanças nos registros de uma organização
• Fornecimento das informações requisitadas por cada aplicação do usu[ario final mediante o uso de aplicativos que compartilham os dados em bancos de dados comuns
• Fornecimento de uma capacidade de consulta/resposta e emissão de relatórios por meio de um softwrae de gerenciamento, de sorte quen os usuários finais possam utilizar navegaodores de Rede e a Intermert ou intranets para consulktar facilmente os bancos de daos, gerar relatórios re receber respostas rápidas as seuis pedidos de informsções para situações específicas
Banco de Dados – abordagem do Banco de Dados – abordagem do gerenciamento de BDgerenciamento de BD
INF0198 – Introdução à Computação
Sistema de Gerenciamento de BD
SGBD
Aplicações de BD
Usuário
BANCO DE
DADOS
Conjunto de programas de computador que controla a criação, manutenção e uso dosanco de Dados
(em inglês: Database Management System - DBMS)
INF0198 – Introdução à Computação
Componentes de um SGBD
Definição do Banco de Dados
• Linguagens e ferramentas gráficas para definir entidades, relacionamentos, restrições à integridade e direitos de autorização
Acesso Informal
• Linguagem e ferramentas gráficas para acessar dados sem codificações complicadas
Desenvolvimento de Aplicações
• Ferramentas gráficas para desenvolver menus, formulários de entrada de dados e relatórios
INF0198 – Introdução à Computação
Componentes de um SGBD
Interface de linguagem codificada• Linguagem que combina acesso informal com a capacidade plena de uma linguagem de programação
Processamento de Transações
• Mecanismos de controle para impedir a interferência de usuários simultâneos e recuperar dados perdidos após uma falha
Ajuste do Banco de Dados
• Ferramentas para monitorar e melhorar o desempenho do banco de dados
INF0198 – Introdução à Computação
Tipos de Bancos de Dados
Bancos de dados Operacionais• armazenam dados detalhados necessários para apoiar os processos e operações do dia-a dia das empresas, incluindo bancos de dados de atividades de e-commerce e internet
Bancos de Dados Distribuídos
• muitas empresas reproduzem e distribuem cópias ou partes de bancos de dados para servidores de rede em uma multiplicidade de locais. O objetivo é melhorar o desempenho e a segurança do banco de dados. O maior desafio neste tipo de banco de dados é garantir que todos os dados distribuídos sejam constante e concomitantemente atualizados
INF0198 – Introdução à Computação
Tipos de Bancos de Dados
Bancos de Dados Externos
• dados que podem ser obtidos através de parcerias, convênios, aquisição, consulta, internet, etc ...
Data Warehouse
• Banco de dados que armazena dados sobre as operações da empresa, extraídos de uma fonte única ou múltipla, oferecendo enfoque histórico, para permitir um suporte efetivo à tomada de decisão
Banco de dados em Hipermídia na Rede ( Web )
• armazena documentos em hipertextos e multimídia
17INF0198 – Introdução à Computação
Principais Tipos de Banco de Dados
Servidor de Redes
Servidor de Redes
Bancos deDados Externos
na Internet e Serviços Online
Cliente PC ou
NCBancos de
Dados Operacionais da
Organização
Depósitos de Dados
Bancos deDados do
Usuário Final
Mercadosde Dados
Bancos de Dados
Distribuídos em
Intranets e Outras Redes
18INF0198 – Introdução à Computação
Modelos de Banco de Dados
Na construção de um banco de dados deve-se considerar as seguintes questões:
Conteúdo: Que dados devem ser coletados e a que custo ?
Acesso: Que dados devem ser fornecidos a qual usuário quando apropriado ?
Estrutura Lógica: Como os dados devem ser arrumados de forma que façam sentido para um determinado usuário ?
Organização Física: Onde os dados devem estar fisicamente localizados ?
19INF0198 – Introdução à Computação
Modelos de Banco de Dados
As relações entre os muitos registros individuais nos bancos de dados são baseadas em uma das diversas estruturas ou modelos lógicos de dados.
Os SGBD’s são projetados para utilizar uma estrutura específica de dados para fornecer aos usuários finais acesso rápido e fácil a informações armazenadas em banco de dados.
As cinco estruturas s de dados fundamentais são: hierárquico, em rede, relacionais, orientados a objetos e multidimensionais
20INF0198 – Introdução à Computação
Modelos de Banco de Dados
Estrutura Hierárquica
• As relações e os registros formam uma hierarquia ou estrutura de tipo árvore.
• Todos os registros são dependentes e dispostos em estruturas de níveis múltiplos, que consistem em um registro-raiz e qualquer número de níveis subordinados
• Todo elemento de dados pode ser acessado passando-se progressivamente para baixo a partir de uma raiz e ao longo dos ramos da árvore até que o registro desejado seja localizado
• Relacionamentos do tipo um-para-muitos
21INF0198 – Introdução à Computação
Estruturas de Bancos de Dados
Funcionário2
Funcionário2
Estrutura Hierárquica
Projeto A
Funcionário1
Departamento
Projeto B
22INF0198 – Introdução à Computação
Modelos de Banco de Dados
Estrutura em Rede
• Permite acessar um elemento de dados seguindo um dentre vários caminhos, porque qualquer elemento ou registro de dados pode ser relacionado com qualquer número de outros elementos de dados
• Relacionamentos do tipo muitos-para-muitos
23INF0198 – Introdução à Computação
Estruturas de Bancos de Dados
Estrutura em Rede
Funcionário3
Projeto BProjeto A
Funcionário2
Funcionário1
Departamento A
Departamento B
24INF0198 – Introdução à Computação
Modelos de Banco de Dados
Estrutura Relacional
• Mais popular entre as estruturas
• Todos os elementos de dados dentro do banco de dados são concebidos como armazenados em forma de tabelas simples
• Os SGBD’s relacionais vinculam elementos de várias tabelas para fornecer informações para os usuários
25INF0198 – Introdução à Computação
14532FpolisRua 23Arthur
53256BiguaçúAv. 43Marcos
53256FpolisLargo 2Tiago
521S.JoséR. 51João
1452FpolisAv. 2Pedro
Ncontacidaderuanome
14532
4651
53256
521
1452
Nconta
8767.02
456.25
465.52
6565.74
2452.25
saldo
Cliente Conta
Estruturas de Bancos de Dados
Estrutura Relacional
26INF0198 – Introdução à Computação
Modelos de Banco de Dados
Estrutura Multidimensional
• Variação do modelo relacional que utiliza estruturas multidimensionais para organizar dados e expressar as relações entre os dados
• Podemos visualizar estruturas multidimensionais como cubos de dados e cubos dentro de cubos de dados
• Cada face do cubo é considerada uma dimensão de dados
• Cada célula dentro de uma estrutura multidimensional contém dados agregados relacionados a elementos ao longo de cada uma de suas dimensões
27INF0198 – Introdução à Computação
Estruturas de Bancos de Dados
Total anual de vendas para ChinaData
Produ
to
Paí
s
sum
sum TV
VCRPC
1Qtr 2Qtr 3Qtr 4Qtr
China
India
Japão
sum
Estrutura Multidimensional
28INF0198 – Introdução à Computação
Modelos de Banco de Dados
Estrutura Baseada em Objetos
• Considerada uma das tecnologias-chave de uma nova geração de aplicativos multimídia na rede
• Um objeto consiste nos dados e nas ações que podem ser executadas sobre estes dados
• Esta capacidade de sintetização permite ao modelo orientado a objetos manipular melhor do que outras estruturas de bancos de dados os tipos mais complexos de dados: gráficos, imagens, voz e texto
29INF0198 – Introdução à Computação
Estruturas de Bancos de Dados
Objeto Conta Bancária
Atributos•Linha de Crédito•Extrato MensalOperações•Calcular juros•Imprimir Extrato Mensal
Objeto ContaCorrente
Atributos•Linha de Crédito•Extrato MensalOperações•Calcular juros•Imprimir Extrato Mensal
Objeto Conta dePoupança
Estrutura Baseada em Objetos
Atributos•Cliente•BalançoOperações•Depósito•Saque