Escolar Documentos
Profissional Documentos
Cultura Documentos
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
1.2
1.4
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
1.5
1.6
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
1.7
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
1.8
Modelo relacional
Atributos
1.9
Um exemplo de um BD relacional
1.10
1.11
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
1.12
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
1.13
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
1.14
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
1.15
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:
1.16
Processamento de consultas
1. Parsing e traduo 2. Otimizao 3. Avaliao
1.17
1.18
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
1.19
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
1.20
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
1.22
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)
1.23
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
1.24
Sugesto de leitura
1.25