Top Banner
Banco de dados e os usuários de banco de dados
48

01 - Bancos de Dados e Usuários de Banco de Dados

Apr 15, 2016

Download

Documents

Lucas Menezes

bd
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: 01 - Bancos de Dados e Usuários de Banco de Dados

Banco de dados e os usuários de banco de dados

Page 2: 01 - Bancos de Dados e Usuários de Banco de Dados

AVISO

No decorrer desta disciplina, fica PROIBIDO o uso da imagem do banquinho feito com

dados.

Page 3: 01 - Bancos de Dados e Usuários de Banco de Dados

Introdução

Dados – fatos que podem ser gravados e que possuem um significado implícito. Ex:

• Nomes

• Telefones

• Endereços

Banco de Dados - Uma coleção de dados relacionados

Page 4: 01 - Bancos de Dados e Usuários de Banco de Dados

Propriedades implícitas de um BD

1. Representa alguns aspectos do mundo real – Um BD pode às vezes ser chamado de

minimundo ou universo de discurso. – As mudanças no minimundo são refletidas em

um banco de dados. 2. É uma coleção lógica e coerente de dados com

algum significado inerente. – Uma organização de dados randômica não

pode ser interpretada como um banco de dados.

Page 5: 01 - Bancos de Dados e Usuários de Banco de Dados

Propriedades implícitas de um BD

3. Um banco de dados é projetado, construído e povoado por dados, atendendo uma proposta específica, possuindo:

– Grupo de usuários definido

– Aplicações preconcebidas

Page 6: 01 - Bancos de Dados e Usuários de Banco de Dados

Sistema gerenciador de banco de dados (SGBD)

• Permite realizar a definição, construção, manipulação e compartilhamento de bancos de dados entre vários usuários e aplicações.

Coleção de programas que permite aos usuários criar e manter um banco de dados.

Page 7: 01 - Bancos de Dados e Usuários de Banco de Dados

Funções do SGBD

• Definição do BD – especificar os tipos de dados, estruturas e restrições para os dados a serem armazenados em um BD.

• Construção – armazenamento dos dados em alguma mídia apropriada, controlada pelo BD.

• Manipulação – inclui funções como pesquisas para recuperação de dados, atualização do BD para refletir as mudanças no minimundo e geração de relatórios dos dados

• Compartilhamento – função que permite que múltiplos usuários acessem, de forma concorrente, o banco de dados.

Page 8: 01 - Bancos de Dados e Usuários de Banco de Dados

Funções do SGBD (cont.)

• Proteção – Defende o sistema contra mau funcionamento ou falhas no hardware e software, e cuida da segurança contra acessos não autorizados ou maliciosos.

• Manutenção – permite a evolução dos requisitos que se alteram ao longo do tempo.

Page 9: 01 - Bancos de Dados e Usuários de Banco de Dados

Software SGBD

Sistema de banco de dados = BD + SGBD

Usuários/Programadores

Programas de aplicações/consultas (Queries)

Programa para processamento de Consultas/Programas

Software para acesso aos dados armazenados

Definição dos dados armazenados (metadados)

Banco de dados armazenados

Page 10: 01 - Bancos de Dados e Usuários de Banco de Dados

Exemplo de BD: Universidade

ALUNO Nome Matricula Turma NumCurso

Wandergleison ABC111111 1 003

Washingtonildo DEF222222 1 003

Waldireneide AAC333333 2 003

Rosicleniany DGE444444 2 003

Leydedayanilva CGD555555 1 008

CURSO NomedoCurso NumCurso

Sistemas de Informação 003

Biologia 007

Nutrição 008

Matemática 009

Page 11: 01 - Bancos de Dados e Usuários de Banco de Dados

Exemplo de BD: Universidade (cont.)

HISTÓRICO_ESCOLAR Matricula IdDisciplinas Nota

ABC111111 ACD 9

ABC111111 AGD 8

AAC333333 ACD 8

PRE_REQUISITO NumDisc NumerodoPre_requisito

AGD ACD

DISCIPLINA IdDisciplina NomeDisciplina NumCurso

AAA Teoria Geral dos Sistemas 003

AEF Arquitetura de Computadores 003

ACD Fundamentos de Banco de Dados 003

AGD Banco de Dados 003

Page 12: 01 - Bancos de Dados e Usuários de Banco de Dados

Emprego de BD vs. Processamento de arquivos

Page 13: 01 - Bancos de Dados e Usuários de Banco de Dados

Processamento de arquivos

Cada usuário define e implementa os arquivos necessários para uma aplicação específica, como parte da programação da aplicação.

• Isso resulta em redundância.

• Ex: Em uma empresa, são mantidos 2 cadastros de clientes: um pelo setor de vendas e um pelo setor de contabilidade.

– Quais as consequências dessa redundância?

Page 14: 01 - Bancos de Dados e Usuários de Banco de Dados

Consequências da redundância

• Desperdício de espaço de armazenamento (Dados repetidos localizados em fontes diferentes)

• Dificuldade em manter a consistência dos dados.

– O que acontece se eu atualizar o endereço do cliente somente no setor de contabilidade? Onde serão entregues as mercadorias enviadas pelo setor de vendas?

Page 15: 01 - Bancos de Dados e Usuários de Banco de Dados

Emprego de um banco de dados

Características:

• Natureza autodescritiva do Sistema de Banco de Dados.

• Isolamento entre os programas e dados, e Abstração dos Dados

• Suporte a múltiplas visões dos dados.

• Compartilhamento de dados e processamento de transações de multiusuários

Page 16: 01 - Bancos de Dados e Usuários de Banco de Dados

Natureza autodescritiva do sistema de Banco de Dados

• O Sistema de Banco de Dados não possui apenas o banco de dados, mas também uma completa definição ou descrição da estrutura do banco, e suas restrições.

* No processamento de arquivos, essa definição dos dados também faz parte dos programas da aplicação

Page 17: 01 - Bancos de Dados e Usuários de Banco de Dados

Catalogo do SGBD

• Provê ao usuário e o DBA a informação que armazena, mas é acessado principalmente pelos módulos do SGBD.

• Contém informações como a estrutura de cada arquivo, o tipo e o formato de armazenamento de cada item de dados e várias restrições sobre os dados.

• Fortemente acoplado ao software do SGBD.

Page 18: 01 - Bancos de Dados e Usuários de Banco de Dados

Dicionário de Dados

• Termo mais amplo que catálogo. • Repositório centralizado de metadados (informações sobre os

dados, como significados, relacionamentos entre dados, origem, uso e formatos).

• Mantém informação sobre configurações, documentação, aplicações e usuários do sistema.

• Pode interagir com os módulos do SGBD (dicionário Ativo), mas é usado principalmente por Designers, usuários e administradores do sistema (Dicionário Passivo).

• Pode ser: – Um documento descrevendo um banco ou coleção de bancos; – Um componente integral de um SGBD necessário pra determinar sua

estrutura; – Uma parte de middleware que extenda ou complete o dicionário

nativo de um SGBD.

Page 19: 01 - Bancos de Dados e Usuários de Banco de Dados

Isolamento entre os programas e dados e Abstração de dados

• A alteração na estrutura de um SGBD não necessariamente exige uma alteração nos programas que o acessam.

• Isso é permitido graças à abstração de dados.

Independência programa – dados: A estrutura dos arquivos de dados é armazenada no catálogo do SGBD separadamente do programa de acesso.

*No processamento tradicional de arquivos, a estrutura do arquivo de dados está embutida no programa da aplicação (Uma mudança na estrutura do arquivo pode exigir mudanças nos programas que acessam o arquivo.

Page 20: 01 - Bancos de Dados e Usuários de Banco de Dados

Suporte para as Múltiplas Visões dos Dados

• Um banco de dados possui muitos usuários

• Cada usuário pode solicitar uma diferente perspectiva (visão dos dados).

Visão: pode ser um subconjunto de um banco de dados, ou conter uma visão virtual dos dados (derivados do arquivo do banco de dados, mas não, explicitamente, armazenados).

Page 21: 01 - Bancos de Dados e Usuários de Banco de Dados

Compartilhamento de dados e processamento de Transações

Multiusuários • SGBD multiusuário – Permite que muitos

usuários acessem o banco de dados ao mesmo tempo. – Controle de concorrência: garante que, quando

muitos usuários tentem acessar o mesmo dado, realizem isso de maneira controlada, para garantir que os resultados das atualizações sejam corretos.

– Transação: programa em execução ou processo que inclui um ou mais acessos ao banco de dados, como leituras e atualizações de registros.

Page 22: 01 - Bancos de Dados e Usuários de Banco de Dados

Propriedades ACID

Propriedades obrigatórias a um SGBD.

• Atomicidade – Ou todas as operações em uma transação devem ser executadas, ou então nenhuma deverá ser.

• Consistência – Toda transação deve levar o BD de um estado Consistente para outro estado consistente (Sem problemas de integridade).

• Isolamento – Cada transação pode ser efetuada de forma isolada (sem interferência) de outras transações.

• Durabilidade – A informação deve ser gravada no BD de forma imutável até que alguma outra transação de atualização, ou exclusão afete-a.

Page 23: 01 - Bancos de Dados e Usuários de Banco de Dados

Atores em BD

Page 24: 01 - Bancos de Dados e Usuários de Banco de Dados

Atores

Pessoas envolvidas no projeto, uso e manutenção de um BD.

• Administradores de Banco de Dados

• Projetistas do Banco de Dados

• Usuários Finais

• Analistas de Sistemas e programadores de aplicações (Engenheiros de software)

Page 25: 01 - Bancos de Dados e Usuários de Banco de Dados

Administradores de banco de Dados

• Administram o banco de dados (!)

• Responsáveis por:

– Autorização de acesso

– Coordenação e monitoração de uso do BD

– Aquisição de recursos de hardware e software, conforme necessário.

– Segurança

– Desempenho do BD

Page 26: 01 - Bancos de Dados e Usuários de Banco de Dados

Projetistas do BD

Responsáveis por:

• Identificar os dados que serão armazenados no banco.

• Escolher estruturas apropriadas para representar e armazenar esses dados.

• Levantamento de requisitos

• Desenvolver visões de usuários

Page 27: 01 - Bancos de Dados e Usuários de Banco de Dados

O usuário final

• Usuários finais casuais – Acessam o banco ocasionalmente, e procuram informações diferentes a cada acesso, por meio de linguagem de consulta sofisticada. Ex.: gerentes e outros profissionais com necessidades ocasionais.

• Iniciantes ou usuários finais parametrizáveis – Grande parte dos usuários. Executam consultas e atualizações frequentes no BD, geralmente padronizadas e cuidadosamente testadas. (transações “enlatadas”).

Page 28: 01 - Bancos de Dados e Usuários de Banco de Dados

O usuário final

• Usuários finais sofisticados – engenheiros, cientistas, analistas de negócios e outros que se familiarizam com as particularidades do SGBD para implementar aplicações que atendam solicitações complexas.

• Usuários autônomos (stand-alone) – mantém um banco de dados pessoal por meio do uso de pacotes de programas prontos que possuem interfaces gráficas ou programas baseados em menus fáceis de usar. Ex: usuário de um pacote para cálculo de impostos que armazena seus dados financeiros pessoais para o pagamento de impostos.

Page 29: 01 - Bancos de Dados e Usuários de Banco de Dados

Analistas de sistemas e programadores de aplicações (Engenheiros de

Software) • Analistas de sistemas – determinam as

solicitações dos usuários finais.

• Programadores de aplicações – implementam as especificações levantadas pelos analistas na forma de programas, então os testam, documentam e mantém essas transações customizadas.

Page 30: 01 - Bancos de Dados e Usuários de Banco de Dados

Outros profissionais ligados ao desenvolvimento de SGBDs

• Projetistas e implementadores de SGBDs

• Desenvolvedores de ferramentas

• Pessoal de manutenção e operadores

Page 31: 01 - Bancos de Dados e Usuários de Banco de Dados

Vantagens de utilização de SGBDs

Page 32: 01 - Bancos de Dados e Usuários de Banco de Dados

Controle de redundância

• Redundância – armazenamento dos mesmos dados em locais diferentes. Pode causar: – Duplicação de esforços

– Desperdício de espaço

– Inconsistência

• Usar SGBDs permitem unificar as visões de diversos usuários de maneira consistente.

• Pode ser necessário o uso de redundância controlada para melhorar a performance de consultas.

Page 33: 01 - Bancos de Dados e Usuários de Banco de Dados

Restrição de acesso Não Autorizado

• Pode ser necessário limitar o acesso/manipulação de determinados usuários a certas informações.

• 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.

Page 34: 01 - Bancos de Dados e Usuários de Banco de Dados

Armazenamento persistente para Objetos Programas

• BDs OO podem oferecer armazenamento persistente aos objetos programa e às estruturas de dados, evitando que os mesmos se percam no termino da execução (objetos persistentes).

Page 35: 01 - Bancos de Dados e Usuários de Banco de Dados

Armazenamento de estruturas para processamento eficiente de consultas

Devido ao armazenamento em disco, o SGBD deve ser adaptado para aumentar a velocidade de pesquisa dos registros. • Arquivos auxiliares (indexados) – possuem estruturas

de dados árvores ou estruturas de dados hash adaptadas para pesquisa em disco.

• Buffering – armazenamento temporário que mantém partes do BD na memória principal

• Módulos de processamento e otimização de consulta – responsável pela escolha eficiente do plano de execução da consulta (query) baseado nas estruturas de armazenamento existentes.

Page 36: 01 - Bancos de Dados e Usuários de Banco de Dados

Backup e restauração

• O SGBD deve prover facilidades para restauração de falhas de hardware ou de software.

• Subsistema de restauração – garante que, no caso de falha no meio de uma transação, o BD seja capaz de voltar ao estado em que estava antes do início da transação. Pode também permitir, caso viável, que a transação falha seja resumida do ponto onde foi interrompida.

Page 37: 01 - Bancos de Dados e Usuários de Banco de Dados

Múltiplas interfaces para os Usuários

Cada usuário deve ter interfaces adequadas a seu nível técnico. • Linguagens de consulta para usuários casuais. • Interfaces de linguagens de programação para

programadores de aplicações. • Formulários e sequencias de comandos para

usuários parametrizáveis • Menus, linguagem natural, para usuários

autônomos

GUIs (Graphical User Interfaces) – Interfaces com menus e formulários, mais simples de trabalhar do que em modo texto.

Page 38: 01 - Bancos de Dados e Usuários de Banco de Dados

Representação de relacionamentos complexos entre dados

• O SGBD deve ser capaz de representar relacionamentos entre os dados, e recuperar os dados relacionados de maneira fácil e eficiente.

Page 39: 01 - Bancos de Dados e Usuários de Banco de Dados

Restrições de integridade

Restrições derivadas do significado (semântica) dos dados e do minimundo que representam. Ex.:

• Especificação de um tipo de dado ou de valores permitidos para cada item de dados.

• Definição de registros em um arquivo que devem estar relacionados a registros em outros arquivos.

Page 40: 01 - Bancos de Dados e Usuários de Banco de Dados

Permitir inferências e ações usando regras

• Um BD pode gerar novas informações a partir de dados armazenados no BD.

• Ex.: Dedução de que um aluno está em recuperação à partir de suas notas.

Page 41: 01 - Bancos de Dados e Usuários de Banco de Dados

Outras implicações do uso de BDs

• Padronização dos dados.

• Redução do tempo de desenvolvimento de aplicações

• Flexibilidade de alteração na estrutura do BD

• Disponibilidade para atualizar as informações

• Economia

Page 42: 01 - Bancos de Dados e Usuários de Banco de Dados

Quando NÃO usar SGBDs

• SGBDs podem custar caro devido a: – Investimentos em software, hardware e treinamento – Generalidade que o SGBD fornece para definição e

processamento dos dados. – Custos elevados para oferecer segurança, controle de

concorrência, recuperação e funções de integridade.

• Indica-se uso de arquivos quando: – O BD e as aplicações são simples, bem definidos e sem

previsão de mudanças – O programa possui requisitos de tempo real difíceis de

atender devido à sobrecarga do SGBD – Não é necessário acesso de múltiplos usuários aos dados

Page 43: 01 - Bancos de Dados e Usuários de Banco de Dados

Histórico das aplicações de BDs

Page 44: 01 - Bancos de Dados e Usuários de Banco de Dados

Modelo de Rede

Utiliza o conceito de registros (dados) e links (relacionamentos) para representar o banco.

Page 45: 01 - Bancos de Dados e Usuários de Banco de Dados

Modelo de Rede (cont.)

Page 46: 01 - Bancos de Dados e Usuários de Banco de Dados

Modelo Relacional

• Representa os dados na forma de Relações, Interligadas por relacionamentos.

• Modelo mais utilizado atualmente.

• Será visto com mais detalhes ao longo da disciplina.

Page 47: 01 - Bancos de Dados e Usuários de Banco de Dados

Modelo Relacional

EMPREGADO SECRETARIA

TECNICO

ENGENHEIRO

* CPF

Nome DataNasc Endereco

Empregado

VelocDigitacao CPF (FK)

Secretaria

TipoEng CPF(FK)

Engenheiro

TGrau CPF (FK)

Tecnico

Page 48: 01 - Bancos de Dados e Usuários de Banco de Dados

BDs Orientados a Objetos (OO)

• Adequação dos BDs para as atuais linguagens orientadas a Objetos.