Você está na página 1de 25

Captulo 1: Introduo

Slides traduzidos/adaptados por: Deise de Brum Saccol (UFSM) Slides originais em: http://codex.cs.yale.edu/avi/db-book/db5/slide-dir/index.html

Database System Concepts, 5th Ed.


Silberschatz, Korth and Sudarshan See www.db-book.com for conditions on re-use

Sistema de Gerenciamento de Banco de Dados (SGBD)


SGBD Coleo de dados inter-relacionados Banco de dados (base de dados) Informaes relevantes a uma empresa Conjunto de programas para acessar estes dados Um ambiente conveniente e eficiente para usar Aplicaes de BD: Banco: clientes, contas, emprstimos, transaes bancrias Linhas areas: reservas, informaes de horrios Universidades: alunos, cursos, registros de notas Vendas: clientes, produtos, compras Indstria: gerenciamento da cadeia de suprimento, controle de estoque Recursos humanos: funcionrios, salrios, gerao de contra-cheques BDs formam uma parte essencial de quase todas as empresas atuais

Silberschatz, Korth and Sudarshan Database System Concepts - 5th Edition

1.2

Slides traduzidos/adaptados por: Deise Saccol (UFSM)

Finalidade dos SBD


Aplicaes de BD eram construdas usando sistema de arquivos Desvantagens de usar sistema de arquivos para armazenar dados: Redundncia e inconsistncia de dados Vrios formatos de arquivos, duplicao de informao em diferentes arquivos Dificuldade no acesso aos dados Necessidade de escrever um novo programa para realizar cada nova tarefa Isolamento de dados vrios arquivos e formatos de arquivos Problemas de integridade Restries de integridade (ex: saldo>0) Adicionar cdigo apropriado nos vrios programas de aplicao Difcil adicionar novas restries ou modificar as restries existentes
Silberschatz, Korth and Sudarshan Database System Concepts - 5th Edition 1.3 Slides traduzidos/adaptados por: Deise Saccol (UFSM)

Finalidade 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 modificaes realizadas Exemplo: transferir $ de uma conta para outra precisa ocorrer em sua totalidade ou no deve ocorrer absolutamente Acesso concorrente por mltiplos usurios Acesso concorrente necessrio para melhor desempenho Acesso concorrente no controlado pode levar inconsistncias Exemplo: 2 pessoas lendo um saldo e atualizando ao mesmo tempo Problemas de segurana Difcil fornecer acesso a alguns dados SBD oferecem solues para todos os problemas citados acima

Silberschatz, Korth and Sudarshan Database System Concepts - 5th Edition

1.4

Slides traduzidos/adaptados por: Deise Saccol (UFSM)

Nveis de abstrao
Nvel fsico: descreve como um registro (por ex., cliente) armazenado Nvel lgico: 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; Nvel de viso: programas de aplicao escondem detalhes dos tipos de dados. Vises tambm podem esconder informaes (salrio de empregado) por questes de segurana

Silberschatz, Korth and Sudarshan Database System Concepts - 5th Edition

1.5

Slides traduzidos/adaptados por: Deise Saccol (UFSM)

Vises dos dados


Os trs nveis de abstrao dos dados

Silberschatz, Korth and Sudarshan Database System Concepts - 5th Edition

1.6

Slides traduzidos/adaptados por: Deise Saccol (UFSM)

Instncias e esquemas
Similar a tipos e variveis em linguagens de programao Esquema a estrutura lgica do BD Exemplo: o BD consiste de informaes sobre um conjunto de clientes e contas e o relacionamento entre eles Anlogo a informao de tipo de uma varivel em um programa Esquema fsico: projeto do BD no nvel fsico Esquema lgico: projeto do BD no nvel lgico Instncia o contedo do BD em um momento particular no tempo Anlogo ao valor de uma varivel Independncia fsica de dados habilidade de modificar o esquema fsico sem mudar o esquema lgico Aplicaes dependem do esquema lgico Em geral, interfaces entre os vrios nveis e componentes devem ser bem definidas, de tal forma que mudanas em algumas partes no influenciem seriamente as outras

Silberschatz, Korth and Sudarshan Database System Concepts - 5th Edition

1.7

Slides traduzidos/adaptados por: Deise Saccol (UFSM)

Modelos de dados
Uma coleo de ferramentas para descrever dados relacionamentos semntica restries 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 hierrquico

Silberschatz, Korth and Sudarshan Database System Concepts - 5th Edition

1.8

Slides traduzidos/adaptados por: Deise Saccol (UFSM)

Modelo relacional
Atributos

Exemplo de um dado tabular no modelo relacional

Silberschatz, Korth and Sudarshan Database System Concepts - 5th Edition

1.9

Slides traduzidos/adaptados por: Deise Saccol (UFSM)

Um exemplo de um BD relacional

Silberschatz, Korth and Sudarshan Database System Concepts - 5th Edition

1.10

Slides traduzidos/adaptados por: Deise Saccol (UFSM)

Linguagem de manipulao de dados (DML)


Linguagem para acessar e manipular os dados organizados pelo modelo de dados DML tambm conhecida como linguagem de consulta SQL a linguagem mais amplamente utilizada

Silberschatz, Korth and Sudarshan Database System Concepts - 5th Edition

1.11

Slides traduzidos/adaptados por: Deise Saccol (UFSM)

SQL
SQL: linguagem no procedural amplamente usada Exemplo: Encontrar o nome do cliente com id 192-83-7465 select customer.customer_name from customer where customer.customer_id = 19283-7465

Silberschatz, Korth and Sudarshan Database System Concepts - 5th Edition

1.12

Slides traduzidos/adaptados por: Deise Saccol (UFSM)

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 = 19283-7465 and depositor.account_number = account.account_number

Silberschatz, Korth and Sudarshan Database System Concepts - 5th Edition

1.13

Slides traduzidos/adaptados por: Deise Saccol (UFSM)

Linguagem de definio de dados (DDL)


Notao de especificao para definir o esquema do BD Exemplo: create table account ( account-number balance char(10), integer)

Compilador DDL gera um conjunto de tabelas armazenadas em um dicionrio de dados Dicionrio de dados contm metadados (dados sobre dados) Esquema do BD Especifica a estrutura de armazenamento e os mtodos de acesso usados Restries de integridade Restries de domnio Integridade referencial Autorizao

Silberschatz, Korth and Sudarshan Database System Concepts - 5th Edition

1.14

Slides traduzidos/adaptados por: Deise Saccol (UFSM)

Projeto de BD
O processo de projetar a estrutura geral de um BD: Projeto lgico decidir o esquema do BD. Projeto do BD requer encontrar uma boa coleo de tabelas Deciso de negcio quais atributos deveriam ser armazenados no BD? Deciso de computao quais tabelas devemos ter e como os atributos devem ser distribudos entre estas vrias tabelas? Projeto fsico decidir o layout fsico do BD

Silberschatz, Korth and Sudarshan Database System Concepts - 5th Edition

1.15

Slides traduzidos/adaptados por: Deise Saccol (UFSM)

O modelo entidade-relacionamento
Modela uma empresa como uma coleo 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 associao entre vrias entidades Representado graficamente por um diagrama entidaderelacionamento:

Silberschatz, Korth and Sudarshan Database System Concepts - 5th Edition

1.16

Slides traduzidos/adaptados por: Deise Saccol (UFSM)

Processamento de consultas
1. Parsing e traduo 2. Otimizao 3. Avaliao

Silberschatz, Korth and Sudarshan Database System Concepts - 5th Edition

1.17

Slides traduzidos/adaptados por: Deise Saccol (UFSM)

Processamento de consultas (Cont.)


Formas alternativas de avaliar uma consulta Expresses equivalentes Diferentes algoritmos para cada operao Diferena de custo entre uma forma boa e uma ruim para avaliar uma consulta pode ser enorme Necessidade de estimar o custo das operaes Depende criticamente de informaes estatsticas sobre tabelas, as quais so mantidas pelo BD Necessidade de estimar estatsticas para resultados intermedirios para processar o custo de expresses complexas

Silberschatz, Korth and Sudarshan Database System Concepts - 5th Edition

1.18

Slides traduzidos/adaptados por: Deise Saccol (UFSM)

Gerenciamento de transaes
Uma transao uma coleo de operaes que realizam uma nica funo lgica em uma aplicao de BD O componente de gerenciamento de transaes garante que o BD permanea em um estado consistente (correto) mesmo que ocorram falhas (ex: falta de energia/falha do SO/erro de transao). O gerenciador de controle de concorrncia controla a interao entre as transaes concorrentes para garantir a consistncia do BD

Silberschatz, Korth and Sudarshan Database System Concepts - 5th Edition

1.19

Slides traduzidos/adaptados por: Deise Saccol (UFSM)

Usurios do BD
Usurios se diferenciam pela forma com que eles interagem com o sistema Programadores de aplicao interagem com o sistema via chamadas DML Usurios sofisticados fazem requisies em uma linguagem de consulta BD Usurios especializados escrevem aplicaes de BD especializadas, que no se enquadram na estrutura de processamento tradicional de dados Usurios leigos invocam programas de aplicao que foram previamente escritos Ex: pessoas acessando BD na web, caixas automticos etc

Silberschatz, Korth and Sudarshan Database System Concepts - 5th Edition

1.20

Slides traduzidos/adaptados por: Deise Saccol (UFSM)

Administrador do BD (DBA)
Coordena todas as atividades do SBD; o DBA tem uma boa compreenso dos recursos e das necessidades de informao da empresa Funes de um DBA incluem: Definio do esquema Definio das estruturas de armazenamento e dos mtodos de acesso Modificao do esquema e da organizao fsica Concesso de autorizao para acesso ao BD Especificar restries de integridade Monitorar desempenho e responder mudanas nos requisitos Manuteno de rotina Backups peridicos Monitorar tarefas do BD Assegurar que o desempenho no seja comprometido
Silberschatz, Korth and Sudarshan Database System Concepts - 5th Edition 1.21 Slides traduzidos/adaptados por: Deise Saccol (UFSM)

Estrutura do sistema

Silberschatz, Korth and Sudarshan Database System Concepts - 5th Edition

1.22

Slides traduzidos/adaptados por: Deise Saccol (UFSM)

Histria de SBD
1950s e comeo dos 1960s: Processamento de dados usavam fitas magnticas para armazenamento Fitas fornecem somente acesso seqencial Cartes perfurados para entrada Fim dos 1960s e 1970s: Discos rgidos permitem acesso direto aos dados Uso de modelos de dados em rede e hierrquicos 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 transaes com alto desempenho (para a poca)

Silberschatz, Korth and Sudarshan Database System Concepts - 5th Edition

1.23

Slides traduzidos/adaptados por: Deise Saccol (UFSM)

Histria (cont.)
1980s: Prottipos de pesquisa no modelo relacional evoluem para sistemas comerciais SQL torna-se padro industrial SBD paralelos e distribudos SBD orientados a objetos 1990s: Aplicaes de suporte deciso e minerao de dados Grandes data warehouses (terabytes) Emergncia de comrcio pela web 2000s: Padres XML e XQuery Administrao automatizada/auto-administrao de BD

Silberschatz, Korth and Sudarshan Database System Concepts - 5th Edition

1.24

Slides traduzidos/adaptados por: Deise Saccol (UFSM)

Sugesto de leitura

Captulo 1 Introduo Silberschatz Sistema de Banco de Dados, 5a edio. Editora Campus.

Silberschatz, Korth and Sudarshan Database System Concepts - 5th Edition

1.25

Slides traduzidos/adaptados por: Deise Saccol (UFSM)

Você também pode gostar