segunda-feira, 20 de agosto de 2012

BANCO DE DADOS I - QUESTIONÁRIO

01 - O que é e como funciona o armazenamento de dados em arquivo? (criação, utilização, vantagens e problemas).
R:

02 - O que é e como funcionam os SBGD? Explique a evolução dos arquivos, passando pelo BD até SGBD.
R: É o conjunto de softwares responsáveis pelo gerenciamento de uma base de dados, ele consiste em uma coleção de dados inter-relacionados e uma coleção de programas para prover o acesso a esses dados. O objetivo principal de um SGBD é prover um ambiente que seja adequado e eficiente para uso na recuperação e armazenamento de informações, que com o passar do tempo sofreu as seguintes evoluções: Sistemas de arquivos BD em rede, BD hierárquico, BD relacional, Linguagem orientada a Objeto, Hipermídia e Inteligência Artificial.
03 - Quais são os tipos de conexão existentes com BD? Explique-as.
R: São 5 tipos existentes.
  • Time sharing: esta conexão é realizada em tempo real.
  • Servidor de arquivos: conexão somente para armazenamento de dados.
  • Cliente-servidor: servidor de dados e de manutenção de arquivos por usuários.
  • Servidor de aplicações: servidor de aplicações em geral Servidor.
  • Web: exclusivo para web.

04 - Quais são os modelos de dados existentes? Explique-os.
R: Os modelos existentes são:
  • Modelo Hierárquico: Os dados estão estruturados em hierarquias ou árvores.Os nós das hierarquias contêm ocorrências de registros, onde cada registro é uma coleção de campos (atributos) cada um contendo apenas uma informação. O registro que em uma hierarquia precede outros se designa registro-pai dos outros registros que são chamados de registros-filhos. Uma ligação é uma associação entre dois registros. O relacionamento entre um registro-pai e registros-filhos é de 1:N.
  • Modelo em Rede: No modelo em rede os registros estão organizados em grafos. Nele aparece um único tipo de associação (set), que define uma relação de 1: N entre 2 tipos de registros: proprietário e membro.
  • Modelo Relacional: O modelo relacional apareceu devido a seguintes necessidades: aumentar a independência de dados nos sistemas gerenciadores de banco de dados; prover um conjunto de funções apoiadas em álgebra relacional para armazenamento e recuperação de dados; O Modelo relacional revelou-se ser o mais flexível e adequado ao solucionar os vários problemas que se colocam ao nível da concepção e implementação da base de dados. A estrutura fundamental do modelo relacional é a relação. Uma relação é constituída por um ou mais atributos (campos), que traduzem o tipo de dados a armazenar.
  • Modelo Orientado a Objetos: A habilidade para criar os tipos de dados necessários é uma característica das linguagens de programação orientada a objetos. Estes sistemas, porém, necessitam guardar representações das estruturas de dados que eles usam no armazenamento permanente. A estrutura padrão para o banco de dados objeto foi feita pelo Grupo de gerenciamento dados objetos (ODMG).
  • Sistemas Objetos-Relacionais: A área de atuação dos sistemas Objeto-Relacional tenta suprir a dificuldade dos sistemas relacionais convencionais, que é o de representar e manipular dados complexos. A solução proposta é a adição de facilidades para manusear tais dados utilizando-se das facilidades SQL existentes. Para isso foi necessário adicionar: extensões dos tipos básicos no contexto SQL; representações para objetos complexos no contexto SQL; herança no contexto SQL; sistema para produção de regras.
05 - Quais são os aspectos relevantes que devem ser considerados para atingir a eficiência e eficácia do sistema informatizado? (na visão do BD).
R:
06 - Quais são as arquiteturas de SGBD’s? Explique-as.
R: As arquiteturas de SGBD's são , Plataformas centralizadas , Sistemas de Computador Pessoal , Banco de Dados Cliente-Servidor, Banco de Dados Distribuídos (N camadas).  
  • Plataformas centralizadas - Na arquitetura centralizada, existe um computador com grande capacidade de processamento que é o hospedeiro do SGBD e emuladores para os vários aplicativos. Esta arquitetura tem como principal vantagem a segurança em poder manipular grande volume de dados com muitos usuários. Sua principal desvantagem está no fato de se ter alto custo, pois se deve ter ambiente especial para mainframes e soluções centralizadas.
  • Sistemas de Computador Pessoal - Os computadores pessoais trabalham em sistema stand-alone, ou seja fazem seus processamentos sozinhos. No começo esse processamento era bastante limitado, porém com a evolução do hardware temos hoje PCs com grande capacidade de processamento. Eles utilizam o padrão Xbase e quando se trata de SGBDs funcionam como hospedeiros e terminais, desta maneira possuem um único aplicativo a ser executado na máquina. A principal vantagem desta arquitetura é a simplicidade.
  • Banco de Dados Cliente-Servidor - Na arquitetura Cliente-Servidor o cliente (front_end) executa as tarefas do aplicativo, ou seja fornece a interface com o usuário (tela, e processamento de entrada e saída). O servidor (back_end) executa as consultas no DBMS e retorna os resultados ao cliente. Apesar de ser uma arquitetura bastante popular, para poder implementá-la são necessárias soluções de softwares sofisticados que possibilitem: tratamento de transações, confirmações de transações(commits), desfazer uma transação (rollbacks), linguagens de consultas (stored procedures) e gatilhos(triggers). A principal vantagem desta arquitetura é dividir o processamento entre dois sistemas reduzindo o tráfego de dados na rede.
  • Banco de Dados Distribuídos (N camadas) - Nesta arquitetura a informação está distribuída em diversos servidores. Cada servidor atua como no sistema cliente-servidor, porém as 11 consultas oriundas dos aplicativos são feitas para qualquer servidor indistintamente. Caso a informação solicitada seja mantida por outro servidor ou servidores, o sistema encarrega-se de obter a informação necessária, de maneira transparente para o aplicativo, que passa a atuar consultando a rede, independente de conhecer seus servidores. Exemplos típicos são bases de dados corporativas, em que o volume de informação é muito grande e deve ser distribuído por diversos servidores.