Baixe o app para aproveitar ainda mais
Prévia do material em texto
2ºAula Tópicos de banco de dados Objetivos de aprendizagem Ao término desta aula, vocês serão capazes de: • saber os diferentes tipos de usuários de banco de dados; • entender as vantagens do uso dos bancos de dados; • conhecer a arquitetura de banco de dados. Olá, pessoal, tudo bem? Continuando os nossos estudos introdutórios sobre banco de dados, nós vamos aprender, nesta aula, os diferentes perfis de usuários de banco de dados, saber das vantagens do uso de bancos de dados, entender que situações não são adequadas ao uso de banco de dados e saber de tópicos relacionadas à arquitetura de banco de dados. Qualquer dúvida estamos a sua disposição. Bons estudos! Banco de Dados I 12 1 - Usuários de Banco de Dados 2 - Vantagens de usar a abordagem SGBD 3 - Arquitetura geral de um SGBD 1 - Usuários de Banco de Dados Na construção de um grande banco de dados, Elmasri e Navathe (2005) nos ensinam que há um grande número de profissionais de informática envolvidos, desde o seu projeto, concepção e manutenção. Administrador de Banco de Dados (DBA) O DBA é o profissional capaz de realizar a manutenção e o gerenciamento do BD. Ademais, esse profissional cria backups, que são usados para a recuperação de dados, caso aconteçam problemas no hardware. Além de guardar os arquivos, o DBA zela pelas condições deles, pela segurança dos dados, acessibilidade, desempenho das máquinas e processos e desenvolvimento de equipe de testes de todo o planejamento de BD (KORTH; SILBERSCHATZ, 2006). Nesse sentido, procura pela ideal forma de organizar, selecionar e armazenar os dados, analisando não apenas a parte técnica, mas as pessoas que vão utilizá-los. Sobretudo, é responsável pela edição de formulários, relatórios e outras formas de informações demonstradas aos seus clientes, bem como modifica e testa todos os procedimentos, antes de abrir acesso dos dados aos seus usuários, além de gerenciar o direito de acesso de cada setor e pessoa. Desse modo, o banco de dados precisa ser simples e eficaz, assim, é preciso o trabalho de um administrador de dados que saiba projetar, instalar, atualizar, modificar, proteger, e consertar erros na plataforma e nos bancos de dados. Nesse sentido, há o trabalho de personalização e suporte do conteúdo de certo banco de dados e informações (MACHADO, 2005). Dessa forma, em um ambiente de banco de dados, o primeiro recurso é o banco de dados por si só e o segundo recurso o SGBD e os softwares relacionados. A administração desses recursos é de responsabilidade do Administrador de Banco de Dados. Ele ainda faz a autorização de acesso ao banco de dados e a coordenação e monitoração de seu uso (KROENKE, 1998). Finalmente, o DBA ainda precisa (e é responsável por) monitorar as possíveis brechas de segurança ou o tempo de resposta do sistema. Projetista de Banco de Dados É de responsabilidade do Projetista de Banco de Dados a identificação dos dados que precisam ser armazenados no banco de dados, optando pela estrutura correta para representar e armazenar dados. Geralmente, os projetistas de banco de dados atuam como “staff ” do DBA, adquirindo outras responsabilidades depois da construção do banco de dados (MEIRELLES, 1994). Seções de estudo Dessa forma, é de responsabilidade do projetista avaliar as necessidades de cada grupo de usuários para apresentar as visões que são necessárias, fazendo com que o banco de dados possa atender às necessidades dos usuários. Analistas de Sistemas e Desenvolvedores São responsáveis por escolher os requisitos e projetar o sistema que será usado pelos usuários finais. Usuários Finais São os usuários que efetivamente utilizam o banco para uso rotineiro. Eles podem ser catalogados como: • usuários casuais: acessam o banco de dados eventualmente, porém podem precisar de diversas informações a cada acesso, usam sofisticadas linguagens de consulta para especificar e detalhar suas necessidades; • usuários novatos ou paramétricos: fazem uso de porções já definidas do banco de dados, usando consultas já estabelecidas anteriormente que já por muitas vezes testadas; • usuários sofisticados: são aqueles usuários que se familiarizam com o SGBD; fazem consultas complexas. 2 - Vantagens de usar a abordagem SGBD Com o uso constante de banco de dados, os usuários perceberam as muitas vantagens de se adotar um Banco de Dados. Veremos sobre eles a seguir: Controle de Redundância Como já foi visto na aula 01, O Controle de redundância é capaz de evitar repetições de dados que estão de maneira desnecessária em um banco de dados. Para isso, é necessário não repetirmos informações desnecessárias, mas sem deixar de armazenar o que é importante e crucial para o funcionamento do banco e a resolução do problema a ser solucionado (KORTH; SILBERSCHATZ, 2006). Compartilhamento de Dados O BD permite que várias pessoas utilizem a base de dados ao mesmo tempo. Para isso, o banco deve oferecer um controle de concorrência, para que as transações não causem erros. Restrição a Acesso não Autorizado O SGBD precisa oferecer um subsistema de autorização e segurança, que é usado pelo DBA para elaborar contas e especificar as restrições destas contas. O controle de restrições se aplica tanto ao acesso aos dados quanto ao uso de softwares inerentes ao SGBD. Representação de Relacionamentos Complexos entre Dados Um banco de dados pode adicionar vários dados que estão inter-relacionados de diferentes maneiras. O SGBD precisa fornecer recursos para se representar vários relacionamentos entre os dados, no entanto, recupera e atualiza os dados de forma prática e eficiente. 13 Tolerância a Falhas O SGBD precisa oferecer recursos para recuperar as falhas tanto de software quanto de hardware. Tolerar falhas é um recurso indispensável ao SGBD. Um exemplo clássico que ratifica essa necessidade é o caso de uma queda inesperada de energia. Fornecer Backup e Restauração O SGBD precisa oferecer recursos para restauração caso aconteçam falhas de hardware ou software. O subsistema de backup e restauração do SGBD é o responsável pela restauração. Fornecimento de Múltiplas Interfaces Ao trabalhar com BD é preciso se atentar para o fato de que devido aos distintos níveis de conhecimento técnico dos diferentes tipos de usuários, um SGBD precisa oferecer uma variedade de interfaces, ou seja, é preciso que o BD tenha múltiplas facetas. De acordo com as ideias de Elmasri e Navathe (2005), nos distintos tipos de interfaces, precisam ser incluídas as interfaces de linguagem de programação para programadores de aplicações, as linguagens/possibilidades de consulta para usuários ocasionais, bem como os formulários e interfaces dirigidas por menus para usuários comuns. Potencial para a Padronização Como será possível observar, a abordagem do BD permite que o DBA “defina” e “obrigue” a padronização entre seus usuários, o que é muito adequado para facilitar o compartilhamento de dados, a comunicação e a cooperação entre diferentes setores, departamentos, projetos e usuários de grandes organizações (ELMASRI; NAVATHE, 2005). Nesse sentido, os padrões são definidos para formatos de nomes, elementos de dados, telas, relatórios, terminologias etc. Flexibilidade As modificações na estrutura de um banco de dados, geralmente, são necessárias por causa das mudanças nos requisitos. Podemos citar como exemplo quando aparece um novo grupo de usuários com necessidade de informações adicionais, ainda não disponíveis no banco de dados. Alguns SGBDs possibilitam que essas modificações na estrutura do banco de dados aconteçam sem atingir a maioria dos programas de aplicações existentes. Redução do Tempo de Desenvolvimento de Aplicações Vale a pena destacarque uma das principais características da abordagem do banco de dados é o menor tempo para a elaboração de novas aplicações, como a recuperação de certos dados para a impressão de novos relatórios. Desse modo, projetar e implementar um novo banco de dados pode ser mais demorado do que escrever uma simples aplicação de arquivos especializados. Disponibilidade de Informações Atualizadas Assim que um usuário modifica o banco de dados, todos os outros usuários “sentem” essa mudança. No entanto, a disponibilidade de informações atualizadas é primordial para muitas aplicações, bem como os sistemas de reservas de passagens aéreas ou bases de dados bancárias. Isso apenas é possível por causa do subsistema de controle de concorrência e restauração do SGBD. Economia de Escala A abordagem de SGBDs possibilita a consolidação de dados e de aplicações diminuindo. Dessa forma, o desperdício em atividades redundantes de processamento em vários projetos ou departamentos. Entretanto, isso permite à organização como um todo investir em processadores mais poderosos e periféricos, de armazenamento e de comunicação mais eficazes. Mas existem situações em que um SGBD pode não resolver o problema. Veremos sobre eles a seguir. 2.1 - Quando não utilizar um SGBD Em raras situações, o uso de um SGBD pode representar uma carga desnecessária aos custos, quando comparado à abordagem processamento tradicional de arquivos como: • alto investimento inicial na compra de software e hardware ou treinamentos; • sobrecarga na provisão de controle de segurança, controle de concorrência, recuperação e integração de funções; • surgimento de problemas adicionais no caso de projetistas de banco de dados ou no caso dos administradores de banco de dados não elaborar os projetos corretamente, ou se as aplicações não são realizadas de forma apropriada; • banco de dados simples com aplicações bem definidas, não se esperando muitas alterações; • quando não houver múltiplo acesso ao banco de dados ou a estrutura empresarial for muito pequena. 3 - Arquitetura geral de um SGBD Nesta seção, vamos abordar alguns tópico relacionados à arquitetura de banco de dados. 3.1 - Modelos de Dados Vale destacar um dos principais objetivos da abordagem de BD: oferecer níveis de abstração de dados, omitindo ao usuário final os detalhes sobre como esses dados são armazenados. Desse modo, um modelo de dados é entendido como um conjunto de conceitos que permitem o seu uso para descrever a estrutura “lógica” e “física” de um banco de dados. No entanto, por “estrutura” podemos compreender o tipo dos dados, os relacionamentos e as restrições que podem acontecer sobre os dados. Podemos notar que há dois tipos de modelos de dados, segundo Elmasri e Navathe (2005): • alto nível (ou modelo de dados conceitual): apresenta uma visão mais aproximada do modo do que os usuários visualizam os dados realmente; • baixo nível (ou modelo de dados físico): apresenta Banco de Dados I 14 uma visão mais detalhada da maneira como os dados estão realmente armazenados no computador. 3.2 - Esquemas e Instâncias Vale a pena ressaltar a importância de, em qualquer modelo de dados, diferenciar a “descrição” do banco de dados do “banco de dados” por si próprio. Entretanto, a descrição de um banco de dados é conhecida como “esquema de um banco de dados” e é especificada no projeto do banco de dados. Normalmente, são poucas as mudanças que acontecem no esquema do banco de dados, Desse modo, os dados armazenados em um banco de dados, em um determinado momento, formam um conjunto chamado de “instância do banco de dados”. Como a instância é o exato momento dos dados em um banco de dados, uma instância é alterada quando os dados são alterados. 3.3 – Independência de Dados Um SGBD é composto de uma coleção de arquivos inter- relacionados e de um conjunto de programas que permitem aos usuários fazer o acesso a esses arquivos e modificá-los os mesmos. O grande objetivo de um sistema de banco de dados é prover os usuários com uma visão abstrata dos dados (omitindo certos detalhes de como os dados são armazenados e mantidos). Entretanto, para que o sistema possa ser utilizado, os dados devem ser buscados de forma eficiente. Esse conceito tem direcionado o projeto de estrutura de dados complexas para a representação de dados em um banco de dados. Uma vez que muitos dos usuários de banco de dados não são treinados para computação, a complexidade está escondida deles por meio de diversos níveis de abstração que simplificam a interação do usuário com o sistema (SANCHES, 2013). Veremos quais são esses níveis a seguir: • Nível físico: esse é o nível mais baixo de abstração. Apresenta como os dados estão verdadeiramente armazenados. Nesse nível, complexas estruturas de dados de baixo nível são apresentadas em detalhes. • Nível conceitual: apresenta quais dados estão armazenados de fato no banco de dados e as ligações que há entre eles. Nesse nível, o banco de dados inteiro é apresentado em termos como um pequeno número de estruturas simples. Sobretudo, as implementações de estruturas simples no nível conceitual que podem englobar complexas estruturas de nível físico, o usuário do nível conceitual não precisa se preocupar com isso. Nesse caso, o nível conceitual de abstração é utilizado por administradores de banco de dados, que podem decidir quais informações precisam ser mantidas. • Nível de visões: nível mais elevado de abstração, uma vez que permite demonstração de apenas parte do BD. Nesse caso, apesar da utilização de estruturas mais simples do que no nível conceitual, alguma complexidade perdura devido ao grande tamanho do BD. Inúmeros usuários do SBD podem não estar interessados na totalidade das informações. Em vez disso, precisam de apenas uma parte do BD. O nível de abstração das visões de dados é definido para simplificar essa interação com o sistema, que pode fornecer várias visões para o mesmo BD (SANCHES, 2013). A seguir podemos analisar uma ilustração da arquitetura que se refere à abstração de dados envolvida: Figura 1 – Arquitetura de abstração de dados Fonte: SANCHES, 2013. Além disso, a habilidade de mudar a definição de um esquema (nível de abstração), sem atingir a definição de esquema em um nível elevado, é conhecida como independência de dados, sendo dividida em dois níveis: • Independência física de dados: é a habilidade de mudar o esquema físico sem precisar reescrever os programas aplicativos. Essas mudanças no nível físico são ocasionalmente precisas para aprimorar o desempenho. • Independência lógica de dados: é a habilidade de mudar o esquema conceitual sem precisar reescrever os programas aplicativos. Essas mudanças no nível conceitual são precisas quando a estrutura lógica do banco de dados é modificada (por exemplo, a adição de contas de bolsas de mercado em um sistema bancário). Dessa forma, a independência lógica dos dados é mais difícil de conseguir do que a independência física, mas os programas são muito dependentes da estrutura lógica dos dados na qual acessam. Para tanto, o conceito de independência dos dados é parecido em vários aspectos com o conceito de tipos abstratos de dados em modernas linguagens de programação. Assim, esses fatores optam por detalhes de implementação do usuário. Ou seja, possibilitam que o usuário se concentre na estrutura geral ao invés de detalhes de baixo nível de implementação. 3.4 - Linguagens para Manipulação de Dados No que diz respeito à definição dos esquemas conceitual e interno podemos usar uma linguagem chamada DDL (Data Definition Language - Linguagem de Definição de Dados). Nesse sentido, o SGBD tem um compilador DDL que 15 possibilitaa elaboração das declarações para conhecer as classificações dos esquemas e para armazená-las no catálogo do SGBD. Portanto, a DDL é usada em bancos de dados onde não há separação entre os níveis interno e conceitual. No SGBD, a diferenciação entre os níveis conceitual e interno são bem claras. É usada uma outra forma de linguagem, a SDL (Storage Definition Language - Linguagem de Definição de Armazenamento) para classificar o esquema interno. A classificação do esquema conceitual é dada pela DDL. Se o SGBD usa uma arquitetura de três esquemas é preciso usar mais de uma linguagem para a definição de visões, a VDL (Vision Definition Language - Linguagem de Definição de Visões). Na maioria dos bancos de dados relacionais é usada a linguagem SQL, cujos comandos se dividem em três categorias: • DDL (comandos que criam, alteram ou removem objetos) - CREATE, ALTER, DROP. • DCL (comandos que ajudam na segurança do banco de dados) - GRANT, REVOKE. • DML (comandos responsáveis pela manipulação dos dados) - SELECT, DELETE, UPDATE, INSERT. 3.5 - Classificação dos SGBDs Podemos classificar um banco de dados pelos seguintes critérios: • Usuários: um SGBD pode ser monousuário (geralmente é usado em computadores pessoais) ou multiusuários (fazendo uso de estações de trabalho, minicomputadores e máquinas de grande porte); • Localização: o SGBD pode ser localizado (todos os dados estão em uma máquina ou disco) ou distribuído (os dados estarão em diversas máquinas ou diversos discos); • Ambiente: ambiente homogêneo é o ambiente composto por um único SGBD e ambiente heterogêneo é o ambiente composto por diferentes SGBDs. Podemos ter em um único sistema, um banco Oracle se comunicando com outro banco MySQL, por exemplo. Com isso, finalizamos a nossa segunda aula. Na próxima aula, vamos discorrer sobre o modelo de dados. Retomando a aula Chegamos ao final da nossa segunda aula. Vamos recordar os pontos principais? 1 – Usuários de Banco de Dados Nesta seção, vimos os diferentes tipos de perfis de usuários de bancos de dados, como o Administrador de Banco de Dados (DBA), projetista de banco de dados, usuários finais e desenvolvedores. CARVALHO, I. C. L.; KANISKI, A. L. A sociedade do conhecimento e o acesso à informação: para que e para quem? Revista Ciência da Informação, Brasília, v. 29, n. 3, p. 33-39, set./dez. 2000. CASTELLS, M. A sociedade em rede: a era informação − economia, sociedade e cultura. São Paulo: Paz e Terra, 2007. ELMASRI, R.; NAVATHE, S. B. Sistema de Banco de Dados. Tradução de Marília Guimarães Pinheiro et al. São Paulo: Pearson Education, 2005. HEUSER, Carlos Alberto. Projeto de Banco de dados. Porto Alegre: Bookman, 2009. NAVATHE, S. B. Sistema de Banco de Dados. Tradução de Marília Guimarães Pinheiro et al. São Paulo: Pearson Education, 2005. O’BRIEN, J. A. Sistemas de informação e as decisões gerenciais na era da Internet. São Paulo: Saraiva, 2004. TURBAN, E.; WETHERBE, J. C. MCLEAN, E. Tecnologia da informação para gestão: transformando os negócios na economia digital. 3. ed. São Paulo: Bookman, 2004. Vale a pena ler SANCHES, A. R. Fundamentos de Armazenamento e Manipulação de Dados. Disponível em: <http://www.ime. usp.br/~andrers/aulas/bd2005-1/aula4.html>. Acesso em: 15 mar. 2018. Vale a pena acessar Vale a pena 2 – Vantagens de usar a abordagem SGBD Vimos, nesta seção, as vantagens de usar um banco de dados, que são: Controle de Redundância, Compartilhamento de Dados, Restrição a Acesso não Autorizado, Representação de Relacionamentos Complexos entre Dados, Tolerância a Falhas, Fornecer Backup e Restauração, Fornecimento de Múltiplas Interfaces, Potencial para a Padronização, Flexibilidade, Redução do Tempo de Desenvolvimento de Aplicações, Disponibilidade de Informações Atualizadas e Economia de Escala. 3 - Arquitetura geral de um SGBD Vimos, nesta seção, tópicos relacionados à arquitetura do SGBD, como Linguagens de Manipulação de Dados, Níveis de abstração dos dados, esquemas, instâncias, e os diferentes tipos de classificação de Banco de Dados.
Compartilhar