Baixe o app para aproveitar ainda mais
Prévia do material em texto
Capítulo 1 Introdução A introdução dos computadores nas empresas, embora seja um evento dos mais recentes na história da Humanidade, produziu uma das maiores e mais rápidas transformações já vistas em nossa sociedade. A escala dos negócios, as relações de trabalho e de produção, a cultura e os meios de comunicação são apenas alguns dos aspectos de nossa vida que foram drasticamente modificados por esse processo. O nosso estilo de vida é hoje todo ele fundado, em maior ou menor grau, no suporte tecnológico oferecido pela informática, no que isso tem de bom e, por que não, também de ruim. Os sistemas de bancos de dados representam um componente importante dentro desse panorama, pois fazem parte da infra-estrutura sobre a qual está fundada uma grande parte das aplicações de informática utilizadas pelas empresas e organismos de todos os setores da economia. É uma área multidisciplinar que abrange um largo espectro do conhecimento, indo da ciência da computação à administração e filosofia, podendo por isso ser abordada por uma grande variedade de enfoques. O objetivo deste livro é oferecer uma visão da área de bancos de dados a partir de uma perspectiva de sua aplicação nos sistemas de informação, procurando articular os principais aspectos de interesse para o leitor que não precisará projetar um sistema gerenciador de bancos de dados mas sim construir aplicativos, em geral para resolver problemas comerciais, que façam um bom uso desses recursos e dos conceitos a eles subjacentes. Este primeiro capítulo procura contextualizar o emprego dos sistemas gerenciadores de bancos de dados nas aplicações comerciais e apresentar alguns conceitos básicos, que poderão ser retomados nos capítulos subseqüentes. Nosso ponto de partida será uma breve discussão sobre como a maneira de se construir os sistemas informatizados foi evoluindo ao longo do tempo. 1.1 Evolução das abordagens no desenvolvimento de sistemas Os computadores têm sido efetivamente utilizados nas tarefas de processamento de dados das empresas basicamente a partir do início da década de 60 do século passado. Com a progressiva diminuição dos custos e sofisticação dos produtos de hardware e software verificada desde então e o processo de difusão de uma cultura de informática conduzido tanto por parte dos fornecedores desses produtos como pelas escolas e universidades e, num segundo momento, também pelos meios de comunicação de massa, a presença e importância dessas máquinas nas organizações tornou-se cada vez maior. Também o dramático aumento de escala do volume de negócios desenvolvidos pelas empresas e organismos de todos os setores da economia funcionou como um intensificador desse processo, embora nem sempre seja claro se esse crescimento dos negócios em geral motivou uma maior utilização dos recursos da informática ou foi motivado por ela ou, ainda, ambos. Hoje temos um imenso volume de informações sendo processado a cada momento em um sem número de transações, executadas por equipamentos dos mais variados portes e características, em empresas e instituições de todas as partes do mundo, de praticamente todos os tamanhos e setores de atividade. Nesse contexto, os bancos de dados e os software que cuidam de sua manipulação e gerenciamento desempenham um papel muito importante, o que faz com que sua tecnologia esteja sempre em constante evolução. A introdução no ambiente corporativo dos programas de computador responsáveis por esse tipo de processamento ocorreu inicialmente nas grandes empresas e organismos públicos dos países desenvolvidos, disseminando-se então pelo resto do setor produtivo e do mundo, podendo ser analisada, para fins didáticos, numa perspectiva histórica e técnica que considera a existência de três momentos ou abordagens principais: a abordagem inicial, a de sistemas integrados e a de sistemas gerenciadores de bancos de dados. Na caracterização de cada uma dessas fases estão embutidos aspectos cronológicos (ou seja, quem veio antes de quem) e também conceituais, que revelam toda uma evolução filosófica, até mais do que técnica, da Ciência e/ou Arte do desenvolvimento de sistemas informatizados. Merece atenção esse aspecto conceitual de cada abordagem, uma vez que ele desvenda práticas e visões distintas de "como se fazer a coisa" e que, em certos aspectos, independem do ambiente de hardware e de software disponível numa instalação. 1.1.1 A abordagem inicial A abordagem inicial (ou tradicional ou convencional, conforme alguns autores) resulta, como o próprio nome pode sugerir, dos primeiros esforços na especificação e implantação de sistemas computacionais para o processamento de dados comerciais. Apesar de ser a mais antiga e apresentar uma série de inconvenientes, ainda hoje é adotada por alguns profissionais e empresas, principalmente para projetos isolados e de pequeno porte. Ao se comentar suas características básicas devemos ter sempre em mente o contexto histórico em que essa abordagem surgiu, nos primeiros anos da introdução dos computadores nas empresas. Nessa época, em primeiro lugar, não existia experiência alguma em termos de análise de sistemas baseados em computador, o que tornava a tarefa da especificação de sistemas muito dependente da intuição e do senso prático do analista, já que não haviam regras ou conceitos suficientemente testados para serem utilizados. Em segundo lugar, os custos para a introdução do departamento de processamento de dados numa empresa eram muito altos, o que gerava uma pressão sobre a equipe de desenvolvimento no sentido de que o retorno do investimento ocorresse rapidamente. Completando esse quadro inicial, todo o marketing dos computadores era feito em cima da sua enorme velocidade de processamento. Assim, a situação com que os primeiros analistas de sistemas se defrontaram levou a que objetivassem desenvolver o maior número possível de sistemas, priorizando-se aqueles que tivessem a maior repercussão dentro da empresa, já que o lema era "Mostrar serviço". Os resultados não tardaram: os sistemas eram projetados independentemente uns dos outros, proporcionando soluções setorizadas para os problemas da organização; as primeiras áreas a serem informatizadas eram aquelas que apresentavam tarefas repetitivas e demoradas; as aplicações, em geral, apenas automatizavam o que era feito manualmente, sem questionar os procedimentos em busca de maiores otimizações organizacionais. Pessoal Vendedores Cargos Vendas Pedidos Mat. prima Fornecedores Materiais Clientes Produtos Funcionarios Pedidos Produtos FOLHA PAGTO VENDAS PCP Horas trab, Pagamentos Figura 1.1: Sistemas informatizados desenvolvidos segundo a abordagem inicial. Assim, podemos resumir as principais características dessa abordagem inicial: a) Cada aplicação tem seus próprios arquivos: como o projeto do sistema baseia-se numa visão isolada do problema, ele não prevê forma alguma de integração com outras aplicações já existentes ou a serem desenvolvidas. Devido à ênfase nos processos, os programas tornam-se mais importantes que os dados, e temos cada aplicação administrando seus próprios arquivos. O resultado é, em primeiro lugar, o surgimento de redundâncias, com vários arquivos duplicados dentro da empresa mas sendo de "donos" diferentes. Isso acaba gerando inconsistências, pois freqüentemente ocorre que uma informação é atualizada num arquivo mas não em outro. Os métodos de armazenamento e as linguagens de programação tradicionais forçam as aplicações a conhecerem muito tanto da estrutura física como da localização dos arquivos a serem manipulados. Isso acaba levando a uma excessiva dependência dos programas em relação aos arquivos. Com isso, qualquer modificação na estrutura ou mesmo na localização de um arquivo de dados implica em alterações às vezessubstanciais no código fonte da aplicação. b) Sistemas pouco flexíveis: a introdução de alterações nas aplicações é problemática devido a vários fatores: a estreita ligação entre programas e arquivos; a falta de metodologias para o desenvolvimento de sistemas, que torna certos analistas "donos" das aplicações que geram; a existência de projetos totalmente despreocupados com a alterabilidade, etc. Sempre que a manutenção é difícil, também é demorada e cara e muitas vezes um sistema produzido com essas características precisa ser abandonado pois torna-se inviável administrar a sua manutenção. c) Ausência de dispositivos de segurança para os dados: uma vez que toda aplicação deve ser construída a partir da estaca zero, os procedimentos de segurança necessários ao sistema também ficam inteiramente a cargo do analista / programador, o que demanda recursos de tempo e máquina. Muitas vezes tais dispositivos são deixados para o final do projeto e, devido às pressões dos prazos e aos imprevistos, nunca são implementados adequadamente. 1.1.2 Abordagem de sistemas integrados Esta filosofia surgiu como conseqüência e em resposta a alguns dos inúmeros problemas decorrentes da abordagem inicial. A principal diferença reside na definição de bases de dados sob uma óptica mais ampla, permitindo que um mesmo arquivo seja utilizado por mais de um sistema, o que a faz caracterizar-se pela implantação de sistemas corporativos nas empresas, onde há uma grande preocupação com a integração das informações das principais áreas operacionais. Ocorrem também esforços no sentido da padronização de algumas tarefas inerentes ao desenvolvimento de sistemas, embora muitos conceitos relacionados à especificação de sistemas apoiem-se ainda em bases empíricas. Constitui um avanço em relação à abordagem anterior, pois leva à uma maior coordenação entre os sistemas e à diminuição das redundâncias na base de dados, mas ainda apresenta alguns problemas sérios, pois os programas continuam fortemente acoplados aos arquivos, agora com o agravante de que qualquer alteração na estrutura física da base de dados envolve a correção de programas de vários sistemas. Além disso a ênfase continua sendo dada aos processos (programas) e não aos dados e com isso as aplicações tornam-se menos estáveis, exigindo maiores esforços da equipe de desenvolvimento para sua adaptação às mudanças nas regras de negócios da organização. Isso ocorre porque num mundo competitivo como o dos negócios, as práticas comerciais são modificadas com uma freqüência muito grande, e possuem um reflexo maior sobre os programas que as implementam do que sobre os dados por elas requeridos. Cargos Vendas Mat. prima Fornecedores MateriaisClientesFuncionarios Pedidos Produtos FOLHA PAGTO VENDAS PCP Horas trab, Pagamentos Figura 1.2: Os sistemas informatizados segundo a abordagem integrada. 1.1.3 Abordagem de sistemas gerenciadores de bancos de dados As duas abordagens anteriores, apesar de apresentarem diferenças até certo ponto significativas, têm em comum uma característica determinante: ao se desenvolver uma aplicação comercial informatizada, a ênfase é dada aos processos, e isso gera dificuldades de manutenção, em parte como conseqüência do forte acoplamento dos programas aos arquivos de dados. Além disso, é importante reconhecer que existe uma grande carga de processamento que é requerida pelos dados em si, independentemente dos propósitos gerais do sistema como, por exemplo, autenticação de acesso e controle de concorrência sobre os arquivos, manutenção de consistências básicas dos dados, funcionalidades para recuperação de falhas e cópias de segurança, processamento de consultas, etc. Nos sistemas desenvolvidos segundo as duas primeiras abordagens, esse conjunto de funcionalidades encontra-se codificado em cada programa, constituindo uma espécie de redundância de processos: as mesmas rotinas, que não são específicas de nenhum aplicativo em particular, acabam sendo mantidas, repetidas, em todos os sistemas, criando suas próprias dificuldades de manutenção e desempenho em execução. A necessidade da construção de sistemas cada vez mais complexos, flexíveis e confiáveis, integrando com robustez os dados de toda a organização (e não apenas de alguns departamentos) fez surgir a abordagem de Sistemas Gerenciadores de Bancos de Dados (SGBD), considerada a mais adequada atualmente, que faz uma separação ainda mais drástica entre a base de dados e as aplicações finais por meio da introdução de um software específico, o SGBD, cujo papel é concentrar as funcionalidades básicas de acesso e gerenciamento dos dados. Com isso alivia-se a carga de trabalho dos programas destinados ao usuário final, centraliza-se a administração da base de dados e elimina-se redundâncias de processos. Cargos Vendas Mat. prima Fornecedores MateriaisClientesFuncionarios Pedidos Produtos FOLHA PAGTO VENDAS PCP Horas trab, Pagamentos SGBD Figura 1.3: Os sistemas informatizados na abordagem baseada em SGBDs. Existem duas preocupações principais ao se trabalhar nesse novo enfoque. A primeira, num nível mais conceitual, consiste na definição de um modelo de dados em termos da empresa como um todo, contemplando os diversos setores da organização numa visão de médio e longo prazos. Nesse modelo deve estar retratada toda a inter-relação entre as diversas áreas componentes do negócio e todas as suas necessidades de informação. Só com base nisso pode-se garantir que as aplicações a serem desenvolvidas individualmente terão o comportamento desejado em termos de integração com outros sistemas e os dados serão sempre confiáveis. A segunda preocupação diz respeito à forma de implementação física dos dados em termos dos programas que os irão manipular. É necessário que os programas tenham uma visão de alto nível dos dados, o mais independente possível dos fatores físicos ligados à forma de armazenamento dos dados (como tipo e tamanho de cada dado, localização física dos arquivos, etc). Assim, nos sistemas gerenciadores de bancos de dados, existe uma separação interna entre o local onde se armazena a definição física (e mesmo lógica) dos dados e aquele onde eles são realmente utilizados, inclusive originando os conceitos de Linguagem de Definição dos Dados (LDD), utilizada para construir, destruir e modificar a estrutura dos objetos do banco de dados; Linguagem de Manipulação dos Dados (LMD, também chamada de linguagem de consulta), voltada para a atualização e leitura dos dados contidos nos objetos e Linguagem de Controle de Dados (LCD), para o gerenciamento dos direitos de acesso lógico aos dados. Para que esse tipo de isolamento possa ocorrer o SGBD deve utilizar um repositório onde são armazenadas todas essas definições, também chamadas de metadados, de forma que fiquem externas ao código da aplicação. Esse repositório apresenta-se na forma de um catálogo ou dicionário de dados cuja aparência e transparência para o analista / programador / usuário é bastante variável de SGBD para SGBD. Esses software também chamam para si a responsabilidade pela implementação de controles de transação, de segurança de acesso e de concorrência, que são complexos e de difícil manutenção e representam aquele tipo de redundância lógica observada nas abordagens mais antigas. Ao trabalhar sob a abordagem de banco de dados é então necessário que o pessoal ligado ao desenvolvimento comprometa-se com certos princípios e requisitos, em troca de alguns importantes benefícios. A seguir estão resumidas as principais exigências e vantagens determinadas pela utilização do enfoque de banco de dados. Vantagens: a) desenvolvimento mais flexível e produtivo ; b) integração dos dados em nível corporativo ; c) transparência dos dados quanto às aplicações; d) maior controle sobre a integridade dos dados ; e) maiores recursos para garantir a segurança dos dados. Requisitos: a) aquisição e utilização de um SGBD ; b) centralização da definição de dados ; c) centralização do projeto das bases de dados ; d) capacitação da equipe de desenvolvimento numa plataforma mais complexa. 1.2 Bancos de Dados e Sistemas Gerenciadores de Bancos de Dados Chamamos de “Banco de Dados” ou de “Base de Dados” a um conjunto de dados relacionados entre si, que podem estar, em princípio, em qualquer formato ou meio físico. No atual contexto tecnológico entretanto, e nesta obra em particular, esses termos estarão associados com dados representados em formato digital e armazenados em algum dispositivo eletrônico. Dá-se o nome de “Sistema Gerenciador de Banco de Dados” ao conjunto de programas responsável pela definição e operacionalização de uma base de dados, proporcionando um ambiente para o acesso da comunidade de usuários às informações armazenadas nos seus diversos arquivos. Tabela 1 Tabela 4 Tabela NTabela 3 Tabela 5 ... AAAA BBBB CCCC Tabela 2 SGBD Banco de Dados Aplicações finais Figura 1.4: Contexto de utilização de um SGBD. 1.2.1 Arquitetura em 3 níveis Um banco de dados pode ser caracterizado inicialmente por dois aspectos principais: a) sua instância, que é o conjunto de informações contidas no banco de dados em um determinado momento. A instância reflete o estado do banco de dados em um instante específico do tempo, e é extremamente dinâmica, pois é modificada a cada operação de inclusão, exclusão ou alteração de dados por parte dos usuários finais. b) seu esquema, ou seja, a sua estrutura ou lay-out básico, que determina quais os dados que podem ser nele armazenados, seu formato e detalhes de implementação. O esquema é descrito em termos de metadados, e pode expressar a estrutura do banco de dados em diferentes níveis de detalhe. O esquema permite saber quais as tabelas ou objetos existentes em um banco de dados e também quais os tipos de informação capazes de serem guardados nesses objetos. Conforme a necessidade dos diferentes tipos de usuário do banco de dados, é interessante expressar sua estrutura geral (seu esquema) em diferentes níveis de abstração. O grupo de estudos em sistemas de bancos de dados do comitê ANSI/SPARC propôs, em 1978, uma arquitetura que prevê 3 níveis de abstração para um banco de dados. Cada nível corresponde a um esquema e por esse motivo essa proposta recebeu o nome de Arquitetura de 3 Esquemas, ilustrada na figura 1.5. Figura 1.5: A arquitetura ANSI/SPARC. O esquema interno representa os detalhes físicos específicos sobre como os dados estão realmente gravados nos dispositivos de armazenamento utilizados pelo sistema. Indica os arquivos empregados, a estrutura de bytes utilizada (formato de cada registro e campo) e os meios auxiliares de acesso (índices, hashing, etc). O nível externo procura mostrar a percepção que cada aplicação ou grupo de usuários possui do banco de dados. Essa percepção nada mais é do que uma visão particular (e geralmente parcial) do conteúdo do banco de dados, na qual os detalhes sobre a forma real de armazenamento são irrelevantes. Como co-existem diversos aplicativos fazendo uso do banco de dados, e para cada aplicativo podem existir diferentes classes de usuários, cada uma com necessidades de informação específicas, o nível externo é Nível Externo (ou de Visão) Nível Conceitual Nível Interno (ou Físico) Armazenamento Esquema Interno Visão N Esquema Conceitual Visão 2 Visão 1 ... composto por diversos esquemas de alto nível, um para cada aplicativo ou classe de usuário identificada. O esquema conceitual, algumas vezes chamado de esquema lógico comunitário, procura representar, em um nível intermediário de abstração, a estrutura geral do banco de dados, fazendo o mapeamento entre as diversas visões de usuário com o esquema físico subjacente. 1.2.2 Princípios para um SGBD Ao utilizar-se um SGBD estão implícitos certos objetivos fundamentais, como a integração das atividades gerenciais e operacionais da empresa, a obtenção de maior segurança em termos do armazenamento dos dados, a facilitação da tarefa de desenvolvimento de sistemas, a melhor adequação da base de dados à realidade do dia-a- dia, a melhoria das condições de administração do conjunto de dados, etc. Para que tudo isso seja possível é necessário que o SGBD obedeça a alguns princípios básicos que são resumimos a seguir: a) Independência de dados: é o principal objetivo de um SGBD e consiste na capacidade de tornar as características do esquema de um nível do banco de dados transparentes para o esquema de nível imediatamente superior. Com isso, modificações no arranjo físico dos dados (como sua localização, estrutura, tamanho, etc) devem ser tão transparentes quanto possível para o nível conceitual, indicando com isso, o grau de independência de dados física daquele banco de dados. O esquema conceitual, por sua vez, deve garantir independência de dados lógica, por permitir que modificações em suas características tenham mínimo impacto sobre as correspondentes visões de usuário, viabilizando assim que os programas aplicativos venham dispor apenas de uma visão de alto nível da base de dados, que não é influenciada (ou é pouco influenciada) por eventuais modificações na forma de armazenamento dos dados. b) Compartilhamento de dados: deve ser possível que, num determinado momento, mais de um usuário possa acessar os dados armazenados pelo SGBD. c) Garantia de integridade de dados: apesar de permitir que os dados sejam compartilhados, o SGBD deve oferecer serviços que evitem que atualizações concorrentes tornem a base de dados inconsistente. d) Garantia de segurança de dados: o SGBD deve oferecer meios que resguardem a base de dados nos casos de falha de programa, equipamento ou sinistros. Também deve ser possível que alterações indevidas feitas pelos usuários durante a operação dos aplicativos sejam desfeitas sem prejuízo da coerência dos dados. Considera-se igualmente como um item de segurança a ser proporcionado pelo software gerenciador o controle dos níveis de acesso dos usuários aos dados do sistema. e) Relacionamento entre os dados: a implementação dos diversos relacionamentos previstos na base de dados deve ser controlada automaticamente pelo SGBD, externamente à aplicação. f) Controle da redundância de dados: devem ser proporcionados meios para que seja possível o controle da repetição de dados pelos diversos arquivos administrados pelo SGBD. Isso é conseguido por meio da centralização da definição dos dados num Dicionário de Dados ou Catálogo, que serve como base para a operação do SGBD. Evidentemente, tais princípios existem interligados entre si, sendo que o descuido com relação a um deles geralmente apresenta reflexos sobre todos (ou quase todos) os demais. 1.2.3 Modelos de SGBDs Os produtos SGBDs podem ser classificados em 5 categorias principais: os de estrutura hierárquica; os de estrutura de rede; os relacionais; os orientados a objeto e os objeto- relacionais. Cada um desses modelos corresponde a um estágio na evolução do hardware disponível para as aplicações comerciais e no estado da arte na área da teoria de Banco de Dados e da Engenharia de Software e diferem entre si por 5 aspectos principais: a ordem cronológica em que surgiram; os tipos de elos (ligações) utilizados para implementar internamente os relacionamentos entre os dados; as modalidades de relacionamento suportados; a variedade de conteúdo que pode ser colocado dentro do banco de dados e, finalmente, o tipo de linguagemutilizada para implementar as aplicações que interagem com a base de dados. Os modelos hierárquicos e de rede já são considerados ultrapassados; e a abordagem orientada a objetos ainda é uma tecnologia em maturação, embora promissora e em rápida evolução. Os SGBDs mais utilizados hoje em dia foram concebidos com base em um modelo matemático derivado da Teoria dos Conjuntos e que teve um grande desenvolvimento a partir da década de 70. Esse modelo é chamado Modelo Relacional e os SGBD que operam aplicando tais conceitos são chamados de Sistemas Gerenciadores de Bancos de Dados Relacionais (SGBDR). São exemplos de SGBDR os seguintes produtos, entre outros: MS-Access, MS-SQL Server, Oracle, Sybase, Informix, CA-Ingres, IBM-DB2, Borland-Interbase, MySQL, etc. Os SGBDs objeto-relacionais, por sua vez, implementam conceitos orientados a objeto sobre mecanismos relacionais, e ganharam alguma importância nos últimos anos. 1.2.4 Classes de usuários dos SGBDs Existem 3 tipos básicos de usuários dos sistemas gerenciadores de bancos de dados: os administradores de bancos de dados, os desenvolvedores de aplicativos e os usuários finais. Cada um possui seu próprio perfil de utilização e necessidades que devem ser atendidas pelo sistema. a) Administradores de banco de dados: também chamados de DBA, que é a sigla para a denominação em inglês database administrator, são os responsáveis por criar e tornar operacional o banco de dados, ficando a seu encargo uma série de tarefas essenciais para o bom funcionamento do sistema e boa parte do suporte técnico requerido pelos outros tipos de usuário. Possui um perfil bastante técnico, pois precisa conhecer a fundo os conceitos de bancos de dados e a forma como são implementados no particular produto SGBD por ele utilizado. Um maior detalhamento das atribuições de um administrador de banco de dados é encontrado no capítulo 999. b) Desenvolvedores de aplicações: são os analistas, programadores e engenheiros de software responsáveis pela especificação da estrutura do banco de dados e pelo projeto e construção dos programas de computador que automatizarão o acesso aos dados. Possuem também um perfil bastante técnico e devem dominar os recursos da linguagem de manipulação de dados, principalmente, mas não precisam conhecer tão a fundo os detalhes internos do SGBD, embora isso possa ser desejável na criação e manutenção de alguns tipos de sistemas. c) Usuários finais: são as pessoas para as quais os aplicativos são construídos e a razão de ser de toda essa tecnologia. Existem algumas variedades importantes de usuários finais: o usuário comum, regular, que trabalha em seu dia a dia com um software criado pelos desenvolvedores e que em sua operação faz acessos programados ao SGBD, embora nem sempre ele tenha consciência disso; o usuário final que precisa fazer consultas aleatórias e interativas ao banco de dados, através de ferramentas de consulta mais poderosas, tipicamente para aplicações de suporte à decisão e os usuários mais sofisticados, que precisam conhecer mais a fundo alguns recursos de banco de dados para poderem trabalhar ou que utilizam aplicações mais específicas, como sistemas especialistas ou multimídia, por exemplo. 1.3 Um curso de bancos de dados Para um profissional que desenvolve ou dá suporte técnico a sistemas de informação, ou para um futuro candidato a esse tipo de função, o estudo da matéria “Banco de Dados” pode ser encarado, após a rápida explanação feita anteriormente neste capítulo, como procurar compreender as principais questões e possibilidades que gravitam em torno da utilização de um sistema gerenciador de bancos de dados em um ambiente de produção e desenvolvimento. E são várias as questões que merecem boas respostas para esse profissional: a) Como definir o que deve ser armazenado no banco de dados? b) Como organizar esse conteúdo no interior do banco de dados? c) De que forma o conteúdo de um banco de dados pode ser manipulado pelo SGBD? d) Quais são as tarefas executadas por um SGBD? Em linhas gerais, como elas são executadas? e) Internamente como está estruturado um SGBD, em termos de sua arquitetura? f) De que forma uma aplicação final pode interagir com o SGBD? g) O que faz um administrador de banco de dados? h) Como um SGBD pode administrar a utilização dos mesmos dados por mais de um usuário ao mesmo tempo? i) O que pode ser feito para minimizar os problemas decorrentes de falhas e interrupções indesejadas na operação do sistema? j) Quais são as novas aplicações e tecnologias de bancos de dados que têm surgido nos últimos tempos? k) Para onde vai a tecnologia de bancos de dados? Todas essas questões serão tratadas neste livro, algumas com maior profundidade, outras com maior abrangência. Compreender como funcionam os bancos de dados e seus sistemas gerenciadores e qual o papel que desempenham nos planos tecnológico e de negócios é crucial para os atuais e futuros profissionais de informática.
Compartilhar