• Nenhum resultado encontrado

ch1SilberschatzTraducao

N/A
N/A
Protected

Academic year: 2021

Share "ch1SilberschatzTraducao"

Copied!
25
0
0

Texto

(1)

Cap

Cap

í

í

tulo

tulo

1:

1:

Introdu

Introdu

ç

ç

ão

ão

Slides traduzidos/adaptados por: Deise de Brum Saccol (UFSM)

Slides originais em:

(2)

Sistema de Gerenciamento de Banco de

Sistema de Gerenciamento de Banco de

Dados (SGBD)

Dados (SGBD)

 SGBD

 Coleção de dados inter-relacionados  Banco de dados (“base de dados”)

– Informações relevantes a uma empresa

 Conjunto de programas para acessar estes dados  Um ambiente conveniente e eficiente para usar

 Aplicações de BD:

 Banco: clientes, contas, empréstimos, transações bancárias  Linhas aéreas: reservas, informações de horários

 Universidades: alunos, cursos, registros de notas  Vendas: clientes, produtos, compras

 Indústria: gerenciamento da cadeia de suprimento, controle de estoque  Recursos humanos: funcionários, salários, geração de contra-cheques

(3)

Finalidade

Finalidade

dos SBD

dos SBD

 Aplicações de BD eram construídas usando sistema de arquivos  Desvantagens de usar sistema de arquivos para armazenar dados:

 Redundância e inconsistência de dados

 Vários formatos de arquivos, duplicação de informação em

diferentes arquivos

 Dificuldade no acesso aos dados

 Necessidade de escrever um novo programa para realizar

cada nova tarefa

 Isolamento de dados – vários arquivos e formatos de arquivos  Problemas de integridade

 Restrições de integridade (ex: saldo>0)

– Adicionar código apropriado nos vários programas de aplicação

(4)

Finalidade

Finalidade

dos SBD (Cont.)

dos SBD (Cont.)

 Desvantagens de usar sistema de arquivos (cont.)

 Problemas de atomicidade

 Falhas podem deixar o BD em um estado inconsistente, com parte

das modificações realizadas

 Exemplo: transferir $ de uma conta para outra precisa ocorrer em

sua totalidade ou não deve ocorrer absolutamente

 Acesso concorrente por múltiplos usuários

 Acesso concorrente necessário para melhor desempenho

 Acesso concorrente não controlado pode levar à inconsistências

– Exemplo: 2 pessoas lendo um saldo e atualizando ao mesmo tempo

 Problemas de segurança

 Difícil fornecer acesso a alguns dados

(5)

N

N

í

í

veis de abstra

veis de abstra

ç

ç

ão

ão

 Nível físico: descreve como um registro (por ex., cliente) é armazenado

 Nível lógico: descreve dados armazenados em um BD, e os relacionamentos entre os dados

type cliente = record

id_cliente : string; nome_cliente : string; rua_cliente : string; cidade_cliente : string;

end;

 Nível de visão: programas de aplicação escondem detalhes dos tipos de dados. Visões também podem esconder informações (salário de empregado) por questões de segurança

(6)

Visões dos dados

Visões dos dados

(7)

Instâncias e esquemas

Instâncias e esquemas

 Similar a tipos e variáveis em linguagens de programação  Esquema – a estrutura lógica do BD

 Exemplo: o BD consiste de informações sobre um conjunto de clientes

e contas e o relacionamento entre eles

 Análogo a informação de tipo de uma variável em um programa  Esquema físico: projeto do BD no nível físico

 Esquema lógico: projeto do BD no nível lógico

 Instância – o conteúdo do BD em um momento particular no tempo

 Análogo ao valor de uma variável

 Independência física de dados – habilidade de modificar o esquema

físico sem mudar o esquema lógico

 Aplicações dependem do esquema lógico

 Em geral, interfaces entre os vários níveis e componentes devem ser

bem definidas, de tal forma que mudanças em algumas partes não influenciem seriamente as outras

(8)

Modelos de dados

Modelos de dados

 Uma coleção de ferramentas para descrever

 dados

 relacionamentos  semântica

 restrições

 Modelo relacional

 Modelo de dados entidade-relacionamento (principalmente para

projeto de BD)

 Modelos de dados baseados em objetos (orientado a objetos e

objeto-relacional)

 Modelo de dados semi-estruturado (XML)

 Outros modelos mais antigos:

 Modelo em rede  Modelo hierárquico

(9)

Modelo

Modelo

relacional

relacional

 Exemplo de um dado tabular no modelo relacional

(10)

Um

(11)

Linguagem de manipula

Linguagem de manipula

ç

ç

ão de dados (DML)

ão de dados (DML)

 Linguagem para acessar e manipular os dados organizados pelo

modelo de dados

 DML é também conhecida como linguagem de consulta

(12)

SQL

SQL

 SQL: linguagem não procedural amplamente usada

 Exemplo: Encontrar o nome do

cliente com id 192-83-7465

select customer.customer_name

from customer

where customer.customer_id =

(13)

SQL

SQL

 Exemplo: Encontrar o saldo de

todas as contas do cliente com id 192-83-7465

select account.balance

from depositor, account

where depositor.customer_id =

‘192-83-7465’ and

depositor.account_number = account.account_number

(14)

Linguagem de defini

Linguagem de defini

ç

ç

ão de dados (DDL)

ão de dados (DDL)

 Notação de especificação para definir o esquema do BD

Exemplo: create table account (

account-number char(10),

balance integer)

 Compilador DDL gera um conjunto de tabelas armazenadas em um dicionário de dados

 Dicionário de dados contém metadados (dados sobre dados)

 Esquema do BD

 Especifica a estrutura de armazenamento e os métodos de

acesso usados

 Restrições de integridade

 Restrições de domínio  Integridade referencial

(15)

Projeto de BD

Projeto de BD

O processo de projetar a estrutura geral de um BD:

 Projeto lógico – decidir o esquema do BD. Projeto do BD requer encontrar uma “boa” coleção de tabelas

 Decisão de negócio – quais atributos deveriam ser armazenados no

BD?

 Decisão de computação – quais tabelas devemos ter e como os

atributos devem ser distribuídos entre estas várias tabelas?

(16)

O modelo entidade

O modelo entidade

-

-

relacionamento

relacionamento

 Modela uma empresa como uma coleção de entidades e relacionamentos

 Entidade: uma “coisa” ou “objeto” na empresa que se distingue de

outros objetos

 Descrita por um conjunto de atributos

 Relacionamento: uma associação entre várias entidades

 Representado graficamente por um diagrama entidade-relacionamento:

(17)

Processamento

Processamento

de

de

consultas

consultas

1. Parsing e tradução 2. Otimização

(18)

Processamento de consultas (Cont.)

Processamento de consultas (Cont.)

 Formas alternativas de avaliar uma consulta

 Expressões equivalentes

 Diferentes algoritmos para cada operação

 Diferença de custo entre uma forma boa e uma ruim para avaliar uma consulta pode ser enorme

 Necessidade de estimar o custo das operações

 Depende criticamente de informações estatísticas sobre tabelas, as

quais são mantidas pelo BD

 Necessidade de estimar estatísticas para resultados intermediários

(19)

Gerenciamento de transa

Gerenciamento de transa

ç

ç

ões

ões

 Uma transação é uma coleção de operações que realizam uma única função lógica em uma aplicação de BD

 O componente de gerenciamento de transações garante que o BD permaneça em um estado consistente (correto) mesmo que ocorram falhas (ex: falta de energia/falha do SO/erro de transação).

 O gerenciador de controle de concorrência controla a interação entre as transações concorrentes para garantir a consistência do BD

(20)

Usu

Usu

á

á

rios do BD

rios do BD

Usuários se diferenciam pela forma com que eles interagem com o sistema

 Programadores de aplicação – interagem com o sistema via chamadas DML

 Usuários sofisticados – fazem requisições em uma linguagem de consulta à BD

 Usuários especializados – escrevem aplicações de BD especializadas, que não se enquadram na estrutura de processamento tradicional de dados

 Usuários leigos – invocam programas de aplicação que foram previamente escritos

(21)

Administrador do BD (DBA)

Administrador do BD (DBA)

 Coordena todas as atividades do SBD; o DBA tem uma boa compreensão dos recursos e das necessidades de

informação da empresa

 Funções de um DBA incluem:

 Definição do esquema

 Definição das estruturas de armazenamento e dos

métodos de acesso

 Modificação do esquema e da organização física  Concessão de autorização para acesso ao BD  Especificar restrições de integridade

 Monitorar desempenho e responder à mudanças nos

requisitos

 Manutenção de rotina

 Backups periódicos

(22)

Estrutura

(23)

Hist

Hist

ó

ó

ria de SBD

ria de SBD

 1950s e começo dos 1960s:

 Processamento de dados usavam fitas magnéticas para

armazenamento

 Fitas fornecem somente acesso seqüencial

 Cartões perfurados para entrada

 Fim dos 1960s e 1970s:

 Discos rígidos permitem acesso direto aos dados  Uso de modelos de dados em rede e hierárquicos  Ted Codd define o modelo de dados relacional

 Ganhou o premio ACM Turing Award por este trabalho  IBM Research: System R

 UC Berkeley: Ingres

 Processamento de transações com alto desempenho (para a

(24)

Hist

Hist

ó

ó

ria (cont.)

ria (cont.)

 1980s:

 Protótipos de pesquisa no modelo relacional evoluem para

sistemas comerciais

 SQL torna-se padrão industrial

 SBD paralelos e distribuídos  SBD orientados a objetos

 1990s:

 Aplicações de suporte à decisão e mineração de dados  Grandes data warehouses (terabytes)

 Emergência de comércio pela web

 2000s:

 Padrões XML e XQuery

(25)

Sugestão de leitura

Sugestão de leitura

 Capítulo 1 – Introdução

 Silberschatz – Sistema de Banco de Dados,

Referências

Documentos relacionados

As informações contábeis intermedirárias consolidadas incluem as demonstrações contábeis da controlada Odis Participações Ltda., com participação de 100% em

Bastos, Maria Helena Camara, A formação de professores para o ensino mútuo no Brasil: O “Curso Normal para professores de primeiras letras” do barão de Gérando (1839), en A

seria usada para o parafuso M6, foram utilizadas as equações 14 e 15, referentes aos parafusos de 8 mm de diâmetro e folga entre parafuso e furo de 0,5 mm, que definem,

No entanto, os resultados apresentados pelo --linalol não foram semelhantes, em parte, aos do linalol racêmico, uma vez que este apresenta um efeito vasorelaxante em anéis de

Resumo: O presente trabalho corresponde a um estudo empírico descritivo e exploratório que aborda comportamentos e falas de atores políticos que participaram do processo legislativo

As micotoxinas são compostos químicos tóxicos provenientes do metabolismo secundário de fungos filamentosos e conhecidas pelos danos causados à saúde humana e

onde Qe são as forças de origem externa ao sistema e Qc são as forças de reação. Estas equações não podem ser utilizadas diretamente, pois as forças de

Do ponto de vista gerencial, representa um dos maiores desafios aos profissionais do ramo, pois a memória do consumidor é muito volátil. Logo, deve-se atuar em todas as frentes