COLEÇÃO

BIBLIOTECA

2009-2
Isnard Martins

 

1


Introdução à Teoria de Banco de Dados

Isnard Martins - Prof Dr Engenharia Industrial - Universidade Estácio de Sá
                Educação à Distância
 

Introdução

Registros históricos tem sido uma constante e antiga preocupação do homem, desde os seus desenhos e rabiscos em cavernas, passando pelos antigos manuscritos e pergaminhos até os dias presentes, quando portamos grandes massas de informações armazenadas em um simples pendrive ou em um aparelho celular.

Praticidade, eficiência e rapidez nas consultas confiáveis das informações foram fatores básicos que conduziram o homem moderno a desenvolver os bancos de dados automatizados [1].

Um banco de dados compreende uma coleção de informações de mesma natureza que pode ser representado por um conjunto simples de dados textuais ou por um conjunto complexo de textos, imagens ou objetos relacionados através der chaves, algoritmos e outras ferramentas sistêmicas.

Como exemplo, vamos imaginar um conjunto de informações referentes a indivíduos entrevistados, residentes em determinado bairro de uma cidade brasileira. Desejamos relacionar os seus nomes, idade e sexo. Teríamos uma hipotética organização descrita, segundo a seguinte lista abaixo:

Número de Ordem, Nome, data nascimento, sexo

1, Napoleão Bonaparte, 1947, masc
2, Willian Constance, 1939, masc
3, Vivian Gretchen, 1976, fem
4, Sam Elias Silva, 1955, masc
5, Johnn Wayne Souza, 1984, masc
6, Ruela Saporo, 1998, fem
7, Luana Moreira, 1980, fem

No exemplo acima, a informação completa do cadastro de indivíduos deverá conter os itens relacionados (número de ordem, nome, idade, sexo).. Os itens encontram-se separado por uma vírgula, funcionando como um delimitador de campo. Um campo pode ser entendido como uma unidade de informação que integra um registro (itens que compõem um indivíduo). Um registro é integrado pelo conjunto completo de campos que integram a informação indivíduo.

Exemplo de indivíduo: 5, Johnn Wayne Souza, 1984, masc
Exemplo de Item de cadastro: 1984 (data nascimento)

Poderíamos usar também sinais, caracteres especiais ou símbolos (ponto e vírgula, asterisco, espaço etc) como delimitadores ou separadores dos itens que integram cada informação.

A partir do banco de dados fornecido, poderíamos conhecer, quais são os indivíduos do sexo masculino moradores no bairro analisado, ou quantos seriam os indivíduos em idade escolar de ambos os sexos.

Existem diversas formas de representação das informações de um banco de dados. Um formato bem comum, é representado por uma tabela de dados, onde cada linha corresponde a uma informação completa.e cada item do cadastro estará contido em uma célula da tabela.

O modelo abaixo ilustra o mesmo exemplo de um banco de dados, onde a célula contém um item do cadastro, e cada linha representa um indivíduo

Número de Ordem

Nome

data nascimento

sexo

1

Napoleão Bonaparte

1947

masc

2

Willian Constance

1939

masc

3

Vivian Gretchen

1976

fem

4

Sam Elias Silva

1955

masc

5

Johnn Wayne Souza

1984

masc

6

Ruela Saporo

1998

fem

7

Luana Moreira

1980

fem

Programas de tratamento de planilhas eletrônicas oferecem também facilidades  para organização e modelagem de bancos de dados, como Excel, Lotus etc.

Introduzimos aqui o conceito de atributo, definido pelo valor encontrado na interseção entre uma linha e uma coluna. Por exemplo, o nome do indivíduo de número de ordem 3 no banco de dados é Vivian Gretchen

Número de Ordem

Nome

1

-

2

-

3

Vivian Gretchen

Esta organização apresenta inúmeras vantagens, tais como estruturação dos dados, organizados em campos naturalmente delimitados, acesso a indivíduo através do conjunto de dados contido em uma linha da tabela, pesquisa de nomes, distribuição por faixa etária, distribuição por sexo, acesso a indivíduos através de chaves ou atributos (por exemplo, número de ordem do indivíduo no cadastro).

Segundo Willian [1], um Banco de dados é um conjunto de dados com um significado implícito dotado das características seguintes:

·        Um banco de dados representa uma porção do mundo real denominado Universo de Discurso. Qualquer alteração neste universo deverá ser refletida necessariamente no  banco de Dados.

·        Um banco de dados é um conjunto lógico e ordenado de dados que apresentam um significado específico.

·        Um banco de dados é construído e povoado com dados que tem determinado objetivo, contendo ainda usuários e aplicações desenvolvidas para manipulá-los.

 

Abordagem Histórica dos Bancos Dados

 Alguns dos primeiros bancos de dados no passado utilizavam fita de papel perfurado e cartão perfurado[1]. Estes dois sistemas foram idealizados por Hermam Hollerith, fundador da empresa IBM em 1924 [1].

Os programas de bancos de dados talvez sejam os mais antigos já desenvolvidos para computadores. Anteriormente ao desenvolvimento de bancos de dados os programas trabalhavam com arquivos seqüenciais. A Fita Magnética era uma perfeita mídia para este tipo de tratamento seqüencial, pois os dados estão naturalmente armazenados em forma seqüência, segundo uma específica chave de classificação. Por exemplo em um antigo sistema bancário, os clientes eram armazenados em fita magnética (Figura 1), organizados em ordem crescente por agência e número da conta corrente dentro da agência a que estava cadastrado. Para atualização desta base de informações bancárias era necessário classificar os dados de entrada (lançamentos de débito e crédito), igualmente na mesma ordem em que estavam organizadas as contas-correntes nas agências. Esta era uma tarefa complexa que demandava muito tempo do processamento, geralmente executado na mesma noite referente à data em que ocorreu o movimento financeiro.

Mas haviam organizações mais simplificadas, mas não menos complexas, onde toda base de informações encontrava-se em cartão. Ao longo do mês os dados dos correntistas (também poderíamos imaginar os dados de um sistema de estoque) esram todos registrados em suporte de cartão perfurado (perfuradora de cartões IBM á esquerda). A figura -2 apresenta um equipamento menor da família IBM para tratamento dos dados em cartão perfurado. Um cartão perfurado geralmente tinha 80 colunas. Cada coluna representava uma informação,.contendo uma configuração de 12 possíveis áreas de perfuração, cuja formato poderia representar uma letra ou número. Desta forma os nosso banco de dados poderia conter unidades de informação de, até, 80 dígitos (era possível ter um registro de dados com mais de um cartão perfurado).

Ted Codd (IBM,1970)- publicou o primeiro artigo sobre bancos de dados relacionais. Neste artigo Codd dissertou sobre o uso de cálculo e álgebra relacional para aplicações envolvendo usuários não técnicos no tratamento de grandes massas de informações. Codd pioneiramente apresentava um sistema onde o usuário seria capaz de acessar informações através de comandos em inglês e informações residindo em tabelas armazenadas [4].

Antigo Computador IBM 360 - Detalhe da mídia Fita Magnética

 

Antigo Computador IBM 360 / 20 - Pequeno porte Detalhe da unidade leitora/perfuradora de cartão

 

Figura 1 - IBM 360/30 - original www.cs.nott.ac.uk/~gxk/ops/2009/

 

Figura 2 - IBM 360 / 20 - original www.billkunkler.com/memory-swift-computer.html

Outro suporte de dados muito utilizado no passado era a fita de papel, simples de baixo custo e bastante inseguro. Muitas organizações utilizavam a fita de papel como suporte de entrada, particularmente, as instituições bancárias que aproveitavam os teletipos localizados em seus departamentos para produzir em fita de papel perfurada o suporte de seus lançamentos de expediente.
Inicialmente os teletipos foram acoplados aos computadores servindo como unidades de entrada de dados e saída de resultados. Os dados e programas eram perfurados na fita de papel, que se desenrolava de uma bobina, utilizando um teletipo. Ao contrário dos cartões perfurados este suporte era contínuo e a sua capacidade era apenas limitada pelo comprimento da fita. No entanto era um suporte frágil e pouco manuseável. As operações de inserção e anulação de dados dependiam da habilidade do operador do teletipo.
Na figura acima, temos apresentadas as perfurações que representam os 7 canais de uma fita perfurada (código Ascii 7 bits) . O furo menor, central entre os canais é o canal de arrasto, usado para deslocamento de leitura da fita. A fita de teletipo, fisicamente mais estreita, entretanto apresentava apenas 5 canais, que tornava o sistema o tratamento neste modelo de suporte de entrada ainda mais frágil e inseguro.

Organização Simplificada

Agora vamos supor a organização um cadastro de alunos de uma escola superior [3]. Precisamos de informações pessoais e informações do histórico acadêmico de cada aluno. Em um sistema totalmente manual, teremos um arquivo físico contendo gavetas. Em cada gaveta, por hipótese,  estão depositados todos os dados de referência pessoal e histórico escolar de cada aluno. Cada gaveta contém uma etiqueta externa representando a matrícula do aluno. Para simplificar a organização e acesso ao cadastro dos alunos, as gavetas foram divididas em pequenos compartimentos onde encontram-se depositadas pastas coloridas contendo os dados individuais de cada aluno. As cores das pastas representam referências ao tipo do conteúdo armazenado, por exemplo, a pasta branca contém o cadastro, a pasta azul contém os dados de atividades extra-escolares, e por último, a evolução dos dados acadêmicos estão armazenados na pasta amarela. Poderíamos ainda  segmentar a os dados acadêmicos em pastas de cores distintas, por exemplo a cor verde representando o primeiro período cursado, a cor cinza o segundo período cursado etc.  De acordo com esta organização, cada gaveta armazena os dados globais de cada aluno, cujo conjunto simboliza os “registros” do cadastro. As pastas representam os “campos” de cada registro (segmentação de informações do cadastro com significados específicos). As cores representam “chaves” de acesso para um tipo específico de informação. As chaves de acesso permitem que tenhamos um rápido acesso á informação, através de um código ou uma seqüência de operações numéricas ou alfabéticas (algoritmos). Desta forma, teremos a seguinte organização física para o nosso cadastro de alunos[3]:

Cadastro

Aluno

Dados do aluno

Conteúdo específico do aluno

O arquivo contém os dados do cadastro de alunos

Cada gaveta contém os dados respectivos de um aluno

As pastas em cada gaveta contém os dados segmentados de um aluno

Cada pasta contém detalhes de cada tipo de informação do cadastro de um aluno

Neste exemplo hipotético de organização de dados, poderemos realizar algumas operações de acessos às informações do cadastro de alunos em nosso“arquivo”.

  1. Se desejamos acessar os dados de um aluno específico através da sua matrícula usada como referência procuramos a etiqueta correspondente na gaveta respectiva, organizada em ordem numérica crescente, segundo as matrículas dos alunos. A gaveta que apresenta identidade com a “chave” numérica desejada é aquela que desenvolvemos a nossa busca.
  2. Desta vez, queremos acessar o endereço de um aluno específico. Procedemos a etapa 1 acima como operação preliminar para acesso ao “registro” do aluno. Após localizada a gaveta respectiva, selecionamos em seu interior a pasta que apresenta a etiqueta branca, contendo os dados cadastrais e conseqüentemente o endereço procurado.
  3. Desejamos acessar todos os alunos que estão matriculados no segundo período. Podemos selecionar todos os conteúdos das pastas cinzas, de todas as gavetas e selecionarmos as suas respectivas matrículas (etiqueta das gavetas).

A maioria das informações no passado encontravam-se armazenadas em fichas de papel ou em suporte semelhante, como cartões manuscritos, cartolina ou pequenas fichas plásticas. Estes suportes ofereciam tratamento ineficiente em termos de manutenção, armazenamento de dados e acesso às informações selecionadas. Se o tipo de processamento exigia constante manutenção, como na atualização de saldos bancários ou atualizações criminais, a carga para tratamento dos dados através de rotinas manuais tornava-se um constante ciclo de ineficiência operacional [3].

Estruturas mais antigas que trabalhavam com arquivos seqüenciais apresentavam diversos inconvenientes operacionais, dentre estes citamos [1] :

  • Ausência de controle de acesso concorrente de vários usuários.

  • Impossibilidade de tratamento simultâneo de diversos registros

  • Definição da estrutura do arquivo armazenada no próprio programa fonte de controle da aplicação, criando uma indesejável dependência entre o programa aplicativo e o banco de dados.

  • Redundância e inconsistência de dados

  • Segurança de dados

  • Duplicidade entre diversos arquivos

  • Incompatibilidade de formato de dados

Os bancos de dados armazenados em mídias eletrônicas permitem a simplificação de tais operações, através de ferramentas para acesso aos dados e facilidades para manutenção das informações residentes.

Para efeitos didáticos, utilizaremos a organização apresentada no exemplo anterior, representando de um banco de dados armazenado em meio magnético.

Supomos o conteúdo do cadastro modelo armazenado continuamente em meio magnético. Os registros referentes aos alunos encontram-se separados logicamente no meio magnético por limitadores lógicos (elementos de controle indicando o final de cada informação), invisíveis para o usuário, mas reconhecíveis pelo sistema.

Teremos cada registro do cadastro segmentado em unidades de informações denominadas campos do registro (recordar as gavetas no exemplo representando os registros do cadastro e as pastas representando os campos ou unidades de informação de cada aluno).

Os campos de um registro representam as unidades lógicas de dados que qualificam um aluno, tais como nome, endereço, esportes praticados , disciplinas cursadas etc.

Extraindo os dados armazenados na estrutura do banco de dados modelo, teremos o seguinte conteúdo na estrutura de nosso banco de dados:

Matricula

Aluno 1

Nome 1

Endereço 1

Sexo 1

Esportes Praticados 1

Disciplinas 1º ano

Disciplinas 2º ano

Disciplinas 3 ano

Matricula

Aluno 2

Nome 2

Endereço 2

Sexo 2

Esportes Praticados 2

Disciplinas 1º ano

Disciplinas 2º ano

Disciplinas 3 ano

Matricula

Aluno n

Nome n

Endereço n

Sexo n

Esportes Praticados n

Disciplinas 1º ano

Disciplinas 2º ano

Disciplinas 3 ano

Esta estrutura lógica representa uma organização dos dados armazenados em meio magnético. Esta representação destina-se à compreensão da sua estrutura organizacional, apresentando visões do planejamento das informações armazenadas para futuros acessos ao banco de dados por seus potenciais usuários.

Em termos técnicos, o processo de armazenamento físico dos dados é considerado um problema de alta complexidade [3]. A boa notícia reside no fato que a maior parte das complexas operações referentes ao tratamento dos dados no meio físico magnético (exceto dimensionamento dos dados armazenados, cuja responsabilidade será sempre do usuário) é realizado pelo computador, contemplando operações importantes como gravação e leitura dos dados na mídia magnética, organização física do armazenamento etc, através de poderosos comandos disponíveis para manipulação do banco de dados pelos usuários.

Vamos aprender nas aulas seguintes que existem diversas formas de organizarmos as nossas estruturas de dados, possibilitando alternativas variadas para desenvolvimento e alternativas para construção do relacionamentos entre informações residentes em um banco de dados.

Em estruturas complexas de informações relacionadas, como aquelas apresentadas em um banco de dados bancário ou em bases de dados criminais, são exigidas técnicas apuradas para modelagem dos dados, devido ao grande volume de informações e relacionamentos envolvidos, como também, por conseqüência de seus múltiplos tratamentos voltados para freqüentes pesquisas e atualizações impostas às estruturas armazenadas [3].

Bibliografia

[1] Willian P.A. Banco de dados Teoria e DesenvolvimentoEditora Érica. S.Paulo, 2009.

[2] E.F. Cood.   The RELATIONAL MODEL for DATABASE MANAGEMENT. ACM Classic Books Series , Addison-Wesley Publishing Company, Inc. EEUU 1999  

[3] MARTINS Isnard. Pesquisas em Estrutura de Dados (1) . Notas Técnicas PUC Rio. Rio de Janeiro DEI 2006

[4] SANCHES R. Fundamentos de Armazenamento e Manipulação de Dados. http://www.ime.usp.br/~andrers/aulas/bd2005-1/aula3.html

[5] Museu Virtual de Informática. http://piano.dsi.uminho.pt/museu/fperfurada.html

 Foto Original em shelikescode.wordpress.com/  e  http://piano.dsi.uminho.pt/museu/fperfurada.html

Retornar


Biblioteca Cultura
© Reprodução Reservada

..\index.htm