Baixe o app para aproveitar ainda mais
Prévia do material em texto
Banco de Dados I - Prof Tavares 1 Banco de Dados I Banco de Dados I - Prof Tavares 2 Bibliografia Banco de Dados I - Prof Tavares 3 • Dado: é um conjunto de símbolos que expressam uma idéia, condição, situação, entre outros. São sequências de fatos brutos que representam eventos que ocorrem nas organizações ou no ambiente físico, antes de terem sido organizados e arranjados de uma forma que as pessoas possam entendê-los e usá-los. • Informação: é um conjunto organizado de dados, apresentados de uma forma significativa e útil para os seres humanos. A informação nada mais é do que o dado submetido a atividades de processamento, como cálculo, comparação, ordenação, classificação e resumo. Conceitos Básicos Banco de Dados I - Prof Tavares 4 Usuários Programadores de aplicações. Administradores do BD (DBA). Usuários finais. Sistema de Banco de Dados Banco de Dados I - Prof Tavares 5 Usuários –Programadores de aplicação : implementam as especificações das transações como programas, testando-os, corrigindo-os e documentando-os. Sistema de Banco de Dados Banco de Dados I - Prof Tavares 6 Usuários –Administradores do BD (DBA) : responsáveis pela autorização do acesso ao BD e pela coordenação e monitoração do seu uso. Sistema de Banco de Dados Banco de Dados I - Prof Tavares 7 Administração de dados e administração de bancos de dados O conceito de controle centralizado implica que haverá na empresa alguma pessoa identificável que tenha a responsabilidade central pelos dados, e essa pessoa é o administrador de dados (abreviado como DA - Data Administrator) O trabalho do administrador de dados é decidir, para começar, que dados devem ser armazenados no banco de dados, além de estabelecer normas para manter e tratar esses dados, uma vez que venham a ser armazenados. Um exemplo de tal norma seria a de determinar quem pode executar quais operações sobre quais dados em que circunstâncias - em outras palavras, uma norma de segurança de dados. Sistema de Banco de Dados Banco de Dados I - Prof Tavares 8 Administração de dados e administração de bancos de dados (cont...) O administrador de dados é um gerente. O técnico responsável pela implementação das decisões do administrador de dados é o administrador de banco de dados (abreviado como DBA - Data Base Administrator). O trabalho do DBA é criar o banco de dados propriamente dito e implementar os controles técnicos necessários para pôr em prática as diversas decisões sobre normas tomadas pelo administrador de dados. O DBA também é responsável por assegurar que o sistema operará com desempenho adequado e por oferecer vários outros serviços técnicos. A função do DBA normalmente será executada na prática por uma equipe. Sistema de Banco de Dados Banco de Dados I - Prof Tavares 9 Sistema de Banco de Dados Definição do BD (Metadados) BD Consultas / Programas de Aplicação Software para processar consultas / programas Software para acessar dados armazenados Usuários / Programadores Sistema de BD SGBD Banco de Dados I - Prof Tavares 10 • É uma coleção de dados persistentes, usada pelos sistemas de aplicação de uma determinada empresa (Date, 2004). • Um BD representa algum aspecto do mundo real, chamado “minimundo” ou “universo de discurso”. As mudanças no mini-mundo são refletidas no banco de dados. Minimundo Banco de Dados Usuários Aplicações Banco de Dados Banco de Dados I - Prof Tavares 11 • Coleção de dados relacionados. • Fatos conhecidos que podem ser registrados e possuem significado implícito. • Representa algum aspecto do mundo real. • Coleção logicamente coerente de dados com algum significado inerente. • Construído para uma finalidade específica. Banco de Dados Banco de Dados I - Prof Tavares 12 Aplicações de banco de dados tradicionais Armazena informações textuais ou numéricas. Bancos de dados de multimídia Armazena imagens, clipes de áudio e streams de vídeo digitalmente. Sistemas de informações geográficas (GIS) Armazena e analisa mapas, dados sobre o clima e imagens de satélite. Aplicações Banco de Dados I - Prof Tavares 13 Sistemas de data warehousing e de processamento analítico on-line (OLAP) Extrair e analisar informações comerciais úteis de bancos de dados muito grandes. Ajuda na tomada de decisão. Tecnologia de tempo real e banco de dados ativo Controla processos industriais e de manufatura. Aplicações Banco de Dados I - Prof Tavares 14 • O primeiro banco de dados teve início nas décadas de 60 e 70 na IBM, com pesquisas em automação de tarefas de escritório. • Naquela época, tinha-se que ter muita gente ($$$) para armazenar e indexar os arquivos. • Em 1970 um pesquisador da IBM - Ted Codd publicou o primeiro artigo sobre bancos de dados relacionais. Este artigo tratava sobre uma forma de consultar os dados (em tabelas) por meio de comandos. Histórico Banco de Dados I - Prof Tavares 15 • Inicialmente, por ser muito complexo, não foi aceito nem implantado. • A IBM criou um grupo de pesquisa chamado System R, com o objetivo de desenvolver um sistema de BD para ser comercializado. • System R introduziu uma linguagem chamada Structured Query Language (SQL). Essa linguagem tornou-se padrão internacional para BD relacional. • O System R passou a se chamar SQL/DS. • SQL/DS evoluiu para DB2, que é o banco de dados comercial da IBM. Histórico Banco de Dados I - Prof Tavares 16 Sistema de Arquivos vs. Banco de Dados Banco de Dados I - Prof Tavares 17 • Alguns Sistemas de Arquivos: FAT32, NTFS, Ext2, Ext3, ReiserFS.... • Alguns Bancos de Dados: MySQL, SQL Server, Firebird, Postegre, DB2, Orcale... • Ambos tem um objetivo em comum: Armazenar dados em sistemas de computação. Sistema de Arquivos vs. Banco de Dados Banco de Dados I - Prof Tavares 18 Sistema de Arquivos vs. Banco de Dados Banco de Dados I - Prof Tavares 19 Sistema de Arquivos • A manutenção é prejudicada pois a estrutura de arquivos é definida e padronizada no próprio código do aplicativo (Cobol, Clipper, etc); • O compartilhamento de um arquivo por vários programas apresenta dificuldades para gerenciar o acesso a esses arquivos e seu controle; • O desenvolvimento de arquivos e programas de um mesmo SO é realizado isoladamente por programadores e linguagens diferentes, causando incompatibilidades no sistema; • A falta de gerenciamento de acessos concorrentes aos dados e recuperação de dados. Sistema de Arquivos vs. Banco de Dados Banco de Dados I - Prof Tavares 20 Sistema de Arquivos vs. Banco de Dados Banco de Dados I - Prof Tavares 21 Banco de Dados • Rapidez no acesso às informações presentes no Banco de Dados; • Redução de problemas de integridade e redundância; • Diminuição do esforço humano no desenvolvimento; • Utilização dos dados e controle integrado de informações distribuídas fisicamente; • Descreve uma coleção lógica e coerente de dados com algum significado inerente. Uma organização randômica de dados não pode ser considerada um Banco de Dados; • Construído em atendimento a uma proposta específica. Sistema de Arquivos vs. Banco de Dados Banco de Dados I - Prof Tavares 22 Arquitetura de Sistemas de Gerência de Bancos de Dados Banco de Dados I - Prof Tavares 23 • O sistema de bancode dados contém definição completa de sua estrutura e restrições. Metadados: descrevem as estruturas do banco de dados. • O catálogo é usado pelo: Software de SGBD; Usuários do banco de dados que precisam de informações sobre a estrutura do banco de dados. Natureza de autodescrição de um sistema de BD Principais características de um banco de dados Banco de Dados I - Prof Tavares 24 • Independência de dados do programa A estrutura dos arquivos de dados é armazenada no catálogo do SGBD separadamente dos programas de acesso (cliente). Isolamento entre programas e dados Principais características de um banco de dados Banco de Dados I - Prof Tavares 25 • Abstração de dados Permite a independência de dados do programa e a independência da operação do programa. Se adicionar um campo na tabela, na próxima consulta aquele dado já estará disponível. • Representação conceitual de dados Através do Diagrama MER. Não inclui detalhes de como os dados são armazenados ou como as operações são implementadas. Principais características de um banco de dados Isolamento entre programas e dados (cont...) Banco de Dados I - Prof Tavares 26 Visão Subconjunto do banco de dados. Contém dados virtuais derivados dos arquivos do banco de dados, mas que não estão armazenados da forma que são visualizados. Suporte para múltiplas visões dos dados Principais características de um banco de dados Banco de Dados I - Prof Tavares 27 • Permite que múltiplos usuários acessem o banco de dados ao mesmo tempo. • O compartilhamento significa não apenas que as aplicações existentes podem compartilhar os dados do banco de dados, mas também que podem ser desenvolvidas novas aplicações para operar sobre os mesmos dados. • Software de controle de concorrência Garante que vários usuários tentando atualizar o mesmo dado faça isso de uma maneira controlada e o resultado dessas atualizações seja correto. Compartilhamento de dados e processamento de transação multiusuário Principais características de um banco de dados Banco de Dados I - Prof Tavares 28 Uma transação é uma unidade lógica de trabalho (mais precisamente, uma unidade lógica de trabalho de banco de dados), em geral envolvendo diversas operações de banco de dados - em particular, várias operações de atualização. Propriedade de isolamento: Cada transação parece executar isoladamente das outras transações. Propriedade de atomicidade: Todas as operações em uma transação são executadas ou nenhuma será. Compartilhamento de dados e processamento de transação multiusuário Principais características de um banco de dados Banco de Dados I - Prof Tavares 29 O exemplo padrão envolve a transferência de uma quantia de dinheiro de uma conta A para outra conta B. É claro que são exigidas duas atualizações nesse caso, uma para retirar o dinheiro da conta A, e outra para depositá-lo na conta B. Se o usuário declarar que as duas atualizações são parte da mesma transação, então o sistema poderá efetivamente garantir que ambas serão realizadas ou nenhuma delas - ainda que, por exemplo, o sistema venha a falhar (digamos, devido a uma queda de energia) em meio ao processo. Compartilhamento de dados e processamento de transação multiusuário Principais características de um banco de dados Banco de Dados I - Prof Tavares 30 Em sistemas sem bancos de dados, cada aplicação tem seus próprios arquivos privados. Esse fato pode constantemente levar a uma considerável redundância nos dados armazenados, com o resultante desperdício no espaço de armazenamento. Às vezes, há motivos comerciais ou técnicos plausíveis para manter várias cópias distintas dos mesmos dados. Porém, sugere-se que toda redundância deve ser cuidadosamente controlada; isto é, o SGBD deve estar ciente dela (caso exista) e deve assumir a responsabilidade pela "propagação de atualizações". Principais características de um banco de dados Controle de Redundância Banco de Dados I - Prof Tavares 31 O problema da integridade é o problema de assegurar que os dados no banco de dados estão corretos. A inconsistência entre duas entradas que deveriam representar o mesmo "fato" é um exemplo de falta de integridade; é claro que este problema específico só poderá surgir se houver redundância nos dados armazenados. Contudo, mesmo que não haja qualquer redundância, o banco de dados ainda poderá conter informações incorretas. Principais características de um banco de dados Manutenção da Integridade Banco de Dados I - Prof Tavares 32 Por exemplo, um empregado poderia ser mostrado como tendo trabalhado 400 horas na semana em vez de 40, ou como pertencendo a um departamento que não existe. Sem a existência de controles apropriados, seria possível um usuário atualizar o banco de dados de forma incorreta, gerando assim dados errados e "infectando" desse modo outros usuários desses dados. Principais características de um banco de dados Manutenção da Integridade Banco de Dados I - Prof Tavares 33 Tendo jurisdição completa sobre o banco de dados, o DBA pode assegurar que o único meio de acesso ao banco de dados seja através dos canais apropriados e, em consequência, pode definir restrições de segurança a serem verificadas sempre que houver uma tentativa de acesso a dados confidenciais. Podem ser estabelecidas diferentes restrições para cada tipo de acesso (busca, inserção, exclusão etc.) a cada item de informação no banco de dados. A natureza centralizada de um sistema de banco de dados de certo modo exige que um bom sistema de segurança também seja implantado. Principais características de um banco de dados Reforço na Segurança Banco de Dados I - Prof Tavares 34 Conhecendo os requisitos globais da empresa, em oposição aos requisitos de usuários individuais, o DBA (mais uma vez sob a orientação do administrador de dados) pode estruturar o sistema de modo a oferecer um serviço global que seja "o melhor para a empresa". Por exemplo, pode ser escolhida uma representação física para os dados no meio de armazenamento que proporcione acesso rápido para as aplicações mais importantes (possivelmente ao custo de acesso mais lento para outras aplicações). Principais características de um banco de dados Requisitos contraditórios podem ser equilibrados Banco de Dados I - Prof Tavares 35 Com o controle central do banco de dados, o DBA pode garantir que todos os padrões aplicáveis sejam observados na representação dos dados, incluindo qualquer um ou todos os seguintes: padrões departamentais, da instalação, da empresa, do mercado, nacionais e internacionais. A padronização da representação dos dados é particularmente desejável como auxílio ao intercâmbio de dados, ou a migração de dados entre sistemas (sistemas distribuídos). Da mesma forma, os padrões de nomenclatura e documentação de dados também são muito desejáveis como auxílio ao compartilhamento e à compreensão dos dados. Principais características de um banco de dados Os padrões podem ser impostos Banco de Dados I - Prof Tavares 36 Sistema de Banco de Dados Definição do BD (Metadados) BD Consultas / Programas de Aplicação Usuários / Programadores Sistema de BD SGBD Componentes: • Dados • Hardware • Software • Usuários Software para processar consultas / programas Software para acessar dados armazenadosBanco de Dados I - Prof Tavares 37 SGBD O Sistema Gerenciador de Banco de Dados (SGBD) é o software que trata de todo o acesso ao banco de dados (Date). Banco de Dados I - Prof Tavares 38 Sistema de Banco de Dados Banco de Dados I - Prof Tavares 39 www.sybase.com.br/ www.oracle.com www-01.ibm.com/software/data/db2/ www.postgresql.org/ www.microsoft.com/sqlserver/en/us/default.aspx SGBD http://www.oracle.com/br/products/mysql/index.html Banco de Dados I - Prof Tavares 40 SGBD Principais funções Banco de Dados I - Prof Tavares 41 SGBD - Principais funções Definição de dados • O SGBD deve ser capaz de aceitar definições de dados (esquemas externos, o esquema conceitual, o esquema interno e todos os mapeamentos associados) em formato fonte e convertê-los para o formato objeto apropriado. Banco de Dados I - Prof Tavares 42 SGBD - Principais funções Manipulação de dados • O SGBD deve ser capaz de lidar com requisições do usuário para buscar, atualizar ou excluir dados existentes no banco de dados, ou para acrescentar novos dados ao banco de dados. • Em outras palavras, o SGBD deve incluir um componente processador de DML ou compilador de DML para lidar com a linguagem de manipulação de dados (DML - Data Manipulation Language). • Em geral, as requisições de DML podem ser "planejadas" ou "não-planejadas“. Banco de Dados I - Prof Tavares 43 SGBD - Principais funções Manipulação de dados • Requisição planejada é aquela para a qual a necessidade foi prevista com bastante antecedência em relação ao momento em que a requisição é executada. O DBA provavelmente terá ajustado , o projeto de banco de dados físico de modo a garantir um bom desempenho para requisições planejadas. • Requisição não-planejada é uma consulta ad hoc, isto é, uma requisição cuja necessidade não foi prevista com antecedência mas, em vez disso, surgiu na última hora, sendo características de aplicações para apoio à decisão. • As requisições planejadas em geral serão emitidas a partir de programas de aplicação escritos com antecedência, enquanto as requisições não-planejadas serão, por definição, emitidas de modo interativo por meio de algum processador de linguagem de consulta. Banco de Dados I - Prof Tavares 44 SGBD - Principais funções Otimização e execução. • As requisições de DML, planejadas ou não-planejadas, devem ser processadas pelo componente otimizador, cuja finalidade é determinar um modo eficiente de implementar a requisição. • As requisições otimizadas são executadas sob o controle do gerenciador em tempo de execução (run time). Banco de Dados I - Prof Tavares 45 SGBD - Principais funções Recuperação de dados e concorrência. • O SGBD - ou, mais provavelmente, algum outro componente de software relacionado, em geral chamado gerenciador de transações ou monitor de TP (transaction processing) - deve impor certos controles de recuperação e concorrência. Banco de Dados I - Prof Tavares 46 SGBD - Principais funções Dicionário de dados. • O dicionário de dados pode ser considerado um banco de dados isolado (mas um banco de dados do sistema, não um banco de dados do usuário); • Contém "dados sobre os dados" (também chamados metadados ou descritores) - ou seja, definições de outros objetos do sistema, em vez de somente "dados crus". • Todos os vários esquemas e mapeamentos (externos, conceituais etc.) e todas as diversas restrições de segurança e integridade estarão armazenados, tanto na forma de fonte quanto de objeto, no dicionário. Banco de Dados I - Prof Tavares 47 Controle de Redundância • Redundância Problemas: • duplicação de esforço para manter os dados atualizados; • desperdício de espaço de armazenamento; • possibilidade de inconsistência dos dados Quando a redundância é necessária: SGBD deve ser capaz de controlar a redundância para evitar inconsistências. SGBD - Principais funções Banco de Dados I - Prof Tavares 48 Compartilhamento de Dados • Sistemas multiusuários Controle de Concorrência SGBD - Principais funções Banco de Dados I - Prof Tavares 49 Controle de Acesso Subsistema de segurança e autorização Mecanismos usuais de controle de acesso: • senhas para usuários e para grupos de usuários; • restrição de acesso a parte do banco de dados; • proibição de executar certas operações, por exemplo atualização; • acesso de usuários paramétricos restrito apenas a transações “enlatadas”; • proibição de uso de software privilegiado, a ex. do software de criação de contas. SGBD - Principais funções Banco de Dados I - Prof Tavares 50 Persistência para Objetos e Estruturas de Dados Capacidade dos Banco de Dados de se integrarem a linguagens de programação de alto nível de forma a permitir que as estruturas criadas pelas LPs fiquem armazenadas definitivamente no BDs. SGBD - Principais funções Banco de Dados I - Prof Tavares 51 Inferência através de Regras de Dedução Capacidade de permitir a definição de regras no SGBD que permitam deduzir novas informações a partir dos fatos armazenados. Regras: adolescentes são todos aqueles que têm entre 14 e 18 anos • carioca: cidadão natural do RJ • engenheiros: todo aquele que tem diploma de curso de Engenharia Consulta: “Quais os adolescentes cariocas que são engenheiros”? SGBD - Principais funções Banco de Dados I - Prof Tavares 52 Múltiplas Interfaces Um SGBD deve prover uma variedade de interfaces de usuário. Tipos de interfaces: • linguagens de consulta para usuários casuais; • linguagens de programação para programadores de aplicações; • formulários (telas) para usuários paramétricos; • menus; • linguagem natural. SGBD - Principais funções Banco de Dados I - Prof Tavares 53 Representação de Relacionamentos O SGBD deve ter a capacidade de representar uma variedade de relacionamentos complexos entre os dados, bem como recuperar e atualizar dados relacionados de uma maneira fácil e eficiente. SGBD - Principais funções Banco de Dados I - Prof Tavares 54 Cumprimento das Restrições de Integridade Restrições: • forma de verificação da consistência dos dados no BDs Restrições de integridade mais complexas: • Unicidade de itens de dados; • Integridade referencial (um registro em uma tabela que referencia outra tabela deve referenciar um registro existente na outra tabela) • Restrições derivadas da semântica dos dados (exemplo: um aluno não pode fazer a mesma disciplina mais de uma vez). SGBD - Principais funções Banco de Dados I - Prof Tavares 55 Capacidade de Backup e Restauração O SGBD deve prover facilidades para restaurar o banco de dados em caso de falha de hardware ou de software. Sub-sistema de backup e restauração: responsável por assegurar que o banco de dados é restaurado para seu estado anterior à execução do programa. SGBD - Principais funções Banco de Dados I - Prof Tavares 56 Componentes de um SGBD Comandos em LDD Comandos privilegiados Consulta de alto nível Programas de aplicação Comandos em LMD Transações compiladas Compilador da LDD Compilador da LMD Processador de consultas Processador do BD em tempo de execução Compilador da linguagem hospedeira Subsistema de controle de concorrência / backup / restauração Gerenciadordos dados armazenados Banco de dados armazenado Catálogo/ Dicionário de Dados ABD e equipe usuários ocasionais programadores de aplicações usuários paramétricos Pré-compilador Banco de Dados I - Prof Tavares 57 Arquitetura de Banco de Dados Banco de Dados I - Prof Tavares 58 Visão Externa 1 Visão Externa n Esquema Conceitual Esquema Interno Usuários finais . . . NÍVEL EXTERNO NÍVEL CONCEITUAL NÍVEL INTERNO mapeamento externo/conceitual mapeamento conceitual/interno Arquitetura de Banco de Dados Banco de Dados I - Prof Tavares 59 Arquitetura de Banco de Dados A arquitetura ANSI/SPARC se divide em três níveis: • Nível externo - também conhecido como nível lógico do usuário - é o mais próximo dos usuários - ou seja, é aquele que se ocupa do modo como os dados são vistos por usuários individuais. • Nível conceitual - também conhecido como nível lógico de comunidade, ou às vezes apenas nível lógico, sem qualificação - é um nível "indireto" entre os outros dois anteriores. • Nível interno - também conhecido como nível de armazenamento - é o mais próximo do meio de armazenamento físico - ou seja, é aquele que se ocupa do modo como os dados são fisicamente armazenados dentro do sistema. Banco de Dados I - Prof Tavares 60 Arquitetura de Banco de Dados Banco de Dados I - Prof Tavares 61 Arquitetura de Banco de Dados • O nível externo se preocupa com as percepções dos usuários individuais, enquanto o nível conceitual está preocupado com uma percepção da comunidade de usuários. • A maior parte dos usuários não estará interessada no banco de dados inteiro, mas somente em alguma parte restrita dele; assim, haverá muitas "visões externas" distintas, cada qual consistindo em uma representação abstrata de alguma parte do banco de dados completo. Banco de Dados I - Prof Tavares 62 Arquitetura de Banco de Dados • Haverá exatamente uma "visão conceitual", consistindo em uma representação igualmente abstrata do banco de dados em sua totalidade. • Haverá exatamente uma "visão interna", representando o modo como o banco de dados está armazenado internamente. Banco de Dados I - Prof Tavares 63 Visões exemplo: companhia aérea 1- Empregados (nome, cpf, end, tel, filiação, dep) 2- Equipamentos (n0 avião,marca,tipo,capac, tripulação, revisão) 3- Funções (nomefunção,salário,qualificação, serviço, tipo_equipam) 4-Vôo (linha, tipo_equipam, n0horas, serviço_bordo, horário) Aplicações: •Folha pagamento (1,3) •Equipe tripulação (1,2,3) •Manutenção equip (1, 2) •Reserva vôo (2,4) •Escala manutenção (1,2,3) Banco de Dados I - Prof Tavares 64 Arquitetura de Banco de Dados • Os níveis externo e conceitual são níveis de modelo, enquanto o nível interno é um nível de implementação; em outras palavras, os níveis externo e conceitual são definidos em termos de construções voltadas para o usuário, como registros e campos, enquanto o nível interno é definido em termos de construções voltadas para a máquina, como bits e bytes. Banco de Dados I - Prof Tavares 65 Arquitetura de Banco de Dados • A sublinguagem de dados (data sublanguage - DSL) é subconjunto da linguagem completa, relacionado de modo específico aos objetos e às operações do banco de dados. • A DSL é considerada embutida na linguagem hospedeira correspondente, ou "host“, sendo esta última responsável pelo fornecimento de diversos recursos não relacionados com bancos de dados, como variáveis locais, operações de cálculo, lógica de desvios condicionais, etc. • A sublinguagem de dados reconhecida por quase todos os sistemas atuais é a linguagem SQL. • Linguagens fortemente acopladas -> linguagem de programação de banco de dados. Ex: PL/SQL Banco de Dados I - Prof Tavares 66 Arquitetura de Banco de Dados Em princípio, qualquer sublinguagem de dados é, na realidade, uma combinação de pelo menos duas linguagens subordinadas: • Linguagem de definição de dados (LDD ou DDL - Data Definition Language), que dá suporte à definição ou à "declaração" de objetos dos bancos de dados; • Linguagem de manipulação de dados (LMD ou DML - Data Manipulation Language), que admite o processamento ou a "manipulação" desses objetos. • CRUD: create / read / update / delete. Banco de Dados I - Prof Tavares 67 Visão Externa 1 Visão Externa n Esquema Conceitual Esquema Interno Usuários finais . . . NÍVEL EXTERNO NÍVEL CONCEITUAL NÍVEL INTERNO mapeamento externo/conceitual mapeamento conceitual/interno Arquitetura de Banco de Dados Banco de Dados I - Prof Tavares 68 Arquitetura de Banco de Dados Mapeamentos: • O mapeamento externo/conceitual define a correspondência entre uma visão externa específica e a visão conceitual. • Qualquer número de visões externas pode existir ao mesmo tempo; qualquer número de usuários pode compartilhar determinada visão externa; diferentes visões externas podem se sobrepor. . Banco de Dados I - Prof Tavares 69 Visão Externa 1 Visão Externa n Esquema Conceitual Esquema Interno Usuários finais . . . NÍVEL EXTERNO NÍVEL CONCEITUAL NÍVEL INTERNO mapeamento externo/conceitual mapeamento conceitual/interno Arquitetura de Banco de Dados Banco de Dados I - Prof Tavares 70 Arquitetura de Banco de Dados Mapeamentos: • O mapeamento conceitual/interno define a correspondência entre a visão conceitual e o banco de dados armazenado; ele especifica o modo como os registros e campos conceituais são representados no nível interno. • Se a estrutura do banco de dados armazenado for alterada - isto é, se for efetuada uma mudança na definição do banco de dados armazenado - o mapeamento conceitual interno terá de ser alterado de acordo, a fim de que o esquema conceitual possa permanecer invariável. Banco de Dados I - Prof Tavares 71 Independência de Dados Capacidade de mudar o esquema num nível de um sistema de banco de dados sem ter que mudar o esquema no nível seguinte mais alto. Independência lógica de dados: Independência física de dados: Banco de Dados I - Prof Tavares 72 Independência de Dados • Independência lógica de dados (termo "independência de dados" não qualificado): – Capacidade de mudar o esquema conceitual sem ter que mudar esquemas externos ou programas de aplicação. • Independência física de dados: – Capacidade de mudar o esquema interno sem ter que mudar o esquema conceitual Banco de Dados I - Prof Tavares 73 Independência de Dados Independência de dados: • A independência de dados é um objetivo importante dos sistemas de bancos de dados. • A independência de dados pode ser definida como a imunidade das aplicações a alterações na representação física e na técnica de acesso - o que significa que as aplicações envolvidas não dependam de qualquer representação física ou técnica de acesso específica. Banco de Dados I - Prof Tavares 74 Independência de Dados Independência de dados • Um registro armazenado é uma coleção de campos armazenados, relacionados entre si. • Uma ocorrência (ou instância) de registro armazenado consiste em um grupo de ocorrências de campos armazenados relacionados entre si. • O banco de dados contém muitas ocorrências do tipo de registro armazenado "peça" - novamente, uma ocorrência para cada tipo diferentede peça. • Um arquivo armazenado é a coleção de todas as ocorrências atualmente existentes de um único tipo de registro armazenado. • Em sistemas de BD, o DBA poderia ter a necessidade de efetuar mudanças na representação dos dados armazenados - isto é, nos campos, registros e arquivos armazenados -, enquanto os dados vistos pelas aplicações não se alteram. Banco de Dados I - Prof Tavares 75 Modelos de Dados Banco de Dados I - Prof Tavares 76 Modelos de Dados Dados e modelos de dados • Existe outra (e importante) maneira de pensar sobre o que são realmente os dados e os bancos de dados. • A palavra dado vem da palavra latina datu, que corresponde a "dar"; portanto, dados são na realidade fatos dados, a partir dos quais podemos deduzir fatos adicionais. • Deduzir fatos adicionais a partir de fatos dados é exatamente o que o SGBD está fazendo quando responde a uma consulta do usuário. Banco de Dados I - Prof Tavares 77 Modelos de Dados Dados e modelos de dados • Um "fato dado" corresponde ao que os matemáticos chamam proposição verdadeira. • Por exemplo, a afirmação "O fornecedor F1 está localizado em Londres" pode ser uma proposição verdadeira. • Uma proposição, em lógica, é algo que pode ser verdadeiro ou falso, inequivocamente. • Conclui-se que um banco de dados é, na verdade, uma coleção de proposições verdadeiras. • Os produtos SQL passaram a dominar o mercado, sendo baseados em uma teoria formal chamada Modelo Relacional de Dados, e essa teoria, por sua vez, oferece suporte direto à interpretação anterior de dados e bancos de dados. Banco de Dados I - Prof Tavares 78 Modelos de Dados • Um modelo de dados é uma definição abstrata, autônoma e lógica dos objetos, operadores e outros elementos que, juntos, constituem a máquina abstrata com a qual os usuários interagem. • Os objetos nos permitem modelar a estrutura dos dados. • Os operadores nos permitem modelar seu comportamento. • Podemos, então, distinguir de modo útil o modelo de sua implementação: Uma implementação de um determinado modelo de dados é uma representação física em uma máquina real dos componentes da máquina abstrata que, juntos, constituem esse modelo. • Em resumo: o modelo é aquilo que os usuários têm de conhecer; a implementação é aquilo que os usuários não precisam conhecer. Banco de Dados I - Prof Tavares 79 Modelos de Dados • De acordo com a explicação anterior, a distinção entre modelo e implementação é realmente apenas um caso especial da distinção familiar entre lógico e físico. • Modelo de dados é outro termo empregado na literatura com dois significados bastante diferentes. O primeiro significado já foi explicado. O segundo define que um modelo de dados é um modelo dos dados persistentes de alguma empresa em particular. Banco de Dados I - Prof Tavares 80 Modelos de Dados • Um modelo de dados no primeiro sentido é como uma linguagem de programação - embora seja uma linguagem um tanto abstrata - cujas construções podem ser usadas para resolver uma grande variedade de problemas específicos, embora não tenham por si próprias nenhuma conexão direta com qualquer problema específico. • Um modelo de dados no segundo sentido é como um programa específico escrito nessa linguagem. Em outras palavras, um modelo de dados no segundo sentido utiliza os recursos fornecidos por algum modelo no primeiro sentido e os aplica a algum problema específico. Ele pode ser considerado uma aplicação específica de algum modelo no primeiro sentido. Banco de Dados I - Prof Tavares 81 Modelos de Dados • Modelos conceituais: Representam a realidade a um nível alto de abstração. Ex: Entidades-Relacionamentos, Redes Semânticas, Modelos Semânticos • Modelos lógicos ou de implementação: Suportam descrições de dados que possam ser processadas por computador. Ex: Hierárquico, Redes, Relacional, R-O, OO • Modelos físicos: Descrevem como os dados são armazenados no computador através de informações como tipos de arquivos, formatos e ordenação de registros, caminhos de acesso. Ex: Sistemas de arquivos (seqüenciais indexados, diretos, invertidos) Banco de Dados I - Prof Tavares 82 Requisitos de Dados Projeto Conceitual Projeto Lógico Projeto Físico Esquema Conceitual Esquema Físico Esquema Lógico Coleta e Análise de Requisitos Mini Mundo Independente de SGBD Específico para um SGBD Foco : dados Definido por meio do MER Definido por meio do MR Definido por meio da SQL Modelos de Dados Banco de Dados I - Prof Tavares 83 Modelos de Dados Banco de Dados I - Prof Tavares 84 Modelo Lógico Relacional Sistema relacional • Os dados são percebidos pelo usuário como tabelas (e nada além de tabelas). • Os operadores à disposição do usuário (por exemplo, para busca de dados) são operadores que geram tabelas "novas" a partir de tabelas "antigas". • O termo relação é essencialmente apenas um termo matemático para designar uma tabela. Banco de Dados I - Prof Tavares 85 Modelo Lógico Relacional Banco de Dados I - Prof Tavares 86 Modelo Lógico Relacional Banco de Dados I - Prof Tavares 87 Arquitetura Cliente/Servidor Um Sistema de Banco de Dados na Arquitetura Cliente/Servidor tem uma estrutura composta de duas partes, consistindo em um servidor, também chamado back end, e um conjunto de clientes, também chamados front ends. O servidor é o próprio SGBD. Ele admite todas as funções básicas de SGBDs - definição de dados, manipulação de dados, segurança e integridade de dados, etc Os clientes são as diversas aplicações executadas em cima do SGBD - tanto aplicações escritas por usuários quanto aplicações internas (built-in, ou seja, aplicações fornecidas pelo fabricante do SGBD ou por terceiros – também denominadas de ferramentas). Banco de Dados I - Prof Tavares 88 Cliente Servidor de Aplicação ou Web Arquitetura Cliente/Servidor Banco de Dados I - Prof Tavares 89 Requisitos de Dados Projeto Conceitual Projeto Lógico Projeto Físico Coleta/Especificação de Requisitos Requisitos Funcionais Análise Funcional Projeto Funcional Programação Programa de aplicação de BD SGBD Programa de aplicação de BD Programa de aplicação dados e regras Mundo Real Banco de Dados I - Prof Tavares 90 Banco de Dados Hierárquicos Segue o estilo de um organograma empresarial (Diretoria- Divisão-Seção-Setor) ou de biblioteca (Exata-Matemática- Algebra Linear-Vetores). Este modelo é capaz de representar este tipo de organização de forma direta, mas apresenta inconvenientes quando esta situação não aparece claramente com relações de hierarquia. Fábrica Financeiro Comercial Injeção Extrusão Pagar Receber Contábil Vendas Marketing Paulo Vinícius Vilma Sílvia Dagoberto Juracy Richard Pedro Carlos Ernesto Sandra Paula Pedrinho João Sabemos que Paulo é "filho" da Injeção que por sua vez é "filha" da Fábrica. Banco de Dados I - Prof Tavares 91 Banco de Dados em Rede Neste modelos os dados são dispostos em registros, previamente classificados em classes que descrevem a estrutura de determinado tipo de registro. Os registros são descritos em relações de conjuntos onde são estabelecidas as ligaçõeslógicas entre eles. Informática André Paulo Carla
Compartilhar