Baixe o app para aproveitar ainda mais
Prévia do material em texto
Arquitetura e Organização de Computadores Aula 13: - Banco de Dados. Prof. Rafael Tipos de Bancos de Dados � Bancos de Dados Numéricos e Textuais ◦ Aplicações tradicionais de banco de dados, exemplos: biblioteca, banco, supermercado. � Bancos de Dados Multimídia ◦ Aplicações que podem armazenar figuras, videoclipes e mensagens sonoras. � Bancos de Dados Geográficos (GIS) ◦ São capazes de armazenar e analisar mapas, dados do tempo e imagens de satélite. � Data Warehouses ◦ Utilizados em muitas empresas para extrair e analisar as informações úteis dos bancos de dados para a tomada de decisões. � Bancos de Dados de Tempo Real ◦ Usado no controle de processos industriais e de produção (indústria). AOC - Prof. Rafael Aula 13 - 2 Bancos de Dados - Definições � Bancos de Dados: ◦ Um banco de dados é uma coleção de dados relacionados. ◦ Um banco de dados representa alguns aspectos do mundo real, sendo chamado, às vezes, de minimundo ou de universo de discurso (UoD). ◦ Um banco de dados é uma coleção lógica e coerente de dados com algum significado inerente. Um banco de dados é projetado, construído e povoado por dados, atendendo a uma proposta específica. AOC - Prof. Rafael Aula 13 - 3 Bancos de Dados - Definições � Dados: ◦ Os dados são fatos que podem ser gravados e que possuem um significado implícito. Por exemplo, considere nomes, números telefônicos e endereços de pessoas. �Minimundo: ◦ Dados de parte do mundo real que são armazenados em um banco de dados. Por exemplo, todos os livros de uma biblioteca pública. AOC - Prof. Rafael Aula 13 - 4 Bancos de Dados - Definições � Sistema Gerenciador de Banco de Dados (SGBD): ◦ É uma coleção de programas que permite aos usuários criar e manter um banco de dados. ◦ O SGBD é, portanto, um sistema de software de propósito geral que facilita os processos de definição, construção, manipulação e compartilhamento de bancos de dados entre vários usuários e aplicações. � Sistema de Banco de Dados: ◦ É o conjunto formado pelo SGBD e pelo banco de dados (dados armazenados). AOC - Prof. Rafael Aula 13 - 5 Bancos de Dados - Definições AOC - Prof. Rafael Aula 13 - 6 Sistema Gerenciador de Bancos de Dados - SGBD � Sistema de software de propósito geral que facilita os processos de definição, construção, manipulação e compartilhamento de bancos de dados entre vários usuários e aplicações. � A definição de um banco de dados implica especificar os tipos de dados, as estruturas e as restrições para os dados a serem armazenados em um banco de dados. � A construção de um banco de dados é o processo de armazenar os dados em alguma mídia apropriada controlada pelo SGBD. � A manipulação inclui algumas funções, como pesquisas em banco de dados para recuperar um dado específico, atualização do banco para refletir as mudanças no minimundo e gerar os relatórios dos dados. AOC - Prof. Rafael Aula 13 - 7 Sistema Gerenciador de Bancos de Dados - SGBD � O compartilhamento permite aos múltiplos usuários e programas acessar, de forma concorrente, o banco de dados. � A proteção inclui a proteção do sistema contra o mau funcionamento ou falhas (crashes) no hardware ou software, e segurança contra acessos não autorizados ou maliciosos. � SGBD devem ser capazes de manter um sistema de banco de dados que permita a evolução dos requisitos que se alteram ao longo do tempo., pois um banco de dados pode ter um ciclo de vida de muitos anos. � Processamento Concorrente e multiusuário garante que diversos usuários acessem o banco de dados ao mesmo tempo. � Uma regra fundamental do software do SGBD multiusuário é garantir que as transações concorrentes operem corretamente. Exemplo: reserva de lugares. AOC - Prof. Rafael Aula 13 - 8 Exemplo de Bancos de Dados �Minimundo: ◦ Parte do ambiente de uma universidade. � Entidades: ◦ ALUNOS ◦ PROFESSORES ◦ CURSOS ◦ DISCIPLINAS ◦ HISTÓRICO ESCOLAR ◦ PRE_REQUISITO AOC - Prof. Rafael Aula 13 - 9 Exemplo de Bancos de Dados � Relacionamentos do minimundo: ◦ DISCIPLINAS são específicas de CURSOS ◦ ALUNOS cursam DISCIPLINAS ◦ HISTORICO_ESCOLAR pertence a ALUNOS ◦ CURSOS possuem PRE_REQUISITOS para outros CURSOS ◦ HISTÓRICO_ESCOLAR depende da conclusão das DISCIPLINAS ◦ PROFESSORES lecionam DISCIPLINA Todos esses relacionamentos podem ser expressos em um modelo Entidade-Relacionamento. AOC - Prof. Rafael Aula 13 - 10 Características do Uso de Bancos de Dados �Natureza auto descritiva do sistema de banco de dados ◦ O sistema de banco de dados possui não apenas o banco de dados, mas também uma completa definição ou descrição da estrutura desse banco de dados e suas restrições. ◦ O SGBD armazena em seu catálogo a descrição do banco de dados. Essa descrição é chamada de metadados. AOC - Prof. Rafael Aula 13 - 11 Características do Uso de Bancos de Dados � Isolamento entre os programas e os dados ◦ Esse isolamento permite que sejam feitas alterações na estrutura dos dados armazenados e nas operações do banco de dados, sem a necessidade de alterações nos programas de acesso ao SGBD. ◦ Pode também ser chamado de independência programa-dados. AOC - Prof. Rafael Aula 13 - 12 Características do Uso de Bancos de Dados � Abstração dos dados ◦ Um SGBD oferece aos usuários uma representação conceitual de dados que não inclui muitos detalhes sobre como o dado é armazenado ou como as operações são implementadas. ◦ O modelo de dados é usado para esconder os detalhes de armazenamento e da implementação dos dados e prover aos usuários uma visão conceitual do banco de dados. AOC - Prof. Rafael Aula 13 - 13 Características do Uso de Bancos de Dados � Suporte para as múltiplas visões dos dados ◦ Cada usuário deve ter uma visão / perspectiva diferente do banco de dados, de acordo com os dados de interesse de cada usuário específico. AOC - Prof. Rafael Aula 13 - 14 Características do Uso de Bancos de Dados � Compartilhamento de dados e processamento de transações de multiusuários ◦ Permite que diversos usuários acessem o banco de dados ao mesmo tempo. ◦ O SGBD, através do software de controle de concorrência, garante que cada transação será executada corretamente ou completamente abortada. ◦ Esses tipos de aplicações são, normalmente, denominados aplicações de processamento de transações on-line - online transaction processing (OLTP). AOC - Prof. Rafael Aula 13 - 15 Usuários do Bancos de Dados � Atores no Palco: ◦ Usuários que realmente projetam, usam e administram o conteúdo do banco de dados. � Trabalhadores dos bastidores: ◦ Usuários que preparam o banco de dados para ser desenvolvido e operam o SGBD para ser modelado e implementado. AOC - Prof. Rafael Aula 13 - 16 Usuários do Bancos de Dados � Atores no Palco: ◦ Administradores de Banco de Dados: � Responsáveis pelo gerenciamento do acesso ao banco, coordenação e monitoração de seu uso; aquisição de hardware e software; controlar seu uso e monitorar as operações. ◦ Os Projetistas do Banco de Dados: � Responsáveis pela definição da estrutura, conteúdo, restrições e as funções ou transações no banco de dados. Eles devem estar se comunicar com os usuários finais para entender suas necessidades. AOC - Prof. Rafael Aula 13 - 17 Usuários do Bancos de Dados � Atores no Palco: ◦ Analistas de Sistemas e Programadores de Aplicações (Engenheiros de Software): � Os analistas de sistemas determinam as solicitações dos usuários finais, além de desenvolver as especificações das transações customizadas que atendam a essas solicitações. � Os programadoresde aplicações implementam essas especificações como programas, testam, documentam e mantêm essas transações customizadas. Precisam estar familiarizados com todas as capacidades oferecidas pelo SGBD para realizar suas tarefas. AOC - Prof. Rafael Aula 13 - 18 Usuários do Bancos de Dados � Atores no Palco: ◦ Usuários Finais: � Utilizam o banco de dados para consultas e aquisição de relatórios, além de atualizar os dados do mesmo. ◦ Os Usuários Finais podem ser: � Usuários finais casuais: � Iniciantes ou usuários finais parametrizáveis: � Usuários finais sofisticados: � Usuários autônomos (stand-alone): AOC - Prof. Rafael Aula 13 - 19 Usuários do Bancos de Dados � Atores no Palco: ◦ Usuários Finais: � Casuais: � Acessam os dados ocasionalmente, quando necessário. � Iniciantes ou parametrizáveis: � Consulta e atualização do banco de dados, utilizando tipos de consulta e atualizações padronizadas. São a maior parte dos usuários de banco de dados. AOC - Prof. Rafael Aula 13 - 20 Usuários do Bancos de Dados � Atores no Palco: ◦ Usuários Finais: � Sofisticados: � Engenheiros, cientistas, analistas de negócios e outros que se familiarizam com as facilidades do SGBD para implementar aplicações que atendam às suas solicitações complexas. � Autônomos (stand-alone): � Usuários que 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. AOC - Prof. Rafael Aula 13 - 21 Usuários do Bancos de Dados � Trabalhadores dos Bastidores: ◦ Projetistas e implementadores de sistemas SGBD: � Projetam e implementam os módulos e interfaces do SGBD, como um Pacote. O SGBD deve interagir com outros sistemas, tais como o sistema operacional e compiladores de diferentes linguagens de programação. ◦ Desenvolvedores de ferramentas: � Projetam e implementam as ferramentas - pacotes de programas que facilitam o projeto e uso de um sistema de banco de dados e que ajudam a aprimorar seu desempenho, monitoramento ou mesmo interface gráfica. AOC - Prof. Rafael Aula 13 - 22 Usuários do Bancos de Dados � Trabalhadores dos Bastidores: ◦ Pessoal de manutenção e operadores: � Responsáveis pela execução e manutenção do ambiente de hardware e software do sistema de banco de dados, ou seja, responsáveis pela administração do sistema. AOC - Prof. Rafael Aula 13 - 23 Vantagens do Uso de Bancos de Dados � Controle de Redundância no armazenamento de dados e desenvolvimento e manutenção. � Compartilhamento dos dados entre múltiplos usuários simultaneamente. � Controle de acesso para restringir o acesso a usuários não autorizados. � Armazenamento persistente para objetos programas e estruturas de dados. � Armazenamento de estruturas para o processamento eficiente de consultas e atualizações. AOC - Prof. Rafael Aula 13 - 24 Vantagens do Uso de Bancos de Dados � Serviços de backup e restauração. � Múltiplas interfaces para os usuários de acordo com seus conhecimentos técnicos. � Representação de relacionamentos complexos entre os dados. � Funcionalidades para a definição e a garantia das restrições de integridade. � Permite inferências e ações usando regras de dedução (sistemas de bancos de dados dedutivos). AOC - Prof. Rafael Aula 13 - 25 Implicações Adicionais do uso de Banco de Dados � Potencial para Garantir Padronização ◦ A abordagem de um banco de dados permite ao DBA definir e forçar o uso de padrões entre os usuários de um banco de dados em uma grande organização. ◦ Isso facilita a comunicação e cooperação entre os vários departamentos, projetos e os usuários na organização. Os padrões podem ser definidos para os nomes e formato dos elementos de dados, formatos de exibição, estruturas de relatórios, terminologia, dentre outros. ◦ O DBA pode forçar o uso dos padrões em um ambiente de banco de dados centralizado mais facilmente do que em um ambiente no qual cada grupo de usuário tenha o controle de seus próprios arquivos e softwares. AOC - Prof. Rafael Aula 13 - 26 Implicações Adicionais do uso de Banco de Dados � Redução no Tempo de Desenvolvimento de Aplicações. ◦ O principal argumento de venda para o uso de um banco de dados é que o desenvolvimento de uma nova aplicação demanda um tempo muito pequeno. ◦ Projetar e implementar um novo banco de dados do zero deve levar mais tempo do que escrever uma simples aplicação de arquivo especializada. No entanto, uma vez que o banco de dados está ativo e em execução, certamente menos tempo será necessário para criar aplicações usando as facilidades do SGBD. AOC - Prof. Rafael Aula 13 - 27 Implicações Adicionais do uso de Banco de Dados � Flexibilidade. ◦ Pode ser necessário alterar a estrutura do banco de dados quando os requisitos mudam. Por exemplo, um novo grupo de usuários pode surgir e precisar de informações não disponíveis no banco de dados. A solução pode ser adicionar um novo arquivo ao banco ou estender os elementos de dados em um arquivo existente. ◦ Um SGBD moderno permite certos tipos de alterações evolutivas que mudam a estrutura do banco de dados sem afetar os dados armazenados e os programas de aplicação existentes. AOC - Prof. Rafael Aula 13 - 28 Implicações Adicionais do uso de Banco de Dados � Disponibilidade de Informações Atualizadas. ◦ Um SGBD disponibiliza o banco de dados para todos os usuários. Imediatamente após ser feita a atualização de um usuário, todos os outros usuários poderão vê-la. ◦ Essa disponibilidade de atualização é essencial para muitas aplicações, como sistemas de reserva ou banco de dados bancários. ◦ Isso é possível devido ao subsistema de controle de concorrência e recuperação do SGBD. AOC - Prof. Rafael Aula 13 - 29 Implicações Adicionais do uso de Banco de Dados � Economias de Escala. ◦ Permite a consolidação dos dados e das aplicações, reduzindo, dessa forma, a perda por superposição entre as atividades de processamento redundante em diferentes projetos ou departamentos. ◦ Isso possibilita que a organização faça investimentos em processadores mais potentes, dispositivos de armazenamento ou equipamentos de comunicação mais eficientes. AOC - Prof. Rafael Aula 13 - 30 História das Aplicações de Banco de Dados � Primeiras Aplicações de Bancos de Dados (Modelos Hierárquico e em Rede): ◦ Iniciando em meados dos anos 60, indo até os anos 70 e 80, os modelos Hierárquico e em Rede manipulavam um grande volume de processamento de dados em todo o mundo. Inicialmente a maioria desses sistemas de banco de dados foi implementada em computadores grandes (mainframes) e caros. ◦ Os principais problemas eram a mistura entre os relacionamentos conceituais, o armazenamento físico e a localização de registros no disco. ◦ Outro problema era a deficiência criada ao fornecer somente as interfaces para a linguagem de programação. Isso fazia com que o tempo consumido fosse significativamente alto para implementar novas consultas e transações. AOC - Prof. Rafael Aula 13 - 31 História das Aplicações de Banco de Dados � Sistemas baseados no Modelo Relacional: ◦ Os primeiros modelos relacionais desenvolveram-se no fim dos anos 70 e introduzidos no início dos anos 80. ◦ Seu objetivo é separar o armazenamento físico dos dados da sua representação conceitual e prover uma fundamentação matemática para os bancos de dados. ◦ O modelo de dados relacional também introduziu as linguagens de consulta de alto nível, onde ficou mais rápido escrever novas consultas. AOC - Prof. Rafael Aula 13 - 32 História das Aplicações de Banco de Dados � AplicaçõesOrientadas a Objetos: ◦ O aparecimento das linguagens de programação orientadas a objeto nos anos 80 e a necessidade de armazenar e partilhar os objetos complexos estruturados conduziram ao desenvolvimento dos bancos de dados orientados a objeto ◦ Inicialmente, competiam com os bancos de dados relacionais, pois possuíam estruturas de dados mais gerais. ◦ No entanto, a complexidade do modelo e a falta de um padrão inicial contribuíram para seu uso limitado. ◦ Hoje são usados principalmente em aplicações especializadas, tais como projetos em engenharia, publicidade multimídia e sistemas para a indústria. AOC - Prof. Rafael Aula 13 - 33 História das Aplicações de Banco de Dados � Ao longo do tempo, algumas funcionalidades que foram adicionadas ao SGBD’s nas seguintes áreas: ◦ Aplicações científicas; ◦ Armazenamento e manipulação de imagens; ◦ Armazenamento e manipulação de vídeos; ◦ Mineração de dados; ◦ Armazenamento e manipulação de informações espaciais; ◦ Aplicações referentes a séries temporais e dados históricos. AOC - Prof. Rafael Aula 13 - 34 Quando Não usar um Banco de Dados � Apesar das vantagens no uso do SGBD, há algumas situações em que esse sistema pode envolver custos altos e desnecessários: ◦ Investimentos iniciais altos em hardware, software e treinamento. ◦ Custos elevados para oferecer generalidade, segurança, controle de concorrência, recuperação e funções de integridade. � Sendo assim, pode-se indicar o uso de arquivos convencionais nas seguintes circunstâncias: ◦ O banco de dados e suas aplicações são simples, bem definidas e sem previsão de mudanças. ◦ Há requisitos de tempo real (real-time) para alguns programas difíceis de serem atendidos por causa da sobrecarga (overhead) do SGBD. ◦ O acesso de múltiplos usuários aos dados não é necessário. AOC - Prof. Rafael Aula 13 - 35 Modelos de Dados � Modelo de Dados ◦ Conjunto de conceitos que podem ser usados para descrever a estrutura de um banco de dados. Por estrutura de um banco de dados entendemos os tipos de dados, relacionamentos e restrições que devem suportar os dados. ◦ A maioria dos modelos também inclui uma série de operações básicas para a recuperação e atualizações no banco de dados. � Estrutura do Banco de Dados ◦ A estrutura de um banco de dados baseia-se nos tipos de dados, relacionamentos e restrições que devem suportar os dados. AOC - Prof. Rafael Aula 13 - 36 Modelos de Dados � Operações do Modelo de Dados ◦ Operações genéricas para inserir, excluir, modificar ou pesquisar qualquer tipo de objeto são incluídas nas operações básicas do modelo de dados. AOC - Prof. Rafael Aula 13 - 37 Categorias dos Modelos de Dados � Alto nível ou modelos de dados conceituais: ◦ Descrevem os dados como os usuários os percebem; ◦ Utiliza conceitos como entidades, atributos e relacionamentos; ◦ Também chamados de modelos baseados em entidades ou baseados em objetos. � Baixo nível ou modelos de dados físicos: ◦ Descrevem os detalhes de como os dados estão armazenados no computador. ◦ Esses conceitos geralmente são significativos para os especialistas em computadores, e não para os usuários finais. AOC - Prof. Rafael Aula 13 - 38 Categorias dos Modelos de Dados � Modelos de dados representacionais ou de implementação: ◦ Conceitos que podem ser entendidos pelos usuários finais, mas não distantes da forma como os dados estão organizados dentro do computador. ◦ São conceitos que fazem o intermédio entre alto nível e baixo nível. AOC - Prof. Rafael Aula 13 - 39 Histórias dos Modelos de Dados �Modelo Hierárquico ◦ Primeiro modelo a ser reconhecido como modelo de dados, sendo implementado por volta de 1965. ◦ Esse modelo representa os dados como estruturas de árvores hierárquicas. Cada hierarquia representa um número de registros relacionados, onde cada registro é uma coleção de campos (atributos). AOC - Prof. Rafael Aula 13 - 40 Histórias dos Modelos de Dados �Modelo Hierárquico AOC - Prof. Rafael Aula 13 - 41 Histórias dos Modelos de Dados � Modelo em Rede ◦ Representa os dados como tipos de registros e um tipo relacionamento 1:N, limitado, chamado tipo conjunto. ◦ Nesse modelo, os tipos registro são mostrados como retângulos e os tipos conjunto são vistos como setas diretas rotuladas. ◦ Surgiu como extensão ao modelo hierárquico, onde permitiu que um mesmo registro esteja envolvido em várias associações. AOC - Prof. Rafael Aula 13 - 42 Histórias dos Modelos de Dados �Modelo em Rede AOC - Prof. Rafael Aula 13 - 43 Histórias dos Modelos de Dados � O Modelo Hierárquico e o Modelo em Rede são orientados à registros, o que significa que qualquer inclusão, alteração, exclusão ou mesmo consulta, é realizada em um único registro de cada vez. AOC - Prof. Rafael Aula 13 - 44 Histórias dos Modelos de Dados �Modelo Relacional ◦ O modelo tem sua base teórica na teoria dos conjuntos e na lógica de predicados de primeira ordem. ◦ O modelo relacional representa o banco de dados como uma coleção de relações. ◦ Foi resultado de um estudo, de Ted Codd, da IBM Research, um artigo clássico (Codd,1970). AOC - Prof. Rafael Aula 13 - 45 Histórias dos Modelos de Dados � Modelo Relacional ◦ Esse modelo, surgiu porque algumas necessidades não eram atendidas pelos modelos anteriores. Tais como: � Processamento dedicado; � Aumento da independência de dados nos SGBDs, que protege os programas das mudanças subjacentes à organização lógica; � Conjunto de funções para armazenamento e recuperação de dados. AOC - Prof. Rafael Aula 13 - 46 Histórias dos Modelos de Dados � Modelo Relacional ◦ Na terminologia do modelo relacional formal, uma linha é chamada tupla, um cabeçalho de coluna é conhecido como atributo, e a tabela é chamada relação. ◦ A relação (tabela) é a base do modelo relacional. ◦ Uma relação é composta de atributos (campos), que especificam os dados armazenados. ◦ Cada instância desse esquema é composto por um registro, chamado de tupla. AOC - Prof. Rafael Aula 13 - 47 Histórias dos Modelos de Dados �Modelo Relacional ◦ Diferente das outras arquiteturas, o modelo relacional não necessita de caminhos pré- definidos para acesso aos dados nele contidos, pois ele é estruturado em relações. AOC - Prof. Rafael Aula 13 - 48 Histórias dos Modelos de Dados �Modelo Relacional AOC - Prof. Rafael Aula 13 - 49 Histórias dos Modelos de Dados � Modelo Orientado a Objetos ◦ Os modelos de dados orientados a objeto possuem implementação de mais alto nível, muito próximos aos modelos de dados conceituais. Os modelos de dados orientados a objeto são frequentemente utilizados, ainda, como modelos conceituais de alto nível, especialmente na área de engenharia de software. ◦ Surgiram pela necessidade de maior limite de armazenamento e representação semântica. Tornaram-se comercialmente viáveis em meados de 1980. ◦ O termo Modelo Orientado a Objetos é usado para documentar o padrão que contém a descrição geral das facilidades de um conjunto de linguagens de programação orientadas a objetos e a biblioteca de classes que pode formar a base para o Sistema de Banco de Dados. AOC - Prof. Rafael Aula 13 - 50 Histórias dos Modelos de Dados �Modelo Orientado a Objetos AOC - Prof. Rafael Aula 13 - 51 Histórias dos Modelos de Dados �Modelo Objeto-Relacional ◦ Esse modelo tenta suprir a dificuldade de representar e manipular dados complexos dos sistemas relacionais convencionais. Com isso, é mais representativo em semântica e construções de modelagens. ◦ Foram adicionadas facilidades para manusearesses dados, trabalhando com as facilidades SQL (Structured Query Language) já existentes. AOC - Prof. Rafael Aula 13 - 52 Resumo dos Modelos de Dados � Modelo Hierárquico ◦ VANTAGENS: � Simplicidade na construção e implementação; � Tem melhor correspondência com domínios naturais hierarquicamente organizados, como empresas, indústrias, etc. ◦ DESVANTAGENS: � Dificuldade na representação de relacionamentos N:M para entidades; � Natureza de navegação e de procedimento do processamento; � Escopo pequeno para otimização de consultas; � Independência lógica reduzida. AOC - Prof. Rafael Aula 13 - 53 Resumo dos Modelos de Dados � Modelo em Rede ◦ VANTAGENS: � Modelar relacionamentos relacionamento M:N; � Estrutura simétrica do sistema; � Os programadores podem fazer navegação otimizada através do banco de dados. ◦ DESVANTAGENS: � Ausência de independência em relação às estratégias de acesso; � Escopo pequeno para otimização de consultas automatizadas; � Usuário deve “navegar” na rede constituída pelos registros e cadeias de ponteiros. AOC - Prof. Rafael Aula 13 - 54 Resumo dos Modelos de Dados � Modelo Relacional ◦ VANTAGENS: � Visão múltipla dos dados; � Facilidade na extração de dados para relatórios e consultas específicas do usuário; � Maior segurança no acesso aos dados; � Maior agilidade para consulta/atualização; � Restrições de integridade (integridade, referencial, etc). ◦ DESVANTAGENS: � Complexidade para criação; � Dificuldade em alterar a estrutura do banco de dados sem afetar os programas aplicativos que interagem com ele; AOC - Prof. Rafael Aula 13 - 55 Esquemas, Instâncias e Estado do Banco de Dados � Esquema do Banco de Dados ◦ É a descrição do banco de dados. Esta é definida durante o projeto e não se espera que seja alterado frequentemente. ◦ Descrição da Estrutura / Restrições. � Instância do Banco de Dados ◦ São os dados efetivamente armazenados no banco de dados. Também chamados de estado do banco ou instantâneo (snapshot). AOC - Prof. Rafael Aula 13 - 56 Esquemas, Instâncias e Estado do Banco de Dados � Estado do Banco de Dados ◦ Dados armazenados (conteúdo) no banco de dados em um determinado momento. � Estado Inicial do Banco de Dados ◦ Quando o banco de dados for populado ou carregado com os dados iniciais. � Estado Válido do Banco de Dados ◦ Estado do banco de dados que satisfaz a estrutura e as restrições definidas no esquema. AOC - Prof. Rafael Aula 13 - 57 Arquitetura de Três-Esquemas (Three-Schema) � Esta arquitetura tem como objetivo separar o usuário da aplicação do banco de dados físico. � É uma ferramenta conveniente com a qual o usuário pode visualizar os níveis do esquema em um sistema de banco de dados. AOC - Prof. Rafael Aula 13 - 58 Arquitetura de Três-Esquemas (Three-Schema) � Nível Interno ◦ Descreve a estrutura de armazenamento físico do banco de dados. ◦ Descreve os detalhes complexos do armazenamento de dados e caminhos de acesso ao banco de dados. ◦ Utiliza um modelo de dado físico. � Nível Conceitual ◦ Descreve a estrutura de todo o banco de dados para a comunidade de usuários. ◦ Oculta os detalhes das estruturas de armazenamento físico e se concentra na descrição de entidades, tipos de dados, conexões, operações de usuários e restrições. ◦ Utiliza um modelo de dados representacional. AOC - Prof. Rafael Aula 13 - 59 Arquitetura de Três-Esquemas (Three-Schema) �Nível Externo ◦ Descreve a parte do banco de dados que um dado grupo de usuários tem interesse e oculta o restante do banco de dados desse grupo. ◦ Utiliza o mesmo modelo de dados representacional que o nível conceitual. AOC - Prof. Rafael Aula 13 - 60 Arquitetura de Três-Esquemas (Three-Schema) AOC - Prof. Rafael Aula 13 - 61 Independência de Dados � Pode ser definido como a capacidade de mudar o esquema em um nível do sistema de banco de dados sem que ocorram alterações do esquema no próximo nível mais alto. AOC - Prof. Rafael Aula 13 - 62 Independência de Dados � Independência lógica de dados: ◦ É a capacidade de alterar o esquema conceitual sem mudar o esquema externo ou os programas. ◦ Podemos modificar o esquema conceitual para expandir o banco de dados (adicionando um tipo de registro ou item de dados), variar as restrições ou reduzir o banco de dados (removendo um tipo de registro ou item de dados). AOC - Prof. Rafael Aula 13 - 63 Independência de Dados � Independência física de dados: ◦ Refere-se à capacidade de mudar o esquema interno sem ter de alterar o esquema conceitual. Consequentemente, o esquema externo também não precisa ser modificado. ◦ As mudanças no esquema interno podem ser necessárias para que alguns arquivos físicos possam ser reorganizados — por exemplo, pela criação de estruturas de acesso adicionais — para aperfeiçoar o desempenho da recuperação ou atualização de dados. AOC - Prof. Rafael Aula 13 - 64 Independência de Dados � A independência de dados ocorre porque quando o esquema é alterado em algum nível, o esquema no próximo nível acima permanece sem mudanças; apenas o mapeamento entre os dois níveis é modificado. Por isso, os programas que se referem ao esquema do nível mais alto não precisam ser alterados. � A arquitetura de três-esquemas pode tornar mais fácil a independência de dados, tanto física quanto lógica. Entretanto, os dois níveis de mapeamentos criam uma sobrecarga (overhead) durante a compilação ou a execução de uma consulta ou de um programa, provocando ineficiências no SGBD. � Por causa disso, poucos SGBDs têm implementadas toda a arquitetura de três-esquemas. AOC - Prof. Rafael Aula 13 - 65 Linguagens de SGBD � Linguagem de definição de dados ◦ Data Definition Language (DDL) é usada pelo Database Administrator (DBA) e pelos projetistas do banco de dados para definir ambos os esquemas ◦ O SGBD terá um compilador DDL cuja função é processar os comandos DDL a fim de identificar os construtores e para armazenar a descrição do esquema no catálogo do SGBD. � Linguagem de definição de armazenamento ◦ Storage Definition Language (SDL) é utilizada para especificar o esquema interno. ◦ Os mapeamentos entre os dois esquemas podem ser estabelecidos em qualquer uma dessas linguagens. AOC - Prof. Rafael Aula 13 - 66 Linguagens de SGBD � Linguagem de definição de visões ◦ View Definition Language (VDL) é usada para especificar as visões dos usuários e os seus mapeamentos para o esquema conceitual. ◦ Mas na maioria dos SGBDs, a DDL é usada para definir ambos os esquemas, o conceitual e o externo. � Linguagem de manipulação de dados ◦ Assim que o banco de dados estiver compilado e populado com os dados, os usuários devem ter alguns meios para manipular esse banco. ◦ Data Manipulation Language (DML) é uma série de operações que o SGBD fornece. ◦ As manipulações típicas são a recuperação, inserção, remoção e modificação dos dados. AOC - Prof. Rafael Aula 13 - 67 Arquiteturas para o SGBD � Arquitetura SGBD Centralizada ◦ Inicialmente, os usuários acessavam o sistema via terminais de computador que não tinham poder de processamento e apenas ofereciam possibilidade de exibição. ◦ Então, o SGBD ainda era um SGBD centralizado, no qual as funcionalidades, execuções de programas e processamento das interfaces com o usuário eram executados em uma única máquina. ◦ Ou seja, nessa arquitetura um único sistema centraliza todo processamento, incluindo o SGBD, programas aplicativos e de interfaces de usuários. AOC - Prof. Rafael Aula 13 - 68 Arquiteturas para o SGBD � Arquitetura SGBD Cliente-Servidor◦ Foi desenvolvida para trabalhar com ambientes computacionais, nos quais um grande número de PCs, estações de trabalho, servidores de arquivo, impressoras, servidores de banco de dados, servidores Web e outros equipamentos estão conectados via rede. ◦ A ideia é definir os servidores especializados com funcionalidades específicas: � Servidor de arquivos; � Servidor de SGDB; � Servidor de impressão. AOC - Prof. Rafael Aula 13 - 69 Arquiteturas para o SGBD � Arquitetura SGBD Cliente-Servidor ◦ Cliente: � Um cliente, nessa estrutura, é em geral uma máquina de usuário que tem as funcionalidades de interface com o usuário e processamento local. � Quando um cliente precisa de uma funcionalidade adicional, como acesso ao banco de dados, inexistente naquela máquina, ela se conecta a um servidor que disponibiliza a funcionalidade. � Esses clientes podem ser estações de trabalho, sempre conectados ao servidor via rede. AOC - Prof. Rafael Aula 13 - 70 Arquiteturas para o SGBD � Arquitetura SGBD Cliente-Servidor ◦ Servidor: � É uma máquina que pode fornecer serviços para as máquinas clientes, como acesso a arquivos, impressão, arquivamento ou acesso a um banco de dados. � Geralmente possuem instalados nela apenas o software servidor. � Também chamados de servidores de consulta ou servidores de transação. AOC - Prof. Rafael Aula 13 - 71 Arquiteturas Cliente-Servidor de Duas Camadas para o SGBD � Programas de Interface com o Usuário e os Programas de Aplicação rodam do lado do cliente. � A consulta e as funcionalidades de transação permanecem do lado do servidor. � Nessa arquitetura, o servidor geralmente é chamado servidor de consulta ou servidor de transação, porque fornece essas duas funcionalidades. � Uma interface chamada ODBC (Open Database Connectivity) fornece uma API (Application Program Interface) que permite que programas do lado do cliente comuniquem-se com o SGBD. AOC - Prof. Rafael Aula 13 - 72 Arquiteturas Cliente-Servidor de Duas Camadas para o SGBD � O programa cliente pode, na verdade, conectar-se a vários SGBD’s. � Ele pode enviar pedidos de consultas e transações usando o ODBC API, que são, então, processados no servidor. Os resultados da consulta são enviados de volta para o programa do cliente, que pode processá-los ou exibi-los conforme a necessidade. � Além disso, o cliente pode executar: ◦ a interface do usuário; ◦ as funções de dicionário de dados; ◦ as interações do SGBD com os compiladores das linguagens de programação; ◦ a otimização global de consultas, controle de concorrência e a recuperação por múltiplos servidores; � O servidor pode também ser chamado de servidor de dados. AOC - Prof. Rafael Aula 13 - 73 Arquiteturas Cliente-Servidor de Três Camadas para o SGBD � Comum em aplicações para Web. � Possui uma camada intermediária entre o cliente e o servidor de banco de dados, chamada de servidor de aplicações ou servidor Web: ◦ armazena as regras de negócio (procedimentos ou restrições) que são usadas para acessar os dados do servidor de banco de dados. Pode incrementar a segurança do banco de dados checando as credenciais do cliente antes de enviar uma solicitação ao servidor de banco de dados. ◦ o servidor intermediário aceita as solicitações do cliente, processa-as e envia comandos de banco de dados ao servidor de banco de dados, depois passa (parcialmente) os dados processados do servidor de banco de dados para os clientes. AOC - Prof. Rafael Aula 13 - 74 Classificação dos SGBD’s � Classificação de acordo com o modelo de dados no qual o SGBD é baseado: ◦ Tradicional: Relacional, em Rede, Hierárquico. ◦ Emergente: Orientado a Objetos, Objeto- relacional. AOC - Prof. Rafael Aula 13 - 75 Classificação dos SGBD’s � Classificação de acordo com o número de usuários suportado pelo sistema: ◦ Mono-usuários: suportam apenas um usuário por vez e são mais usados em computadores pessoais. ◦ Multi-usuários: auxiliam múltiplos usuários simultaneamente. Incluem a maioria dos SGBD’s. AOC - Prof. Rafael Aula 13 - 76 Classificação dos SGBD’s � Classificação de acordo com o número de sites pelos quais o banco de dados está distribuído: ◦ Centralizado: um SGBD é centralizado se o dado for armazenado em um único site. Um SGBD centralizado pode suportar múltiplos usuários, mas o SGBD e o banco de dados estão alocados em um único site. ◦ Distribuído: Um SGBD distribuído (SGBDD) pode ter o banco de dados e o software do SGBD distribuídos em vários sites conectados pela rede. Os SGBDDs homogêneos usam o mesmo software de SGBD em todos os sites. AOC - Prof. Rafael Aula 13 - 77 Exercícios � 01 – Qual a diferença entre dados, banco de dados, SGBD e sistema de banco de dados? � 02 – Qual a diferença entre usuários de banco de dados “atores de palco” e “trabalhadores dos bastidores”? � 03 – Quais as vantagens de utilização do banco de dados? � 04 – Quais as diferenças entre todos os “atores de palco” no uso de banco de dados? � 06 – Defina entidade, atributo e relacionamento. � 07 – Quais as categorias dos modelos de dados? Explique. � 08 – Qual a diferença entre Esquemas de Bancos de Dados e Instâncias de Bancos de Dados? � 09 – Quais os três estados do banco de dados? Explique cada um deles. � 10 – Diferencie arquitetura centralizada de arquitetura cliente-servidor. AOC - Prof. Rafael Aula 13 - 78
Compartilhar