INF0198 – Introdução à Computação 1 Introdução à Computação Unidade V – Banco de...

29
1 INF0198 – Introdução à Computação Introdução à Computação Introdução à Computação Unidade V – Banco de Dados

Transcript of INF0198 – Introdução à Computação 1 Introdução à Computação Unidade V – Banco de...

Page 1: INF0198 – Introdução à Computação 1 Introdução à Computação Unidade V – Banco de Dados.

1INF0198 – Introdução à Computação

Introdução à ComputaçãoIntrodução à Computação

Unidade V – Banco de Dados

Page 2: INF0198 – Introdução à Computação 1 Introduçã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.

Page 3: INF0198 – Introdução à Computação 1 Introdução à Computação Unidade V – Banco de Dados.

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

Page 4: INF0198 – Introdução à Computação 1 Introdução à Computação Unidade V – 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

Page 5: INF0198 – Introdução à Computação 1 Introdução à Computação Unidade V – Banco de Dados.

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

Page 6: INF0198 – Introdução à Computação 1 Introdução à Computação Unidade V – Banco de Dados.

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

Page 7: INF0198 – Introdução à Computação 1 Introdução à Computação Unidade V – Banco de Dados.

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

Page 8: INF0198 – Introdução à Computação 1 Introdução à Computação Unidade V – Banco de Dados.

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

Page 9: INF0198 – Introdução à Computação 1 Introdução à Computação Unidade V – Banco de Dados.

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

Page 10: INF0198 – Introdução à Computação 1 Introdução à Computação Unidade V – Banco de Dados.

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

Page 11: INF0198 – Introdução à Computação 1 Introdução à Computação Unidade V – Banco de Dados.

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

Page 12: INF0198 – Introdução à Computação 1 Introdução à Computação Unidade V – Banco de Dados.

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)

Page 13: INF0198 – Introdução à Computação 1 Introdução à Computação Unidade V – Banco de Dados.

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

Page 14: INF0198 – Introdução à Computação 1 Introdução à Computação Unidade V – Banco de Dados.

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

Page 15: INF0198 – Introdução à Computação 1 Introdução à Computação Unidade V – 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

Page 16: INF0198 – Introdução à Computação 1 Introdução à Computação Unidade V – Banco de Dados.

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

Page 17: INF0198 – Introdução à Computação 1 Introdução à Computação Unidade V – Banco de Dados.

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

Page 18: INF0198 – Introdução à Computação 1 Introdução à Computação Unidade V – Banco de Dados.

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 ?

Page 19: INF0198 – Introdução à Computação 1 Introdução à Computação Unidade V – Banco de Dados.

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

Page 20: INF0198 – Introdução à Computação 1 Introdução à Computação Unidade V – Banco de Dados.

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

Page 21: INF0198 – Introdução à Computação 1 Introdução à Computação Unidade V – Banco de Dados.

21INF0198 – Introdução à Computação

Estruturas de Bancos de Dados

Funcionário2

Funcionário2

Estrutura Hierárquica

Projeto A

Funcionário1

Departamento

Projeto B

Page 22: INF0198 – Introdução à Computação 1 Introdução à Computação Unidade V – Banco de Dados.

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

Page 23: INF0198 – Introdução à Computação 1 Introdução à Computação Unidade V – Banco de Dados.

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

Page 24: INF0198 – Introdução à Computação 1 Introdução à Computação Unidade V – Banco de Dados.

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

Page 25: INF0198 – Introdução à Computação 1 Introdução à Computação Unidade V – Banco de Dados.

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

Page 26: INF0198 – Introdução à Computação 1 Introdução à Computação Unidade V – Banco de Dados.

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

Page 27: INF0198 – Introdução à Computação 1 Introdução à Computação Unidade V – Banco de Dados.

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

Page 28: INF0198 – Introdução à Computação 1 Introdução à Computação Unidade V – Banco de Dados.

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

Page 29: INF0198 – Introdução à Computação 1 Introdução à Computação Unidade V – Banco de Dados.

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