Você está na página 1de 5

Pós-Grduação em SIG ESACB

Bases de Dados

O que é uma Base de Dados?


Dados
Pode-se começar por tentar dar uma definição do que são Dados.
Os dados são factos em bruto, que não são necessáriamente relevantes para qualquer coisa
que alguém queira saber.
Pode-se dizer que a informação são dados úteis, ou seja dados que respondem a perguntas,
em vez de ocuparem apenas espaço.

Base de Dados
É possível dizer de uma forma genérica que qualquer conjunto de dados é uma Base de
Dados (BD): uma agenda com as moradas de pessoas conhecidas, uma lista de CDs, um
livro, apontamentos tirados nas aulas, os dados guardados nos computadores das Finanças
sobre os contribuintes e a World Wide Web. O objectivo de criarmos e mantermos uma
BD é a de poder obter e utilizar os dados lá guardados: procurar a morada de uma
determinada pessoa, saber o que foi dito nas aulas sobre um tema ou procurar a página
WWW do Prémio Nobel da Economia deste ano.

Embora sendo possível usar a definição genérica dada acima, o termo base de dados é
aplicado hoje em dia principalmente para fazer referência a bases de dados informáticas,
isto é, conjuntos de dados estruturados, manipulados usando um Sistema de Gestão de
Bases de Dados (SGBD) ou Database Management System (DBMS). Para permitir ao
utilizador atingir os objectivos referidos acima, um SGBD disponibiliza linguagens de:

• definição de dados: para criação e alteração da estrutura da BD (DDL - Data


Definition Language)
• consulta de dados: obter e processar os dados armazenados (DQL - Data Query
Language)
• manipulação de dados: para acrescentar dados novos e modificar dados existentes
(DML - Data Manipulation Language).

Hoje em dia, cada vez mais SGBD, como o Access, "escondem" essas linguagens por trás
de interfaces do utilizador gráfica.

Outras características dos SGBDs são:

• acesso simultâneo: vários utilizadores podem aceder e alterar a mesma BD ao


mesmo tempo sem criar inconsistências. Por exemplo, 2 utilizadores diferentes
podem consultar simultaneamente os dados do mesmo cliente. No entanto o SGBD
não permite que ambos os utilizadores alterem esses dados ao mesmo tempo.
• vistas: diferentes utilizadores poderão ter o seu acesso limitado a partes da BD.
Por exemplo, embora todos os dados de uma organização estejam na mesma BD,
aqueles que são importantes para a definição da estratégia só podem ser
consultados pela administração.
• construção de aplicações: a tendência actual dos SGBDs é para combinarem a
gestão do armazenamento/manipulação dos dados com a construção das aplicações

TMLC Base de Dados Pág. 1


Pós-Grduação em SIG ESACB

que implementam os processos da organização. Tradicionalmente, os processos


eram implementados independentemente, com recurso a linguagens de
programação mais ou menos integradas com o SGBD.

Alguns exemplos de SGBD de grande porte são ORACLE, Informix, Adabas, SQL Server
e DB2. Para PCs temos o MySQL, Dbase, FoxPro e Access. Os primeiros têm mais
capacidade e são mais fiáveis do que os últimos. Estes são adequados para uso doméstico,
em pequenas empresas ou como forma de aceder a partir de PCs a BDs instaladas em
sistemas de grande porte, através de uma aplicação acessível ao utilizador não especialista
em informática

1. Um Pouco de História?

A utilização comercial de BDs começou nos anos 60. Inicialmente a informação era
guardada em ficheiros e a sua consulta e manipulação era muito pouco prática. Para
definição de dados eram usados os modelos hierárquico e de rede. No início dos anos 70
surgiram os SGBD relacionais cuja popularidade não tem parado de crescer até hoje. Este
sucesso pode ser explicado pela simplicidade do modelo em que assentam, o modelo
relacional, que é constituído somente por relações, e pelo surgimento de uma linguagem
de manipulação simples e eficiente, o SQL (Structured Query Language).

Base de Dados Hierárquica


Uma forma de base de dados, actualmente em grande medida ultrapassada, que, como o
nome sugere, organiza a informação em hierarquia.
Se, por exemplo, se pretendesse que a base de dados armazenasse informação sobre
empregados do departamento de parques, poderia em primeiro lugar classificá-los por
função: jardineiros, varredores de rua, podadores, ... Depois poderia listar os nomes sob
cada categoria; e as moradas sob cada nome, e assim sucessivamente.
Este formato de organização mostra-se bastante rápido e fácil para um computador gerir, e
por causa da sua velocidade a tecnologia foi adoptada por muitos banco. Mas tem
igualmente duas desvantagens muito importantes. Em primeiro lugar, é rápido apenas
enquanto a base de dados procura informação dentro de uma única hierarquia; procurar o
endereço de um jardineiro, por exemplo. Torna-se muito lento e desajeitado quando tenta
comparar os endereços de todos os empregados. Pior ainda pois nem todos os dados são
criados de forma igual. Por isso, se um empregado, por qualquer razão, deixar de se
enquadrar numa categoria estabelecida – digamos, por está de baixa -, então desaparece
completamente da Base de dados. Por estas razões, a base de dados hierárquica foi em
grande parque substituída pela base de dados relacional.

No contexto das bases de dados hierárquicas podem ser definidos dois conceitos bases: o
conceito de campo e de segmento.
Campo: Unidade mínima de dados identificada por um nome.
Segmento: Conjunto de dados ordenados, cuja a ocorrência constitui a unidade
mínima de intercâmbio entre as bases de dados e as aplicações,
identificada por um nome.

Os segmentos juntam-se em conjuntos de 1 a N ocorrências (N>0), que por sua vez estão
ligados a outras ocorrências de outros segmentos, constituindo um tipo de associação tipo

TMLC Base de Dados Pág. 2


Pós-Grduação em SIG ESACB

pai-filho. Assim, um tipo de segmento pai encontra-se associado hierarquicamente a N


tipos de segmentos tipo filhos. Um conjunto de associações deste tipo constituem uma
árvore de segmentos - Conjunto de segmentos unidos por associações do tipo pai-filho.

As bases de dados hierárquicas podem ser consideradas como um conjunto de árvores de


segmentos, cujos nodos são os segmentos, também designados por floresta. É importante
salientar que esta definição se aplica tanto ao nível do tipo de dados como das ocorrências.

Também podemos visualizar uma base de dados hierárquica com a estrutura de uma
árvore invertida.

As bases de dados hierárquicas têm algumas limitações que condicionaram o seu curto
tempo de vida. As que merecem mais destaque são as seguintes:

• A eliminação de um segmento pai, implica a remoção de todos os filhos;


• É difícil manter a independência entre dados e programas;
• A navegação é difícil e tem que respeitar as associações hierárquicas pai-filho
definidas no mundo real.

Modelo em Rede
O modelo em rede foi proposto assumindo-se basicamente como uma extensão ao modelo
hierárquico. Versões mais recentes têm vindo a apresentar sucessivas renovações, embora
sem grande sucesso, num mercado quase totalmente dominado pelo modelo relacional.
Os objectos nas bases de dados em rede são descritos com base em três conceitos
fundamentais: o item, a agrupamento de dados e o registo. A noção de item, é semelhante
ao conceito de campo de um ficheiro:
Item: A unidade mais pequena de dados identificado por um nome.

Vários itens pode ser agrupados constituindo assim, um agrupamento de dados:


Agrupamento de dados: Conjunto de itens, identificado por um nome.

Finalmente surge o conceito de registo:


Registo: Conjunto de itens e grupamento de dados identificado por um nome e que
serve de intercâmbio entre a base de dados e os ficheiros.

TMLC Base de Dados Pág. 3


Pós-Grduação em SIG ESACB

Historicamente, o modelo em rede surge da ideia de ligar um conjunto de ficheiros com


apontadores. Apenas é possível definir associações entre um registo proprietário e os N
registos membros. Daqui resulta que estas associações têm carácter hierárquico, que
podendo definir-se a vários níveis, podem formar uma estrutura em rede, que são
denominadas sets.
Sets: Tipo de associações entre registos do tipo T1 e T2, na qual uma ocorrência do
registo proprietário T1 corresponde a N ocorrências dos registos membros do
tipo T2.

No esquema seguinte podemos visualizar uma representação de uma base de dados em


rede:

As bases de dados em rede conseguem resolver parte dos problemas de navegação


levantados pelas bases de dados hierárquicas, na medida em pode ser feita em vários
sentidos. No entanto, não garante a independência entre dados e programas e levanta
problemas na remoção de um set proprietário.

Base de dados por objectos


Como já foi dito, a simplicidade do modelo relacional bem como a separação entre a
definição e a manipulação dos dados foram factores importantes para o seu sucesso. No
entanto, este modelo dificulta a representação de situações complexas e o armazenamento
e manipulação de novos formatos de dados como imagens, som e vídeo. Uma resposta
adequada a estas questões é dada pelo modelo orientado aos objectos (OO). Este modelo
não só é a base dos OODBMS (Object-Oriented Database Management Systems) como
está a ser gradualmente incorporado em alguns RDBMS (Relational DBMSs ou SGBDs
Relacionais). Esta última solução facilita a migração das BDs existentes para o novo
modelo, tornando-se mais atraente para muitas empresas.

Uma abordagem orientada para os objectos no que toca ao armazenamento de dados numa
base de dados. Para além de armazenar os dados propriamente ditos, as base de dados
orientadas para objectos armazenam informação sobre o que pode ser, sensatamente, feito
com dados. Com efeito, a base de dados orientada para os objectos tenta manter os seus
dados em contexto. Sabe que um desenho de um programa de Desenho Assistido por
Computador (CAM) é completamente diferente dos resultados financeiros do ano anterior,
ainda que o que próprio computador consiga ver em ambos os casos seja uma porção de
bits.

TMLC Base de Dados Pág. 4


Pós-Grduação em SIG ESACB

Base de dados Relacional


A tecnologia para armazenar informação e dados mais comummente utilizada hoje, a base
de dados Relacional foi criada por E.F. Codd na IBM nos anos 70. Codd baseou a
tecnologia numa teoria matemática de relações, que garantia que cada dado tinha um, e
apenas um, lugar na base de dados. As bases de dados Relacionais armazenam informação
em tabelas. Uma ou mais coluna são o index da tabela, ou seja, a chave pela qual a
informação é procurada quando necessário.
Qualquer outro dado (ou seja, os outros itens em cada fila) está associado a um index.
Existem duas operações básicas nestas tabelas. Filtrar os dados elimina itens que
correspondem (ou não) a alguns critérios; por exemplo, todos os vendedores que vivem
em Londres. Uma junção combina dados de tabelas diferentes. Por exemplo, uma junção
entre os valores de vendas trimestrais (indexados por nome de vendedor) e uma tabela de
endereços de vendedores (também indexado por nome) poderia ser útil se a administração
quisesse enviar a cada vendedor um resumo do seu desempenho recente.

Porquê aprender Bases de Dados?

Porque é que alguém que não é (nem pretende ser) profissional de sistemas de informação
deverá aprender a usar BDs?

1. Pelo mesmo motivo pelo qual se devia aprender a usar um computador há 10 anos
atrás: a divulgação crescente dos computadores fará com que dentro em breve os
SGBDs sejam ferramentas de uso tão comum como são hoje em dia as folhas de
cálculo.
2. Para facilitar a comunicação com os profissionais de sistemas de informação: a
criação de sistemas de informação é um processo que envolve pessoas tanto da
área de sistemas de informação como da área de acção da organização, sendo a
comunicação entre ambos os grupos essenciais para o sucesso do sistema. Ora, os
problemas de comunicação fazem com que o sistema criado raramente satisfaça as
expectativas do cliente e mesmo algumas vezes seja o motivo do insucesso deste
tipo de projectos. Sendo as BDs a infra-estrutura dos sistemas de informação,
algum conhecimento destas poderá contribuir para melhorar a qualidade dos
sistemas de informação.

Para aplicar os conceitos aprendidos será usado o Access da Microsoft. Note-se que se
pretende utilizar o Access para apreender conceitos que são aplicáveis noutros SGBDs e
não obter um conhecimento profundo da utilização desta aplicação. Isto implica que
frequentemente não será descrita a forma óptima de executar algumas tarefas mas antes
aquela que melhor poderá ser generalizada para outros SGBDs.

Ao contrário do que acontece com os primeiros, nos 2 itens que se seguem é impossível
fugir às especificidades do sistema usado:

• construir uma aplicação que funcione como um todo, e


• construir programas simples.

TMLC Base de Dados Pág. 5