Sistemas de Informação e as decisões gerenciais na era da Internet James A. O'Brien Capítulo 5: Introdução ao Gerenciamento de Bancos de Dados 5.1 Gerenciamento de Banco de Dados: Administrando Recursos de Dados. 5.2 Fundamentos Técnicos do Gerenciamento de Banco de Dados. Gerencimento de Banco de Dados: Administrando Recursos de Dados Os dados são um recurso organizacional essencial que precisa ser administrado como outros importantes ativos das empresas. A maioria das organizações não conseguiria sobreviver ou ter sucesso sem dados de qualidade sobre suas operações internas e seu ambiente externo. As organizações estão sujeitas a enorme pressão para o fornecimento de informações de melhor qualidade para as tomadas de decisão, apresentadas de formas que sejam fáceis de acessar e manipular. Os usuários empresariais estão reagindo às necessidades críticas de melhores informações para suas missões específicas devido a mercados em rápida transformação, cada vez mais voláteis e competitivos, bem como a ciclos de vida de produto cada vez mais curtos. Gerencimento de Banco de Dados: Administrando Recursos de Dados Processamento de dados: Dados na forma bruta sendo processados, ou transformados, por algoritmos, ou operações, para produzirem informações úteis. As organizações e seus gerentes precisam praticar a administração de recursos de dados, uma atividade que aplica tecnologias de sistemas de informação como gerenciamento de bancos de dados e outras ferramentas gerenciais à tarefa de administrar os recursos de dados de uma organização para atender as necessidades de informação dos usuários. Conceitos Básicos sobre Dados (1/4) Os dados podem ser organizados logicamente em caracteres, campos, registros, arquivos e banco de dados. Caracter Elemento lógico mais simples dos dados, consiste em um único símbolo alfabético, numérico ou outro. Visão Física = ponto de vista do hardware = um byte, elemento mais elementar de dados. Visão Lógica = ponto de vista do usuário, é o elemento mais simples dos dados possível de ser observado e manipulado. Conceitos Básicos sobre Dados (2/4) Campo, ou item de dados Consiste em um grupamento de caracteres. O grupamento de caracteres alfabéticos no nome de uma pessoa, por exemplo, forma um campo de nome, e o grupamento de números em um total de vendas forma um campo de total de vendas. Em termos específicos, um campo de dados representa um atributo (uma característica ou qualidade) de alguma entidade (objeto, pessoa, lugar ou evento). O salário de um funcionário, por exemplo, é um atributo que é um campo de dados típico utilizado para descrever uma entidade que é um funcionário de um empresa. Conceitos Básicos sobre Dados (3/4) Registro Os campos de dados afins são agrupados para formarem um registro. Assim, um registro representa uma coleção de atributos que descrevem uma entidade. Um exemplo é o registro de folha de pagamento para uma pessoa, que consiste em campos de dados descrevendo atributos como o nome da pessoa, seu número da previdência social e sua base salarial. Arquivo Um grupo de registros afins é um arquivo ou tabela de dados. Desta forma, um arquivo de funcionários conteria os registros dos funcionários de uma empresa. Podem ser classificados quanto a sua permanência como: Arquivo mestre = principal. Arquivo de transações, ou detalhe = movimentações. Arquivo histórico, ou acervo = para fins de backup. Conceitos Básicos sobre Dados (4/4) Banco de Dados (BD) Conjunto integrado de registros ou objetos logicamente afins. Um objeto consiste em valores de dados descrevendo os atributos de uma entidade, além das operações que podem ser executadas sobre os dados. Um BD consolida registros previamente armazenados em arquivos separados em uma fonte comum de registros de dados que fornece dados para muitas aplicações. Os dados armazenados em um BD são independentes dos programas aplicativos que os utilizam e do tipo de dispositivos de armazenamento secundário nos quais estão armazenados. Um BD de pessoal, por exemplo, consolida dados anteriormente isolados em arquivos separados como arquivos de folha de pagamento, arquivos de ações de pessoal e arquivos de qualificações de funcionários. Elementos Lógicos dos Dados banco de dados DBDEMOS ponteiro de registro (registro atual)- denota o registro com o qual o usuário está trabalhando linhas = registros tabela de dados “country.db” do banco de dados DBDEMOS colunas = campos A Abordagem do Gerenciamento de Bancos de Dados O desenvolvimento de BD e de softwares de gerenciamento de bancos de dados é o fundamento dos métodos modernos de gerenciar dados organizados. A abordagem do gerenciamento de BD consolida registros e objetos de BD que podem ser acessados por diferentes programas aplicativos. Sistema de gerenciamento de banco de dados (database management system, ou DBMS) funciona como interface de software entre os usuários e os BD. Dessa forma, o gerenciamento de BD envolve o uso de software de gerenciamento para controlar como eles são criados, comsultados e mantidos para fornecerem as informações necessárias aos usuários finais e suas organizações. A Abordagem do Gerenciamento de Bancos de Dados A abordagem do gerenciamento de bancos de dados envolve três atividades básicas: . Atualização e manutenção de BD comuns para refletir novas transações de negócios e outros eventos que exigem mudanças nos registros de uma organização. . Fornecimento das informações requisitadas por cada aplicação do usuário final mediante o uso de aplicativos que compartilham os dados em BD comuns. Este compartilhamento de dados é suportado pela interface comum de dados propiciada por um pacote de DBMS. Dessa forma, os usuários finais e programadores não precisam saber onde ou como os dados estão fisicamente armazenados. . Fornecimento de uma capacidade de consulta/resposta e emissão de relatório por meio de um pacote DBMS. A Abordagem do Gerenciamento de BD’s Consulta Processamento de Transações do Cliente Programa de Conta Corrente Programa de Conta Poupança Programa de Financiamento Sistema de Gerenciamento de Bancos de Dados (criação de tabelas, manutenção, controle de transações, integridade dos dados, consultas, relatórios, ...) Bancos de Dados do Cliente Dados da Conta Corrente Dados de Conta Poupança Dados de Financiamento Outros Dados do Cliente Sistemas de Gerenciamento de Bancos de Dados Conjunto de programas de computador que controla a criação, manutenção e uso dos bancos de dados por uma organização e seus usuários finais. Gerenciament o de Banco de Dados Os quatro usos maiores de um pacote de DBMS são: . Desenvolvimento de BD . Consulta de BD . Manutenção de BD . Desenvolvimento de aplicações Sistema Operacional Sistema de Gerenciamento do Banco de Dados Aplicativos Bancos de Dados Dicionário de Dados Desenvolvimento de Bancos de Dados Pacotes de gerenciamento de BD como MS Access ou Lotus Approach permitem aos usuários finais desenvolverem facilmente os BD de que necessitam. Entretanto, as grandes organizações com sistemas cliente/servidor ou baseados em mainframe normalmente colocam o controle do desenvolvimento de BD em nível empresarial nas mãos de administradores de bancos de dados e outros especialistas em BD. Isto melhora a integridade e segurança dos BD organizacionais. Os programadores utilizam a linguagem de definição de dados em DBMS como o Oracle 8 ou o DB2 da IBM para desenvolver e especificar o conteúdo, relações e estruturas dos dados em cada BD e para modificar as suas especificações sempre que necessário. Essas informações são catalogadas e armazenadas em um BD de definições e especificações de dados chamado dicionário de dados, que é mantido pelos administradores de banco de dados (DBA’s). Dicionário de Dados Os dicionários de dados são outra ferramenta da administração de BD. Um dicionário de dados é um catálogo ou diretório computadorizado contendo metadados, ou seja, dados sobre dados. Um dicionário de dados inclui um componente de software para gerenciar um banco de definições de dados, isto é, metadados sobre a estrutura, elementos dos dados e outras características dos BD de uma organização. Ele contém, por exemplo, os nomes e descrições de todos os tipos de registros de dados e suas inter-relações, bem como informações definindo os requisitos para o acesso dos usuários finais a programas aplicativos e de manutenção e segurança dos BD. Os dicionários de dados podem ser consultados pelo DBA para relatar a situação de qualquer aspecto de metadados de uma empresa. O administrador pode, então, fazer mudanças nas definições de elementos de dados selecionados. Consulta do Banco de Dados A capacidade da consulta ao banco de dados é um dos principais benefícios de um sistema de gerenciamento de bancos de dados. Os usuários finais podem utilizar um DBMS pedindo informações de um BD por meio de uma linguagem de consulta ou um gerador de relatórios. Eles podem receber uma resposta imediata na forma de telas de vídeo ou relatórios impressos. Consultas SQL A SQL, ou Structured Query Languagem (Linguagem de Consulta Estruturada), é uma linguagem de consulta encontrada em muitos pacotes de gerenciamento de BDs. A forma básica de uma consulta SQL é: SELECT lista de campos de dados FROM lista de arquivos, ou tabelas dos quais devem ser recuperados os dados WHERE condições da busca Manutenção de Bancos de Dados Os bancos de dados de uma organização precisam ser constantemente atualizados para refletirem as novas transações de negócios e outros eventos. Outras mudanças diversas devem ser feitas para garantir precisão dos dados nos bancos de dados. Este processo de manutenção de bancos de dados é acompanhado por programas de processamento de transações e outros pacotes de aplicativos para o usuário final, com apoio do DBMS. Os usuários finais e os especialistas em informática também podem empregar vários utilitários fornecidos por um DBMS para manutenção de bancos de dados. Desenvolvimento de Aplicações Os pacotes DBMS desempenham um papel importante no desenvolvimento de aplicações. Usuários finais, analistas de sistemas e outros programadores de aplicações podem utilizar a linguagem interna de programação e ferramentas embutidas de desenvolvimento de software fornecidas por muitos pacotes de DBMS para desenvolverem programas de aplicação personalizada. Você pode, por exemplo, utilizar um DBMS para criar facilmente telas de entradas de dados, formulários e relatórios de um aplicativo empresarial. Um DBMS também facilita a tarefa dos programadores de aplicações, já que estes não precisam desenvolver procedimentos detalhados de manipulação de dados utilizando uma ling. de programação toda vez que escrevem programas. Em vez disto, podem incluir em seus programas formulações em linguagem de manipulação de dados que chamam o DBMS para realizar as atividades necessárias de manipulação de dados. O que é a SQL ? A SQL significa Structured Query Language (Linguagem de Consulta Estruturada) e foi criada pela IBM como linguagem de acesso ao seu banco de dados relacional para mainframes, o DB2. Ela atende ao conjunto completo de exigências para se classificar como linguagem relacional e foi padronizada como linguagem relacional padrão para uso em qualquer plataforma de computadores: mainframes, minis, micros (de qualquer marca). É uma linguagem aberta para uso por qualquer fornecedor de software. O que é a SQL ? É a linguagem padrão usada para construir e acessar “sistemas de banco de dados relacionais” de diferentes tipos e em diferentes plataformas de hardware. A linguagem SQL se divide em duas partes independentes (chamadas também de linguagens): 1ª. uma linguagem de manipulação de dados, usada para consultar, incluir, excluir e alterar os dados do bancos de dados, 2ª. uma linguagem de definição de dados, usada para criar e alterar a estrutura dos bancos. Linguagem de Manipulação de Dados (DML) SELECT . obter os dados de uma ou mais tabelas contidas em um ou mais bancos de dados. . obter informações de resumo sobre os dados das tabelas, tais como totais gerais, contagem de registros, e ainda o valor máximo, mínimo ou médio. INSERT, DELETE e UPDATE manipular dados em tabelas, através da inserção, exclusão ou atualização de registros. Linguagem de Definição de Dados (DDL) CREATE TABLE, ALTER TABLE e DROP TABLE criar, modificar ou eliminar tabelas em um banco de dados. CREATE INDEX e DROP INDEX criar ou eliminar índices para uma tabela. Principais Tipos de Bancos de Dados Bancos de Dados Externos na Internet e Serviços Online Bancos de Dados Distribuídos em Intranets e Outras Redes PC ou NC do Cliente Bancos de Dados do Usuário Final Servidor de Rede Depósitos de Dados (Data Warehouse) Bancos de Dados Operacionais da Organização Bancos de Dados Analíticos dos Dados Críticos da Organização Tipos de Bancos de Dados (1/4) Banco de Dados Operacionais armazenam dados detalhados necessário para apoiar as operações da organização como um todo. Eles também são chamados bancos de dados de área temática (Subject Area Databases, ou SADB), bancos de dados de transações e bancos de dados de produção. São exemplos o BDs de clientes, pessoal e estoque e outros BD contendo dados gerados pelas operações das empresas. Data Warehouse (armazém, ou depósito de dados) armazena dados do ano em curso e anos anteriores que foram extraídos dos vários BD operacionais de um organização. É uma fonte central de dados que foram classificados, editados, padronizados e integrados de tal forma que podem ser utilizados para uma multiplicidade de formas de análise empresarial, pesquisa de mercado e apoio à decisão. Tipos de Bancos de Dados (2/4) Data Mining (mineração de dados) No data mining, os dados de um data warehouse são processados para identificar fatores e tendências chaves nos padrões das atividades de negócios. Esse procedimento pode ser utilizado para ajudar os gerentes a tomarem decisões sobre mudanças estratégicas nas operações empresariais para obter vantagens competitivas no mercado. Banco de Dados Distribuídos Muitas organizações reproduzem e distribuem cópias ou partes de BD para servidores de rede em uma multiplicidade de locais. Esses BDs distribuídos podem residir em servidores de rede, na Rede Mundial de Computadores, em intranets ou extranets. Garantir que todo os dados nos BD distribuídos de um organização sejam constante e concomitantemente atualizados é o desafio maior gerenciamento de BD distribuídos. Tipos de Bancos de Dados (3/4) Bancos de Dados Externos O acesso a uma ambundância de informações de BD internos e externos é disponível mediante uma taxa em serviços comerciais online, e com ou sem tarifas de muitas fontes na Internet, particularmente na Rede Mundial de Computadores. Os sites da rede fornecem uma variedade infinita de páginas de documentos interligados por hiperlinks em bancos de dados em hipermídia possíveis de serem acessados. Você pode visualizar ou carregar para o seu computador resumos ou cópias completas de centenas de jornais, revistas, boletins informativos, documentos de pesquisa e outros materiais publicados e periódicos em bancos de dados bibliográficos e de textos integrais. Tipos de Bancos de Dados (4/4) Bancos de Dados em Hipermídia na Rede O rápido crescimento dos sites na Internet e intranets e extranets tem aumentado drasticamente o uso de bancos de dados em documentos em hipertexto e hipermídia. Um site de rede armazena essas informações em um banco de dados em hipermídia que consiste em uma home page e outras páginas de multimídia ou mídias mistas (texto, imagens gráficas e fotográfias, videoclipes, segmentos de áudio e assim por diante) com hiperlinks. Ou seja, do ponto de vista do gerenciamento de BD, o conjunto de páginas de multimídia interconectadas em um site da rede é um BD de páginas de hipermídia inter-relacionadas, em lugar de registros de dados inter-relacionados. Um BD em hipermídia que consiste em páginas em HTML (Hypertext Markup Language), arquivos GIF (Graphic Image Files) e arquivos de vídeo. Sistemas de Informações Baseados na Rede Navegador de Rede PCs ou NCs do Cliente A Internet Intranets Extranets Software do Servidor de Rede Banco de Dados em Hirpemídia Páginas em HTML Arquivos de Imagens GIF Arquivos de Vídeo Servidor de Rede Benefícios do Gerenciamento de Bancos de Dados O gerenciamento de bancos de dados reduz a duplicação de dados e integra os dados de forma que possam ser acessados por múltiplos programas e usuários. Os usuários são dotados de uma capacidade de consulta/ resposta e relatório que lhes permite facilmente obter as informações de que necessitam sem terem de formular programas de computador. Integridade e segurança dos dados armazenados em BD podem ser aumentadas, já que o acesso aos dados e a modificação dos bancos de dados são controlados pelo software de sistema de gerenciamento de banco de dados, dicionário de dados e a função de administração de bancos de dados. Limitações do Gerenciamento de Bancos de Dados Complexidade tecnológica. Pode ser difícil e dispendioso desenvolver grandes bancos de dados de tipos complexos e instalar um DBMS. Maior capacidade de hardware é exigida, já que são maiores os requisitos de armazenamento para os dados da organização e para os programas DBMS. Finalmente, se a organização utiliza bancos de dados centralizados, sua vunerabilidade a erros, fraude e falhas é aumentada. Inconsistência de dados podem surgir quando é utilizado um método de bancos de dados distribuídos. Portanto, a segurança e a integridade dos bancos de dados de um organização são as principais preocupações no esforço de gerenciamento de recursos de dados. Estrutura dos Bancos de Dados As relações entre os muitos registros individuais nos bancos de dados são baseadas em uma das diversas estruturas ou modelos lógicos de dados. Os pacotes de sistemas de gerenciamento de bancos de dados são projetados para utilizar uma estrutura específica de dados para fornecer aos usuários finais acesso rápido e fácil a informações armazenadas em bancos de dados. As cinco estrutura de bancos de dados fundamentais são os modelos: hieráquicos, estrutura em rede, estrutura relacional, orientados a objetos e multidimensionais. Estrutura Hieráquica Os primeiros pacotes DBMS para mainframe utilizavam a estrutura hierárquica, na qual as relações entre os registros formam uma hierarquia ou estrutura de tipo árvore. No modelo hieráquico tradicional, todos os registros são dependentes e dispostos em estruturas de níveis múltiplos, que consistem em um registro raiz e qualquer número de níveis subordinados. Desta forma, todos os relacionamentos entre os registros são de um-para-muitos, já que cada elemento de dados se relaciona apenas com um elemento acima dele. Elementos de Dados dos Departamentos Elementos de Dados do Projeto A Elemento de Dados do Funcionário 1 Elemento de Dados do Funcionário 2 Elementos de Dados do Projeto B Estrutura em Rede A estrutura em rede pode representar relações lógicas mais complexas e ainda é utilizado por alguns pacotes DBMS de mainframe. Ela permite relacionamentos do tipo muitos-para-muitos entre os registros, ou seja, o modelo em rede pode acessar um elemento de dados seguindo um dentre vários caminhos, porque qualquer elemento ou registro de dados pode ser relacionado com qualquer número de outros elementos de dados. Departamento A Funcionário 1 Projeto A Funcionário 2 Departamento B Funcionário 3 Projeto B Estrutura Relacional O modelo relacional tornou-se o mais popular das estruturas de BD. Ele é utilizado pela maioria dos pacotes DBMS para microcomputadores, bem como por muitos sistemas de potência média e de computador central. No modelo relacional, todos os elementos dos dados dentro do banco de dados são concebidos como armazenados na forma de tabelas simples. Os pacotes DMBS baseados no modelo relacional podem vincular, ou relacionar elementos de dados de várias tabelas para fornecer informações para os usuários. Tabela de Departamentos Tabela de Funcionários N°Depto N°Func NomeDepto Gerente NomeFunc Salario N°Depto Depto. A Func. 1 Depto. A Depto. B Func. 2 Depto. A Depto. C Func. 3 Depto. C ... Func. 4 Depto. B Func. 5 Depto. B Func. 6 Depto. A Estrutura Multidimensional A estrutura multidimensional de bancos de dados é uma variação do modelo relacional que utiliza estruturas multidimensionais para organizar dados e expressar as relações entre os dados. Você pode visualizar as estruturas multidimensionais como cubos de dados e cubos dentro de cubos de dados. Cada face do cubo é considerada como uma dimensão de dados. Cada célula dentro de um estrutura multidimensional contém dados agregados relacionados a elementos ao longo de cada uma de suas dimensões. Um única célula, por exemplo, pode conter as vendas totais para um produto em uma região para um canal específico de vendas em um único mês. Um dos maiores benefícios dos BD multidimensionais é que eles são uma maneira compacta e inteligível de visualizar e manipular elementos de dados que possuem muitas inter-relações. Por isso, os BD multidimensionais se tornaram a estrutura mais popular para os BD analíticos que suportam aplicações de processamento analítico online (Online Analytical Processing, ou OLAP), nas quais se esperam respostas rápidas para consultas comerciais complexas. Estrutura Baseada em Objetos (1/2) O modelo de banco de dados orientado a objetos é considerado como umas das tecnologias-chaves de uma nova geração de aplicativos multimídia baseados na rede. Um objeto consiste em valores de dados que descrevem os atributos de uma entidade, mais as operações que podem ser executadas sobre os dados. Esta capacidade de sistematização permite ao modelo orientado a objetos manipular melhor do que outras estruturas de bancos de dados os tipos mais complexos de dados (gráficos, imagens, voz, texto). O modelo orientado a objetos também suporta herança, ou seja, novos objetos podem ser automaticamente criados mediante a reprodução de algumas ou todas as características de um ou mais objetos pais. Essas capacidades tornaram populares os sistemas de gerenciamento de bancos de dados orientados a objetos (object-oriented database management systems, ou OODBMS) no projeto assistido por computador (CAD) e em um número crescente de aplicações. A tecnologia de objeto, por exemplo, permite aos projetistas desenvolverem desenhos de produtos, armazená-los como objetos em um banco de dados orientado a objetos e reproduzi-los e modificá-los para criar novos desenhos de produto. Estrutura Baseada em Objetos (2/2) Atualmente, as aplicações de multimídia baseadas em rede para a Internet e intranets e extranets se tornaram uma das principais áreas de aplicação para a tecnologia de objetos. Objeto Conta Bancária Atributos . Cliente . Saldo . Juro Operações . Depósito (quantia) . Saque (quantia) herança herança Objeto Conta Corrente Objeto Conta de Poupança Atributos . Linha de crédito . Extrato mensal Operações . Calcular juros devidos . Imprimir extrato mensal Atributos . Número de saques . Extrato trimestral Operações . Calcular juros pagos . Imprimir extrato trimestral Avaliação das Estruturas de BD (1/2) As estruturas hierárquica de dados foi um modelo natural para os bancos de dados utilizados para os tipos estruturados e rotineiros de processamento de transações que caracterizavam muitas operações das empresas. Os dados para essas operações podem ser facilmente representados por grupos de registros em uma relação hierárquica. Entretanto, existem muitos casos em que se necessitam de informações sobre os registros que não possuem relações hierárquicas. É óbvio que em algumas organizações, por exemplo, os funcionários de mais de um departamento podem trabalhar em mais de um projeto. Uma estrutura em rede poderia lidar facilmente com este relacionamento muitos-para-muitos. Por isso, ela é mais flexível do que a estrutura hierárquica no apoio a bancos de dados para muitos tipos de operações das empresas. Entretanto, como a estrutura hierárquica, por suas relações terem de ser estipuladas de antemão, o modelo de rede não consegue manipular facilmente requisições de informação específica. Avaliação das Estruturas de BD (2/2) Os bancos de dados relacionais, por outro lado, permitem ao usuário final a fácil recepção de informações em resposta a requisições específicas. Isto porque nem todas as relações entre os elementos de dados em um banco de dados organizado de modo relacional precisam ser especificados quando o banco é criado. O software de gerenciamento de bancos de dados (tais como Oracle 8, DB2, Access) cria novas tabelas de relações de dados utilizando partes dos dados de diversas tabelas. Desta forma, os bancos de dados relacionais são mais fáceis de serem trabalhados e mantidos pelos programadores do que os modelos hierárquicos e em rede. O uso de software de gerenciamento de bancos de dados derivados do modelo baseados em objetos e multidimensionais está em constante crescimento, mas estas tecnologias ainda estão desempenhando um papel auxiliar ao software de bancos de dados relacionais para a maioria das aplicações em sistemas de informação empresarial. Tecnologia OO e a Rede O software de bancos de dados orientado a objetos está sendo cada vez mais utilizado no gerenciamento de bancos de dados em hipermídia e applets Java na Rede Mundial de Computadores e intranets e extranets. A indústria da informática projeta que os sistemas de gerenciamento de bancos de dados baseados em objetos se tornará o componente de software fundamental para controlar as páginas em multimídia na rede e outros tipos de dados que apóiam sites na rede. Isto porque um OODBMS pode facilmente gerenciar o acesso e armazenamento de objetos como documentos e imagens gráficas, videoclipes, segmentos de áudio e outros subconjuntos de páginas da rede. Enquanto a indústria da tecnologia orientada a objeto afirmam que um OODBMS pode operar com tipos complexos de dados e applets Java que os utilizam com muito mais eficiência do que os sistemas de gerenciamento de bancos de dados relacionais. Os principais fornecedores de DBMS relacionais têm contra-atacado pela adição de módulos OODBMS a se software relacional. Acessando Banco de Dados O acesso eficiente aos dados é importante. Na manutenção de bancos de dados, os registros ou objetos precisam ser constantemente adicionados, apagados ou atualizados para acompanhar as transações da empresa. Os dados também devem ser acessados rapidamente para que as informações possam ser produzidas em resposta a pedidos dos usuários finais. Campos-chave Um ou mais campos de identificação, ou chaves, que identificam o registro para que ele possa ser localizado. Chave primária campo-chave ou campos-chave que identifica(m) exclusivamente o registro de dados em um arquivo. Chave estrangeira (campo de vinculação ou relacionamento) campos dentro de um registro que indicam (apontam para) a localização de um outro registro a ele associado em outro arquivo. Acesso Seqüencial Uma das maneiras originais e básicas de acessar dados é o acesso seqüencial. Este método utiliza uma organização seqüencial, na qual os registros são fisicamente armazenados em uma ordem específica de acordo com um campo-chave em cada registro. O acesso seqüencial é rápido e eficiente quando se manipulam grandes volumes de dados que precisam ser periodicamente processados. Entretanto, é preciso que todas as novas transações sejam classificadas na seqüência apropriada para o processamento do acesso seqüencial. Além disso, a maior parte do banco de dados ou arquivo pode ter de ser pesquisada para localizar, armazenar ou modificar mesmo um pequeno número de registros de dados. Dessa forma, este método é lento demais para dar conta de aplicações que exijam atualização ou respostas imediatas. Acesso Direto (1/2) Quando se utilizam métodos de acesso direto, os registros não precisam ser dispostos em nenhuma seqüência particular nas mídias de armazenamento. Entretanto, o computador deve acompanhar o local de armazenamento de cada registro utilizando uma série de métodos de organização direta para que os dados possam ser recuperados quando necessário. Método de Transformação de Chaves Este método executa um cálculo aritmético em um campo ou registro chave e utiliza o número que resulta do cálculo como um endereço para armazenar e acessar esse registro. Por isto, o processo é chamado de transformação de chaves porque uma operação aritmética é aplicada a um campo-chave para transformá-lo no endereço de localização do armazenamento do registro. Método de Acesso Randômico Este método estabelece um vínculo randômico entre os camposchave do registro e sua posição de armazenamento. Assim sendo, o acesso a um registro poderá ser feito de forma instantânea, utilizando o endereço de localização do armazenamento do registro. Acesso Direto (2/2) Método de Acesso Seqüencial Indexado (ISAM) O acesso indexado ocorre quando se acessa de forma direta um arquivo seqüencial. Na sua maioria, todo arquivo criado armazena os registros de forma seqüencial. A forma seqüencial de acesso torna-se inconveniente, pois à medida que o arquivo aumenta de tamanho, aumenta também o tempo de acesso ao mesmo. Para se trabalhar com esta técnica, basta criar um arquivo direto que será o índice de consulta do arquivo seqüencial, passando este a ser o arquivo indexado. Assim sendo, existirão dois arquivos: o arquivo índice (arquivo direto) e o arquivo indexado (arquivo seqüencial). Os acessos serão feitos como em um livro, primeiro se consulta o arquivo índice, o qual possui a chave de pesquisa, no caso seria o número da página, depois basta se posicionar de forma direta na página identificada no índice, ou seja, no registro do arquivo indexado. Desenvolvimento de Bancos de Dados Desenvolver bancos de dados pequenos e pessoais é relativamente fácil utilizando-se pacotes de gerenciamento de bancos de dados para microcomputador. Entretanto, desenvolver um grande banco de dados de tipos complexos pode ser uma tarefa complicada. Em muitas empresas, desenvolver e gerenciar grandes bancos de dados são responsabilidade principal do admistrador de banco de dados (DBA) e dos analístas de projeto de bancos de dados. Eles trabalham com os usuários finais e analistas de sistemas para modelarem os processos empresariais e os dados que estes requerem. Em seguida determinam (1) que definições de dados devem ser incluída no BD e (2) que estrutura ou relações devem existir entre os elementos de dados. Planejamento de Dados e Projeto do BD (1/2) 1. Planejamento de Dados Os administradores e projetistas de bancos de dados trabalham com a gerência e usuários finais da empresa para desenvolverem um modelo empresarial que define o processo básico da empresa. 2. Especificação dos Requisitos Definem as necessidades de informações dos usuários finais em um processo empresarial. A descrição das necessidades dos usuários podem ser expressas em linguagem natural ou utilizando as ferramentas de uma metodologia particular de projeto. Planejamento de Dados e Projeto do BD (2/2) 3. Projeto Conceitual Identificar os elementos-chave dos dados que são requeridos para executar suas atividades empresariais específicas. Isto freqüentemente envolve o desenvolvimento de diagramas de entidades e relacionamentos (DER) que modelam as relações entre as muitas entidades envolvidas nos processos empresariais. 4. Projeto Lógico Traduz os modelos conceituais no modelo de dados de um sistema de gerenciamento de bancos de dados. 5. Projeto Físico Determina as estruturas de armazenamento de dados e métodos de acesso.