Prévia do material em texto
UNIVERSIDADE FEDERAL DO PARÁ CAMPUS UNIVERSITÁRIO DO TOCANTINS/CAMETÁ Prof. Joiner dos Santos Sá joinersa@hotmail.com Banco de Dados II Arquitetura de Sistemas de Bancos de Dados A ARQUITETURA DE TRÊS ESQUEMAS O objetivo da arquitetura de três esquemas é separar as aplicações do usuário do banco de dados físico. Os três esquemas podem ser definidos em três níveis: ◦Nível Interno, Nível Conceitual e Nível Externo A ARQUITETURA DE TRÊS ESQUEMAS 1) O nível interno contém um esquema interno, que descreve a estrutura do armazenamento físico do banco de dados. O esquema interno usa um modelo de dados físico e descreve os detalhes completos do armazenamento de dados e caminhos de acesso para o banco de dados. A ARQUITETURA DE TRÊS ESQUEMAS 2) O nível conceitual tem um esquema conceitual, que descreve a estrutura do DB interno para uma comunidade de usuários. Oculta detalhes do armazenamento físico; Descrição de entidades, tipos de dados, relacionamentos, operações de usuários e restrições. A ARQUITETURA DE TRÊS ESQUEMAS 3) O nível externo ou de visão inclui uma série de esquemas externos ou visões de usuário. Cada esquema externo descreve a parte do BD em que um grupo de usuários em particular está interessado e oculta o restante do BD do grupo de usuários. INDEPENDÊNCIA DE DADOS É a capacidade de alterar o esquema em certo nível do BD sem que ocorram alterações ou problemas no próximo nível mais alto (Navathe, 2011). INDEPENDÊNCIA DE DADOS Existem dois tipos de independência de dados: Independência de dados lógica: ◦É a capacidade de alterar o esquema conceitual sem ter que alterar o esquema externo ou as aplicações do usuário. Independência de dados física: ◦É a capacidade de alterar o esquema interno sem ter que alterar o esquema conceitual, o esquema externo ou as aplicações do usuário. LINGUAGENS E INTERFACES DO BANCO DE DADOS DDL (Data Definition Language – Linguagem de Definição de Dados) ◦Usada pelo DBA e pelos projetistas de DB para definir os esquemas conceitual e interno. ◦Um compilador DDL permite processar instruções a fim de identificar as descrições dos construtores de esquema e armazenar a descrição de esquema no catálogo do SGBD. ◦A DDL é utilizada em SGBDs onde a separação entre os níveis interno e conceitual não é muito clara. LINGUAGENS E INTERFACES DO BANCO DE DADOS DCL (Data Control Language – Linguagem de Controle de Dados) ◦ Controla aspectos de autorização de dados e licenças de usuários para controlar quem tem acesso dentro de um banco. ◦ Ex.: GRANT: atribuir privilégios de acesso a um usuário REVOKE: remove privilégios de acesso dados a um usuário LINGUAGENS E INTERFACES DE BANCO DE DADOS SDL (Storage Definition Language – Linguagem de Definição de Armazenamento) ◦Em um SGBD em que a separação entre os níveis conceitual e interno são bem claras, é utilizado uma outra linguagem para a especificação do esquema interno. ◦A especificação do esquema conceitual fica por conta da DDL VDL (Vision Definition Language – Linguagem de Definição de Visões) ◦Em um SGBD que utiliza a arquitetura três esquemas, é necessária a utilização de mais uma linguagem para a definição de visões. LINGUAGENS E INTERFACES DE BANCO DE DADOS Nem sempre as DDL, VDL e DML são linguagens distintas. ◦ Ex.: SQL engloba DDL + VDL + DML ◦ SDL não faz parte da SQL, para mantê-la apenas nos níveis conceitual e externo. (Navathe, 2011) LINGUAGENS E INTERFACES DE BANCO DE DADOS LINGUAGENS E INTERFACES DE BANCO DE DADOS Interfaces baseadas em menu para clientes Web ou de navegação ◦ Lista de opções de menus para realização de solicitações; ◦ Acaba com a necessidade de memorizar comandos e sintaxe de uma linguagem; Interfaces baseadas em formulário ◦ O Oracle Forms é um componente do pacote de produtos da Oracle que oferece um extenso conjunto de recursos para projetar e montar aplicações usando formulários. LINGUAGENS E INTERFACES DE BANCO DE DADOS Interface gráfica com o usuário ◦ Apresenta um esquema para o usuário em formato de diagrama; ◦ Normalmente a GUI utiliza menus e formulários, além de dispositivo de apontamento como o mouse. Interfaces de linguagem natural ◦ Aceitam solicitações escritas em inglês ou em qualquer outro idioma; ◦ Ex.: Mecanismos de buscas como o Google. LINGUAGENS E INTERFACES DE BANCO DE DADOS Interface de entrada e saída de voz Interfaces para usuários paramétricos ◦ Pequeno conjunto de comandos abreviados. ◦ Ex.: Caixa de banco; Interfaces para o DBA ◦ Incluem comandos privilegiados, para criação de contas, definir parâmetros do sistema, conceder autorização de conta, etc. Arquitetura Centralizada e Cliente/Servidor para os SGBDs Breve Histórico: ◦No passado, grandes computadores centrais (mainframes) processavam todas as funções do SBD (Aplicação + Interface de usuário + funcionalidades de SGBD). ◦Atualmente, os SGBDs são independentes da aplicação e de interface com o usuário. Exploram processamento no lado do usuário, gerando as arquiteturas cliente-servidor. ◦SGBDs distribuídos. Arquitetura Centralizada Arquitetura Cliente/Servidor para SGBDs São BDs distribuídos Arquitetura distribuída em mais de uma máquina. Possui dois tipos, baseado nos fundamentos da estrutura cliente/servidor (CS): ◦CS em duas camadas ◦CS em três camadas CS em duas camadas Lado do cliente: interface com os usuários e com os programas de aplicação. Lado do servidor: SGBD CS em duas camadas O ODBC (Open Database Connectivity) oferece uma API pela qual os programas podem acessar os SGBDs A maioria dos SGBDs oferecem drivers ODBC para seus sistemas. Um driver processa as solicitações ODBC e envia instruções SQL para o SGBD. CS em três camadas Possui uma camada intermediária entre cliente e o servidor de BD Servidor de aplicações: ◦Armazena as regras de negócio (restrições ou procedimentos para verificação e validação dos dados). ◦Também pode incrementar segurança do BD checando as credenciais de acesso antes de enviar uma solicitação ao servidor. CS em três camadas CS em N camadas A linguagem SQL é dividida em subconjuntos de acordo com as operações que se deseja efetuar sobre um banco de dados. Considere os grupos de comandos: I. CREATE, ALTER, DROP. II. GRANT, REVOKE. III. DELETE, UPDATE, INSERT. Os comandos listados em: A. I correspondem à Data Control Language − DCL e II à Data Definition Language − DDL. B. I correspondem à Data Manipulation Language − DML e III à Data Control Language − DCL. C. II correspondem à Data Manipulation Language − DML e III à Data Control Language − DCL. D. I correspondem à Data Definition Language − DDL e III à Data Manipulation Language − DML. E. II correspondem à Data Control Language − DCL e III à Data Definition Language − DDL. a) Independência de programação b) Independência física c) Independência interna d) Independência lógica e) Independência de S.O Com base nos conhecimentos acerca de arquitetura três esquemas de um SGBD, analise a seguinte frase: “É a capacidade de alterar o esquema conceitual sem precisar modificar os esquemas externos”. a) Uma das desvantagens da arquitetura de três esquemas é a impossibilidade de aplicar a independência de dados. b) Um dos objetivos da arquitetura de três esquemas é aproximar o banco de dados físico das aplicações. c) O nível conceitual serve para descrever a estrutura do banco de dados. d) Mapeamentos são as transformações que dados brutos armazenados sofrem para se tornar informações inteligíveis. e) O nível interno inclui uma série de visõesdo usuário utilizadas para descrever partes do banco de dados. A respeito da arquitetura de três esquemas para banco de dados, assinale a opção correta. I. O nível conceitual oculta os detalhes das estruturas de armazenamento físico e se concentra na descrição de entidades, tipos de dados, relacionamentos, operações do usuário e restrições. II. A independência lógica de dados é a capacidade de alterar o esquema conceitual sem ter que alterar os esquemas externos ou os programas de aplicação. III. A independência física de dados é a capacidade de alterar o esquema conceitual sem ter que alterar o esquema físico. IV. O nível externo representa o conjunto dos programas de aplicação que acessam diretamente o banco de dados. O objetivo da arquitetura três esquemas é separar as aplicações do usuário do banco de dados físico. Nesta arquitetura, os esquemas podem ser definidos em três níveis: externo, conceitual e interno. Neste contexto, informe a alternativa que contém todas as afirmações corretas. a) Uma alteração no esquema interno da arquitetura implica alterar também o esquema externo. b) Na arquitetura de três esquemas, os níveis são definidos como interno, intermediário e externo. c) No nível interno da arquitetura, são descritos os caminhos de acesso para o banco de dados. d) Em um SGBD embasado nessa arquitetura, todos os grupos de usuários utilizam o mesmo esquema externo. Acerca da arquitetura de três esquemas para bancos de dados, assinale a opção correta. a) Todas estão corretas. b) Nenhuma está correta. c) Há exatamente três sentenças corretas. d) Há exatamente duas sentenças corretas. e) Há exatamente uma sentenças corretas. Avalie as seguintes sentenças com relação à arquitetura de um Sistema de BD: I . O esquema interno descreve como os dados são fisicamente armazenados, como por exemplo, a organização dos arquivos e alocação de dados em disco. II . O esquema conceitual descreve quais dados estão armazenados no banco de dados e os relacionamentos existente entre eles. III . O esquema externo descreve a parte do banco de dados visível a determinado grupo de usuários. O esquema externo também pode ocultar parte do banco de dados de determinado grupo de usuários. IV . A arquitetura de três esquemas tem como objetivo a independência entre os esquemas. Por exemplo, mudanças no esquema interno não deveriam implicar em alterações no esquema conceitual. Assinale a alternativa CORRETA: a) I e II, somente. b) II e III, somente. c) I e III, somente. d) I, II e III. e) Nenhuma. Para responder a esta questão, sobre os níveis da arquitetura de três-esquemas aplicada no desenvolvimento de um banco de dados, leia as afirmativas. I. O nível interno tem um esquema interno, que descreve a estrutura de armazenamento físico do banco de dados. Esse esquema utiliza um modelo de dado físico e descreve os detalhes complexos do armazenamento de dados e caminhos de acesso ao banco de dados. II. O nível conceitual possui um esquema conceitual, que descreve a estrutura de todo o banco de dados para a comunidade de usuários. O esquema conceitual 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. III. O nível externo ou visão (view) abrange os esquemas externos ou visões de usuários. Cada esquema 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. Está correto o que se afirma em: a) I e II. b) I e IV c) II e III d) I, III e IV e) II, III e IV Julgue os itens a seguir, relativamente ao conceito de visão de um banco de dados. I Visões complexas podem utilizar comandos DML para manipulação dos dados. II Visões fazem referência a tabelas, sem armazenar nenhuma linha. III Visões complexas podem conter funções. IV Visões e tabelas temporárias são equivalentes quanto ao tratamento. Estão certos apenas os itens a) Certo b) Errado CREATE VIEW BIOLOGO_VW AS SELECT nome, endereco, telefone FROM FUNCIONARIO WHERE codigo_biologo=674; Com base no código SQL acima, julgue o item a seguir. A view, após ser implementada, conterá informações como, por exemplo, nome e telefone de todos os biólogos. UNIVERSIDADE FEDERAL DO PARÁ CAMPUS UNIVERSITÁRIO DO TOCANTINS/CAMETÁ DÚVIDAS? PERGUNTAS? Prof. Joiner dos Santos Sá joinersa@hotmail.com